4 #include <privilege_db_manager.h>
7 static void __free_privilege_list(GList * privilege_list)
10 for (l = privilege_list; l != NULL; l = l->next) {
11 privilege_info_db_row_s *privilege_info_db_row = (privilege_info_db_row_s *) l->data;
12 if (privilege_info_db_row->privilege_name != NULL)
13 free(privilege_info_db_row->privilege_name);
18 void __test_privilege_db_manager_get_privilege_list()
20 GList *privilege_list = NULL;
21 int ret = privilege_db_manager_get_privilege_list(PRVMGR_PACKAGE_TYPE_CORE, &privilege_list);
22 if (ret != PRIVILEGE_DB_MANAGER_ERR_NONE) {
23 printf("failed to call privilege_db_manager_get_privilege_list()\n");
24 printf("error message = %s\n", __get_result_string('d', ret));
25 printf_red("test fail\n");
31 for (l = privilege_list; l != NULL; l = l->next) {
32 privilege_info_db_row_s *privilege_info_db_row = (privilege_info_db_row_s *) l->data;
33 printf("privilege_name = %s\n", privilege_info_db_row->privilege_name);
34 printf("privilege_level_id = %d\n", privilege_info_db_row->privilege_level_id);
36 __free_privilege_list(privilege_list);
38 printf_green("test success\n");
42 void __print_mapped_privilege_list(int ret, GList* mapped_privilege_list)
45 if (ret == PRIVILEGE_DB_MANAGER_ERR_NONE && mapped_privilege_list != NULL) {
46 for (l = mapped_privilege_list; l != NULL; l = l->next) {
47 char *privilege_name = (char *)l->data;
48 printf("mapped_privilege_name = %s\n", privilege_name);
54 printf("test result = %s\n", __get_result_string('d', ret));
57 void __test_privilege_db_manager_get_mapped_privilege_list()
59 GList *privilege_list = NULL;
60 GList *mapped_privilege_list = NULL;
64 printf("privilege : http://tizen.org/privilege/internal/default/public\n");
65 printf("api_version : 2.4\n");
66 printf("package type : wrt\n");
67 privilege_list = g_list_append(privilege_list, "http://tizen.org/privilege/internal/default/public");
68 ret = privilege_db_manager_get_mapped_privilege_list("2.4", PRVMGR_PACKAGE_TYPE_WRT, privilege_list, &mapped_privilege_list);
69 __print_mapped_privilege_list(ret, mapped_privilege_list);
71 g_list_free(privilege_list);
72 privilege_list = NULL;
73 g_list_free(mapped_privilege_list);
74 mapped_privilege_list = NULL;
77 printf("privilege : http://tizen.org/privilege/mediacapture\n");
78 printf("api_version : 2.4\n");
79 printf("package type : wrt\n");
80 privilege_list = g_list_append(privilege_list, "http://tizen.org/privilege/mediacapture");
81 ret = privilege_db_manager_get_mapped_privilege_list("2.4", PRVMGR_PACKAGE_TYPE_WRT, privilege_list, &mapped_privilege_list);
82 __print_mapped_privilege_list(ret, mapped_privilege_list);
84 g_list_free(privilege_list);
85 privilege_list = NULL;
86 g_list_free(mapped_privilege_list);
87 mapped_privilege_list = NULL;
90 printf("privilege : http://tizen.org/privilege/internal/default/public\n");
91 printf("privilege : http://tizen.org/privilege/mediacapture\n");
92 printf("api_version : 2.4\n");
93 printf("package type : wrt\n");
94 privilege_list = g_list_append(privilege_list, "http://tizen.org/privilege/internal/default/public");
95 privilege_list = g_list_append(privilege_list, "http://tizen.org/privilege/mediacapture");
96 ret = privilege_db_manager_get_mapped_privilege_list("2.4", PRVMGR_PACKAGE_TYPE_WRT, privilege_list, &mapped_privilege_list);
97 __print_mapped_privilege_list(ret, mapped_privilege_list);
99 g_list_free(privilege_list);
100 privilege_list = NULL;
101 g_list_free(mapped_privilege_list);
102 mapped_privilege_list = NULL;
105 printf("privilege : http://tizen.org/privilege/internal/default/public\n");
106 printf("api_version : 2.2.1\n");
107 printf("package type : wrt\n");
108 privilege_list = g_list_append(privilege_list, "http://tizen.org/privilege/internal/default/public");
109 ret = privilege_db_manager_get_mapped_privilege_list("2.2.1", PRVMGR_PACKAGE_TYPE_WRT, privilege_list, &mapped_privilege_list);
110 __print_mapped_privilege_list(ret, mapped_privilege_list);
112 g_list_free(privilege_list);
113 privilege_list = NULL;
114 g_list_free(mapped_privilege_list);
115 mapped_privilege_list = NULL;
118 printf("privilege : http://tizen.org/privilege/mediacapture\n");
119 printf("api_version : 2.2.1\n");
120 printf("package type : wrt\n");
121 privilege_list = g_list_append(privilege_list, "http://tizen.org/privilege/mediacapture");
122 ret = privilege_db_manager_get_mapped_privilege_list("2.2.1", PRVMGR_PACKAGE_TYPE_WRT, privilege_list, &mapped_privilege_list);
123 __print_mapped_privilege_list(ret, mapped_privilege_list);
125 g_list_free(privilege_list);
126 privilege_list = NULL;
127 g_list_free(mapped_privilege_list);
128 mapped_privilege_list = NULL;
131 printf("privilege : http://tizen.org/privilege/content.read\n");
132 printf("api_version : 2.2.1\n");
133 printf("package type : wrt\n");
134 privilege_list = g_list_append(privilege_list, "http://tizen.org/privilege/content.read");
135 ret = privilege_db_manager_get_mapped_privilege_list("2.2.1", PRVMGR_PACKAGE_TYPE_WRT, privilege_list, &mapped_privilege_list);
136 __print_mapped_privilege_list(ret, mapped_privilege_list);
138 g_list_free(privilege_list);
139 privilege_list = NULL;
140 g_list_free(mapped_privilege_list);
141 mapped_privilege_list = NULL;
144 printf("privilege : http://tizen.org/privilege/internal/webappdefault\n");
145 printf("privilege : http://tizen.org/privilege/internal/default/public\n");
146 printf("privilege : http://tizen.org/privilege/mediacapture\n");
147 printf("privilege : http://tizen.org/privilege/content.read\n");
148 printf("api_version : 2.2.1\n");
149 printf("package type : wrt\n");
150 privilege_list = g_list_append(privilege_list, "http://tizen.org/privilege/internal/webappdefault");
151 privilege_list = g_list_append(privilege_list, "http://tizen.org/privilege/internal/default/public");
152 privilege_list = g_list_append(privilege_list, "http://tizen.org/privilege/mediacapture");
153 privilege_list = g_list_append(privilege_list, "http://tizen.org/privilege/content.read");
154 ret = privilege_db_manager_get_mapped_privilege_list("2.2.1", PRVMGR_PACKAGE_TYPE_WRT, privilege_list, &mapped_privilege_list);
155 __print_mapped_privilege_list(ret, mapped_privilege_list);
157 g_list_free(privilege_list);
158 g_list_free(mapped_privilege_list);
160 printf_green("test success\n");
164 void __check_get_privilege_display_result(privilege_db_manager_error_e expected_result, privilege_db_manager_error_e result, char *privilege_display)
166 printf("expected result = %s, result = %s\n", __get_result_string('d', expected_result), __get_result_string('d', result));
168 if (expected_result != result) {
169 printf("not matched\n");
170 printf_red("test fail\n");
175 if (privilege_display == NULL)
176 printf("privilege_display = NULL\n");
178 printf("privilege_display = %s\n", privilege_display);
180 printf_green("test success\n");
185 void __test_privilege_db_manager_get_privilege_display()
189 char *privilege_display = NULL;
190 if (_get_tizen_profile() == TIZEN_PROFILE_MOBILE) {
192 printf("privilege : http://tizen.org/privilege/location\n");
193 printf("privilege_type : core\n");
194 printf("expected result : PRIVILEGE_DB_MANAGER_ERR_NONE\n");
195 ret = privilege_db_manager_get_privilege_display(PRVMGR_PACKAGE_TYPE_CORE, "http://tizen.org/privilege/location", "2.3", &privilege_display);
196 __check_get_privilege_display_result(PRIVILEGE_DB_MANAGER_ERR_NONE, ret, privilege_display);
197 free(privilege_display);
200 printf("privilege : http://tizen.org/privilege/internet\n");
201 printf("privilege_type : wrt\n");
202 printf("expected result : PRIVILEGE_DB_MANAGER_ERR_NONE\n");
203 privilege_display = NULL;
204 ret = privilege_db_manager_get_privilege_display(PRVMGR_PACKAGE_TYPE_WRT, "http://tizen.org/privilege/internet", "2.3", &privilege_display);
205 __check_get_privilege_display_result(PRIVILEGE_DB_MANAGER_ERR_NONE, ret, privilege_display);
206 free(privilege_display);
209 printf("privilege : http://tizen.org/privilege/messasdfsfsdfsdfad\n");
210 printf("expected result : PRIVILEGE_DB_MANAGER_ERR_NO_EXIST_RESULT\n");
211 privilege_display = NULL;
212 ret = privilege_db_manager_get_privilege_display(PRVMGR_PACKAGE_TYPE_CORE, "http://tizen.org/privilege/messasdfsfsdfsdfad", "2.3", &privilege_display);
213 __check_get_privilege_display_result(PRIVILEGE_DB_MANAGER_ERR_NO_EXIST_RESULT, ret, privilege_display);
214 free(privilege_display);
217 printf("api_version is NULL\n");
218 printf("privilege : http://tizen.org/privilege/internet\n");
219 printf("privilege_type : wrt\n");
220 printf("expected result : PRIVILEGE_DB_MANAGER_ERR_NONE\n");
221 privilege_display = NULL;
222 ret = privilege_db_manager_get_privilege_display(PRVMGR_PACKAGE_TYPE_WRT, "http://tizen.org/privilege/internet", NULL, &privilege_display);
223 __check_get_privilege_display_result(PRIVILEGE_DB_MANAGER_ERR_NONE, ret, privilege_display);
224 free(privilege_display);
227 printf("api_version is NULL\n");
228 printf("privilege : http://tizen.org/privilege/messasdfsfsdfsdfad\n");
229 printf("expected result : PRIVILEGE_DB_MANAGER_ERR_NO_EXIST_RESULT\n");
230 privilege_display = NULL;
231 ret = privilege_db_manager_get_privilege_display(PRVMGR_PACKAGE_TYPE_CORE, "http://tizen.org/privilege/messasdfsfsdfsdfad", NULL, &privilege_display);
232 __check_get_privilege_display_result(PRIVILEGE_DB_MANAGER_ERR_NO_EXIST_RESULT, ret, privilege_display);
233 free(privilege_display);
239 void __check_get_privilege_description_result(privilege_db_manager_error_e expected_result, privilege_db_manager_error_e result, char *privilege_description)
241 printf("expected result = %s, result = %s\n", __get_result_string('d', expected_result), __get_result_string('d', result));
243 if (expected_result != result) {
244 printf("not matched\n");
245 printf_red("test fail\n");
250 if (privilege_description == NULL)
251 printf("privilege_description = NULL\n");
253 printf("privilege_description = %s\n", privilege_description);
255 printf_green("test success\n");
260 void __test_privilege_db_manager_get_privilege_description()
263 char *privilege_description = NULL;
264 if (_get_tizen_profile() == TIZEN_PROFILE_MOBILE) {
266 printf("privilege : http://tizen.org/privilege/location\n");
267 printf("privilege_type : core\n");
268 printf("expected result : PRIVILEGE_DB_MANAGER_ERR_NONE\n");
269 ret = privilege_db_manager_get_privilege_description(PRVMGR_PACKAGE_TYPE_CORE, "http://tizen.org/privilege/location", "2.3", &privilege_description);
270 __check_get_privilege_description_result(PRIVILEGE_DB_MANAGER_ERR_NONE, ret, privilege_description);
272 if (privilege_description != NULL) {
273 free(privilege_description);
274 privilege_description = NULL;
278 printf("privilege : http://tizen.org/privilege/internet\n");
279 printf("privilege_type : wrt\n");
280 printf("expected result : PRIVILEGE_DB_MANAGER_ERR_NONE\n");
281 ret = privilege_db_manager_get_privilege_description(PRVMGR_PACKAGE_TYPE_WRT, "http://tizen.org/privilege/internet", "2.3", &privilege_description);
282 __check_get_privilege_description_result(PRIVILEGE_DB_MANAGER_ERR_NONE, ret, privilege_description);
284 if (privilege_description != NULL) {
285 free(privilege_description);
286 privilege_description = NULL;
290 printf("privilege : http://tizen.org/privilege/messasdfsfsdfsdfad\n");
291 printf("expected result : PRIVILEGE_DB_MANAGER_ERR_NO_EXIST_RESULT\n");
292 ret = privilege_db_manager_get_privilege_description(PRVMGR_PACKAGE_TYPE_CORE, "http://tizen.org/privilege/messasdfsfsdfsdfad", "2.3", &privilege_description);
293 __check_get_privilege_description_result(PRIVILEGE_DB_MANAGER_ERR_NO_EXIST_RESULT, ret, privilege_description);
295 if (privilege_description != NULL) {
296 free(privilege_description);
297 privilege_description = NULL;
301 printf("api_version is NULL\n");
302 printf("privilege : http://tizen.org/privilege/internet\n");
303 printf("privilege_type : wrt\n");
304 printf("expected result : PRIVILEGE_DB_MANAGER_ERR_NONE\n");
305 ret = privilege_db_manager_get_privilege_description(PRVMGR_PACKAGE_TYPE_WRT, "http://tizen.org/privilege/internet", NULL, &privilege_description);
306 __check_get_privilege_description_result(PRIVILEGE_DB_MANAGER_ERR_NONE, ret, privilege_description);
308 if (privilege_description != NULL) {
309 free(privilege_description);
310 privilege_description = NULL;
314 printf("api_version is NULL\n");
315 printf("privilege : http://tizen.org/privilege/messasdfsfsdfsdfad\n");
316 printf("expected result : PRIVILEGE_DB_MANAGER_ERR_NO_EXIST_RESULT\n");
317 ret = privilege_db_manager_get_privilege_description(PRVMGR_PACKAGE_TYPE_CORE, "http://tizen.org/privilege/messasdfsfsdfsdfad", NULL, &privilege_description);
318 __check_get_privilege_description_result(PRIVILEGE_DB_MANAGER_ERR_NO_EXIST_RESULT, ret, privilege_description);
321 free(privilege_description);
325 void __test_privilege_db_manager_get_privacy_by_privilege()
328 int privacy_id = 100;
329 char* privacy_name = NULL;
332 printf("privilege: http://tizen.org/privilege/account.read\n");
333 printf("privacy: http://tizen.org/privacy/account\n");
334 ret = privilege_db_manager_get_privacy_by_privilege("http://tizen.org/privilege/account.read", &privacy_name);
335 ret = privilege_db_manager_get_privacy_id_by_privilege("http://tizen.org/privilege/account.read", &privacy_id);
336 printf("privacy name = %s, privacy_id = %d\n", privacy_name, privacy_id);
337 if (ret == 0 && !strcmp(privacy_name, "http://tizen.org/privacy/account") && privacy_id == 0) {
339 printf_green("success\n");
342 printf_red("fail\n");
349 printf("privilege: http://tizen.org/privilege/location\n");
350 printf("privacy: http://tizen.org/privacy/location\n");
351 ret = privilege_db_manager_get_privacy_by_privilege("http://tizen.org/privilege/location", &privacy_name);
352 ret = privilege_db_manager_get_privacy_id_by_privilege("http://tizen.org/privilege/location", &privacy_id);
353 printf("privacy name = %s, privacy_id = %d\n", privacy_name, privacy_id);
354 if (ret == 0 && !strcmp(privacy_name, "http://tizen.org/privacy/location") && privacy_id == 6) {
356 printf_green("success\n");
359 printf_red("fail\n");
365 printf("privilege: http://tizen.org/privilege/call\n");
366 printf("privacy: http://tizen.org/privacy/call\n");
367 ret = privilege_db_manager_get_privacy_by_privilege("http://tizen.org/privilege/call", &privacy_name);
368 ret = privilege_db_manager_get_privacy_id_by_privilege("http://tizen.org/privilege/call", &privacy_id);
369 printf("privacy name = %s, privacy_id = %d\n", privacy_name, privacy_id);
370 if (ret == 0 && !strcmp(privacy_name, "http://tizen.org/privacy/call") && privacy_id == 3) {
372 printf_green("success\n");
375 printf_red("fail\n");
381 void __test_privilege_db_manager_is_privacy_white_list()
386 printf("pkgid: ise-default\n");
387 printf("privilege: http://tizen.org/privilege/call\n");
388 printf("is privacy whitelist\n");
389 ret = privilege_db_manager_is_privacy_white_list("ise-default", "http://tizen.org/privilege/call");
390 printf("ret = %d\n", ret);
393 printf_green("success\n");
396 printf_red("fail\n");
400 printf("pkgid: ise-default\n");
401 printf("privilege: http://tizen.org/privilege/location\n");
402 printf("is not privacy whitelist\n");
403 ret = privilege_db_manager_is_privacy_white_list("ise-default", "http://tizen.org/privilege/location");
404 printf("ret = %d\n", ret);
405 if ((ENABLE_ASKUSER && ret == 0) || (DISABLE_ASKUSER && ret == 1)) {
407 printf_green("success\n");
410 printf_red("fail\n");
414 printf("pkgid: ise-default\n");
415 printf("privilege: http://tizen.org/privilege/calendar.read\n");
416 printf("is privacy whitelist\n");
417 ret = privilege_db_manager_is_privacy_white_list("ise-default", "http://tizen.org/privilege/calendar.read");
418 printf("ret = %d\n", ret);
421 printf_green("success\n");
424 printf_red("fail\n");
428 printf("pkgid: orxxxxx\n");
429 printf("privilege: http://tizen.org/privilege/call\n");
430 printf("is not privacy whitelist\n");
431 ret = privilege_db_manager_is_privacy_white_list("orxxxxx", "http://tizen.org/privilege/call");
432 printf("ret = %d\n", ret);
433 if ((ENABLE_ASKUSER && ret == 0) || (DISABLE_ASKUSER && ret == 1)) {
435 printf_green("success\n");
438 printf_red("fail\n");
443 void __test_privilege_db_manager_get_privacy_id()
446 int privacy_id = 100;
449 ret = privilege_db_manager_get_privacy_id("http://tizen.org/privacy/account", &privacy_id);
450 printf("privacy : http://tizen.org/privacy/account, privacy_id = %d\n", privacy_id);
451 if (ret == PRIVILEGE_DB_MANAGER_ERR_NONE && privacy_id == 0) {
453 printf_green("success\n");
456 printf_red("fail\n");
460 ret = privilege_db_manager_get_privacy_id("http://tizen.org/privacy/location", &privacy_id);
461 printf("privacy : http://tizen.org/privacy/location, privacy_id = %d\n", privacy_id);
462 if (ret == PRIVILEGE_DB_MANAGER_ERR_NONE && privacy_id == 6) {
464 printf_green("success\n");
467 printf_red("fail\n");
472 void __test_privilege_db_manager_is_user_settable()
477 printf("pkgid: org.tizen.gps-syspopup\n");
478 printf("privilege: http://tizen.org/privacy/calendar\n");
479 printf("is not user-settable\n");
480 ret = privilege_db_manager_is_user_settable("org.tizen.gps-syspopup", "http://tizen.org/privacy/calendar");
481 printf("ret = %d\n", ret);
484 printf_green("success\n");
487 printf_red("fail\n");
491 printf("pkgid: org.tizen.gps-syspopup\n");
492 printf("privilege: http://tizen.org/privacy/location\n");
493 printf("is user-settable\n");
494 ret = privilege_db_manager_is_user_settable("org.tizen.gps-syspopup", "http://tizen.org/privacy/location");
495 printf("ret = %d\n", ret);
498 printf_green("success\n");
501 printf_red("fail\n");
505 printf("pkgid: org.tizen.xxxxxxx\n");
506 printf("privilege: http://tizen.org/privacy/location\n");
507 printf("is user-settable\n");
508 ret = privilege_db_manager_is_user_settable("org.tizen.xxxxxxx", "http://tizen.org/privacy/location");
509 printf("ret = %d\n", ret);
512 printf_green("success\n");
515 printf_red("fail\n");
519 printf("pkgid: org.tizen.xxxxxxx\n");
520 printf("privilege: http://tizen.org/privacy/xxxxx\n");
521 printf("is user-settable\n");
522 ret = privilege_db_manager_is_user_settable("org.tizen.xxxxxxx", "http://tizen.org/privacy/xxxxx");
523 printf("ret = %d\n", ret);
524 if (ret == PRIVILEGE_DB_MANAGER_ERR_NO_EXIST_RESULT) {
526 printf_green("success\n");
529 printf_red("fail\n");
535 void __test_privilege_db_manager_get_same_privacy_grouped_privileges()
538 GList *privilege_list = NULL;
541 printf("privilege = http://tizen.org/privilege/account.read\n");
542 ret = privilege_db_manager_get_same_privacy_grouped_privileges("http://tizen.org/privilege/account.read", &privilege_list);
544 if (ENABLE_ASKUSER) {
545 printf("privacy = account\n");
546 if (ret == PRIVILEGE_DB_MANAGER_ERR_NONE && privilege_list != NULL) {
548 printf_green("success\n");
551 printf_red("failed. ret = %s\n", __get_result_string('m', ret));
554 printf("not privacy\n");
555 if (ret == PRIVILEGE_DB_MANAGER_ERR_NO_EXIST_RESULT && privilege_list == NULL) {
557 printf_green("success\n");
560 printf_red("failed. ret = %s\n", __get_result_string('d', ret));
564 if (privilege_list != NULL) {
565 __print_glist(privilege_list);
566 g_list_free_full(privilege_list, free);
567 privilege_list = NULL;
571 printf("privilege = http://tizen.org/privilege/internet\n");
572 printf("not privacy\n");
574 ret = privilege_db_manager_get_same_privacy_grouped_privileges("http://tizen.org/privilege/internet", &privilege_list);
575 if (ret == PRIVILEGE_DB_MANAGER_ERR_NO_EXIST_RESULT && privilege_list == NULL) {
577 printf_green("success\n");
580 printf_red("failed. internet privilege is not privacy. ret = %s\n", __get_result_string('d', ret));
583 if (privilege_list != NULL) {
584 __print_glist(privilege_list);
585 g_list_free_full(privilege_list, free);
586 privilege_list = NULL;
589 printf("privilege = http://tizen.org/privilege/internal/buxton/message.read\n");
590 printf("not privacy\n");
592 ret = privilege_db_manager_get_same_privacy_grouped_privileges("http://tizen.org/privilege/internal/buxton/message.read", &privilege_list);
593 if (ret == PRIVILEGE_DB_MANAGER_ERR_NO_EXIST_RESULT && privilege_list == NULL) {
595 printf_green("success\n");
598 printf_red("failed. internal/buxton/message.read privilege is not privacy. ret = %s\n", __get_result_string('d', ret));
601 if (privilege_list != NULL) {
602 __print_glist(privilege_list);
603 g_list_free_full(privilege_list, free);
609 __tcinfo(function, "privilege_db_manager_get_privilege_list");
610 __test_privilege_db_manager_get_privilege_list();
612 __tcinfo(function, "privilege_db_manager_get_mapped_privilege_list");
613 __test_privilege_db_manager_get_mapped_privilege_list();
615 __tcinfo(function, "privilege_db_manager_get_privilege_display");
616 __test_privilege_db_manager_get_privilege_display();
618 __tcinfo(function, "privilege_db_manager_get_privilege_description");
619 __test_privilege_db_manager_get_privilege_description();
621 __tcinfo(function, "privilege_db_manager_get_privacy_id_by_privilege, privilege_db_manager_get_privacy_by_privilege");
622 __test_privilege_db_manager_get_privacy_by_privilege();
624 __tcinfo(function, "privilege_db_manager_is_privacy_white_list");
625 __test_privilege_db_manager_is_privacy_white_list();
627 __tcinfo(function, "privilege_db_manager_get_privacy_id");
628 __test_privilege_db_manager_get_privacy_id();
630 __tcinfo(function, "privilege_db_manager_is_user_settable");
631 __test_privilege_db_manager_is_user_settable();
633 __tcinfo(function, "privilege_db_manager_get_same_privacy_grouped_privileges");
634 __test_privilege_db_manager_get_same_privacy_grouped_privileges();
636 printf_green("Test Complete\n");
637 printf_green("success : %d, ", success_cnt);
638 printf_red("fail : %d\n", fail_cnt);