3 #include <privilege_info.h>
6 static void __check_get_privilege_display_name_result(privilege_manager_error_e expected_result, privilege_manager_error_e result, const char *display_name)
8 printf("expected result = %s, result = %s\n", __get_result_string('m', expected_result), __get_result_string('m', result));
10 if (expected_result != result) {
11 printf("not matched\n");
12 printf_red("test fail\n");
16 if (result == PRVMGR_ERR_NONE) {
17 printf("display_name = %s\n", display_name);
19 if (display_name != NULL) {
20 printf("display_name = %s\n", display_name);
21 printf("display_name must be NULL\n");
22 printf_red("test fail\n");
27 printf_green("test success\n");
32 static void __check_get_privilege_description_result(privilege_manager_error_e expected_result, privilege_manager_error_e result, const char *description)
34 printf("expected result = %s, result = %s\n", __get_result_string('m', expected_result), __get_result_string('m', result));
36 if (expected_result != result) {
37 printf("not matched\n");
38 printf_red("test fail\n");
42 if (result == PRVMGR_ERR_NONE) {
43 printf("description = %s\n", description);
45 if (description != NULL) {
46 printf("description = %s\n", description);
47 printf("description must be NULL\n");
48 printf_red("test fail\n");
53 printf_green("test success\n");
58 static void __check_get_privilege_group_display_name_result(privilege_manager_error_e expected_result, privilege_manager_error_e result, const char *group_name)
60 printf("expected result = %s, result = %s\n", __get_result_string('m', expected_result), __get_result_string('m', result));
62 if (expected_result != result) {
63 printf("not matched\n");
64 printf_red("test fail\n");
69 if (result == PRVMGR_ERR_NONE) {
70 if (group_name == NULL) {
71 printf("group_name must not be NULL\n");
72 printf_red("test fail\n");
76 printf("group_name = %s\n", group_name);
79 if (group_name != NULL) {
80 printf("group_name = %s\n", group_name);
81 printf("group_name must be NULL\n");
82 printf_red("test fail\n");
87 printf_green("test success\n");
92 static void __test_privilege_info_is_valid()
95 printf("privilege : http://tizen.org/privilege/account.read\n");
96 ret = privilege_info_is_valid("http://tizen.org/privilege/account.read");
99 printf_green("SUCCESS: http://tizen.org/privilege/account.read is valid\n");
102 printf_red("Test FAILED. ret = %d\n", ret);
106 printf("privilege : http://tizen.org/privilege/internal/default/public\n");
107 ret = privilege_info_is_valid("http://tizen.org/privilege/internal/default/public");
110 printf_green("SUCCESS: http://tizen.org/privilege/internal/default/public is valid\n");
113 printf_red("Test FAILED. ret = %d\n", ret);
117 printf("privilege : http://tizen.org/privilege/internettttttt\n");
118 ret = privilege_info_is_valid("http://tizen.org/privilege/internettttttt");
121 printf_green("SUCCESS: http://tizen.org/privilege/internettttttt is invalid\n");
124 printf_red("Test FAILED. ret = %d\n", ret);
130 static void __test_privilege_info_is_internal()
133 printf("privilege : http://tizen.org/privilege/internal/default/public\n");
134 ret = privilege_info_is_internal("http://tizen.org/privilege/internal/default/public");
137 printf_green("SUCCESS: http://tizen.org/privilege/internal/default/public is internal\n");
140 printf_red("Test FAILED. ret = %d\n", ret);
144 printf("privilege : http://tizen.org/privilege/internal/dbus\n");
145 ret = privilege_info_is_internal("http://tizen.org/privilege/internal/dbus");
148 printf_green("SUCCESS: http://tizen.org/privilege/internal/dbus is internal\n");
151 printf_red("Test FAILED. ret = %d\n", ret);
155 printf("privilege : http://tizen.org/privilege/internet\n");
156 ret = privilege_info_is_internal("http://tizen.org/privilege/internet");
159 printf_green("SUCCESS: http://tizen.org/privilege/internet is NOT internal\n");
162 printf_red("Test FAILED. ret = %d\n", ret);
165 printf("privilege : http://tizen.org/privilege/internettttt\n");
166 ret = privilege_info_is_internal("http://tizen.org/privilege/internettttt");
169 printf_green("SUCCESS: http://tizen.org/privilege/internettttt is NOT internal\n");
172 printf_red("Test FAILED. ret = %d\n", ret);
176 static void __test_privilege_info_is_privacy()
179 printf("privilege : http://tizen.org/privilege/account.read\n");
180 ret = privilege_info_is_privacy("http://tizen.org/privilege/account.read");
183 printf_green("SUCCESS: http://tizen.org/privilege/account.read is PRIVACY\n");
186 printf_red("Test FAILED. ret = %d\n", ret);
190 printf("privilege : http://tizen.org/privilege/internet\n");
191 ret = privilege_info_is_privacy("http://tizen.org/privilege/internet");
194 printf_green("SUCCESS: http://tizen.org/privilege/internet is NOT PRIVACY\n");
197 printf_red("Test FAILED. ret = %d\n", ret);
201 /* Do not treat internal privileges as privacy related
202 printf("privilege : http://tizen.org/privilege/internal/buxton/account.read\n");
203 ret = privilege_info_is_privacy("http://tizen.org/privilege/internal/buxton/account.read");
206 printf("SUCCESS: http://tizen.org/privilege/internal/buxton/account.read is PRIVACY\n");
209 printf("Test FAILED. ret = %d\n", ret);
213 printf("privilege : http://tizen.org/privilege/internettttt\n");
214 ret = privilege_info_is_privacy("http://tizen.org/privilege/internettttt");
217 printf_green("SUCCESS: http://tizen.org/privilege/internettttt is NOT PRIVACY\n");
220 printf_red("Test FAILED. ret = %d\n", ret);
225 static void __test_privilege_info_get_privacy_display()
227 char* privacy_display = NULL;
230 printf("VALID privacy: http://tizen.org/privacy/account\n");
231 ret = privilege_info_get_privacy_display("http://tizen.org/privacy/account", &privacy_display);
232 if (ret == PRVMGR_ERR_NONE && privacy_display != NULL) {
234 printf_green("SUCCESS: privacy_display = %s\n", privacy_display);
237 printf_red("FAIL: ret = %d, privacy_display = %s\n", ret, privacy_display);
240 free(privacy_display);
241 privacy_display = NULL;
243 printf("WRONG privacy: http://tizen.org/privilege/account.read\n");
244 ret = privilege_info_get_privacy_display("http://tizen.org/privilege/account.read", &privacy_display);
245 if (ret == PRVMGR_ERR_INVALID_PARAMETER && privacy_display == NULL) {
247 printf_green("SUCCESS\n");
250 printf_red("FAIL: ret = %d, privacy_display = %s\n", ret, privacy_display);
253 free(privacy_display);
254 privacy_display = NULL;
256 printf("NULL param\n");
257 ret = privilege_info_get_privacy_display(NULL, &privacy_display);
258 if (ret == PRVMGR_ERR_INVALID_PARAMETER && privacy_display == NULL) {
260 printf_green("SUCCESS\n");
263 printf_red("FAIL: ret = %d, privacy_display = %s\n", ret, privacy_display);
266 free(privacy_display);
269 static void __test_privilege_info_get_privacy_list()
271 GList* privacy_list = NULL;
273 int ret = privilege_info_get_privacy_list(&privacy_list);
276 for (l = privacy_list; l != NULL; l = l->next) {
277 char *privacy_name = (char*)l->data;
278 printf("%s\n", privacy_name);
280 printf_green("Test SUCCEEDED\n");
283 printf_red("Test FAILED\n");
289 static void __test_privilege_info_get_privilege_list_by_privacy()
291 GList* privilege_list = NULL;
293 printf("privacy : http://tizen.org/privacy/account\n");
294 int ret = privilege_info_get_privilege_list_by_privacy("http://tizen.org/privacy/account", &privilege_list);
297 for (l = privilege_list; l != NULL; l = l->next) {
298 char *privilege_name = (char*)l->data;
299 printf("%s\n", privilege_name);
301 printf_green("Test SUCCEEDED\n");
304 printf_red("Test FAILED\n");
307 if (privilege_list != NULL)
308 gfree(privilege_list);
312 printf("privacy : http://tizen.org/privacy/location\n");
313 ret = privilege_info_get_privilege_list_by_privacy("http://tizen.org/privacy/location", &privilege_list);
316 for (l = privilege_list; l != NULL; l = l->next) {
317 char *privilege_name = (char*)l->data;
318 printf("%s\n", privilege_name);
320 printf_green("Test SUCCEEDED\n");
323 printf_red("Test FAILED\n");
326 if (privilege_list != NULL)
327 gfree(privilege_list);
331 printf("privacy : http://tizen.org/privacy/userhistory\n");
332 ret = privilege_info_get_privilege_list_by_privacy("http://tizen.org/privacy/userhistory", &privilege_list);
335 for (l = privilege_list; l != NULL; l = l->next) {
336 char *privilege_name = (char*)l->data;
337 printf("%s\n", privilege_name);
339 printf_green("Test SUCCEEDED\n");
342 printf_red("Test FAILED\n");
345 gfree(privilege_list);
350 static void __test_privilege_info_get_privacy_by_privilege()
352 printf("privilege : http://tizen.org/privilege/apphistory.read\n");
353 char* privacy = NULL;
354 int ret = privilege_info_get_privacy_by_privilege("http://tizen.org/privilege/apphistory.read", &privacy);
355 if (ret == PRVMGR_ERR_NONE) {
357 printf_green("Test SUCCEEDED, privacy id: %s\n", privacy);
360 printf_red("Test FAILED\n");
368 printf("privilege : http://tizen.org/privilege/internet\n");
369 ret = privilege_info_get_privacy_by_privilege("http://tizen.org/privilege/internet", &privacy);
370 if (ret == PRVMGR_ERR_INVALID_PARAMETER) {
372 printf_green("Test SUCCEEDED, privilege: http://tizen.org/privilege/internet is not a privacy related.\n");
375 printf_red("Test FAILED\n");
381 static void __test_privilege_info_get_privilege_display_name()
384 char *display_name = NULL;
386 printf("privilege : http://tizen.org/privilege/account.read\n");
388 ret = privilege_info_get_privilege_display_name("http://tizen.org/privilege/account.read", &display_name);
389 __check_get_privilege_display_name_result(PRVMGR_ERR_NONE, ret, display_name);
393 printf("privilege : http://tizen.org/privilege/badge.admin\n");
395 ret = privilege_info_get_privilege_display_name("http://tizen.org/privilege/badge.admin", &display_name);
396 __check_get_privilege_display_name_result(PRVMGR_ERR_NONE, ret, display_name);
400 printf("privilege : http://tizen.org/privilege/accousdfsdnt.resdfsdfad\n");
402 ret = privilege_info_get_privilege_display_name("http://tizen.org/privilege/accousdfsdnt.resdfsdfad", &display_name);
403 __check_get_privilege_display_name_result(PRVMGR_ERR_NONE, ret, display_name);
407 printf("privilege : NULL\n");
409 ret = privilege_info_get_privilege_display_name(NULL, &display_name);
410 __check_get_privilege_display_name_result(PRVMGR_ERR_INVALID_PARAMETER, ret, display_name);
415 static void __test_privilege_info_get_privilege_description()
418 char *description = NULL;
420 printf("privilege : http://tizen.org/privilege/account.read\n");
421 ret = privilege_info_get_privilege_description("http://tizen.org/privilege/account.read", &description);
422 __check_get_privilege_description_result(PRVMGR_ERR_NONE, ret, description);
425 printf("privilege : http://tizen.org/privilege/badge.admin\n");
426 if (description != NULL) {
430 ret = privilege_info_get_privilege_description("http://tizen.org/privilege/badge.admin", &description);
431 __check_get_privilege_description_result(PRVMGR_ERR_NONE, ret, description);
434 printf("privilege : http://tizen.org/privilege/accousdfsdnt.resdfsdfad\n");
435 if (description != NULL) {
439 ret = privilege_info_get_privilege_description("http://tizen.org/privilege/accousdfsdnt.resdfsdfad", &description);
440 __check_get_privilege_description_result(PRVMGR_ERR_NONE, ret, description);
443 printf("privilege : NULL\n");
444 if (description != NULL) {
448 ret = privilege_info_get_privilege_description(NULL, &description);
449 __check_get_privilege_description_result(PRVMGR_ERR_INVALID_PARAMETER, ret, description);
454 static void __test_privilege_info_get_privilege_group_display_name()
457 char *group_name = NULL;
459 printf("privilege : http://tizen.org/privilege/group/group0\n");
460 ret = privilege_info_get_privilege_group_display_name("http://tizen.org/privilege/group/group0", &group_name);
461 __check_get_privilege_group_display_name_result(PRVMGR_ERR_NONE, ret, group_name);
464 printf("privilege : http://tizen.org/privilege/group/group01232\n");
466 ret = privilege_info_get_privilege_group_display_name("http://tizen.org/privilege/group/group01232", &group_name);
467 __check_get_privilege_group_display_name_result(PRVMGR_ERR_NONE, ret, group_name);
470 printf("privilege : unknowngroup\n");
472 ret = privilege_info_get_privilege_group_display_name("unknowngroup", &group_name);
473 __check_get_privilege_group_display_name_result(PRVMGR_ERR_NONE, ret, group_name);
476 printf("privilege : NULL\n");
478 ret = privilege_info_get_privilege_group_display_name(NULL, &group_name);
479 __check_get_privilege_group_display_name_result(PRVMGR_ERR_INVALID_PARAMETER, ret, group_name);
484 static void __test_privilege_info_get_privilege_type()
488 privilege_manager_privilege_type_e type;
491 printf("uid = 5001\n");
492 printf("pkgid = org.tizen.contacts\norg.tizen.contacts");
493 printf("privilege = http://tizen.org/privilege/internet\n");
494 printf("expected type = PRIVILEGE_MANAGER_PRIVILEGE_TYPE_NORMAL\n");
495 ret = privilege_info_get_privilege_type(5001, "org.tizen.contacts", "http://tizen.org/privilege/internet", &type);
496 if (ret == PRVMGR_ERR_NONE && type == PRIVILEGE_MANAGER_PRIVILEGE_TYPE_NORMAL) {
498 printf_green("success\n");
501 printf_red("fail. ret = %s, type = %s\n", __get_result_string('m', ret), __get_privilege_type_string(type));
505 printf("uid = 201\n");
506 printf("pkgid = org.tizen.camera-app\n");
507 printf("privilege = http://tizen.org/privilege/location\n");
508 ret = privilege_info_get_privilege_type(201, "org.tizen.camera-app", "http://tizen.org/privilege/location", &type);
509 if (DISABLE_ASKUSER) {
510 printf("expected type = PRIVILEGE_MANAGER_PRIVILEGE_TYPE_NORMAL\n");
511 test = (ret == PRVMGR_ERR_NONE && type == PRIVILEGE_MANAGER_PRIVILEGE_TYPE_NORMAL);
513 printf("expected type = PRIVILEGE_MANAGER_PRIVILEGE_TYPE_PRIVACY\n");
514 test = (ret == PRVMGR_ERR_NONE && type == PRIVILEGE_MANAGER_PRIVILEGE_TYPE_PRIVACY);
518 printf_green("success\n");
521 printf_red("fail. ret = %s, type = %s\n", __get_result_string('m', ret), __get_privilege_type_string(type));
526 printf("pkgid = org.tizen.testtest\n");
527 printf("privilege = http://tizen.org/privilege/yyyyy\n");
528 printf("set mdm black list for above condition\n");
529 gfree(privilege_list);
531 __privinfo("http://tizen.org/privilege/yyyyy", NULL, NULL);
532 __tcinfo(expect, PRVMGR_ERR_NONE);
533 ret = privilege_manager_set_mdm_black_list(0, privilege_list);
534 __print_result('m', ret);
536 printf("check privilege type\n");
537 ret = privilege_info_get_privilege_type(0, "org.tizen.testtest", "http://tizen.org/privilege/yyyyy", &type);
538 printf("expected type = PRIVILEGE_MANAGER_PRIVILEGE_TYPE_BLACKLIST\n");
539 if (ret == PRVMGR_ERR_NONE && type == PRIVILEGE_MANAGER_PRIVILEGE_TYPE_BLACKLIST) {
541 printf_green("success\n");
544 printf_red("fail. ret = %s, type = %s\n", __get_result_string('m', ret), __get_privilege_type_string(type));
547 printf("unset mdm black list for above condition\n");
548 __tcinfo(expect, PRVMGR_ERR_NONE);
549 ret = privilege_manager_unset_mdm_black_list(0, privilege_list);
550 __print_result('m', ret);
551 gfree(privilege_list);
554 printf("uid = 5001\n");
555 printf("pkgid = NULL\n");
556 printf("privilege = \n");
557 ret = privilege_info_get_privilege_type(5001, NULL, NULL, &type);
558 printf("expected ret = PRVMGR_ERR_INVALID_PARAMETER\n");
559 if (ret == PRVMGR_ERR_INVALID_PARAMETER) {
561 printf_green("success\n");
564 printf_red("fail. ret = %s, type = %s\n", __get_result_string('m', ret), __get_privilege_type_string(type));
568 printf("uid = 5001\n");
569 printf("pkgid = org.tizen.testtest\n");
570 printf("privilege = http://tizen.org/privilege/yyyyy\n");
571 ret = privilege_info_get_privilege_type(5001, "org.tizen.testtest", "http://tizen.org/privilege/yyyyy", &type);
572 printf("expected type = PRIVILEGE_MANAGER_PRIVILEGE_TYPE_NORMAL\n");
573 if (ret == PRVMGR_ERR_NONE && type == PRIVILEGE_MANAGER_PRIVILEGE_TYPE_NORMAL) {
575 printf_green("success\n");
578 printf_red("fail. ret = %s, type = %s\n", __get_result_string('m', ret), __get_privilege_type_string(type));
583 void __test_privilege_info_is_user_settable()
588 printf("pkgid = ise-default\n");
589 printf("privacy = http://tizen.org/privacy/location\n");
590 ret = privilege_info_is_user_settable("ise-default", "http://tizen.org/privacy/location");
591 printf("is user settable\n");
594 printf_green("success\n");
597 printf_red("fail. ret = %d\n", ret);
601 printf("pkgid = ise-default\n");
602 printf("privacy = http://tizen.org/privacy/camera\n");
603 ret = privilege_info_is_user_settable("ise-default", "http://tizen.org/privacy/camera");
604 printf("is not user settable\n");
607 printf_green("success\n");
610 printf_red("fail. ret = %d\n", ret);
614 printf("pkgid = org.tizen.testtest\n");
615 printf("privacy = http://tizen.org/privacy/userhistory\n");
616 ret = privilege_info_is_user_settable("org.tizen.testtest", "http://tizen.org/privacy/userhistory");
617 printf("is user settable\n");
620 printf_green("success\n");
623 printf_red("fail. ret = %d\n", ret);
627 printf("pkgid = org.tizen.testtest\n");
628 printf("privacy = http://tizen.org/privacy/xxxxx\n");
629 ret = privilege_info_is_user_settable("org.tizen.testtest", "http://tizen.org/privacy/xxxxx");
630 printf("error must be occurred\n");
633 printf_green("success\n");
636 printf_red("fail. ret = %d\n", ret);
641 void __test_privilege_info_get_same_privacy_grouped_privileges()
644 GList *privilege_list = NULL;
647 printf("privilege = http://tizen.org/privilege/account.read\n");
648 ret = privilege_info_get_same_privacy_grouped_privileges("http://tizen.org/privilege/account.read", &privilege_list);
650 if (ENABLE_ASKUSER) {
651 printf("privacy = account\n");
652 if (ret == PRVMGR_ERR_NONE && privilege_list != NULL) {
654 printf_green("success\n");
657 printf_red("failed. ret = %s\n", __get_result_string('m', ret));
660 printf("not privacy\n");
661 if (ret == PRVMGR_ERR_NONE && privilege_list == NULL) {
663 printf_green("success\n");
666 printf_red("failed. ret = %s\n", __get_result_string('m', ret));
670 if (privilege_list != NULL) {
671 __print_glist(privilege_list);
672 g_list_free_full(privilege_list, free);
673 privilege_list = NULL;
677 printf("privilege = http://tizen.org/privilege/internet\n");
678 printf("not privacy\n");
680 ret = privilege_info_get_same_privacy_grouped_privileges("http://tizen.org/privilege/internet", &privilege_list);
681 if (ret == PRVMGR_ERR_NONE && privilege_list == NULL) {
683 printf_green("success\n");
686 printf_red("failed. internet privilege is not privacy. ret = %s\n", __get_result_string('m', ret));
689 if (privilege_list != NULL) {
690 __print_glist(privilege_list);
691 g_list_free_full(privilege_list, free);
692 privilege_list = NULL;
696 printf("privilege = http://tizen.org/privilege/internal/buxton/message.read\n");
697 printf("not privacy\n");
699 ret = privilege_info_get_same_privacy_grouped_privileges("http://tizen.org/privilege/internal/buxton/message.read", &privilege_list);
700 if (ret == PRVMGR_ERR_NONE && privilege_list == NULL) {
702 printf_green("success\n");
705 printf_red("failed. internal/buxton/message.read privilege is not privacy. ret = %s\n", __get_result_string('m', ret));
708 if (privilege_list != NULL) {
709 __print_glist(privilege_list);
710 g_list_free_full(privilege_list, free);
716 __tcinfo(function, "privilege_info_is_privacy");
717 __test_privilege_info_is_privacy();
719 __tcinfo(function, "privilege_info_is_internal");
720 __test_privilege_info_is_internal();
722 __tcinfo(function, "privilege_info_is_valid");
723 __test_privilege_info_is_valid();
725 __tcinfo(function, "privilege_info_get_privilege_display_name");
726 __test_privilege_info_get_privilege_display_name();
728 __tcinfo(function, "privilege_info_get_privilege_description");
729 __test_privilege_info_get_privilege_description();
731 __tcinfo(function, "privilege_info_get_privilege_group_display_name");
732 __test_privilege_info_get_privilege_group_display_name();
734 __tcinfo(function, "privilege_info_get_privacy_list");
735 __test_privilege_info_get_privacy_list();
737 __tcinfo(function, "privilege_info_get_privilege_list_by_privacy");
738 __test_privilege_info_get_privilege_list_by_privacy();
740 __tcinfo(function, "privilege_info_get_privacy_by_privilege");
741 __test_privilege_info_get_privacy_by_privilege();
743 __tcinfo(function, "privilege_info_get_privacy_display");
744 __test_privilege_info_get_privacy_display();
746 __tcinfo(function, "privilege_info_get_privilege_type");
747 __test_privilege_info_get_privilege_type();
749 __tcinfo(function, "privilege_info_is_user_settable");
750 __test_privilege_info_is_user_settable();
752 __tcinfo(function, "privilege_info_get_same_privacy_grouped_privileges");
753 __test_privilege_info_get_same_privacy_grouped_privileges();
755 printf_green("Test Complete\n");
756 printf_green("success : %d, ", success_cnt);
758 printf_red("fail : %d\n", fail_cnt);