Adjust app defined privileges tests to license-manager changes
[platform/core/test/security-tests.git] / src / security-manager-tests / test_cases_app_defined_privilege.cpp
index 0de22f9..ee78b50 100644 (file)
@@ -36,228 +36,258 @@ using namespace SecurityManagerTest;
 
 RUNNER_CHILD_TEST(app_defined_01_global_install_untrusted)
 {
-    const Privilege privilege("http://tizen.org/applicationDefinedPrivilege/app_defined_01",
-                              Privilege::UNTRUSTED);
-    const std::string providerAppId = "app_def_01_provider_appid";
-    const std::string consumerAppId = "app_def_01_client_appid";
+    const Privilege privilege(
+        "http://tizen.org/untrusted/devstudio/statistic",
+        Privilege::UNTRUSTED);
+    const std::string providerAppId = "app_def_01_provider";
+    const std::string clientAppId = "app_def_01_client";
     const std::string ownerId = "5001";
     const std::string session = "S0M3S3SSI0N";
 
     AppInstallHelper provider(providerAppId);
-    AppInstallHelper consumer(consumerAppId);
+    AppInstallHelper client(clientAppId);
 
-    std::string consumerLabel = consumer.generateAppLabel();
+    std::string clientLabel = client.generateAppLabel();
 
     provider.addAppDefinedPrivilege(privilege);
-    consumer.addPrivilege(privilege);
+    client.addPrivilege(privilege);
 
     ScopedInstaller req1(provider);
-    ScopedInstaller req2(consumer);
+    ScopedInstaller req2(client);
 
     CynaraTestClient::Client cynara;
-    cynara.check(consumerLabel, session, ownerId, privilege, CYNARA_API_ACCESS_ALLOWED);
+    cynara.check(clientLabel, session, ownerId, privilege, CYNARA_API_ACCESS_ALLOWED);
 
     // uninstall provider
     req1.uninstallApp();
 
-    cynara.check(consumerLabel, session, ownerId, privilege, CYNARA_API_ACCESS_DENIED);
+    cynara.check(clientLabel, session, ownerId, privilege, CYNARA_API_ACCESS_DENIED);
 }
 
 RUNNER_CHILD_TEST(app_defined_02_global_install_licensed)
 {
-    const Privilege privilege("http://tizen.org/licensedPrivilege/app_defined_02",
-                              "/opt/data/app_defined_02/res/license");
-    const std::string providerAppId = "app_def_02_provider_appid";
-    const std::string consumerAppId = "app_def_02_client_appid";
+    const Privilege providerPrivilegeLicense(
+        "http://tizen.org/licensed/abcsoftware/calendar",
+        "/opt/usr/globalapps/app_def_provider_01_pkg_id/cert/abcsoftware.pem");
+    const Privilege clientPrivilegeLicense(
+        "http://tizen.org/licensed/abcsoftware/calendar",
+        "/opt/usr/globalapps/app_def_client_01_pkg_id/cert/softwaremind.pem");
+    const std::string providerAppId = "app_def_provider_01";
+    const std::string clientAppId = "app_def_client_01";
     const std::string ownerId = "5001";
     const std::string session = "S0M33S3SSI0N";
 
     AppInstallHelper provider(providerAppId);
-    AppInstallHelper consumer(consumerAppId);
+    AppInstallHelper client(clientAppId);
 
-    std::string consumerLabel = consumer.generateAppLabel();
+    std::string clientLabel = client.generateAppLabel();
 
-    provider.addAppDefinedPrivilege(privilege);
-    consumer.addPrivilege(privilege);
+    provider.addAppDefinedPrivilege(providerPrivilegeLicense);
+    client.addPrivilege(clientPrivilegeLicense);
 
     ScopedInstaller req1(provider);
-    ScopedInstaller req2(consumer);
+    ScopedInstaller req2(client);
 
     CynaraTestClient::Client cynara;
-    cynara.check(consumerLabel, session, ownerId, privilege, CYNARA_API_ACCESS_ALLOWED);
+    cynara.check(clientLabel, session, ownerId, clientPrivilegeLicense, CYNARA_API_ACCESS_ALLOWED);
 
     // uninstall provider
     req1.uninstallApp();
 
-    cynara.check(consumerLabel, session, ownerId, privilege, CYNARA_API_ACCESS_DENIED);
+    cynara.check(clientLabel, session, ownerId, clientPrivilegeLicense, CYNARA_API_ACCESS_DENIED);
 }
 
 RUNNER_CHILD_TEST(app_defined_03_database_update)
 {
-    // Because of a bug in implementation during installation of
-    // providerB privileges of providerA were deleted from cynara
-    // database. This test should check if bug was fixed.
-    Privilege privilegeA("http://tizen.org/licensedPrivilege/app_defined_03a",
-                         "/opt/data/app_defined_03a/res/license");
-    Privilege privilegeB("http://tizen.org/licensedPrivilege/app_defined_03b",
-                         "/opt/data/app_defined_03b/res/license");
-    const std::string providerAppIdA = "app_def_03a_provider_appid";
-    const std::string providerAppIdB = "app_def_03b_provider_appid";
-    const std::string consumerAppId = "app_def_03_client_appid";
+    const Privilege providerPrivilegeLicenseA(
+        "http://tizen.org/licensed/abcsoftware/calendar",
+        "/opt/usr/globalapps/app_def_provider_01_pkg_id/cert/abcsoftware.pem");
+    const Privilege clientPrivilegeLicenseA(
+        "http://tizen.org/licensed/abcsoftware/calendar",
+        "/opt/usr/globalapps/app_def_client_01_pkg_id/cert/softwaremind.pem");
+    const Privilege providerPrivilegeLicenseB(
+        "http://tizen.org/licensed/xyzsoftware/camera",
+        "/opt/usr/globalapps/app_def_provider_02_pkg_id/cert/xyzsoftware.pem");
+    const Privilege clientPrivilegeLicenseB(
+        "http://tizen.org/licensed/xyzsoftware/camera",
+        "/opt/usr/globalapps/app_def_client_01_pkg_id/cert/futuremind.der");
+
+    const std::string providerAppIdA = "app_def_provider_01";
+    const std::string providerAppIdB = "app_def_provider_02";
+    const std::string clientAppId = "app_def_client_01";
     const std::string ownerId = "5001";
     const std::string session = "S0M33S3SSI0N";
 
     AppInstallHelper providerA(providerAppIdA);
     AppInstallHelper providerB(providerAppIdB);
-    AppInstallHelper consumer(consumerAppId);
-
-    std::string consumerLabel = consumer.generateAppLabel();
+    AppInstallHelper client(clientAppId);
+    client.setHybrid();
+    std::string clientLabel = client.generateAppLabel();
 
-    providerA.addAppDefinedPrivilege(privilegeA);
-    providerB.addAppDefinedPrivilege(privilegeB);
-    consumer.addPrivilege(privilegeA);
-    consumer.addPrivilege(privilegeB);
+    providerA.addAppDefinedPrivilege(providerPrivilegeLicenseA);
+    providerB.addAppDefinedPrivilege(providerPrivilegeLicenseB);
+    client.addPrivilege(clientPrivilegeLicenseA);
+    client.addPrivilege(clientPrivilegeLicenseB);
 
     ScopedInstaller req1(providerA);
     ScopedInstaller req2(providerB);
-    ScopedInstaller req3(consumer);
+    ScopedInstaller req3(client);
 
     CynaraTestClient::Client cynara;
-    cynara.check(consumerLabel, session, ownerId, privilegeA, CYNARA_API_ACCESS_ALLOWED);
-    cynara.check(consumerLabel, session, ownerId, privilegeB, CYNARA_API_ACCESS_ALLOWED);
+    cynara.check(clientLabel, session, ownerId, clientPrivilegeLicenseA, CYNARA_API_ACCESS_ALLOWED);
+    cynara.check(clientLabel, session, ownerId, clientPrivilegeLicenseB, CYNARA_API_ACCESS_ALLOWED);
 
     // uninstall providerA
     req1.uninstallApp();
 
-    cynara.check(consumerLabel, session, ownerId, privilegeA, CYNARA_API_ACCESS_DENIED);
-    cynara.check(consumerLabel, session, ownerId, privilegeB, CYNARA_API_ACCESS_ALLOWED);
+    cynara.check(clientLabel, session, ownerId, clientPrivilegeLicenseA, CYNARA_API_ACCESS_DENIED);
+    cynara.check(clientLabel, session, ownerId, clientPrivilegeLicenseB, CYNARA_API_ACCESS_ALLOWED);
 
     // uninstall providerB
     req2.uninstallApp();
 
-    cynara.check(consumerLabel, session, ownerId, privilegeA, CYNARA_API_ACCESS_DENIED);
-    cynara.check(consumerLabel, session, ownerId, privilegeB, CYNARA_API_ACCESS_DENIED);
+    cynara.check(clientLabel, session, ownerId, clientPrivilegeLicenseA, CYNARA_API_ACCESS_DENIED);
+    cynara.check(clientLabel, session, ownerId, clientPrivilegeLicenseB, CYNARA_API_ACCESS_DENIED);
 }
 
 RUNNER_CHILD_TEST(app_defined_04_app_update)
 {
-    const Privilege privilegeA("http://tizen.org/licensedPrivilege/app_defined_04a",
-                               "/opt/data/app_defined_04a/res/license");
-    const Privilege privilegeB("http://tizen.org/applicationDefinedPrivilege/app_defined_04b",
-                               Privilege::UNTRUSTED);
-    const Privilege privilegeC("http://tizen.org/licensedPrivilege/app_defined_04c",
-                               "/opt/data/app_defined_04c/res/license");
-    const std::string providerAppId = "app_def_04_provider_appid";
-    const std::string consumerAppId = "app_def_04_client_appid";
+    const Privilege providerPrivilegeLicenseA(
+        "http://tizen.org/licensed/abcsoftware/calendar",
+        "/opt/usr/globalapps/app_def_provider_01_pkg_id/cert/abcsoftware.pem");
+    const Privilege clientPrivilegeLicenseA(
+        "http://tizen.org/licensed/abcsoftware/calendar",
+        "/opt/usr/globalapps/app_def_client_01_pkg_id/cert/softwaremind.pem");
+    const Privilege privilegeB(
+        "http://tizen.org/untrusted/devstudio/statistic",
+        Privilege::UNTRUSTED);
+    const Privilege providerPrivilegeLicenseC(
+        "http://tizen.org/licensed/xyzsoftware/camera",
+        "/opt/usr/globalapps/app_def_provider_01_pkg_id/cert/xyzsoftware.der");
+    const Privilege clientPrivilegeLicenseC(
+        "http://tizen.org/licensed/xyzsoftware/camera",
+        "/opt/usr/globalapps/app_def_client_01_pkg_id/cert/futuremind.der");
+
+    const std::string providerAppId = "app_def_provider_01";
+    const std::string clientAppId = "app_def_client_01";
     const std::string ownerId = "5001";
     const std::string session = "S0M33S3SSI0N";
 
     AppInstallHelper providerV1(providerAppId);
     AppInstallHelper providerV2(providerAppId);
-    AppInstallHelper consumer(consumerAppId);
+    AppInstallHelper client(clientAppId);
 
-    std::string consumerLabel = consumer.generateAppLabel();
+    std::string clientLabel = client.generateAppLabel();
 
-    providerV1.addAppDefinedPrivilege(privilegeA);
+    providerV1.addAppDefinedPrivilege(providerPrivilegeLicenseA);
     providerV1.addAppDefinedPrivilege(privilegeB);
-    consumer.addPrivilege(privilegeA);
-    consumer.addPrivilege(privilegeB);
-    consumer.addPrivilege(privilegeC);
+    client.addPrivilege(clientPrivilegeLicenseA);
+    client.addPrivilege(privilegeB);
+    client.addPrivilege(clientPrivilegeLicenseC);
 
     ScopedInstaller req1(providerV1);
-    ScopedInstaller req2(consumer);
+    ScopedInstaller req2(client);
 
     CynaraTestClient::Client cynara;
-    cynara.check(consumerLabel, session, ownerId, privilegeA, CYNARA_API_ACCESS_ALLOWED);
-    cynara.check(consumerLabel, session, ownerId, privilegeB, CYNARA_API_ACCESS_ALLOWED);
-    cynara.check(consumerLabel, session, ownerId, privilegeC, CYNARA_API_ACCESS_DENIED);
+    cynara.check(clientLabel, session, ownerId, clientPrivilegeLicenseA, CYNARA_API_ACCESS_ALLOWED);
+    cynara.check(clientLabel, session, ownerId, privilegeB, CYNARA_API_ACCESS_ALLOWED);
+    cynara.check(clientLabel, session, ownerId, clientPrivilegeLicenseC, CYNARA_API_ACCESS_DENIED);
 
     // update provider version, remove privilegeA, add privilegeC
     providerV2.addAppDefinedPrivilege(privilegeB);
-    providerV2.addAppDefinedPrivilege(privilegeC);
+    providerV2.addAppDefinedPrivilege(providerPrivilegeLicenseC);
 
     ScopedInstaller req3(providerV2);
 
-    cynara.check(consumerLabel, session, ownerId, privilegeA, CYNARA_API_ACCESS_DENIED);
-    cynara.check(consumerLabel, session, ownerId, privilegeB, CYNARA_API_ACCESS_ALLOWED);
-    cynara.check(consumerLabel, session, ownerId, privilegeC, CYNARA_API_ACCESS_ALLOWED);
+    cynara.check(clientLabel, session, ownerId, clientPrivilegeLicenseA, CYNARA_API_ACCESS_DENIED);
+    cynara.check(clientLabel, session, ownerId, privilegeB, CYNARA_API_ACCESS_ALLOWED);
+    cynara.check(clientLabel, session, ownerId, clientPrivilegeLicenseC, CYNARA_API_ACCESS_ALLOWED);
 }
 
 RUNNER_CHILD_TEST(app_defined_05_global_local_install)
 {
-    const Privilege privilegeA("http://tizen.org/licensedPrivilege/app_defined_05a",
-                               Privilege::UNTRUSTED);
-    const Privilege privilegeB("http://tizen.org/applicationDefinedPrivilege/app_defined_05b",
-                               "/opt/data/app_defined_05b/res/license");
-    const Privilege privilegeC("http://tizen.org/applicationDefinedPrivilege/app_defined_05c",
-                               Privilege::UNTRUSTED);
-    const std::string providerAppId = "app_def_05_provider_appid";
-    const std::string consumerAppId = "app_def_05_client_appid";
+    const Privilege privilegeA(
+        "http://tizen.org/untrusted/devstudio/statistic",
+        Privilege::UNTRUSTED);
+    const Privilege providerLocalPrivilegeLicenseB(
+        "http://tizen.org/licensed/abcsoftware/calendar",
+        "/opt/usr/home/security_test_user/apps_rw/app_def_provider_01_pkg_id/cert/abcsoftware.pem");
+    const Privilege clientGlobalPrivilegeLicenseB(
+        "http://tizen.org/licensed/abcsoftware/calendar",
+        "/opt/usr/globalapps/app_def_client_01_pkg_id/cert/softwaremind.pem");
+    const Privilege clientLocalPrivilegeLicenseB(
+        "http://tizen.org/licensed/abcsoftware/calendar",
+        "/opt/usr/home/security_test_user/apps_rw/app_def_client_01_pkg_id/cert/softwaremind.pem");
+    const Privilege privilegeC(
+        "http://tizen.org/untrusted/gamestudio/football",
+        Privilege::UNTRUSTED);
+
+    const std::string providerAppId = "app_def_provider_01";
+    const std::string clientAppId = "app_def_client_01";
     const std::string ownerId = "5001";
     const std::string bobId = "5002";
     const std::string session = "S0M33S3SSI0N";
 
     AppInstallHelper providerGlobal(providerAppId);
     AppInstallHelper providerLocal(providerAppId, 5002);
-    AppInstallHelper consumerGlobal(consumerAppId);
-    AppInstallHelper consumerLocal(consumerAppId, 5002);
+    AppInstallHelper clientGlobal(clientAppId);
+    AppInstallHelper clientLocal(clientAppId, 5002);
 
-    std::string consumerGlobalLabel = consumerGlobal.generateAppLabel();
-    std::string consumerLocalLabel = consumerLocal.generateAppLabel();
+    std::string clientGlobalLabel = clientGlobal.generateAppLabel();
+    std::string clientLocalLabel = clientLocal.generateAppLabel();
 
     providerGlobal.addAppDefinedPrivilege(privilegeA);
     providerGlobal.addAppDefinedPrivilege(privilegeC);
     providerLocal.addAppDefinedPrivilege(privilegeA);
-    providerLocal.addAppDefinedPrivilege(privilegeB);
+    providerLocal.addAppDefinedPrivilege(providerLocalPrivilegeLicenseB);
 
-    consumerGlobal.addPrivilege(privilegeA);
-    consumerGlobal.addPrivilege(privilegeB);
-    consumerGlobal.addPrivilege(privilegeC);
-
-    consumerLocal.addPrivilege(privilegeB);
-    consumerLocal.addPrivilege(privilegeC);
+    clientGlobal.addPrivilege(privilegeA);
+    clientGlobal.addPrivilege(clientGlobalPrivilegeLicenseB);
+    clientGlobal.addPrivilege(privilegeC);
+    clientLocal.addPrivilege(clientLocalPrivilegeLicenseB);
+    clientLocal.addPrivilege(privilegeC);
 
     CynaraTestClient::Client cynara;
 
     // local provider only and global consumer only
     ScopedInstaller req1(providerLocal);
-    ScopedInstaller req2(consumerGlobal);
-    cynara.check(consumerGlobalLabel, session, ownerId, privilegeA, CYNARA_API_ACCESS_DENIED);
-    cynara.check(consumerGlobalLabel, session, ownerId, privilegeB, CYNARA_API_ACCESS_DENIED);
-    cynara.check(consumerGlobalLabel, session, ownerId, privilegeC, CYNARA_API_ACCESS_DENIED);
-    cynara.check(consumerGlobalLabel, session, bobId, privilegeA, CYNARA_API_ACCESS_ALLOWED);
-    cynara.check(consumerGlobalLabel, session, bobId, privilegeB, CYNARA_API_ACCESS_ALLOWED);
-    cynara.check(consumerGlobalLabel, session, bobId, privilegeC, CYNARA_API_ACCESS_DENIED);
+    ScopedInstaller req2(clientGlobal);
+    cynara.check(clientGlobalLabel, session, ownerId, privilegeA, CYNARA_API_ACCESS_DENIED);
+    cynara.check(clientGlobalLabel, session, ownerId, clientGlobalPrivilegeLicenseB, CYNARA_API_ACCESS_DENIED);
+    cynara.check(clientGlobalLabel, session, ownerId, privilegeC, CYNARA_API_ACCESS_DENIED);
+    cynara.check(clientGlobalLabel, session, bobId, privilegeA, CYNARA_API_ACCESS_ALLOWED);
+    cynara.check(clientGlobalLabel, session, bobId, clientGlobalPrivilegeLicenseB, CYNARA_API_ACCESS_ALLOWED);
+    cynara.check(clientGlobalLabel, session, bobId, privilegeC, CYNARA_API_ACCESS_DENIED);
 
     // local provider only and global/local consumer
-    ScopedInstaller req3(consumerLocal);
-    cynara.check(consumerLocalLabel, session, bobId, privilegeA, CYNARA_API_ACCESS_DENIED);
-    cynara.check(consumerLocalLabel, session, bobId, privilegeB, CYNARA_API_ACCESS_ALLOWED);
-    cynara.check(consumerLocalLabel, session, bobId, privilegeC, CYNARA_API_ACCESS_DENIED);
+    ScopedInstaller req3(clientLocal);
+    cynara.check(clientLocalLabel, session, bobId, privilegeA, CYNARA_API_ACCESS_DENIED);
+    cynara.check(clientLocalLabel, session, bobId, clientLocalPrivilegeLicenseB, CYNARA_API_ACCESS_ALLOWED);
+    cynara.check(clientLocalLabel, session, bobId, privilegeC, CYNARA_API_ACCESS_DENIED);
 
     // global/local provider and global/local consumer
     ScopedInstaller req4(providerGlobal);
-    cynara.check(consumerGlobalLabel, session, ownerId, privilegeA, CYNARA_API_ACCESS_ALLOWED);
-    cynara.check(consumerGlobalLabel, session, ownerId, privilegeB, CYNARA_API_ACCESS_DENIED);
-    cynara.check(consumerGlobalLabel, session, ownerId, privilegeC, CYNARA_API_ACCESS_ALLOWED);
-    cynara.check(consumerLocalLabel, session, bobId, privilegeA, CYNARA_API_ACCESS_DENIED);
-    cynara.check(consumerLocalLabel, session, bobId, privilegeB, CYNARA_API_ACCESS_ALLOWED);
-    //cynara.check(consumerLocalLabel, session, bobId, privilegeC, CYNARA_API_ACCESS_DENIED);
+    cynara.check(clientGlobalLabel, session, ownerId, privilegeA, CYNARA_API_ACCESS_ALLOWED);
+    cynara.check(clientGlobalLabel, session, ownerId, clientGlobalPrivilegeLicenseB, CYNARA_API_ACCESS_DENIED);
+    cynara.check(clientGlobalLabel, session, ownerId, privilegeC, CYNARA_API_ACCESS_ALLOWED);
+    cynara.check(clientLocalLabel, session, bobId, privilegeA, CYNARA_API_ACCESS_DENIED);
+    cynara.check(clientLocalLabel, session, bobId, clientLocalPrivilegeLicenseB, CYNARA_API_ACCESS_ALLOWED);
+    //cynara.check(clientLocalLabel, session, bobId, privilegeC, CYNARA_API_ACCESS_DENIED);
 
     // global provider only and global/local consumer
     req1.uninstallApp();
-    cynara.check(consumerGlobalLabel, session, ownerId, privilegeA, CYNARA_API_ACCESS_ALLOWED);
-    cynara.check(consumerGlobalLabel, session, ownerId, privilegeB, CYNARA_API_ACCESS_DENIED);
-    cynara.check(consumerGlobalLabel, session, ownerId, privilegeC, CYNARA_API_ACCESS_ALLOWED);
-    cynara.check(consumerLocalLabel, session, bobId, privilegeA, CYNARA_API_ACCESS_DENIED);
-    cynara.check(consumerLocalLabel, session, bobId, privilegeB, CYNARA_API_ACCESS_DENIED);
-    cynara.check(consumerLocalLabel, session, bobId, privilegeC, CYNARA_API_ACCESS_ALLOWED);
+    cynara.check(clientGlobalLabel, session, ownerId, privilegeA, CYNARA_API_ACCESS_ALLOWED);
+    cynara.check(clientGlobalLabel, session, ownerId, clientGlobalPrivilegeLicenseB, CYNARA_API_ACCESS_DENIED);
+    cynara.check(clientGlobalLabel, session, ownerId, privilegeC, CYNARA_API_ACCESS_ALLOWED);
+    cynara.check(clientLocalLabel, session, bobId, privilegeA, CYNARA_API_ACCESS_DENIED);
+    cynara.check(clientLocalLabel, session, bobId, clientLocalPrivilegeLicenseB, CYNARA_API_ACCESS_DENIED);
+    cynara.check(clientLocalLabel, session, bobId, privilegeC, CYNARA_API_ACCESS_ALLOWED);
 
     // global provider only and global consumer only
     req3.uninstallApp();
-    cynara.check(consumerGlobalLabel, session, ownerId, privilegeA, CYNARA_API_ACCESS_ALLOWED);
-    cynara.check(consumerGlobalLabel, session, ownerId, privilegeB, CYNARA_API_ACCESS_DENIED);
-    cynara.check(consumerGlobalLabel, session, ownerId, privilegeC, CYNARA_API_ACCESS_ALLOWED);
+    cynara.check(clientGlobalLabel, session, ownerId, privilegeA, CYNARA_API_ACCESS_ALLOWED);
+    cynara.check(clientGlobalLabel, session, ownerId, clientGlobalPrivilegeLicenseB, CYNARA_API_ACCESS_DENIED);
+    cynara.check(clientGlobalLabel, session, ownerId, privilegeC, CYNARA_API_ACCESS_ALLOWED);
 }
 
 RUNNER_CHILD_TEST(app_defined_06_get_provider)
