Add tests for privilege_info_get_privilege_noti_info_list 74/310774/9
authorLe <xuan.tien@samsung.com>
Wed, 8 May 2024 04:44:24 +0000 (11:44 +0700)
committerLe <xuan.tien@samsung.com>
Tue, 21 May 2024 03:35:07 +0000 (10:35 +0700)
 Add tests for privilege_info_get_privilege_description_by_package_type

Change-Id: I8e2eb9851dd1db2c75a720311bc78aec62f34965
Signed-off-by: Le <xuan.tien@samsung.com>
test/privilege-checker.c
test/tc-privilege-info.c

index c018ee922ac603dbdb8747a7994abcf599201001..4a82f7bdc321df97e35fe91b6e9b5ce5933a7bd5 100644 (file)
@@ -6,6 +6,7 @@ extern void __test_privilege_manager_get_mapped_privilege_list();
 extern void __test_privilege_manager_verify_metadata();
 extern void __test_privilege_manager_verify_privilege();
 
+
 extern void __test_privilege_privacy_attr();
 extern void __test_privilege_info_is_valid();
 extern void __test_privilege_info_is_internal();
@@ -20,6 +21,8 @@ extern void __test_privilege_info_get_privilege_group_display_name();
 extern void __test_privilege_info_get_privilege_type();
 extern void __test_privilege_info_is_user_settable();
 extern void __test_privilege_info_get_same_privacy_grouped_privileges();
+extern void __test_privilege_info_get_privilege_noti_info_list();
+extern void __test_privilege_info_get_privilege_description_by_package_type();
 
 extern void __test_privilege_db_manager_get_privilege_level_info_list();
 extern void __test_privilege_db_manager_get_mapped_privilege_list();
@@ -111,8 +114,12 @@ int main()
        __tcinfo(function, "privilege_info_get_same_privacy_grouped_privileges");
        __test_privilege_info_get_same_privacy_grouped_privileges();
 
-       //TODO: add testcase for privilege_info_get_privilege_noti_info_list() & privilege_info_free_privilege_noti_info_list()
        //#########################################################################
+       __tcinfo(function, "privilege_info_get_privilege_noti_info_list");
+       __test_privilege_info_get_privilege_noti_info_list();
+
+       __tcinfo(function, "privilege_info_get_privilege_description_by_package_type");
+       __test_privilege_info_get_privilege_description_by_package_type();
 
        __tcinfo(function, "privilege_info_has_privacy_attr");
        __test_privilege_privacy_attr();
index 78b390e9be3b72a67d29f01e1c7ae037430563af..8b9d009841e63a9a663c4a1cb09db8214838e6fa 100644 (file)
@@ -41,7 +41,7 @@ static void __check_get_privilege_display_name_result(privilege_manager_error_e
        }
 }
 
-static void __check_get_privilege_description_result(privilege_manager_error_e expected_result, privilege_manager_error_e result, const char *description)
+static void __check_get_privilege_description_result(privilege_manager_error_e expected_result, privilege_manager_error_e result, const char *description, const char *expected_description)
 {
        printf("expected result = %s, result = %s\n", __get_result_string('m', expected_result), __get_result_string('m', result));
 
@@ -50,20 +50,37 @@ static void __check_get_privilege_description_result(privilege_manager_error_e e
                printf_red("test fail\n");
                fail_cnt++;
        } else {
-               printf("matched\n");
                if (result == PRVMGR_ERR_NONE) {
-                       printf("description = %s\n", description);
+                       printf("description = %s, expected description = %s\n", description, expected_description);
+                       if(description == NULL && expected_description == NULL){
+                               printf("matched\n");
+                               printf_green("test success\n");
+                               success_cnt++;
+                               return;
+                       } else if(description == NULL || description == NULL){
+                               printf_red("test fail\n");
+                               fail_cnt++;
+                               return;
+                       }else if(strcmp(description, expected_description) == 0){
+                               printf("matched\n");
+                               printf_green("test success\n");
+                               success_cnt++;
+                               return;
+                       }
                } else {
                        if (description != NULL) {
                                printf("description = %s\n", description);
                                printf("description must be NULL\n");
-                               printf_red("test fail\n");
-                               fail_cnt++;
+                       } else {
+                               printf("matched\n");
+                               printf_green("test success\n");
+                               success_cnt++;
                                return;
                        }
                }
-               printf_green("test success\n");
-               success_cnt++;
+               printf_red("test fail\n");
+               fail_cnt++;
+               return;
        }
 }
 
