Fix set privilege tests for OSP and EFL
[platform/core/test/security-tests.git] / tests / libprivilege-control-tests / test_cases_nosmack.cpp
index f73974e..374836f 100644 (file)
@@ -161,7 +161,7 @@ RUNNER_TEST_NOSMACK(privilege_control04_add_permissions_nosmack)
             "perm_app_install returned " << result << ". Errno: " << strerror(errno));
 
     //Add permissions
-    result = perm_app_enable_permissions(APP_ID, APP_TYPE_EFL, PRIVS_EFL, TRUE);
+    result = perm_app_enable_permissions(APP_ID, APP_TYPE_EFL, PRIVS_EFL, true);
     RUNNER_ASSERT_MSG_BT(result == PC_OPERATION_SUCCESS,
             "Error adding app permissions. Result: " << result);
 
@@ -177,16 +177,23 @@ RUNNER_TEST_NOSMACK(privilege_control04_add_permissions_nosmack)
 
     TestLibPrivilegeControlDatabase db_test;
     db_test.test_db_after__perm_app_install(APP_ID);
-    db_test.test_db_after__perm_app_enable_permissions(APP_ID, APP_TYPE_EFL, PRIVS_EFL, TRUE);
+    db_test.test_db_after__perm_app_enable_permissions(APP_ID, APP_TYPE_EFL, PRIVS_EFL, true);
+
+    DB_BEGIN
+
+    result = perm_app_disable_permissions(APP_ID, APP_TYPE_EFL, PRIVS_EFL);
+    RUNNER_ASSERT_MSG_BT(result == PC_OPERATION_SUCCESS,
+            "Error disabling permissions: " << perm_strerror(result));
+    DB_END
 }
 