@@ -265,15 +295,17 @@ RUNNER_CHILD_TEST(app_defined_06_get_provider)
     int result;
     char *pkgId = nullptr;
     char *appId = nullptr;
-    const Privilege privilegeA("http://tizen.org/applicationDefinedPrivilege/app_defined_06a",
-                               Privilege::UNTRUSTED);
-    const Privilege privilegeB("http://tizen.org/applicationDefinedPrivilege/app_defined_06b",
-                               Privilege::UNTRUSTED);
-    const std::string providerId = "app_def_06_provider";
+    const Privilege privilegeA(
+        "http://tizen.org/untrusted/devstudio/statistic",
+        Privilege::UNTRUSTED);
+    const Privilege privilegeB(
+        "http://tizen.org/untrusted/gamestudio/running",
+        Privilege::UNTRUSTED);
+    const std::string providerAppId = "app_def_06_provider";
     uid_t uid = 5001;
 
-    AppInstallHelper providerGlobal(providerId);
-    AppInstallHelper providerLocal(providerId, uid);
+    AppInstallHelper providerGlobal(providerAppId);
+    AppInstallHelper providerLocal(providerAppId, uid);
     providerGlobal.addAppDefinedPrivilege(privilegeB);
     providerLocal.addAppDefinedPrivilege(privilegeA);
     ScopedInstaller req1(providerGlobal);
