Add wrappers for policy updating API functions 93/34693/14
authorMichal Eljasiewicz <m.eljasiewic@samsung.com>
Fri, 30 Jan 2015 12:46:47 +0000 (13:46 +0100)
committerRafal Krypa <r.krypa@samsung.com>
Mon, 2 Mar 2015 14:49:11 +0000 (15:49 +0100)
Change-Id: I71f62d440c267346c8ed6f3e85a1165a4912494e
Signed-off-by: Michal Eljasiewicz <m.eljasiewic@samsung.com>
Signed-off-by: Krzysztof Sasiak <k.sasiak@samsung.com>
tests/security-manager-tests/common/sm_api.cpp
tests/security-manager-tests/common/sm_api.h

index 6fc59ee..12ede82 100644 (file)
@@ -119,6 +119,64 @@ void deleteUser(const UserRequest &request, lib_retcode expectedResult)
                           << " Expected result: " << expectedResult);
 }
 
+void sendPolicy(const PolicyRequest &request, lib_retcode expectedResult)
+{
+    int result = security_manager_policy_update_send(request.get());
+    RUNNER_ASSERT_MSG((lib_retcode)result == expectedResult,
+                          "sending policy update for self returned wrong value."
+                          << " PolicyRequest: [ " << request << "];"
+                          << " Result: " << result << ";"
+                          << " Expected result: " << expectedResult);
+}
+
+void getConfiguredPolicy(const PolicyEntry &filter, std::vector<PolicyEntry> &policyEntries, lib_retcode expectedResult, bool forAdmin)
+{
+    policy_entry **pp_privs_policy = NULL;
+    size_t policy_size = 0;
+    int result;
+
+    if (forAdmin) {
+        result = security_manager_get_configured_policy_for_admin(filter.get(), &pp_privs_policy, &policy_size);
+    } else {
+        result = security_manager_get_configured_policy_for_self(filter.get(), &pp_privs_policy, &policy_size);
+    };
+
+    RUNNER_ASSERT_MSG((lib_retcode)result == expectedResult,
+                      "Unexpected result for filter: " << filter << std::endl
+                          << " Result: " << result << ";");
+
+    for (unsigned int i = 0; i < policy_size; ++i) {
+        PolicyEntry pe(*pp_privs_policy[i]);
+        policyEntries.push_back(pe);
+    };
+}
+
+void getPolicy(const PolicyEntry &filter, std::vector<PolicyEntry> &policyEntries, lib_retcode expectedResult)
+{
+    policy_entry **pp_privs_policy = NULL;
+    size_t policy_size = 0;
+    int result;
+
+    result = security_manager_get_policy(filter.get(), &pp_privs_policy, &policy_size);
+    RUNNER_ASSERT_MSG((lib_retcode)result == expectedResult,
+                      "Unexpected result" << std::endl
+                          << " Result: " << result << ";");
+    for (unsigned int i = 0; i < policy_size; ++i) {
+        PolicyEntry pe(*pp_privs_policy[i]);
+        policyEntries.push_back(pe);
+    };
+}
+
+void getPolicyForSelf(const PolicyEntry &filter, std::vector<PolicyEntry> &policyEntries, lib_retcode expectedResult)
+{
+    getConfiguredPolicy(filter, policyEntries, expectedResult, false);
+}
+
+void getPolicyForAdmin(const PolicyEntry &filter, std::vector<PolicyEntry> &policyEntries, lib_retcode expectedResult)
+{
+    getConfiguredPolicy(filter, policyEntries, expectedResult, true);
+}
+
 } // namespace Api
 
 } // namespace SecurityManagerTest
index a5f5921..8a99e32 100644 (file)
@@ -19,6 +19,7 @@
 
 #include <sm_request.h>
 #include <sm_user_request.h>
+#include <sm_policy_request.h>
 
 #include <security-manager.h>
 
@@ -35,7 +36,10 @@ void dropProcessPrivileges(lib_retcode expectedResult = SECURITY_MANAGER_SUCCESS
 void prepareApp(const char *appId, lib_retcode expectedResult = SECURITY_MANAGER_SUCCESS);
 void addUser(const UserRequest &request, lib_retcode expectedResult = SECURITY_MANAGER_SUCCESS);
 void deleteUser(const UserRequest &request, lib_retcode expectedResult = SECURITY_MANAGER_SUCCESS);
-
+void sendPolicy(const PolicyRequest &request, lib_retcode expectedResult = SECURITY_MANAGER_SUCCESS);
+void getPolicy(const PolicyEntry &filter, std::vector<PolicyEntry> &policyEntries, lib_retcode expectedResult = SECURITY_MANAGER_SUCCESS);
+void getPolicyForSelf(const PolicyEntry &filter, std::vector<PolicyEntry> &policyEntries, lib_retcode expectedResult = SECURITY_MANAGER_SUCCESS);
+void getPolicyForAdmin(const PolicyEntry &filter, std::vector<PolicyEntry> &policyEntries, lib_retcode expectedResult = SECURITY_MANAGER_SUCCESS);
 } // namespace Api
 
 } // namespace SecurityManagerTest