From: tranthanhtung2001 Date: Mon, 15 Jul 2024 06:46:37 +0000 (+0700) Subject: Add tests privilege_db_manager_get_privilege_list_by_pkgid_and_privacy X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d19ca33e44e99912239eb0e7f039c948cedbcd4c;p=platform%2Fcore%2Fsecurity%2Fprivilege-checker.git Add tests privilege_db_manager_get_privilege_list_by_pkgid_and_privacy Add tests privilege_db_manager_get_privacy_filtered_privilege_info_list Change-Id: I14bc3cbb429335656f35d76de52a6c8a1d7d3bcc Signed-off-by: tranthanhtung2001 --- diff --git a/test/privilege-checker.c b/test/privilege-checker.c index 6ae7fbd..e5be79e 100644 --- a/test/privilege-checker.c +++ b/test/privilege-checker.c @@ -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(); + //######################################################################### //######################################################################### diff --git a/test/tc-privilege-db-manager.c b/test/tc-privilege-db-manager.c index 63e5dd9..fb2c1f9 100644 --- a/test/tc-privilege-db-manager.c +++ b/test/tc-privilege-db-manager.c @@ -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); +}