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/internet\n");
145 ret = privilege_info_is_internal("http://tizen.org/privilege/internet");
148 printf_green("SUCCESS: http://tizen.org/privilege/internet is NOT internal\n");
151 printf_red("Test FAILED. ret = %d\n", ret);
154 printf("privilege : http://tizen.org/privilege/internettttt\n");
155 ret = privilege_info_is_internal("http://tizen.org/privilege/internettttt");
158 printf_green("SUCCESS: http://tizen.org/privilege/internettttt is NOT internal\n");
161 printf_red("Test FAILED. ret = %d\n", ret);
165 static void __test_privilege_info_is_privacy()
168 printf("privilege : http://tizen.org/privilege/account.read\n");
169 ret = privilege_info_is_privacy("http://tizen.org/privilege/account.read");
170 if ((DISABLE_ASKUSER && ret == 0) || (ENABLE_ASKUSER && ret == 1)) {
172 if (DISABLE_ASKUSER) {
173 printf_green("SUCCESS: ret = %d, privacy privilege disabled.\n", ret);
175 printf_green("SUCCESS: ret = %d, http://tizen.org/privilege/account.read is PRIVACY\n", ret);
179 printf_red("Test FAILED. ret = %d\n", ret);
183 printf("privilege : http://tizen.org/privilege/internet\n");
184 ret = privilege_info_is_privacy("http://tizen.org/privilege/internet");
187 printf_green("SUCCESS: http://tizen.org/privilege/internet is NOT PRIVACY\n");
190 printf_red("Test FAILED. ret = %d\n", ret);
194 /* Do not treat internal privileges as privacy related
195 printf("privilege : http://tizen.org/privilege/internal/buxton/account.read\n");
196 ret = privilege_info_is_privacy("http://tizen.org/privilege/internal/buxton/account.read");
199 printf("SUCCESS: http://tizen.org/privilege/internal/buxton/account.read is PRIVACY\n");
202 printf("Test FAILED. ret = %d\n", ret);
206 printf("privilege : http://tizen.org/privilege/internettttt\n");
207 ret = privilege_info_is_privacy("http://tizen.org/privilege/internettttt");
210 printf_green("SUCCESS: http://tizen.org/privilege/internettttt is NOT PRIVACY\n");
213 printf_red("Test FAILED. ret = %d\n", ret);
218 static void __test_privilege_info_get_privacy_display()
220 char* privacy_display = NULL;
223 printf("VALID privacy: http://tizen.org/privacy/account\n");
224 ret = privilege_info_get_privacy_display("http://tizen.org/privacy/account", &privacy_display);
225 if (ret == PRVMGR_ERR_NONE && privacy_display != NULL) {
227 printf_green("SUCCESS: privacy_display = %s\n", privacy_display);
230 printf_red("FAIL: ret = %d, privacy_display = %s\n", ret, privacy_display);
233 free(privacy_display);
234 privacy_display = NULL;
236 printf("WRONG privacy: http://tizen.org/privilege/account.read\n");
237 ret = privilege_info_get_privacy_display("http://tizen.org/privilege/account.read", &privacy_display);
238 if (ret == PRVMGR_ERR_INVALID_PARAMETER && privacy_display == NULL) {
240 printf_green("SUCCESS\n");
243 printf_red("FAIL: ret = %d, privacy_display = %s\n", ret, privacy_display);
246 free(privacy_display);
247 privacy_display = NULL;
249 printf("NULL param\n");
250 ret = privilege_info_get_privacy_display(NULL, &privacy_display);
251 if (ret == PRVMGR_ERR_INVALID_PARAMETER && privacy_display == NULL) {
253 printf_green("SUCCESS\n");
256 printf_red("FAIL: ret = %d, privacy_display = %s\n", ret, privacy_display);
259 free(privacy_display);
262 static void __test_privilege_info_get_privacy_list()
264 GList* privacy_list = NULL;
266 int ret = privilege_info_get_privacy_list(&privacy_list);
269 for (l = privacy_list; l != NULL; l = l->next) {
270 char *privacy_name = (char*)l->data;
271 printf("%s\n", privacy_name);
273 printf_green("Test SUCCEEDED\n");
276 printf_red("Test FAILED\n");
282 static void __test_privilege_info_get_privilege_list_by_privacy()
284 GList* privilege_list = NULL;
286 printf("privacy : http://tizen.org/privacy/account\n");
287 int ret = privilege_info_get_privilege_list_by_privacy("http://tizen.org/privacy/account", &privilege_list);
290 for (l = privilege_list; l != NULL; l = l->next) {
291 char *privilege_name = (char*)l->data;
292 printf("%s\n", privilege_name);
294 printf_green("Test SUCCEEDED\n");
297 printf_red("Test FAILED\n");
300 if (privilege_list != NULL)
301 gfree(privilege_list);
305 printf("privacy : http://tizen.org/privacy/location\n");
306 ret = privilege_info_get_privilege_list_by_privacy("http://tizen.org/privacy/location", &privilege_list);
309 for (l = privilege_list; l != NULL; l = l->next) {
310 char *privilege_name = (char*)l->data;
311 printf("%s\n", privilege_name);
313 printf_green("Test SUCCEEDED\n");
316 printf_red("Test FAILED\n");
319 if (privilege_list != NULL)
320 gfree(privilege_list);
324 printf("privacy : http://tizen.org/privacy/userhistory\n");
325 ret = privilege_info_get_privilege_list_by_privacy("http://tizen.org/privacy/userhistory", &privilege_list);
328 for (l = privilege_list; l != NULL; l = l->next) {
329 char *privilege_name = (char*)l->data;
330 printf("%s\n", privilege_name);
332 printf_green("Test SUCCEEDED\n");
335 printf_red("Test FAILED\n");
338 gfree(privilege_list);
343 static void __test_privilege_info_get_privacy_by_privilege()
345 printf("privilege : http://tizen.org/privilege/apphistory.read\n");
346 char* privacy = NULL;
347 int ret = privilege_info_get_privacy_by_privilege("http://tizen.org/privilege/apphistory.read", &privacy);
348 if ((ENABLE_ASKUSER && ret == PRVMGR_ERR_NONE) || (DISABLE_ASKUSER && ret == PRVMGR_ERR_INVALID_PARAMETER)) {
350 printf_green("Test SUCCEEDED, ret = %s, privacy id: %s\n", __get_result_string('m', ret), privacy);
353 printf_red("Test FAILED\n");
361 printf("privilege : http://tizen.org/privilege/internet\n");
362 ret = privilege_info_get_privacy_by_privilege("http://tizen.org/privilege/internet", &privacy);
363 if (ret == PRVMGR_ERR_INVALID_PARAMETER) {
365 printf_green("Test SUCCEEDED, privilege: http://tizen.org/privilege/internet is not a privacy related.\n");
368 printf_red("Test FAILED\n");
374 static void __test_privilege_info_get_privilege_display_name()
377 char *display_name = NULL;
379 printf("privilege : http://tizen.org/privilege/account.read\n");
381 ret = privilege_info_get_privilege_display_name("http://tizen.org/privilege/account.read", &display_name);
382 __check_get_privilege_display_name_result(PRVMGR_ERR_NONE, ret, display_name);
386 printf("privilege : http://tizen.org/privilege/badge.admin\n");
388 ret = privilege_info_get_privilege_display_name("http://tizen.org/privilege/badge.admin", &display_name);
389 __check_get_privilege_display_name_result(PRVMGR_ERR_NONE, ret, display_name);
393 printf("privilege : http://tizen.org/privilege/accousdfsdnt.resdfsdfad\n");
395 ret = privilege_info_get_privilege_display_name("http://tizen.org/privilege/accousdfsdnt.resdfsdfad", &display_name);
396 __check_get_privilege_display_name_result(PRVMGR_ERR_NONE, ret, display_name);
400 printf("privilege : NULL\n");
402 ret = privilege_info_get_privilege_display_name(NULL, &display_name);
403 __check_get_privilege_display_name_result(PRVMGR_ERR_INVALID_PARAMETER, ret, display_name);
408 static void __test_privilege_info_get_privilege_description()
411 char *description = NULL;
413 printf("privilege : http://tizen.org/privilege/account.read\n");
414 ret = privilege_info_get_privilege_description("http://tizen.org/privilege/account.read", &description);
415 __check_get_privilege_description_result(PRVMGR_ERR_NONE, ret, description);
418 printf("privilege : http://tizen.org/privilege/badge.admin\n");
419 if (description != NULL) {
423 ret = privilege_info_get_privilege_description("http://tizen.org/privilege/badge.admin", &description);
424 __check_get_privilege_description_result(PRVMGR_ERR_NONE, ret, description);
427 printf("privilege : http://tizen.org/privilege/accousdfsdnt.resdfsdfad\n");
428 if (description != NULL) {
432 ret = privilege_info_get_privilege_description("http://tizen.org/privilege/accousdfsdnt.resdfsdfad", &description);
433 __check_get_privilege_description_result(PRVMGR_ERR_NONE, ret, description);
436 printf("privilege : NULL\n");
437 if (description != NULL) {
441 ret = privilege_info_get_privilege_description(NULL, &description);
442 __check_get_privilege_description_result(PRVMGR_ERR_INVALID_PARAMETER, ret, description);
447 static void __test_privilege_info_get_privilege_group_display_name()
450 char *group_name = NULL;
452 printf("privilege : http://tizen.org/privilege/group/group0\n");
453 ret = privilege_info_get_privilege_group_display_name("http://tizen.org/privilege/group/group0", &group_name);
454 __check_get_privilege_group_display_name_result(PRVMGR_ERR_NONE, ret, group_name);
457 printf("privilege : http://tizen.org/privilege/group/group01232\n");
459 ret = privilege_info_get_privilege_group_display_name("http://tizen.org/privilege/group/group01232", &group_name);
460 __check_get_privilege_group_display_name_result(PRVMGR_ERR_NONE, ret, group_name);
463 printf("privilege : unknowngroup\n");
465 ret = privilege_info_get_privilege_group_display_name("unknowngroup", &group_name);
466 __check_get_privilege_group_display_name_result(PRVMGR_ERR_NONE, ret, group_name);
469 printf("privilege : NULL\n");
471 ret = privilege_info_get_privilege_group_display_name(NULL, &group_name);
472 __check_get_privilege_group_display_name_result(PRVMGR_ERR_INVALID_PARAMETER, ret, group_name);
477 static void __test_privilege_info_get_privilege_type()
481 privilege_manager_privilege_type_e type;
484 printf("uid = 5001\n");
485 printf("pkgid = org.tizen.contacts\n");
486 printf("privilege = http://tizen.org/privilege/internet\n");
487 printf("expected type = PRIVILEGE_MANAGER_PRIVILEGE_TYPE_NORMAL\n");
488 ret = privilege_info_get_privilege_type(5001, "org.tizen.contacts", "http://tizen.org/privilege/internet", &type);
489 if (ret == PRVMGR_ERR_NONE && type == PRIVILEGE_MANAGER_PRIVILEGE_TYPE_NORMAL) {
491 printf_green("success\n");
494 printf_red("fail. ret = %s, type = %s\n", __get_result_string('m', ret), __get_privilege_type_string(type));
498 printf("uid = 5001\n");
499 printf("pkgid = org.tizen.camera-app\n");
500 printf("privilege = http://tizen.org/privilege/location\n");
501 ret = privilege_info_get_privilege_type(5001, "org.tizen.camera-app", "http://tizen.org/privilege/location", &type);
502 if (DISABLE_ASKUSER) {
503 printf("expected type = PRIVILEGE_MANAGER_PRIVILEGE_TYPE_NORMAL\n");
504 test = (ret == PRVMGR_ERR_NONE && type == PRIVILEGE_MANAGER_PRIVILEGE_TYPE_NORMAL);
506 printf("expected type = PRIVILEGE_MANAGER_PRIVILEGE_TYPE_PRIVACY\n");
507 test = (ret == PRVMGR_ERR_NONE && type == PRIVILEGE_MANAGER_PRIVILEGE_TYPE_PRIVACY);
511 printf_green("success\n");
514 printf_red("fail. ret = %s, type = %s\n", __get_result_string('m', ret), __get_privilege_type_string(type));
519 printf("pkgid = org.tizen.testtest\n");
520 printf("privilege = http://tizen.org/privilege/yyyyy\n");
521 printf("set mdm black list for above condition\n");
522 gfree(privilege_list);
524 __privinfo("http://tizen.org/privilege/yyyyy", NULL, NULL);
525 __tcinfo(expect, PRVMGR_ERR_NONE);
526 ret = privilege_manager_set_mdm_black_list(0, privilege_list);
527 __print_result('m', ret);
529 printf("check privilege type\n");
530 ret = privilege_info_get_privilege_type(0, "org.tizen.testtest", "http://tizen.org/privilege/yyyyy", &type);
531 printf("expected type = PRIVILEGE_MANAGER_PRIVILEGE_TYPE_BLACKLIST\n");
532 if (ret == PRVMGR_ERR_NONE && type == PRIVILEGE_MANAGER_PRIVILEGE_TYPE_BLACKLIST) {
534 printf_green("success\n");
537 printf_red("fail. ret = %s, type = %s\n", __get_result_string('m', ret), __get_privilege_type_string(type));
540 printf("unset mdm black list for above condition\n");
541 __tcinfo(expect, PRVMGR_ERR_NONE);
542 ret = privilege_manager_unset_mdm_black_list(0, privilege_list);
543 __print_result('m', ret);
544 gfree(privilege_list);
547 printf("uid = 5001\n");
548 printf("pkgid = NULL\n");
549 printf("privilege = \n");
550 ret = privilege_info_get_privilege_type(5001, NULL, NULL, &type);
551 printf("expected ret = PRVMGR_ERR_INVALID_PARAMETER\n");
552 if (ret == PRVMGR_ERR_INVALID_PARAMETER) {
554 printf_green("success\n");
557 printf_red("fail. ret = %s, type = %s\n", __get_result_string('m', ret), __get_privilege_type_string(type));
561 printf("uid = 5001\n");
562 printf("pkgid = org.tizen.testtest\n");
563 printf("privilege = http://tizen.org/privilege/yyyyy\n");
564 ret = privilege_info_get_privilege_type(5001, "org.tizen.testtest", "http://tizen.org/privilege/yyyyy", &type);
565 printf("expected type = PRIVILEGE_MANAGER_PRIVILEGE_TYPE_NORMAL\n");
566 if (ret == PRVMGR_ERR_NONE && type == PRIVILEGE_MANAGER_PRIVILEGE_TYPE_NORMAL) {
568 printf_green("success\n");
571 printf_red("fail. ret = %s, type = %s\n", __get_result_string('m', ret), __get_privilege_type_string(type));
576 void __test_privilege_info_is_user_settable()
581 printf("pkgid = ise-default\n");
582 printf("privacy = http://tizen.org/privacy/location\n");
583 ret = privilege_info_is_user_settable("ise-default", "http://tizen.org/privacy/location");
584 printf("is user settable\n");
587 printf_green("success\n");
590 printf_red("fail. ret = %d\n", ret);
594 printf("pkgid = ise-default\n");
595 printf("privacy = http://tizen.org/privacy/camera\n");
596 ret = privilege_info_is_user_settable("ise-default", "http://tizen.org/privacy/camera");
597 printf("is not user settable\n");
598 if ((DISABLE_ASKUSER && ret == 1) || (ENABLE_ASKUSER && ret == 0)) {
600 printf_green("success. ret = %d\n", ret);
603 printf_red("fail. ret = %d\n", ret);
607 printf("pkgid = org.tizen.testtest\n");
608 printf("privacy = http://tizen.org/privacy/userhistory\n");
609 ret = privilege_info_is_user_settable("org.tizen.testtest", "http://tizen.org/privacy/userhistory");
610 printf("is user settable\n");
613 printf_green("success\n");
616 printf_red("fail. ret = %d\n", ret);
620 printf("pkgid = org.tizen.testtest\n");
621 printf("privacy = http://tizen.org/privacy/xxxxx\n");
622 ret = privilege_info_is_user_settable("org.tizen.testtest", "http://tizen.org/privacy/xxxxx");
623 printf("error must be occurred\n");
626 printf_green("success\n");
629 printf_red("fail. ret = %d\n", ret);
634 void __test_privilege_info_get_same_privacy_grouped_privileges()
637 GList *privilege_list = NULL;
640 printf("privilege = http://tizen.org/privilege/account.read\n");
641 ret = privilege_info_get_same_privacy_grouped_privileges("http://tizen.org/privilege/account.read", &privilege_list);
643 if (ENABLE_ASKUSER) {
644 printf("privacy = account\n");
645 if (ret == PRVMGR_ERR_NONE && privilege_list != NULL) {
647 printf_green("success\n");
650 printf_red("failed. ret = %s\n", __get_result_string('m', ret));
653 printf("not privacy\n");
654 if (ret == PRVMGR_ERR_NONE && privilege_list == NULL) {
656 printf_green("success\n");
659 printf_red("failed. ret = %s\n", __get_result_string('m', ret));
663 if (privilege_list != NULL) {
664 __print_glist(privilege_list);
665 g_list_free_full(privilege_list, free);
666 privilege_list = NULL;
670 printf("privilege = http://tizen.org/privilege/internet\n");
671 printf("not privacy\n");
673 ret = privilege_info_get_same_privacy_grouped_privileges("http://tizen.org/privilege/internet", &privilege_list);
674 if (ret == PRVMGR_ERR_NONE && privilege_list == NULL) {
676 printf_green("success\n");
679 printf_red("failed. internet privilege is not privacy. ret = %s\n", __get_result_string('m', ret));
682 if (privilege_list != NULL) {
683 __print_glist(privilege_list);
684 g_list_free_full(privilege_list, free);
685 privilege_list = NULL;
689 printf("privilege = http://tizen.org/privilege/internal/buxton/message.read\n");
690 printf("not privacy\n");
692 ret = privilege_info_get_same_privacy_grouped_privileges("http://tizen.org/privilege/internal/buxton/message.read", &privilege_list);
693 if (ret == PRVMGR_ERR_NONE && privilege_list == NULL) {
695 printf_green("success\n");
698 printf_red("failed. internal/buxton/message.read privilege is not privacy. ret = %s\n", __get_result_string('m', ret));
701 if (privilege_list != NULL) {
702 __print_glist(privilege_list);
703 g_list_free_full(privilege_list, free);
709 __tcinfo(function, "privilege_info_is_privacy");
710 __test_privilege_info_is_privacy();
712 __tcinfo(function, "privilege_info_is_internal");
713 __test_privilege_info_is_internal();
715 __tcinfo(function, "privilege_info_is_valid");
716 __test_privilege_info_is_valid();
718 __tcinfo(function, "privilege_info_get_privilege_display_name");
719 __test_privilege_info_get_privilege_display_name();
721 __tcinfo(function, "privilege_info_get_privilege_description");
722 __test_privilege_info_get_privilege_description();
724 __tcinfo(function, "privilege_info_get_privilege_group_display_name");
725 __test_privilege_info_get_privilege_group_display_name();
727 __tcinfo(function, "privilege_info_get_privacy_list");
728 __test_privilege_info_get_privacy_list();
730 __tcinfo(function, "privilege_info_get_privilege_list_by_privacy");
731 __test_privilege_info_get_privilege_list_by_privacy();
733 __tcinfo(function, "privilege_info_get_privacy_by_privilege");
734 __test_privilege_info_get_privacy_by_privilege();
736 __tcinfo(function, "privilege_info_get_privacy_display");
737 __test_privilege_info_get_privacy_display();
739 __tcinfo(function, "privilege_info_get_privilege_type");
740 __test_privilege_info_get_privilege_type();
742 __tcinfo(function, "privilege_info_is_user_settable");
743 __test_privilege_info_is_user_settable();
745 __tcinfo(function, "privilege_info_get_same_privacy_grouped_privileges");
746 __test_privilege_info_get_same_privacy_grouped_privileges();
748 printf_green("Test Complete\n");
749 printf_green("success : %d, ", success_cnt);
751 printf_red("fail : %d\n", fail_cnt);