@@ -101,6 +118,44 @@ static void __check_get_privilege_group_display_name_result(privilege_manager_er
        }
 }
 
+static void __check_privilege_info_get_privilege_info(privilege_manager_error_e expected_result,
+privilege_manager_error_e result, GList* privilege_info_list_expected, GList* privilege_info_list,
+privilege_noti_info_result_e return_result)
+{
+       printf("--- expected : %s\n  result : %s, return_result: %d\n", __get_result_string('m',expected_result), __get_result_string('m',result), return_result);
+       if (expected_result != result) {
+               printf_red("TEST RESULT: FAILED\n");
+               fail_cnt++;
+               return;
+       } else {
+               if(result == PRVMGR_ERR_NONE){
+                       GList *l1 = privilege_info_list_expected;
+                       GList *l2 = privilege_info_list;
+                       while(l1 != NULL && l2 != NULL) {
+                               privilege_noti_info_s* expected_privilege = (privilege_noti_info_s*)l1->data;
+                               privilege_noti_info_s* privilege = (privilege_noti_info_s*)l2->data;
+                               printf("---check content: \n");
+                               printf("   expected privilege name: %s\n   actual privilege name: %s\n", expected_privilege->privilege_name, privilege->privilege_name);
+                               printf("   expected display_name: %s\n   actual display_name: %s\n", expected_privilege->display_name, privilege->display_name);
+                               printf("   expected description: %s\n   actual description: %s\n", expected_privilege->description, privilege->description);
+                               if(strcmp(expected_privilege->privilege_name, privilege->privilege_name) != 0 ||
+                               strcmp(expected_privilege->display_name, privilege->display_name) != 0 ||
+                               strcmp(expected_privilege->description, privilege->description) != 0) {
+                                       printf("---> INVALID\n");
+                                       printf_red("TEST RESULT: FAILED\n");
+                                       fail_cnt++;
+                                       return;
+                               }
+                               printf("---> VALID\n");
+                               l1 = l1->next;
+                               l2 = l2->next;
+                       }
+               }
+               printf_green("TEST RESULT: SUCCESS\n");
+               success_cnt++;
+       }
+}
+
 void __test_privilege_privacy_attr()
 {
        __print_line();
@@ -192,6 +247,7 @@ void __test_privilege_info_is_internal()
        }
        __print_line();
 }
