Add dbus tests for send interface check 02/35302/7
authorMarcin Niesluchowski <m.niesluchow@samsung.com>
Wed, 11 Feb 2015 16:00:54 +0000 (17:00 +0100)
committerZbigniew Jasinski <z.jasinski@samsung.com>
Wed, 22 Apr 2015 12:02:11 +0000 (05:02 -0700)
* tcc_2330_send_interface_deny
    Check for send interface created in conf file. Not granted for client
    sending message to interface.
* tcc_2370_send_interface_allow
    Check for send interface created in conf file. Granted for client
    sending message to interface.

Change-Id: I8116d7eb570a9a03e76a2a21dc475dc9a23d72a2

tests/dbus-tests/cynara_dbus_tests.cpp

index 4bf61bc593d309bdc5022080ffc5827c1304766e..f43da0ef3ba5fbe4dd2cc7f10226b2223da047bd 100644 (file)
@@ -290,3 +290,24 @@ RUNNER_MULTIPROCESS_TEST_SMACK(tcc_2270_send_path_allow)
 {
     testSend("tcc2270", addBusconfigPolicySendPath, true);
 }
+
+static void addBusconfigPolicySendInterface(const std::string &testId)
+{
+    const ServiceCreds serviceCreds(serviceIdFromStr(testId));
+    BusConfigWriter writer;
+    addBusconfigPolicySendAllows(writer);
+    writer.addPolicyCheck(privilegeFromStr(clientIdFromStr(testId)),
+                          {{Attr::SEND_DESTINATION, serviceCreds.connectionName()},
+                           {Attr::SEND_INTERFACE, serviceCreds.interface()}});
+    writer.save();
+}
+
+RUNNER_MULTIPROCESS_TEST_SMACK(tcc_2330_send_interface_deny)
+{
+    testSend("tcc2330", addBusconfigPolicySendInterface, false);
+}
+
+RUNNER_MULTIPROCESS_TEST_SMACK(tcc_2370_send_interface_allow)
+{
+    testSend("tcc2370", addBusconfigPolicySendInterface, true);
+}