@@ -334,22 +366,23 @@ RUNNER_CHILD_TEST(app_defined_07_get_provider_license)
 {
     int result;
     char *license = nullptr;
-    const Privilege privilegeA("http://tizen.org/applicationDefinedPrivilege/app_defined_07a",
-                               "/opt/data/app_defined_07a/res/license");
-    const Privilege privilegeB("http://tizen.org/applicationDefinedPrivilege/app_defined_07b",
-                               "/opt/data/app_defined_07b/res/license");
-    const Privilege privilegeC("http://tizen.org/applicationDefinedPrivilege/app_defined_07c",
-                               "/opt/data/app_defined_07c/res/license");
-    const Privilege privilegeCuntrusted(privilegeC.getName(), Privilege::UNTRUSTED);
-    const std::string providerId = "app_def_07_provider";
-    uid_t uid = 5001;
+    const Privilege providerLocalPrivilegeLicenseA(
+        "http://tizen.org/licensed/abcsoftware/calendar",
+        "/opt/usr/home/security_test_user/apps_rw/app_def_provider_01_pkg_id/cert/abcsoftware.pem");
+    const Privilege providerGlobalPrivilegeLicenseB(
+        "http://tizen.org/licensed/xyzsoftware/camera",
+        "/opt/usr/globalapps/app_def_provider_01_pkg_id/cert/xyzsoftware.der");
+    const Privilege privilegeBuntrusted(
+        providerGlobalPrivilegeLicenseB.getName(), Privilege::UNTRUSTED);
+
+    const std::string providerAppId = "app_def_provider_01";
+    uid_t uid = 5002;
 
-    AppInstallHelper providerGlobal(providerId);
-    AppInstallHelper providerLocal(providerId, uid);
-    providerGlobal.addAppDefinedPrivilege(privilegeB);
-    providerGlobal.addAppDefinedPrivilege(privilegeC);
-    providerLocal.addAppDefinedPrivilege(privilegeA);
-    providerLocal.addAppDefinedPrivilege(privilegeCuntrusted);
+    AppInstallHelper providerGlobal(providerAppId);
+    AppInstallHelper providerLocal(providerAppId, uid);
+    providerGlobal.addAppDefinedPrivilege(providerGlobalPrivilegeLicenseB);
+    providerLocal.addAppDefinedPrivilege(providerLocalPrivilegeLicenseA);
+    providerLocal.addAppDefinedPrivilege(privilegeBuntrusted);
 
     ScopedInstaller req1(providerGlobal);
     ScopedInstaller req2(providerLocal);
@@ -358,37 +391,31 @@ RUNNER_CHILD_TEST(app_defined_07_get_provider_license)
     RUNNER_ASSERT(result == SECURITY_MANAGER_ERROR_INPUT_PARAM);
     RUNNER_ASSERT(license == nullptr);
 
-    result = security_manager_get_app_defined_privilege_license(privilegeA, uid, nullptr);
+    result = security_manager_get_app_defined_privilege_license(providerLocalPrivilegeLicenseA, uid, nullptr);
     RUNNER_ASSERT(result == SECURITY_MANAGER_ERROR_INPUT_PARAM);
 
     result = security_manager_get_app_defined_privilege_license("noExistingPrivilege", uid, &license);
     RUNNER_ASSERT(result == SECURITY_MANAGER_ERROR_NO_SUCH_OBJECT);
     RUNNER_ASSERT(license == nullptr);
 
-    result = security_manager_get_app_defined_privilege_license(privilegeC, uid, &license);
+    result = security_manager_get_app_defined_privilege_license(privilegeBuntrusted, uid, &license);
     RUNNER_ASSERT(result == SECURITY_MANAGER_ERROR_NO_SUCH_OBJECT);
     RUNNER_ASSERT(license == nullptr);
 
-    result = security_manager_get_app_defined_privilege_license(privilegeA, uid+1, &license);
+    result = security_manager_get_app_defined_privilege_license(providerLocalPrivilegeLicenseA, uid+1, &license);
     RUNNER_ASSERT(result == SECURITY_MANAGER_ERROR_NO_SUCH_OBJECT);
     RUNNER_ASSERT(license == nullptr);
 
-    result = security_manager_get_app_defined_privilege_license(privilegeB, uid, &license);
-    RUNNER_ASSERT_MSG(result == SECURITY_MANAGER_SUCCESS, "getting privilege provider license failed");
-    RUNNER_ASSERT(license && privilegeB.getLicense() == license);
-    free(license);
-    license = nullptr;
-
-    result = security_manager_get_app_defined_privilege_license(privilegeA, uid, &license);
+    result = security_manager_get_app_defined_privilege_license(providerLocalPrivilegeLicenseA, uid, &license);
     RUNNER_ASSERT_MSG(result == SECURITY_MANAGER_SUCCESS, "getting privilege provider license failed");
-    RUNNER_ASSERT(license && privilegeA.getLicense() == license);
+    RUNNER_ASSERT(license && providerLocalPrivilegeLicenseA.getLicense() == license);
     free(license);
     license = nullptr;
 
     req2.uninstallApp();
-    result = security_manager_get_app_defined_privilege_license(privilegeC, uid, &license);
+    result = security_manager_get_app_defined_privilege_license(providerGlobalPrivilegeLicenseB, uid, &license);
     RUNNER_ASSERT_MSG(result == SECURITY_MANAGER_SUCCESS, "getting privilege provider license failed");
-    RUNNER_ASSERT(license && privilegeC.getLicense() == license);
+    RUNNER_ASSERT(license && providerGlobalPrivilegeLicenseB.getLicense() == license);
     free(license);
     license = nullptr;
 }
