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;
}