Add wrappers for policy updating API functions
[platform/core/test/security-tests.git] / tests / security-manager-tests / common / sm_api.cpp
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