-void set_app_privilege_nosmack(int line_no,
+void test_set_app_privilege_nosmack(
                                const char* app_id, app_type_t app_type,
                                const char** privileges, const char* type,
                                const char* app_path, const char* dac_file,
                                const rules_t &rules)
 {
-    check_app_installed(line_no, app_path);
+    check_app_installed(app_path);
 
     int result;
 
@@ -201,25 +208,25 @@ void set_app_privilege_nosmack(int line_no,
             "perm_app_install returned " << result << ". Errno: " << strerror(errno));
 
     result = perm_app_enable_permissions(app_id, app_type, privileges, 1);
-    RUNNER_ASSERT_MSG_BT(result == PC_OPERATION_SUCCESS, "Line: " << line_no <<
+    RUNNER_ASSERT_MSG_BT(result == PC_OPERATION_SUCCESS,
             " Error enabling app permissions. Result: " << result);
 
     DB_END
 
     result = test_have_nosmack_accesses(rules);
-    RUNNER_ASSERT_MSG_BT(result == -1, "Line: " << line_no <<
+    RUNNER_ASSERT_MSG_BT(result == -1,
             " Permissions shouldn't be added. Result: " << result);
 
     result = perm_app_set_privilege(app_id, type, app_path);
-    RUNNER_ASSERT_MSG_BT(result == PC_OPERATION_SUCCESS, "Line: " << line_no <<
+    RUNNER_ASSERT_MSG_BT(result == PC_OPERATION_SUCCESS,
             " Error in perm_app_set_privilege. Error: " << result);
 
     //Even though app privileges are set, no smack label should be extracted.
     char* label = NULL;
     result = smack_new_label_from_self(&label);
-    RUNNER_ASSERT_MSG_BT(result == -1, "Line: " << line_no <<
+    RUNNER_ASSERT_MSG_BT(result == -1,
             " new_label_from_self should return error (SMACK is off). Result: " << result);
-    RUNNER_ASSERT_MSG_BT(label == NULL, "Line: " << line_no <<
+    RUNNER_ASSERT_MSG_BT(label == NULL,
             " new_label_from_self shouldn't allocate memory for label.");
 
     check_groups(dac_file);
@@ -235,12 +242,16 @@ RUNNER_CHILD_TEST_NOSMACK(privilege_control05_set_app_privilege_nosmack)
 {
     int result;
 
-    check_app_installed(__LINE__, APP_SET_PRIV_PATH);
+    check_app_installed(APP_SET_PRIV_PATH);
 
     //Preset exec label
     smack_lsetlabel(APP_SET_PRIV_PATH_REAL, APP_ID, SMACK_LABEL_EXEC);
     smack_lsetlabel(APP_SET_PRIV_PATH, APP_ID "_symlink", SMACK_LABEL_EXEC);
 
+    DB_BEGIN
+    perm_app_uninstall(APP_ID);
+    DB_END
+
     //Set app privileges
     result = perm_app_set_privilege(APP_ID, NULL, APP_SET_PRIV_PATH);
     RUNNER_ASSERT_MSG_BT(result == PC_OPERATION_SUCCESS,
@@ -273,7 +284,7 @@ RUNNER_CHILD_TEST_NOSMACK(privilege_control05_set_app_privilege_nosmack)
  */
 RUNNER_CHILD_TEST_NOSMACK(privilege_control05_set_app_privilege_wgt_nosmack)
 {
-    set_app_privilege_nosmack(__LINE__, WGT_APP_ID, APP_TYPE_WGT, PRIVS_WGT, "wgt", WGT_APP_PATH,
+    test_set_app_privilege_nosmack(WGT_APP_ID, APP_TYPE_WGT, PRIVS_WGT, "wgt", WGT_APP_PATH,
             LIBPRIVILEGE_TEST_DAC_FILE_WGT, rules_wgt);
 }
 
@@ -284,7 +295,7 @@ RUNNER_CHILD_TEST_NOSMACK(privilege_control05_set_app_privilege_wgt_nosmack)
  */
 RUNNER_CHILD_TEST_NOSMACK(privilege_control05_set_app_privilege_wgt_partner_nosmack)
 {
-    set_app_privilege_nosmack(__LINE__, WGT_PARTNER_APP_ID, APP_TYPE_WGT_PARTNER, PRIVS_WGT,
+    test_set_app_privilege_nosmack(WGT_PARTNER_APP_ID, APP_TYPE_WGT_PARTNER, PRIVS_WGT,
             "wgt_partner", WGT_PARTNER_APP_PATH,
             LIBPRIVILEGE_TEST_DAC_FILE_WGT, rules_wgt_partner);
 }
@@ -296,7 +307,7 @@ RUNNER_CHILD_TEST_NOSMACK(privilege_control05_set_app_privilege_wgt_partner_nosm
  */
 RUNNER_CHILD_TEST_NOSMACK(privilege_control05_set_app_privilege_wgt_platform_nosmack)
 {
-    set_app_privilege_nosmack(__LINE__, WGT_PLATFORM_APP_ID, APP_TYPE_WGT_PLATFORM, PRIVS_WGT,
+    test_set_app_privilege_nosmack(WGT_PLATFORM_APP_ID, APP_TYPE_WGT_PLATFORM, PRIVS_WGT,
             "wgt_platform", WGT_PLATFORM_APP_PATH,
             LIBPRIVILEGE_TEST_DAC_FILE_WGT, rules_wgt_platform);
 }
@@ -308,7 +319,7 @@ RUNNER_CHILD_TEST_NOSMACK(privilege_control05_set_app_privilege_wgt_platform_nos
  */
 RUNNER_CHILD_TEST_NOSMACK(privilege_control05_set_app_privilege_osp_nosmack)
 {
-    set_app_privilege_nosmack(__LINE__, OSP_APP_ID, APP_TYPE_OSP, PRIVS_OSP, NULL, OSP_APP_PATH,
+    test_set_app_privilege_nosmack(OSP_APP_ID, APP_TYPE_OSP, PRIVS_OSP, "tpk", OSP_APP_PATH,
             LIBPRIVILEGE_TEST_DAC_FILE_OSP, rules_osp);
 }
 
@@ -319,8 +330,8 @@ RUNNER_CHILD_TEST_NOSMACK(privilege_control05_set_app_privilege_osp_nosmack)
  */
 RUNNER_CHILD_TEST_NOSMACK(privilege_control05_set_app_privilege_osp_partner_nosmack)
 {
-    set_app_privilege_nosmack(__LINE__, OSP_PARTNER_APP_ID, APP_TYPE_OSP_PARTNER, PRIVS_OSP,
-            NULL, OSP_PARTNER_APP_PATH, LIBPRIVILEGE_TEST_DAC_FILE_OSP, rules_osp_partner);
+    test_set_app_privilege_nosmack(OSP_PARTNER_APP_ID, APP_TYPE_OSP_PARTNER, PRIVS_OSP,
+            "tpk", OSP_PARTNER_APP_PATH, LIBPRIVILEGE_TEST_DAC_FILE_OSP, rules_osp_partner);
 }
 
 /**
@@ -330,11 +341,18 @@ RUNNER_CHILD_TEST_NOSMACK(privilege_control05_set_app_privilege_osp_partner_nosm
  */
 RUNNER_CHILD_TEST_NOSMACK(privilege_control05_set_app_privilege_osp_platform_nosmack)
 {
-    set_app_privilege_nosmack(__LINE__, OSP_PLATFORM_APP_ID, APP_TYPE_OSP_PLATFORM, PRIVS_OSP,
-            NULL, OSP_PLATFORM_APP_PATH,
+    test_set_app_privilege_nosmack(OSP_PLATFORM_APP_ID, APP_TYPE_OSP_PLATFORM, PRIVS_OSP,
+            "tpk", OSP_PLATFORM_APP_PATH,
             LIBPRIVILEGE_TEST_DAC_FILE_OSP, rules_osp_platform);
 }
 
+RUNNER_CHILD_TEST_NOSMACK(privilege_control05_set_app_privilege_efl_nosmack)
+{
+    test_set_app_privilege_nosmack(EFL_APP_ID, PERM_APP_TYPE_EFL, PRIVS_EFL,
+            "rpm", EFL_APP_PATH,
+            LIBPRIVILEGE_TEST_DAC_FILE_EFL, rules_efl);
+}
+
 /**
  * Revoke permissions from the list. Should be executed as privileged user.
  */