From: Michal Eljasiewicz Date: Fri, 30 Jan 2015 12:46:47 +0000 (+0100) Subject: Add wrappers for policy updating API functions X-Git-Tag: security-manager_5.5_testing~109^2~35 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d9104fa1c28221f3eb203783bb14b8b240baabc4;hp=6d71401279adbcc5b29f5e7a7f35ebd0b3d24183;p=platform%2Fcore%2Ftest%2Fsecurity-tests.git Add wrappers for policy updating API functions Change-Id: I71f62d440c267346c8ed6f3e85a1165a4912494e Signed-off-by: Michal Eljasiewicz Signed-off-by: Krzysztof Sasiak --- diff --git a/tests/security-manager-tests/common/sm_api.cpp b/tests/security-manager-tests/common/sm_api.cpp index 6fc59ee..12ede82 100644 --- a/tests/security-manager-tests/common/sm_api.cpp +++ b/tests/security-manager-tests/common/sm_api.cpp @@ -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 &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 &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 &policyEntries, lib_retcode expectedResult) +{ + getConfiguredPolicy(filter, policyEntries, expectedResult, false); +} + +void getPolicyForAdmin(const PolicyEntry &filter, std::vector &policyEntries, lib_retcode expectedResult) +{ + getConfiguredPolicy(filter, policyEntries, expectedResult, true); +} + } // namespace Api } // namespace SecurityManagerTest diff --git a/tests/security-manager-tests/common/sm_api.h b/tests/security-manager-tests/common/sm_api.h index a5f5921..8a99e32 100644 --- a/tests/security-manager-tests/common/sm_api.h +++ b/tests/security-manager-tests/common/sm_api.h @@ -19,6 +19,7 @@ #include #include +#include #include @@ -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 &policyEntries, lib_retcode expectedResult = SECURITY_MANAGER_SUCCESS); +void getPolicyForSelf(const PolicyEntry &filter, std::vector &policyEntries, lib_retcode expectedResult = SECURITY_MANAGER_SUCCESS); +void getPolicyForAdmin(const PolicyEntry &filter, std::vector &policyEntries, lib_retcode expectedResult = SECURITY_MANAGER_SUCCESS); } // namespace Api } // namespace SecurityManagerTest