From 9a3ff4fc615eba2684f45a9cd0d3827365542f8c Mon Sep 17 00:00:00 2001 From: Dariusz Michaluk Date: Mon, 20 Mar 2017 14:31:17 +0100 Subject: [PATCH] Add more security_manager_identify_privilege_provider() tests Change-Id: Id5f0c41f23c41cdd1c6a34f1485628f4faaeb6e2 --- .../test_cases_app_defined_privilege.cpp | 41 +++++++++++++++------- 1 file changed, 28 insertions(+), 13 deletions(-) diff --git a/src/security-manager-tests/test_cases_app_defined_privilege.cpp b/src/security-manager-tests/test_cases_app_defined_privilege.cpp index fe2a811..c681d1a 100644 --- a/src/security-manager-tests/test_cases_app_defined_privilege.cpp +++ b/src/security-manager-tests/test_cases_app_defined_privilege.cpp @@ -258,44 +258,59 @@ RUNNER_CHILD_TEST(app_defined_06_get_provider) int result; char *pkgId = nullptr; char *appId = nullptr; - const std::string privilege = "http://tizen.org/applicationDefinedPrivilege/app_defined_06"; + const std::string privilegeA = "http://tizen.org/applicationDefinedPrivilege/app_defined_06a"; + const std::string privilegeB = "http://tizen.org/applicationDefinedPrivilege/app_defined_06b"; const app_defined_privilege_type type = SM_APP_DEFINED_PRIVILEGE_TYPE_UNTRUSTED; const std::string providerId = "app_def_06_provider"; uid_t uid = 5001; - AppInstallHelper provider(providerId, uid); - provider.addAppDefinedPrivilege(std::make_pair(privilege, type)); - ScopedInstaller req1(provider); + AppInstallHelper providerGlobal(providerId); + AppInstallHelper providerLocal(providerId, uid); + providerGlobal.addAppDefinedPrivilege(std::make_pair(privilegeB, type)); + providerLocal.addAppDefinedPrivilege(std::make_pair(privilegeA, type)); + ScopedInstaller req1(providerGlobal); + ScopedInstaller req2(providerLocal); result = security_manager_identify_privilege_provider("noExistingPrivilege", uid, &pkgId, &appId); RUNNER_ASSERT(result == SECURITY_MANAGER_ERROR_NO_SUCH_OBJECT); RUNNER_ASSERT(appId == nullptr); RUNNER_ASSERT(pkgId == nullptr); - result = security_manager_identify_privilege_provider(privilege.c_str(), uid+1, &pkgId, &appId); + result = security_manager_identify_privilege_provider(privilegeA.c_str(), uid+1, &pkgId, &appId); RUNNER_ASSERT(result == SECURITY_MANAGER_ERROR_NO_SUCH_OBJECT); RUNNER_ASSERT(appId == nullptr); RUNNER_ASSERT(pkgId == nullptr); - result = security_manager_identify_privilege_provider(privilege.c_str(), uid, nullptr, nullptr); + result = security_manager_identify_privilege_provider(privilegeA.c_str(), uid, nullptr, nullptr); RUNNER_ASSERT(result == SECURITY_MANAGER_ERROR_INPUT_PARAM); - result = security_manager_identify_privilege_provider(privilege.c_str(), uid, &pkgId, nullptr); + result = security_manager_identify_privilege_provider(privilegeA.c_str(), uid, &pkgId, nullptr); RUNNER_ASSERT_MSG(result == SECURITY_MANAGER_SUCCESS, "getting privilege provider failed"); - RUNNER_ASSERT(pkgId && std::string(pkgId) == provider.getPkgId()); + RUNNER_ASSERT(pkgId && std::string(pkgId) == providerLocal.getPkgId()); free(pkgId); pkgId = nullptr; - result = security_manager_identify_privilege_provider(privilege.c_str(), uid, nullptr, &appId); + result = security_manager_identify_privilege_provider(privilegeA.c_str(), uid, nullptr, &appId); + RUNNER_ASSERT_MSG(result == SECURITY_MANAGER_SUCCESS, "getting privilege provider failed"); + RUNNER_ASSERT(appId && std::string(appId) == providerLocal.getAppId()); + free(appId); + appId = nullptr; + + result = security_manager_identify_privilege_provider(privilegeA.c_str(), uid, &pkgId, &appId); RUNNER_ASSERT_MSG(result == SECURITY_MANAGER_SUCCESS, "getting privilege provider failed"); - RUNNER_ASSERT(appId && std::string(appId) == provider.getAppId()); + RUNNER_ASSERT(appId && std::string(appId) == providerLocal.getAppId()); + RUNNER_ASSERT(pkgId && std::string(pkgId) == providerLocal.getPkgId()); free(appId); + free(pkgId); appId = nullptr; + pkgId = nullptr; - result = security_manager_identify_privilege_provider(privilege.c_str(), uid, &pkgId, &appId); + result = security_manager_identify_privilege_provider(privilegeB.c_str(), uid, &pkgId, &appId); RUNNER_ASSERT_MSG(result == SECURITY_MANAGER_SUCCESS, "getting privilege provider failed"); - RUNNER_ASSERT(appId && std::string(appId) == provider.getAppId()); - RUNNER_ASSERT(pkgId && std::string(pkgId) == provider.getPkgId()); + RUNNER_ASSERT(appId && std::string(appId) == providerGlobal.getAppId()); + RUNNER_ASSERT(pkgId && std::string(pkgId) == providerGlobal.getPkgId()); free(appId); free(pkgId); + appId = nullptr; + pkgId = nullptr; } -- 2.7.4