From 0d526d6f20695b48d374b1966038ac5c4397e17c Mon Sep 17 00:00:00 2001 From: Eric Garver Date: Mon, 24 Jun 2019 10:20:23 -0400 Subject: [PATCH 15/20] test: dbus: service API coverage (cherry picked from commit b0ecd9e3916a691fa7adefa258e7ab0df2e9e1ea) --- src/tests/dbus.at | 1 + src/tests/dbus/service.at | 290 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 291 insertions(+) create mode 100644 src/tests/dbus/service.at diff --git a/src/tests/dbus.at b/src/tests/dbus.at index 4cb0568cbc9c..46fec2ff4024 100644 --- a/src/tests/dbus.at +++ b/src/tests/dbus.at @@ -1,2 +1,3 @@ AT_BANNER([dbus]) m4_include([dbus/firewalld.conf.at]) +m4_include([dbus/service.at]) diff --git a/src/tests/dbus/service.at b/src/tests/dbus/service.at new file mode 100644 index 000000000000..579548d66509 --- /dev/null +++ b/src/tests/dbus/service.at @@ -0,0 +1,290 @@ +FWD_START_TEST([dbus api - services]) +AT_KEYWORDS(dbus service rhbz1721414) + +DBUS_INTROSPECT([config], [[//method[@name="addService"]]], 0, [dnl + + + + + +]) +DBUS_CHECK([config], [config.addService], + ["foobar" dnl name + '("1.0", dnl version + "foobar", dnl short + "foobar service is for foobar", dnl description + @<:@("1234", "udp"), ("22", "tcp"), ("1234", "udp")@:>@, dnl ports, deliberate duplicate + @<:@"ftp"@:>@, dnl modules + {"ipv4": "1.2.3.4"}, dnl destination + @<:@"icmp", "igmp"@:>@, dnl protocols + @<:@("4321", "tcp"), ("4321", "udp")@:>@ dnl source ports + )'dnl + ], 0, [stdout]) +SERVICE_OBJ=[$(sed -e "s/.*config\/service\/\([^']\+\)['].*/\1/" ./stdout)] +export SERVICE_OBJ + +DBUS_INTROSPECT([config/service/${SERVICE_OBJ}], [[//method[@name="getSettings"]]], 0, [dnl + + + +]) +DBUS_CHECK([config/service/${SERVICE_OBJ}], [config.service.getSettings], [], 0, [dnl + [(('1.0', 'foobar', 'foobar service is for foobar', [('1234', 'udp'), ('22', 'tcp')], ['ftp'], {'ipv4': '1.2.3.4'}, ['icmp', 'igmp'], [('4321', 'tcp'), ('4321', 'udp')]),)] +]) + +DBUS_INTROSPECT([config/service/${SERVICE_OBJ}], [[//method[@name="update"]]], 0, [dnl + + + +]) +DBUS_CHECK([config/service/${SERVICE_OBJ}], [config.service.update], + ['("1.1", dnl version + "foobar new", dnl short + "foobar new service is for foobar", dnl description + @<:@("12345", "udp"), ("2222", "tcp")@:>@, dnl ports + @<:@"ftp"@:>@, dnl modules + {}, dnl destination + @<:@"icmp"@:>@, dnl protocols + @<:@("4321", "tcp")@:>@ dnl source ports + )'dnl + ], 0, [ignore]) + +DBUS_CHECK([config/service/${SERVICE_OBJ}], [config.service.getSettings], [], 0, [dnl + [(('1.1', 'foobar new', 'foobar new service is for foobar', [('12345', 'udp'), ('2222', 'tcp')], ['ftp'], @a{ss} {}, ['icmp'], [('4321', 'tcp')]),)] +]) + +DBUS_INTROSPECT([config/service/${SERVICE_OBJ}], [[//method[@name="loadDefaults"]]], 0, [dnl + + +]) +DBUS_INTROSPECT([config/service/${SERVICE_OBJ}], [[//method[@name="remove"]]], 0, [dnl + + +]) +DBUS_INTROSPECT([config/service/${SERVICE_OBJ}], [[//method[@name="rename"]]], 0, [dnl + + + +]) + +DBUS_INTROSPECT([config/service/${SERVICE_OBJ}], [[//method[@name="getVersion"]]], 0, [dnl + + + +]) +DBUS_INTROSPECT([config/service/${SERVICE_OBJ}], [[//method[@name="setVersion"]]], 0, [dnl + + + +]) + +DBUS_INTROSPECT([config/service/${SERVICE_OBJ}], [[//method[@name="getShort"]]], 0, [dnl + + + +]) +DBUS_INTROSPECT([config/service/${SERVICE_OBJ}], [[//method[@name="setShort"]]], 0, [dnl + + + +]) + +DBUS_INTROSPECT([config/service/${SERVICE_OBJ}], [[//method[@name="getDescription"]]], 0, [dnl + + + +]) +DBUS_INTROSPECT([config/service/${SERVICE_OBJ}], [[//method[@name="setDescription"]]], 0, [dnl + + + +]) + +DBUS_INTROSPECT([config/service/${SERVICE_OBJ}], [[//method[@name="getPorts"]]], 0, [dnl + + + +]) +DBUS_INTROSPECT([config/service/${SERVICE_OBJ}], [[//method[@name="setPorts"]]], 0, [dnl + + + +]) +DBUS_INTROSPECT([config/service/${SERVICE_OBJ}], [[//method[@name="addPort"]]], 0, [dnl + + + + +]) +DBUS_INTROSPECT([config/service/${SERVICE_OBJ}], [[//method[@name="removePort"]]], 0, [dnl + + + + +]) +DBUS_INTROSPECT([config/service/${SERVICE_OBJ}], [[//method[@name="queryPort"]]], 0, [dnl + + + + + +]) + +DBUS_INTROSPECT([config/service/${SERVICE_OBJ}], [[//method[@name="getSourcePorts"]]], 0, [dnl + + + +]) +DBUS_INTROSPECT([config/service/${SERVICE_OBJ}], [[//method[@name="setSourcePorts"]]], 0, [dnl + + + +]) +DBUS_INTROSPECT([config/service/${SERVICE_OBJ}], [[//method[@name="addSourcePort"]]], 0, [dnl + + + + +]) +DBUS_INTROSPECT([config/service/${SERVICE_OBJ}], [[//method[@name="removeSourcePort"]]], 0, [dnl + + + + +]) +DBUS_INTROSPECT([config/service/${SERVICE_OBJ}], [[//method[@name="querySourcePort"]]], 0, [dnl + + + + + +]) + +DBUS_INTROSPECT([config/service/${SERVICE_OBJ}], [[//method[@name="getProtocols"]]], 0, [dnl + + + +]) +DBUS_INTROSPECT([config/service/${SERVICE_OBJ}], [[//method[@name="setProtocols"]]], 0, [dnl + + + +]) +DBUS_INTROSPECT([config/service/${SERVICE_OBJ}], [[//method[@name="addProtocol"]]], 0, [dnl + + + +]) +DBUS_INTROSPECT([config/service/${SERVICE_OBJ}], [[//method[@name="removeProtocol"]]], 0, [dnl + + + +]) +DBUS_INTROSPECT([config/service/${SERVICE_OBJ}], [[//method[@name="queryProtocol"]]], 0, [dnl + + + + +]) + +DBUS_INTROSPECT([config/service/${SERVICE_OBJ}], [[//method[@name="getModules"]]], 0, [dnl + + + +]) +DBUS_INTROSPECT([config/service/${SERVICE_OBJ}], [[//method[@name="setModules"]]], 0, [dnl + + + +]) +DBUS_INTROSPECT([config/service/${SERVICE_OBJ}], [[//method[@name="addModule"]]], 0, [dnl + + + +]) +DBUS_INTROSPECT([config/service/${SERVICE_OBJ}], [[//method[@name="removeModule"]]], 0, [dnl + + + +]) +DBUS_INTROSPECT([config/service/${SERVICE_OBJ}], [[//method[@name="queryModule"]]], 0, [dnl + + + + +]) + +DBUS_INTROSPECT([config/service/${SERVICE_OBJ}], [[//method[@name="getDestinations"]]], 0, [dnl + + + +]) +DBUS_INTROSPECT([config/service/${SERVICE_OBJ}], [[//method[@name="setDestinations"]]], 0, [dnl + + + +]) +DBUS_INTROSPECT([config/service/${SERVICE_OBJ}], [[//method[@name="setDestination"]]], 0, [dnl + + + + +]) +DBUS_INTROSPECT([config/service/${SERVICE_OBJ}], [[//method[@name="getDestination"]]], 0, [dnl + + + + +]) +DBUS_INTROSPECT([config/service/${SERVICE_OBJ}], [[//method[@name="removeDestination"]]], 0, [dnl + + + +]) +DBUS_INTROSPECT([config/service/${SERVICE_OBJ}], [[//method[@name="queryDestination"]]], 0, [dnl + + + + + +]) + +DBUS_INTROSPECT([config/service/${SERVICE_OBJ}], [[//method[@name="getIncludes"]]], 0, [dnl + + + +]) +DBUS_INTROSPECT([config/service/${SERVICE_OBJ}], [[//method[@name="setIncludes"]]], 0, [dnl + + + +]) +DBUS_INTROSPECT([config/service/${SERVICE_OBJ}], [[//method[@name="addInclude"]]], 0, [dnl + + + +]) +DBUS_INTROSPECT([config/service/${SERVICE_OBJ}], [[//method[@name="removeInclude"]]], 0, [dnl + + + +]) +DBUS_INTROSPECT([config/service/${SERVICE_OBJ}], [[//method[@name="queryInclude"]]], 0, [dnl + + + + +]) + +FWD_RELOAD +DBUS_INTROSPECT([], [[//method[@name="getServiceSettings"]]], 0, [dnl + + + + +]) +DBUS_CHECK([], [getServiceSettings], ["foobar"], 0, [dnl + [(('1.1', 'foobar new', 'foobar new service is for foobar', [('12345', 'udp'), ('2222', 'tcp')], ['ftp'], @a{ss} {}, ['icmp'], [('4321', 'tcp')]),)] +]) + +FWD_END_TEST -- 2.20.1