Add tests privilege_db_manager_get_privilege_list_by_pkgid_and_privacy 48/314548/2
authortranthanhtung2001 <tran.tung@samsung.com>
Mon, 15 Jul 2024 06:46:37 +0000 (13:46 +0700)
committerDariusz Michaluk <d.michaluk@samsung.com>
Tue, 16 Jul 2024 12:52:24 +0000 (12:52 +0000)
Add tests privilege_db_manager_get_privacy_filtered_privilege_info_list

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

index 6ae7fbdccdcd8257131c8058a0d86ad50c58654a..e5be79e80f519d843142727bae9a2501f820cc60 100644 (file)
@@ -43,6 +43,8 @@ extern void __test_privilege_db_manager_is_privacy_requestable();
 extern void __test_privilege_db_manager_get_all_privacy_package_list();
 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_privilege_db_manager_get_privilege_list_by_pkgid_and_privacy();
+extern void __test_privilege_db_manager_get_privacy_filtered_privilege_info_list();
 
 extern void __test_dpm_black_list_check();
 extern void __test_dpm_black_list_verify_privilege();
@@ -188,6 +190,12 @@ int main()
        __tcinfo(function, "privilege_db_manager_get_package_list_by_privacy");
        __test_privilege_db_manager_get_package_list_by_privacy();
 
+       __tcinfo(function, "privilege_db_manager_get_privilege_list_by_pkgid_and_privacy");
+       __test_privilege_db_manager_get_privilege_list_by_pkgid_and_privacy();
+
+       __tcinfo(function, "privilege_db_manager_get_privacy_filtered_privilege_info_list");
+       __test_privilege_db_manager_get_privacy_filtered_privilege_info_list();
+
        //#########################################################################
 
        //#########################################################################
index 63e5dd9cfde25cafc5ebff7038c2eb421a69cc68..fb2c1f952aaba92a2e9df61f7ff76e6a1cccf433 100644 (file)
@@ -856,3 +856,84 @@ void __test_privilege_db_manager_get_package_list_by_privacy()
 
        privilege_db_manager_list_free(package_list);
 }
+
+void __test_privilege_db_manager_get_privilege_list_by_pkgid_and_privacy()
+{
+       __print_line();
+       GList *privilege_list = NULL;
+       GList *expected_privilege_list = NULL;
+
+       uid_t uid = 5001;
+       char *pkgid = "cert-svc-ui";
+       char *privacy = "http://tizen.org/privacy/storage";
+       char *privilege_name = "http://tizen.org/privilege/externalstorage";
+
+       expected_privilege_list = g_list_append(expected_privilege_list, privilege_name);
+
+       __tcinfo(goal, POS_TC_PREFIX "get privilege list by pkgid and privacy");
+
+       printf("uid = %d\npkgid = %s\nprivacy = %s\n", uid, pkgid, privacy);
+
+       int ret = privilege_db_manager_get_privilege_list_by_pkgid_and_privacy(uid, pkgid, privacy, &privilege_list);
+
+       __check_result_code_and_list(
+               expected_privilege_list,
+               privilege_list,
+               PRIVILEGE_DB_MANAGER_ERR_NONE,
+               ret,
+               true,
+               'd');
+
+       g_list_free_full(privilege_list, free);
+}
+
+void __test_privilege_db_manager_get_privacy_filtered_privilege_info_list()
+{
+       __print_line();
+
+       GList *expected_privilege_privacy_info_list = NULL;
+       GList *privilege_privacy_info_list = NULL;
+       GList *privilege_list = NULL;
+       privilege_privacy_info_s p, p1, p2;
+       char *privacy_name = NULL;
+       char *element1 = "http://tizen.org/privilege/account.read";
+       char *element2 = "http://tizen.org/privilege/account.write";
+       char *element3 = "http://tizen.org/privilege/apphistory.read";
+
+       privilege_list = g_list_append(privilege_list, element1);
+       privilege_list = g_list_append(privilege_list, element2);
+       privilege_list = g_list_append(privilege_list, element3);
+
+       p.privilege_name = element1;
+       p.privacy_name = "http://tizen.org/privacy/account";
+       expected_privilege_privacy_info_list = g_list_append(expected_privilege_privacy_info_list, &p);
+
+       p1.privilege_name = element2;
+       p1.privacy_name = "http://tizen.org/privacy/account";
+       expected_privilege_privacy_info_list = g_list_append(expected_privilege_privacy_info_list, &p1);
+
+       p2.privilege_name = element3;
+       p2.privacy_name = "http://tizen.org/privacy/userhistory";
+       expected_privilege_privacy_info_list = g_list_append(expected_privilege_privacy_info_list, &p2);
+
+       __tcinfo(goal, POS_TC_PREFIX "get privacy filtered privilege info list");
+
+       printf("privilege list \n");
+       __print_glist(privilege_list);
+       printf("privacy_name = NULL\n");
+
+       int ret = privilege_db_manager_get_privacy_filtered_privilege_info_list(
+               privilege_list,
+               privacy_name,
+               &privilege_privacy_info_list);
+
+       __check_result_code_and_list(
+               expected_privilege_privacy_info_list,
+               privilege_privacy_info_list,
+               PRIVILEGE_DB_MANAGER_ERR_NONE,
+               ret,
+               false,
+               'd');
+
+       free_privilege_privacy_info_list(privilege_privacy_info_list);
+}