+
 void __test_privilege_info_is_privacy()
 {
        int ret;
@@ -437,38 +493,37 @@ void __test_privilege_info_get_privilege_description()
 {
        int ret;
        char *description = NULL;
+       char *expected_description = NULL;
 
        printf("privilege : http://tizen.org/privilege/account.read\n");
+       expected_description = "IDS_TPLATFORM_BODY_THIS_APPLICATION_CAN_READ_ACCOUNTS";
        ret = privilege_info_get_privilege_description("http://tizen.org/privilege/account.read", &description);
-       __check_get_privilege_description_result(PRVMGR_ERR_NONE, ret, description);
+       __check_get_privilege_description_result(PRVMGR_ERR_NONE, ret, description, expected_description);
+       free(description);
+       description = NULL;
        __print_line();
 
        printf("privilege : http://tizen.org/privilege/badge.admin\n");
-       if (description != NULL) {
-               free(description);
-               description = NULL;
-       }
+       expected_description = NULL;
        ret = privilege_info_get_privilege_description("http://tizen.org/privilege/badge.admin", &description);
-       __check_get_privilege_description_result(PRVMGR_ERR_NONE, ret, description);
+       __check_get_privilege_description_result(PRVMGR_ERR_NONE, ret, description, expected_description);
+       free(description);
+       description = NULL;
        __print_line();
 
        printf("privilege : http://tizen.org/privilege/accousdfsdnt.resdfsdfad\n");
-       if (description != NULL) {
-               free(description);
-               description = NULL;
-       }
+       expected_description = NULL;
        ret = privilege_info_get_privilege_description("http://tizen.org/privilege/accousdfsdnt.resdfsdfad", &description);
-       __check_get_privilege_description_result(PRVMGR_ERR_NONE, ret, description);
+       __check_get_privilege_description_result(PRVMGR_ERR_NONE, ret, description, expected_description);
+       free(description);
+       description = NULL;
        __print_line();
 
        printf("privilege : NULL\n");
-       if (description != NULL) {
-               free(description);
-               description = NULL;
-       }
        ret = privilege_info_get_privilege_description(NULL, &description);
-       __check_get_privilege_description_result(PRVMGR_ERR_INVALID_PARAMETER, ret, description);
+       __check_get_privilege_description_result(PRVMGR_ERR_INVALID_PARAMETER, ret, description, expected_description);
        free(description);
+       free(expected_description);
        __print_line();
 }
 
@@ -819,3 +874,100 @@ void __test_privilege_info_get_same_privacy_grouped_privileges()
                g_list_free_full(privilege_list, free);
        }
 }
