Add tests for privilege_db_manager_get_privacy_list_by_pkgid 91/311791/3
authortranthanhtung2001 <tran.tung@samsung.com>
Tue, 28 May 2024 03:08:41 +0000 (10:08 +0700)
committerDariusz Michaluk <d.michaluk@samsung.com>
Fri, 14 Jun 2024 10:23:35 +0000 (12:23 +0200)
Add tests for privilege_db_manager_get_package_list_by_privacy

Change-Id: Ia281de9dd5488c12b6ba8bae5e15f7decf1a644d
Signed-off-by: tranthanhtung2001 <tran.tung@samsung.com>
test/privilege-checker.c
test/tc-privilege-db-manager.c

index 25f4c55b53bf831428e48c948888409a6f2dfc30..51840581bc4206f679237c723080aae0ec89b0e3 100644 (file)
@@ -39,6 +39,8 @@ extern void __test_privilege_db_manager_unset_package_privilege_info();
 extern void __test_privilege_db_manager_is_privacy_requestable();
 extern void __test_privilege_db_manager_get_all_privacy_package_list();
 extern void __test_privilege_info_foreach_privilege_group_list_by_pkgid();
+extern void __test_privilege_db_manager_get_privacy_list_by_pkgid();
+extern void __test_privilege_db_manager_get_package_list_by_privacy();
 
 extern void __test_dpm_black_list_check();
 extern void __test_dpm_black_list_verify_privilege();
@@ -177,6 +179,12 @@ int main()
 
        __tcinfo(function, "privilege_info_foreach_privilege_group_list_by_pkgid");
        __test_privilege_info_foreach_privilege_group_list_by_pkgid();
+
+       __tcinfo(function, "privilege_db_manager_get_privacy_list_by_pkgid");
+       __test_privilege_db_manager_get_privacy_list_by_pkgid();
+
+       __tcinfo(function, "privilege_db_manager_get_package_list_by_privacy");
+       __test_privilege_db_manager_get_package_list_by_privacy();
        //#########################################################################
 
        //#########################################################################
index 87b0c23a7c00145be03517c6e70daf51699a1a53..228d380c70e502e8129cec2f801bab816a475823 100644 (file)
@@ -846,4 +846,125 @@ void __test_privilege_db_manager_get_all_privacy_package_list()
                printf_red("fail\n");
        }
        g_list_free_full(package_list, free);
-}
\ No newline at end of file
+}
+
+void __test_privilege_db_manager_get_privacy_list_by_pkgid()
+{
+       __print_line();
+
+       GList *privacy_list = NULL;
+       GList *expected_privacy_list = NULL;
+
+       uid_t uid = 5001;
+       char *expected_ret = __get_result_string('d', PRIVILEGE_DB_MANAGER_ERR_NONE);
+
+       char *pkgid = "cert-svc-ui";
+       char *privacy_name = "http://tizen.org/privacy/storage";
+       expected_privacy_list = g_list_append(expected_privacy_list, privacy_name);
+
+       printf("uid = %d\npkgid = %s\n", uid, pkgid);
+
+       printf("- EXPECTED RESULT:\nexpected_ret = %s\n", expected_ret);
+       printf("privacy_list :\n");
+       __print_glist(expected_privacy_list);
+
+       int ret = privilege_db_manager_get_privacy_list_by_pkgid(uid, pkgid, &privacy_list);
+
+       char *str_ret = __get_result_string('d', ret);
+       printf("- ACHIEVED RESULT:\nret = %s\n", str_ret);
+       printf("privacy_list :\n");
+       __print_glist(privacy_list);
+
+       bool success = true;
+       if(strcmp(expected_ret, str_ret)){
+               success = false;
+       }
+
+       if(g_list_length(expected_privacy_list) != g_list_length(privacy_list) && success){
+               success = false;
+       }
+
+       GList *l = privacy_list;
+       GList *l1 = expected_privacy_list;
+
+       while (l != NULL && l1 != NULL && success)
+       {
+               if(strcmp((char*)l->data, (char*)l1->data)){
+                       printf("don't match\n");
+                       success = false;
+                       break;
+               }
+               l = l->next;
+               l1 = l1->next;
+       }
+
+       if(success){
+               printf("match\n");
+               success_cnt++;
+               printf_green("success\n");
+       }else{
+               printf("don't match\n");
+               fail_cnt++;
+               printf_red("fail\n");
+       }
+       privilege_db_manager_list_free(privacy_list);
+}
+
+void __test_privilege_db_manager_get_package_list_by_privacy()
+{
+       __print_line();
+
+       GList *package_list = NULL;
+       GList *expected_package_list = NULL;
+
+       uid_t uid = 5001;
+       char *privacy = "http://tizen.org/privacy/storage";
+       char *pkgid = "cert-svc-ui";
+       expected_package_list = g_list_append(expected_package_list, pkgid);
+
+       char *expected_ret = __get_result_string('d', PRIVILEGE_DB_MANAGER_ERR_NONE);
+
+       printf("uid = %d\nprivacy = %s\n", uid, privacy);
+
+       printf("- EXPECTED RESULT:\nexpected_ret = %s\n", expected_ret);
+       printf("package_list :\n");
+       __print_glist(expected_package_list);
+
+       int ret = privilege_db_manager_get_package_list_by_privacy(uid, privacy, &package_list);
+
+       char *str_ret = __get_result_string('d', ret);
+       printf("- ACHIEVED RESULT:\nret = %s\n", str_ret);
+       printf("package_list :\n");
+       __print_glist(package_list);
+
+       bool success = true;
+       if(strcmp(expected_ret, str_ret)){
+               success = false;
+       }
+
+       if(g_list_length(expected_package_list) != g_list_length(package_list) && success){
+               success = false;
+       }
+
+       GList *l = expected_package_list;
+       GList *l1 = package_list;
+       while (l != NULL && l1 != NULL && success)
+       {
+               if(strcmp((char*)l->data, (char*)l1->data)){
+                       success = false;
+                       break;
+               }
+               l = l->next;
+               l1 = l1->next;
+       }
+
+       if(success){
+               printf("match\n");
+               success_cnt++;
+               printf_green("success\n");
+       }else{
+               fail_cnt++;
+               printf_red("fail\n");
+       }
+       privilege_db_manager_list_free(package_list);
+}