@@ -397,24 +424,23 @@ RUNNER_CHILD_TEST(app_defined_08_add_get_client_license)
 {
     int result;
     char *license = nullptr;
-
-    const Privilege privilegeA("http://tizen.org/applicationDefinedPrivilege/app_defined_08a",
-                               "/opt/data/app_defined_08a/res/license");
-    const Privilege privilegeB("http://tizen.org/applicationDefinedPrivilege/app_defined_08b",
-                               "/opt/data/app_defined_08b/res/license");
-    const Privilege privilegeC("http://tizen.org/applicationDefinedPrivilege/app_defined_08c",
-                               "/opt/data/app_defined_08c/res/license");
-    const Privilege privilegeCunset(privilegeC.getName(), Privilege::UNTRUSTED);
-
-    const std::string clientId = "app_def_08_client";
-    uid_t uid = 5001;
-
-    AppInstallHelper clientGlobal(clientId);
-    AppInstallHelper clientLocal(clientId, uid);
-    clientGlobal.addPrivilege(privilegeB);
-    clientGlobal.addPrivilege(privilegeC);
-    clientLocal.addPrivilege(privilegeA);
-    clientLocal.addPrivilege(privilegeCunset);
+    const Privilege clientLocalPrivilegeLicenseA(
+        "http://tizen.org/licensed/abcsoftware/calendar",
+        "/opt/usr/home/security_test_user/apps_rw/app_def_client_01_pkg_id/cert/softwaremind.pem");
+    const Privilege clientGlobalPrivilegeLicenseB(
+        "http://tizen.org/licensed/xyzsoftware/camera",
+        "/opt/usr/globalapps/app_def_client_01_pkg_id/cert/futuremind.der");
+    const Privilege privilegeBuntrusted(
+        clientGlobalPrivilegeLicenseB.getName(), Privilege::UNTRUSTED);
+
+    const std::string clientAppId = "app_def_client_01";
+    uid_t uid = 5002;
+
+    AppInstallHelper clientGlobal(clientAppId);
+    AppInstallHelper clientLocal(clientAppId, uid);
+    clientGlobal.addPrivilege(clientGlobalPrivilegeLicenseB);
+    clientLocal.addPrivilege(clientLocalPrivilegeLicenseA);
+    clientLocal.addPrivilege(privilegeBuntrusted);
     ScopedInstaller req1(clientGlobal);
     ScopedInstaller req2(clientLocal);
 
@@ -424,12 +450,12 @@ RUNNER_CHILD_TEST(app_defined_08_add_get_client_license)
     RUNNER_ASSERT(result == SECURITY_MANAGER_ERROR_INPUT_PARAM);
     RUNNER_ASSERT(license == nullptr);
 
-    result = security_manager_get_client_privilege_license(privilegeA, nullptr,
+    result = security_manager_get_client_privilege_license(clientLocalPrivilegeLicenseA, nullptr,
                                                            uid, &license);
     RUNNER_ASSERT(result == SECURITY_MANAGER_ERROR_INPUT_PARAM);
     RUNNER_ASSERT(license == nullptr);
 
-    result = security_manager_get_client_privilege_license(privilegeA,
+    result = security_manager_get_client_privilege_license(clientLocalPrivilegeLicenseA,
                                                            clientLocal.getAppId().c_str(),
                                                            uid, nullptr);
     RUNNER_ASSERT(result == SECURITY_MANAGER_ERROR_INPUT_PARAM);
@@ -440,50 +466,78 @@ RUNNER_CHILD_TEST(app_defined_08_add_get_client_license)
     RUNNER_ASSERT(result == SECURITY_MANAGER_ERROR_NO_SUCH_OBJECT);
     RUNNER_ASSERT(license == nullptr);
 
-    result = security_manager_get_client_privilege_license(privilegeA, "noExistingApp",
+    result = security_manager_get_client_privilege_license(clientLocalPrivilegeLicenseA, "noExistingApp",
                                                            uid, &license);
     RUNNER_ASSERT(result == SECURITY_MANAGER_ERROR_NO_SUCH_OBJECT);
     RUNNER_ASSERT(license == nullptr);
 
-    result = security_manager_get_client_privilege_license(privilegeC,
+    result = security_manager_get_client_privilege_license(privilegeBuntrusted,
                                                            clientLocal.getAppId().c_str(),
                                                            uid, &license);
     RUNNER_ASSERT(result == SECURITY_MANAGER_ERROR_NO_SUCH_OBJECT);
     RUNNER_ASSERT(license == nullptr);
 
-    result = security_manager_get_client_privilege_license(privilegeA,
+    result = security_manager_get_client_privilege_license(clientLocalPrivilegeLicenseA,
                                                            clientLocal.getAppId().c_str(),
                                                            uid+1, &license);
     RUNNER_ASSERT(result == SECURITY_MANAGER_ERROR_NO_SUCH_OBJECT);
     RUNNER_ASSERT(license == nullptr);
 
-    result = security_manager_get_client_privilege_license(privilegeA,
+    result = security_manager_get_client_privilege_license(clientLocalPrivilegeLicenseA,
                                                            clientLocal.getAppId().c_str(),
                                                            uid, &license);
     RUNNER_ASSERT_MSG(result == SECURITY_MANAGER_SUCCESS, "getting privilege license failed");
-    RUNNER_ASSERT(license && privilegeA.getLicense() == license);
+    RUNNER_ASSERT(license && clientLocalPrivilegeLicenseA.getLicense() == license);
     free(license);
     license = nullptr;
 
     req2.uninstallApp();
-    result = security_manager_get_client_privilege_license(privilegeB,
+    result = security_manager_get_client_privilege_license(clientGlobalPrivilegeLicenseB,
                                                            clientGlobal.getAppId().c_str(),
                                                            uid, &license);
     RUNNER_ASSERT_MSG(result == SECURITY_MANAGER_SUCCESS, "getting privilege license failed");
-    RUNNER_ASSERT(license && privilegeB.getLicense() == license);
+    RUNNER_ASSERT(license && clientGlobalPrivilegeLicenseB.getLicense() == license);
     free(license);
     license = nullptr;
 }
 
 RUNNER_CHILD_TEST(app_defined_09_check_system_privileges)
 {
-    const std::string providerId = "app_def_09_provider";
+    const std::string providerAppId = "app_def_09_provider";
     const Privilege privilege("http://tizen.org/privilege/internet", Privilege::UNTRUSTED);
 
     InstallRequest requestInst;
-    requestInst.setAppId(providerId);
-    requestInst.setPkgId(providerId);
+    requestInst.setAppId(providerAppId);
+    requestInst.setPkgId(providerAppId);
     requestInst.addAppDefinedPrivilege(privilege);
     Api::install(requestInst, SECURITY_MANAGER_ERROR_INPUT_PARAM);
     Api::uninstall(requestInst);
+}
+
+RUNNER_CHILD_TEST(app_defined_10_invalid_license)
+{
+    const Privilege providerPrivilegeLicense(
+        "http://tizen.org/licensed/abcsoftware/calendar",
+        "/opt/usr/globalapps/app_def_provider_01_pkg_id/cert/abcsoftware.pem");
+    const Privilege clientPrivilegeLicense(
+        "http://tizen.org/licensed/abcsoftware/calendar",
+        "/opt/usr/globalapps/app_def_client_01_pkg_id/cert/futuremind.der");
+    const std::string providerAppId = "app_def_provider_01";
+    const std::string clientAppId = "app_def_client_01";
+    const std::string ownerId = "5001";
+    const std::string session = "S0M33S3SSI0N";
+
+    AppInstallHelper provider(providerAppId);
+    AppInstallHelper client(clientAppId);
+    client.setHybrid();
+    std::string clientLabel = client.generateAppLabel();
+
+    provider.addAppDefinedPrivilege(providerPrivilegeLicense);
+    client.addPrivilege(clientPrivilegeLicense);
+
+    ScopedInstaller req1(provider);
+    ScopedInstaller req2(client);
+
+    CynaraTestClient::Client cynara;
+    cynara.check(clientLabel, session, ownerId, clientPrivilegeLicense, CYNARA_API_ACCESS_DENIED);
 }
\ No newline at end of file