3 #include <privilege_information.h>
11 static int fail_cnt = 0;
12 static int success_cnt = 0;
14 static void __change_color_to_red()
16 printf("%c[%d;%dm", 0x1B, BRIGHTNESS, RED);
19 static void __change_color_to_green()
21 printf("%c[%d;%dm", 0x1B, BRIGHTNESS, GREEN);
24 static void __change_color_to_yellow()
26 printf("%c[%d;%dm", 0x1B, BRIGHTNESS, YELLOW);
29 static void __change_color_to_origin()
31 printf("%c[%dm", 0x1B, 0);
34 static const char* __get_result_string(privilege_info_error_e ret)
36 if (ret == PRVINFO_ERROR_NONE)
37 return "PRVINFO_ERROR_NONE";
38 else if (ret == PRVINFO_ERROR_INVALID_PARAMETER)
39 return "PRVINFO_ERROR_INVALID_PARAMETER";
40 else if (ret == PRVINFO_ERROR_OUT_OF_MEMORY)
41 return "PRVINFO_ERROR_OUT_OF_MEMORY";
42 else if (ret == PRVINFO_ERROR_INTERNAL_ERROR)
43 return "PRVINFO_ERROR_INTERNAL_ERROR";
44 else if (ret == PRVINFO_ERROR_NOT_SUPPORTED)
45 return "PRVINFO_ERROR_NOT_SUPPORTED";
46 else if (ret == PRVINFO_ERROR_NO_MATCHING_PRIVILEGE)
47 return "PRVINFO_ERROR_NO_MATCHING_PRIVILEGE";
49 return "PRVINFO_ERROR_NO_MATCHED_ERROR_MESSAGE";
52 static void __check_get_privilege_display_name_result(privilege_info_error_e expected_result, privilege_info_error_e result, const char* display_name)
54 printf("expected : %s\n result : %s\n", __get_result_string(expected_result), __get_result_string(result));
56 if (expected_result != result) {
57 printf("not matched\n");
58 __change_color_to_red();
59 printf("test fail\n");
63 if (result == PRVINFO_ERROR_NONE) {
64 if (display_name == NULL) {
65 printf("display_name must not be NULL\n");
66 __change_color_to_red();
67 printf("test fail\n");
69 __change_color_to_origin();
72 printf("display_name = %s\n", display_name);
74 } else if (result == PRVINFO_ERROR_NO_MATCHING_PRIVILEGE) {
75 if (display_name != NULL) {
76 printf("display_name = %s\n", display_name);
77 printf("display_name must be NULL\n");
78 __change_color_to_red();
79 printf("test fail\n");
81 __change_color_to_origin();
85 __change_color_to_green();
86 printf("test success\n");
89 __change_color_to_origin();
93 static void __check_get_privilege_description_result(privilege_info_error_e expected_result, privilege_info_error_e result, const char* description)
95 printf("expected : %s\n result : %s\n", __get_result_string(expected_result), __get_result_string(result));
97 if (expected_result != result) {
98 printf("not matched\n");
99 __change_color_to_red();
100 printf("test fail\n");
104 if (result == PRVINFO_ERROR_NONE) {
105 if (description == NULL) {
106 printf("description must not be NULL\n");
107 __change_color_to_red();
108 printf("test fail\n");
110 __change_color_to_origin();
113 printf("description = %s\n", description);
115 } else if (result == PRVINFO_ERROR_NO_MATCHING_PRIVILEGE) {
116 if (description != NULL) {
117 printf("description = %s\n", description);
118 printf("description must be NULL\n");
119 __change_color_to_red();
120 printf("test fail\n");
122 __change_color_to_origin();
127 __change_color_to_green();
128 printf("test success\n");
131 __change_color_to_origin();
134 static void __check_get_privacy_display_name_result(privilege_info_error_e expected_result, privilege_info_error_e result, const char* privacy_display)
136 printf("expected : %s\n result : %s\n", __get_result_string(expected_result), __get_result_string(result));
138 if (expected_result != result) {
139 printf("not matched\n");
140 __change_color_to_red();
141 printf("test fail\n");
145 if (privacy_display != NULL)
146 printf("privacy_display_name = %s\n", privacy_display);
148 printf("privacy_display_name is NULL.\n");
149 __change_color_to_green();
150 printf("test success\n");
153 __change_color_to_origin();
156 static void __test_privilege_info_get_display_name()
159 char* display_name = NULL;
161 printf("-----------------------------------------------------------\n");
162 printf("api_version : 2.3\n");
163 printf("privilege : http://tizen.org/privilege/window.priority.set\n");
164 ret = privilege_info_get_display_name("2.3", "http://tizen.org/privilege/window.priority.set", &display_name);
165 __check_get_privilege_display_name_result(PRVINFO_ERROR_NONE, ret, display_name);
167 printf("-----------------------------------------------------------\n");
168 printf("api_version : 2.3\n");
169 printf("privilege : http://tizen.org/privilege/mediacapture\n");
170 if (display_name != NULL) {
174 ret = privilege_info_get_display_name("2.3", "http://tizen.org/privilege/mediacapture", &display_name);
175 __check_get_privilege_display_name_result(PRVINFO_ERROR_NONE, ret, display_name);
177 printf("-----------------------------------------------------------\n");
178 printf("Not existing privilege\n");
179 printf("api_version : 2.3\n");
180 printf("privilege : http://tizen.org/privilege/RRRRRRRRRR\n");
181 if (display_name != NULL) {
185 ret = privilege_info_get_display_name("2.3", "http://tizen.org/privilege/RRRRRRRRRR", &display_name);
186 __check_get_privilege_display_name_result(PRVINFO_ERROR_NO_MATCHING_PRIVILEGE, ret, display_name);
188 printf("-----------------------------------------------------------\n");
189 printf("Invalid parameter\n");
190 printf("api_version : NULL\n");
191 printf("privilege : http://tizen.org/privilege/window.priority.set\n");
192 if (display_name != NULL) {
196 ret = privilege_info_get_display_name(NULL, "http://tizen.org/privilege/window, priority.set", &display_name);
197 __check_get_privilege_display_name_result(PRVINFO_ERROR_INVALID_PARAMETER, ret, display_name);
202 static void __test_privilege_info_get_display_name_by_pkgtype()
205 char* display_name = NULL;
207 printf("-----------------------------------------------------------\n");
208 printf("pkgtype : PRVINFO_PACKAGE_TYPE_NATIVE\n");
209 printf("api_version : 2.3\n");
210 printf("privilege : http://tizen.org/privilege/window.priority.set\n");
211 ret = privilege_info_get_display_name_by_pkgtype("PRVINFO_PACKAGE_TYPE_NATIVE", "2.3", "http://tizen.org/privilege/window.priority.set", &display_name);
212 __check_get_privilege_display_name_result(PRVINFO_ERROR_NONE, ret, display_name);
214 printf("-----------------------------------------------------------\n");
215 printf("pkgtype : PRVINFO_PACKAGE_TYPE_WEB\n");
216 printf("api_version : 2.3\n");
217 printf("privilege : http://tizen.org/privilege/mediacapture\n");
218 if (display_name != NULL) {
222 ret = privilege_info_get_display_name_by_pkgtype("PRVINFO_PACKAGE_TYPE_WEB", "2.3", "http://tizen.org/privilege/mediacapture", &display_name);
223 __check_get_privilege_display_name_result(PRVINFO_ERROR_NONE, ret, display_name);
225 printf("-----------------------------------------------------------\n");
226 printf("Mismatched package type: write WEB as NATIVE\n");
227 printf("pkgtype : PRVINFO_PACKAGE_TYPE_NATIVE\n");
228 printf("api_version : 2.3\n");
229 printf("privilege : http://tizen.org/privilege/mediacapture\n");
230 if (display_name != NULL) {
234 ret = privilege_info_get_display_name_by_pkgtype("PRVINFO_PACKAGE_TYPE_NATIVE", "2.3", "http://tizen.org/privilege/mediacapture", &display_name);
235 __check_get_privilege_display_name_result(PRVINFO_ERROR_NO_MATCHING_PRIVILEGE, ret, display_name);
238 printf("-----------------------------------------------------------\n");
239 printf("Not existing privilege\n");
240 printf("api_version : 2.3\n");
241 printf("privilege : http://tizen.org/privilege/RRRRRRRRRR\n");
242 if (display_name != NULL) {
246 ret = privilege_info_get_display_name_by_pkgtype("PRVINFO_PACKAGE_TYPE_WEB", "2.3", "http://tizen.org/privilege/RRRRRRRRRR", &display_name);
247 __check_get_privilege_display_name_result(PRVINFO_ERROR_NO_MATCHING_PRIVILEGE, ret, display_name);
249 printf("-----------------------------------------------------------\n");
250 printf("Invalid parameter\n");
251 printf("api_version : 2.3\n");
252 printf("privilege : http://tizen.org/privilege/mediacapture\n");
253 if (display_name != NULL) {
257 ret = privilege_info_get_display_name_by_pkgtype(NULL, "2.3", "http://tizen.org/privilege/mediacapture", &display_name);
258 __check_get_privilege_display_name_result(PRVINFO_ERROR_INVALID_PARAMETER, ret, display_name);
263 static void __test_privilege_info_get_description()
266 char* description = NULL;
268 printf("-----------------------------------------------------------\n");
269 printf("api_version : 2.3\n");
270 printf("privilege : http://tizen.org/privilege/window.priority.set\n");
271 ret = privilege_info_get_description("2.3", "http://tizen.org/privilege/window.priority.set", &description);
272 __check_get_privilege_description_result(PRVINFO_ERROR_NONE, ret, description);
274 printf("-----------------------------------------------------------\n");
275 printf("api_version : 2.3\n");
276 printf("privilege : http://tizen.org/privilege/mediacapture\n");
277 if (description != NULL) {
281 ret = privilege_info_get_description("2.3", "http://tizen.org/privilege/mediacapture", &description);
282 __check_get_privilege_description_result(PRVINFO_ERROR_NONE, ret, description);
284 printf("-----------------------------------------------------------\n");
285 printf("Not existing privilege\n");
286 printf("api_version : 2.3\n");
287 printf("privilege : http://tizen.org/privilege/RRRRRRRRRR\n");
288 if (description != NULL) {
292 ret = privilege_info_get_description("2.3", "http://tizen.org/privilege/RRRRRRRRRR", &description);
293 __check_get_privilege_description_result(PRVINFO_ERROR_NO_MATCHING_PRIVILEGE, ret, description);
295 printf("-----------------------------------------------------------\n");
296 printf("Invalid parameter\n");
297 printf("api_version : 2.3\n");
298 printf("privilege : http://tizen.org/privilege/mediacapture\n");
299 if (description != NULL) {
303 ret = privilege_info_get_description(NULL, "http://tizen.org/privilege/mediacapture", &description);
304 __check_get_privilege_description_result(PRVINFO_ERROR_INVALID_PARAMETER, ret, description);
309 static void __test_privilege_info_get_description_by_pkgtype()
312 char* description = NULL;
314 printf("-----------------------------------------------------------\n");
315 printf("api_version : 2.3\n");
316 printf("privilege : http://tizen.org/privilege/window.priority.set\n");
317 ret = privilege_info_get_description_by_pkgtype("PRVINFO_PACKAGE_TYPE_NATIVE", "2.3", "http://tizen.org/privilege/window.priority.set", &description);
318 __check_get_privilege_description_result(PRVINFO_ERROR_NONE, ret, description);
320 printf("-----------------------------------------------------------\n");
321 printf("api_version : 2.3\n");
322 printf("privilege : http://tizen.org/privilege/mediacapture\n");
323 if (description != NULL) {
327 ret = privilege_info_get_description_by_pkgtype("PRVINFO_PACKAGE_TYPE_WEB", "2.3", "http://tizen.org/privilege/mediacapture", &description);
328 __check_get_privilege_description_result(PRVINFO_ERROR_NONE, ret, description);
330 printf("-----------------------------------------------------------\n");
331 printf("Mismatched package type: write WEB as NATIVE\n");
332 printf("pkgtype : PRVINFO_PACKAGE_TYPE_NATIVE\n");
333 printf("api_version : 2.3\n");
334 printf("privilege : http://tizen.org/privilege/mediacapture\n");
335 if (description != NULL) {
339 ret = privilege_info_get_description_by_pkgtype("PRVINFO_PACKAGE_TYPE_NATIVE", "2.3", "http://tizen.org/privilege/mediacapture", &description);
340 __check_get_privilege_description_result(PRVINFO_ERROR_NO_MATCHING_PRIVILEGE, ret, description);
342 printf("-----------------------------------------------------------\n");
343 printf("Not existing privilege\n");
344 printf("api_version : 2.3\n");
345 printf("privilege : http://tizen.org/privilege/RRRRRRRRRR\n");
346 if (description != NULL) {
350 ret = privilege_info_get_description_by_pkgtype("PRVINFO_PACKAGE_TYPE_NATIVE", "2.3", "http://tizen.org/privilege/RRRRRRRRRR", &description);
351 __check_get_privilege_description_result(PRVINFO_ERROR_NO_MATCHING_PRIVILEGE, ret, description);
353 printf("-----------------------------------------------------------\n");
354 printf("Invalid parameter\n");
355 printf("api_version : 2.3\n");
356 printf("privilege : NULL\n");
357 if (description != NULL) {
361 ret = privilege_info_get_description_by_pkgtype("PRVINFO_PACKAGE_TYPE_NATIVE", "2.3", NULL, &description);
362 __check_get_privilege_description_result(PRVINFO_ERROR_INVALID_PARAMETER, ret, description);
367 static void __test_privilege_info_get_privacy_display_name()
370 char* privacy_display_name = NULL;
372 printf("-----------------------------------------------------------\n");
373 printf("Invalid parameter\n");
374 printf("no input privilege\n");
375 ret = privilege_info_get_privacy_display_name(NULL, &privacy_display_name);
376 __check_get_privacy_display_name_result(PRVINFO_ERROR_INVALID_PARAMETER, ret, privacy_display_name);
378 if (privacy_display_name != NULL) {
379 free(privacy_display_name);
380 privacy_display_name = NULL;
383 printf("-----------------------------------------------------------\n");
384 printf("Not a privacy related privilege\n");
385 printf("privilege: http://tizen.org/privilege/internet\n");
386 ret = privilege_info_get_privacy_display_name("http://tizen.org/privilege/internet", &privacy_display_name);
387 __check_get_privacy_display_name_result(PRVINFO_ERROR_INVALID_PARAMETER, ret, privacy_display_name);
389 if (privacy_display_name != NULL) {
390 free(privacy_display_name);
391 privacy_display_name = NULL;
394 printf("-----------------------------------------------------------\n");
395 printf("Not existing privilege\n");
396 printf("privilege: http://tizen.org/privilege/wrong.privilege.name\n");
397 ret = privilege_info_get_privacy_display_name("http://tizen.org/privilege/wrong.privilege.name", &privacy_display_name);
398 __check_get_privacy_display_name_result(PRVINFO_ERROR_INVALID_PARAMETER, ret, privacy_display_name);
400 if (privacy_display_name != NULL) {
401 free(privacy_display_name);
402 privacy_display_name = NULL;
405 printf("-----------------------------------------------------------\n");
406 printf("Privacy related privilege\n");
407 printf("privilege: http://tizen.org/privilege/account.read\n");
408 ret = privilege_info_get_privacy_display_name("http://tizen.org/privilege/account.read", &privacy_display_name);
409 __check_get_privacy_display_name_result(PRVINFO_ERROR_NONE, ret, privacy_display_name);
411 free(privacy_display_name);
414 static void __check_privilege_info_get_privilege_info(privilege_info_error_e expected_result, privilege_info_error_e result, GList* privilege_info_list, int return_result)
416 printf("expected : %s\n result : %s\n", __get_result_string(expected_result), __get_result_string(result));
418 if (expected_result != result) {
419 __change_color_to_yellow();
420 printf("not matched\n");
421 __change_color_to_origin();
423 __change_color_to_green();
425 __change_color_to_origin();
428 printf("return_result = %d\n", return_result);
430 if (result == PRVINFO_ERROR_NONE) {
431 for (l = privilege_info_list; l != NULL; l = l->next) {
432 privilege_info_s* privilege_info = (privilege_info_s*)l->data;
434 printf("privilege_info->privilege_name = %s\n", privilege_info->privilege_name);
435 printf("privilege_info->display_name = %s\n", privilege_info->display_name);
436 printf("privilege_info->description = %s\n", privilege_info->description);
444 static void __test_privilege_info_get_privilege_info_list()
446 GList* privilege_name_list = NULL;
447 GList* privilege_info_list = NULL;
448 privilege_consumer_return_code_e return_result;
451 printf("case : SUCCESS\n");
452 printf("locale : ko_KR.UTF8\n");
453 printf("privilege name : http://tizen.org/privilege/call\n");
454 printf("privilege name : http://tizen.org/privilege/content.read\n");
455 printf("privilege name : http://tizen.org/privilege/filesystem.read\n");
456 privilege_name_list = g_list_append(privilege_name_list, "http://tizen.org/privilege/call");
457 privilege_name_list = g_list_append(privilege_name_list, "http://tizen.org/privilege/content.read");
458 privilege_name_list = g_list_append(privilege_name_list, "http://tizen.org/privilege/filesystem.read");
460 ret = privilege_info_get_privilege_info_list("ko_KR.UTF8", privilege_name_list, &privilege_info_list, &return_result);
461 __check_privilege_info_get_privilege_info(PRVINFO_ERROR_NONE, ret, privilege_info_list, return_result);
462 g_list_free(privilege_name_list);
463 privilege_name_list = NULL;
464 privilege_info_free_privilege_info_list(privilege_info_list);
465 privilege_info_list = NULL;
466 printf("-----------------------------------------------------------\n");
468 printf("case : SUCCESS2\n");
469 printf("locale : ko_KR.UTF8\n");
470 printf("privilege name : http://tizen.org/privilege/call\n");
471 printf("privilege name : http://tizen.org/privilege/systemsettings.admin\n");
472 printf("privilege name : http://tizen.org/privilege/bookmark.admin\n");
473 privilege_name_list = g_list_append(privilege_name_list, "http://tizen.org/privilege/call");
474 privilege_name_list = g_list_append(privilege_name_list, "http://tizen.org/privilege/systemsettings.admin");
475 privilege_name_list = g_list_append(privilege_name_list, "http://tizen.org/privilege/bookmark.admin");
477 ret = privilege_info_get_privilege_info_list("ko_KR.UTF8", privilege_name_list, &privilege_info_list, &return_result);
478 __check_privilege_info_get_privilege_info(PRVINFO_ERROR_NONE, ret, privilege_info_list, return_result);
479 g_list_free(privilege_name_list);
480 privilege_name_list = NULL;
481 privilege_info_free_privilege_info_list(privilege_info_list);
482 privilege_info_list = NULL;
483 printf("-----------------------------------------------------------\n");
485 printf("case : SUCCESS3\n");
486 printf("locale : ko_KR.UTF8\n");
487 printf("privilege name : http://tizen.org/privilege/call\n");
488 printf("privilege name : http://tizen.org/privilege/alarm.xxxx\n");
489 printf("privilege name : http://tizen.org/privilege/account.xxx\n");
490 privilege_name_list = g_list_append(privilege_name_list, "http://tizen.org/privilege/call");
491 privilege_name_list = g_list_append(privilege_name_list, "http://tizen.org/privilege/alarm.xxxx");
492 privilege_name_list = g_list_append(privilege_name_list, "http://tizen.org/privilege/account.xxx");
494 ret = privilege_info_get_privilege_info_list("ko_KR.UTF8", privilege_name_list, &privilege_info_list, &return_result);
495 __check_privilege_info_get_privilege_info(PRVINFO_ERROR_NONE, ret, privilege_info_list, return_result);
496 g_list_free(privilege_name_list);
497 privilege_name_list = NULL;
498 privilege_info_free_privilege_info_list(privilege_info_list);
499 privilege_info_list = NULL;
500 printf("-----------------------------------------------------------\n");
502 printf("case : UNKNOWN_LOCAL_CODE\n");
503 printf("locale : xx_XX.UTF8\n");
504 printf("privilege name : http://tizen.org/privilege/call\n");
505 printf("privilege name : http://tizen.org/privilege/content.read\n");
506 printf("privilege name : http://tizen.org/privilege/filesystem.read\n");
507 privilege_name_list = g_list_append(privilege_name_list, "http://tizen.org/privilege/call");
508 privilege_name_list = g_list_append(privilege_name_list, "http://tizen.org/privilege/content.read");
509 privilege_name_list = g_list_append(privilege_name_list, "http://tizen.org/privilege/filesystem.read");
511 ret = privilege_info_get_privilege_info_list("xx_XX.UTF8", privilege_name_list, &privilege_info_list, &return_result);
512 __check_privilege_info_get_privilege_info(PRVINFO_ERROR_NONE, ret, privilege_info_list, return_result);
513 g_list_free(privilege_name_list);
514 privilege_name_list = NULL;
515 privilege_info_free_privilege_info_list(privilege_info_list);
516 privilege_info_list = NULL;
517 printf("-----------------------------------------------------------\n");
519 printf("case : INVAILD_PARAMETER\n");
520 printf("locale : ko_KR.UTF8\n");
521 printf("privilege name : http://tizen.org/privilege/xxxx\n");
522 printf("privilege name : http://tizen.org/privilege/alarm.xxxx\n");
523 printf("privilege name : http://tizen.org/privilege/account.xxx\n");
524 privilege_name_list = g_list_append(privilege_name_list, "http://tizen.org/privilege/xxxx");
525 privilege_name_list = g_list_append(privilege_name_list, "http://tizen.org/privilege/alarm.xxxx");
526 privilege_name_list = g_list_append(privilege_name_list, "http://tizen.org/privilege/account.xxx");
528 ret = privilege_info_get_privilege_info_list("ko_KR.UTF8", privilege_name_list, &privilege_info_list, &return_result);
529 __check_privilege_info_get_privilege_info(PRVINFO_ERROR_NONE, ret, privilege_info_list, return_result);
530 g_list_free(privilege_name_list);
531 privilege_name_list = NULL;
532 privilege_info_free_privilege_info_list(privilege_info_list);
533 privilege_info_list = NULL;
534 printf("-----------------------------------------------------------\n");
540 __change_color_to_yellow();
541 printf("Test function : privilege_info_get_display_name\n");
542 __change_color_to_origin();
543 __test_privilege_info_get_display_name();
545 __change_color_to_yellow();
546 printf("Test function : privilege_info_get_display_name_by_pkgtype\n");
547 __change_color_to_origin();
548 __test_privilege_info_get_display_name_by_pkgtype();
550 __change_color_to_yellow();
551 printf("Test function : privilege_info_get_description\n");
552 __change_color_to_origin();
553 __test_privilege_info_get_description();
555 __change_color_to_yellow();
556 printf("Test function : privilege_info_get_description_by_pkgtype\n");
557 __change_color_to_origin();
558 __test_privilege_info_get_description_by_pkgtype();
560 __change_color_to_yellow();
561 printf("Test function : privilege_info_get_privacy_display_name\n");
562 __change_color_to_origin();
563 __test_privilege_info_get_privacy_display_name();
565 __change_color_to_yellow();
566 printf("Test function : privilege_info_get_privilege_info_list\n");
567 __change_color_to_origin();
568 __test_privilege_info_get_privilege_info_list();
570 __change_color_to_green();
571 printf("Test Complete\n");
572 printf("success : %d, ", success_cnt);
573 __change_color_to_red();
574 printf("fail : %d\n", fail_cnt);
575 __change_color_to_origin();