+
+void __test_privilege_info_get_privilege_noti_info_list()
+{
+       GList* privilege_name_list = NULL;
+       GList* privilege_info_list_result = NULL;
+       GList* privilege_info_list_expected = NULL;
+       privilege_noti_info_result_e return_result;
+       int ret;
+
+       char* privilege_name_1 = "http://tizen.org/privilege/call";
+       char* privilege_name_2 = "http://tizen.org/privilege/content.read";
+       char* privilege_name_3 = "http://tizen.org/privilege/filesystem.read";
+       char* privilege_name_4 = "http://tizen.org/privilege/bookmark.admin";
+       printf("TEST NAME: %s #1\n", __func__);
+       printf("--- UNKNOWN_LOCAL_CODE\n");
+       printf("--- locale : xx_XX.UTF8\n");
+       printf("--- privilege name : %s\n", privilege_name_1);
+       printf("--- privilege name : %s\n", privilege_name_2);
+       printf("--- privilege name : %s\n", privilege_name_3);
+
+       privilege_name_list = g_list_append(privilege_name_list, privilege_name_1);
+       privilege_name_list = g_list_append(privilege_name_list, privilege_name_2);
+       privilege_name_list = g_list_append(privilege_name_list, privilege_name_3);
+
+       privilege_noti_info_s privilege_info_1;
+       privilege_info_1.privilege_name = privilege_name_1;
+       privilege_info_1.display_name = "Making phone calls";
+       privilege_info_1.description = "This application can make phone calls to numbers when they are tapped without further confirmation. This may result in additional charges depending on your payment plan.";
+       privilege_noti_info_s privilege_info_2;
+       privilege_info_2.privilege_name = privilege_name_2;
+       privilege_info_2.display_name = "Reading content";
+       privilege_info_2.description = "This application can read media content information.";
+       privilege_noti_info_s privilege_info_3;
+       privilege_info_3.privilege_name = privilege_name_3;
+       privilege_info_3.display_name = "Reading file systems";
+       privilege_info_3.description = "This application can read file systems.";
+
+       privilege_info_list_expected = g_list_append(privilege_info_list_expected, &privilege_info_1);
+       privilege_info_list_expected = g_list_append(privilege_info_list_expected, &privilege_info_2);
+       privilege_info_list_expected = g_list_append(privilege_info_list_expected, &privilege_info_3);
+
+       ret = privilege_info_get_privilege_noti_info_list("xx_XX.UTF8", privilege_name_list, &privilege_info_list_result, &return_result);
+       __check_privilege_info_get_privilege_info(PRVMGR_ERR_NONE, ret, privilege_info_list_expected, privilege_info_list_result, return_result);
+       g_list_free(privilege_name_list);
+       privilege_name_list = NULL;
+       privilege_info_list_expected = NULL;
+       privilege_info_free_privilege_noti_info_list(privilege_info_list_result);
+       privilege_info_list_result = NULL;
+       __print_line();
+
+       printf("TEST NAME: %s #2\n", __func__);
+       printf("--- locale : vi_VN.UTF8\n");
+       printf("--- privilege name : %s\n", privilege_name_1);
+       printf("--- privilege name : %s\n", privilege_name_4);
+       privilege_name_list = g_list_append(privilege_name_list, privilege_name_1);
+       privilege_name_list = g_list_append(privilege_name_list, privilege_name_4);
+
+       privilege_info_1.privilege_name = privilege_name_1;
+       privilege_info_1.display_name = "Thực hiện cuộc gọi";
+       privilege_info_1.description = "Ứng dụng này có thể gọi đến các số điện thoại khi bạn chạm vào các số này mà không cần xác nhận thêm. Việc này có thể phát sinh thêm phí tùy vào gói cước của bạn.";
+       privilege_info_2.privilege_name = privilege_name_4;
+       privilege_info_2.display_name = "Truy cập đánh dấu Internet";
+       privilege_info_2.description = "Ứng dụng này có thể truy xuất, tạo, sửa và xóa đánh dấu Internet.";
+
+       privilege_info_list_expected = g_list_append(privilege_info_list_expected, &privilege_info_1);
+       privilege_info_list_expected = g_list_append(privilege_info_list_expected, &privilege_info_2);
+
+       ret = privilege_info_get_privilege_noti_info_list("vi_VN.UTF8", privilege_name_list, &privilege_info_list_result, &return_result);
+       __check_privilege_info_get_privilege_info(PRVMGR_ERR_NONE, ret, privilege_info_list_expected, privilege_info_list_result, return_result);
+       g_list_free(privilege_name_list);
+       privilege_info_free_privilege_noti_info_list(privilege_info_list_result);
+       __print_line();
+}
+
+void __test_privilege_info_get_privilege_description_by_package_type()
+{
+       int ret;
+       char* description = NULL;
+       char* expected_description = NULL;
+
+       printf("api_version : 2.3\n");
+       printf("privilege : http://tizen.org/privilege/window.priority.set\n");
+       expected_description = "IDS_TPLATFORM_BODY_THIS_APPLICATION_CAN_APPEAR_ON_TOP_OF_OTHER_WINDOWS_AND_SCREENS_MSG";
+       ret = privilege_info_get_privilege_description_by_package_type("http://tizen.org/privilege/window.priority.set", "2.3", PRVMGR_PACKAGE_TYPE_CORE, &description);
+       __check_get_privilege_description_result(PRVMGR_ERR_NONE, ret, description, expected_description);
+       free(description);
+       description = NULL;
+       __print_line();
+
+       printf("api_version : 2.3\n");
+       printf("privilege : http://tizen.org/privilege/RRRRRRRRRR\n");
+       ret = privilege_info_get_privilege_description_by_package_type("http://tizen.org/privilege/RRRRRRRRRR", "2.3", PRVMGR_PACKAGE_TYPE_CORE, &description);
+       __check_get_privilege_description_result(PRVMGR_ERR_NO_EXIST_PRIVILEGE, ret, description, expected_description);
+       free(description);
+       __print_line();
+}
+