Categorize tests into positive and negative
[platform/core/security/privilege-info.git] / test / tc_privilege_info.c
1 /*
2  * Copyright (c) 2014-2021 Samsung Electronics Co., Ltd All Rights Reserved
3  *
4  * Licensed under the Apache License, Version 2.0 (the License);
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an AS IS BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 #include <stdio.h>
18 #include <stdlib.h>
19 #include <privilege_information.h>
20
21 #define BRIGHTNESS 0
22 #define RED 31
23 #define GREEN 32
24 #define YELLOW 33
25 #define BG_BLACK 40
26
27 static int fail_cnt = 0;
28 static int success_cnt = 0;
29
30 static void __change_color_to_red()
31 {
32         printf("%c[%d;%dm", 0x1B, BRIGHTNESS, RED);
33 }
34
35 static void __change_color_to_green()
36 {
37         printf("%c[%d;%dm", 0x1B, BRIGHTNESS, GREEN);
38 }
39
40 static void __change_color_to_origin()
41 {
42         printf("%c[%dm", 0x1B, 0);
43 }
44
45 static const char* __get_result_string(privilege_info_error_e ret)
46 {
47         if (ret == PRVINFO_ERROR_NONE)
48                 return "PRVINFO_ERROR_NONE";
49         else if (ret == PRVINFO_ERROR_INVALID_PARAMETER)
50                 return "PRVINFO_ERROR_INVALID_PARAMETER";
51         else if (ret == PRVINFO_ERROR_OUT_OF_MEMORY)
52                 return "PRVINFO_ERROR_OUT_OF_MEMORY";
53         else if (ret == PRVINFO_ERROR_INTERNAL_ERROR)
54                 return "PRVINFO_ERROR_INTERNAL_ERROR";
55         else if (ret == PRVINFO_ERROR_NOT_SUPPORTED)
56                 return "PRVINFO_ERROR_NOT_SUPPORTED";
57         else if (ret == PRVINFO_ERROR_NO_MATCHING_PRIVILEGE)
58                 return "PRVINFO_ERROR_NO_MATCHING_PRIVILEGE";
59
60         return "PRVINFO_ERROR_NO_MATCHED_ERROR_MESSAGE";
61 }
62
63 static void __check_get_privilege_display_name_result(privilege_info_error_e expected_result, privilege_info_error_e result, const char* display_name)
64 {
65         printf("--- expected : %s\n  result : %s\n", __get_result_string(expected_result), __get_result_string(result));
66
67         if (expected_result != result) {
68                 __change_color_to_red();
69                 printf("TEST RESULT: FAILED\n");
70                 fail_cnt++;
71         } else {
72                 if (result == PRVINFO_ERROR_NONE) {
73                         if (display_name == NULL) {
74                                 printf("--- display_name must not be NULL\n");
75                                 __change_color_to_red();
76                                 printf("TEST RESULT: FAILED\n");
77                                 fail_cnt++;
78                                 __change_color_to_origin();
79                                 return;
80                         } else {
81                                 printf("--- display_name = %s\n", display_name);
82                         }
83                 } else if (result == PRVINFO_ERROR_NO_MATCHING_PRIVILEGE) {
84                         if (display_name != NULL) {
85                                 printf("--- display_name = %s\n", display_name);
86                                 printf("--- display_name must be NULL\n");
87                                 __change_color_to_red();
88                                 printf("TEST RESULT: FAILED\n");
89                                 fail_cnt++;
90                                 __change_color_to_origin();
91                                 return;
92                         }
93                 }
94                 __change_color_to_green();
95                 printf("TEST RESULT: SUCCESS\n");
96                 success_cnt++;
97         }
98         __change_color_to_origin();
99 }
100
101
102 static void __check_get_privilege_description_result(privilege_info_error_e expected_result, privilege_info_error_e result, const char* description)
103 {
104         printf("--- expected : %s\n  result : %s\n", __get_result_string(expected_result), __get_result_string(result));
105
106         if (expected_result != result) {
107                 __change_color_to_red();
108                 printf("TEST RESULT: FAILED\n");
109                 fail_cnt++;
110         } else {
111            if (result == PRVINFO_ERROR_NONE) {
112                         if (description == NULL) {
113                                 printf("--- description must not be NULL\n");
114                                 __change_color_to_red();
115                                 printf("TEST RESULT: FAILED\n");
116                                 fail_cnt++;
117                                 __change_color_to_origin();
118                                 return;
119                         } else {
120                                 printf("--- description = %s\n", description);
121                         }
122                 } else if (result == PRVINFO_ERROR_NO_MATCHING_PRIVILEGE) {
123                         if (description != NULL) {
124                                 printf("--- description = %s\n", description);
125                                 printf("--- description must be NULL\n");
126                                 __change_color_to_red();
127                                 printf("TEST RESULT: FAILED\n");
128                                 fail_cnt++;
129                                 __change_color_to_origin();
130                                 return;
131                         }
132                 }
133
134                 __change_color_to_green();
135                 printf("TEST RESULT: SUCCESS\n");
136                 success_cnt++;
137         }
138         __change_color_to_origin();
139 }
140
141 static void __check_get_privacy_display_name_result(privilege_info_error_e expected_result, privilege_info_error_e result, const char* privacy_display)
142 {
143         printf("--- expected : %s\n  result : %s\n", __get_result_string(expected_result), __get_result_string(result));
144
145         if (expected_result != result) {
146                 __change_color_to_red();
147                 printf("TEST RESULT: FAILED\n");
148                 fail_cnt++;
149         } else {
150                 if (privacy_display != NULL)
151                         printf("--- privacy_display_name = %s\n", privacy_display);
152                 else
153                         printf("--- privacy_display_name is NULL.\n");
154                 __change_color_to_green();
155                 printf("TEST RESULT: SUCCESS\n");
156                 success_cnt++;
157         }
158         __change_color_to_origin();
159 }
160
161 static void __test_positive_privilege_info_get_display_name()
162 {
163         int ret;
164         char* display_name = NULL;
165
166         printf("TEST NAME: %s #1\n",__func__);
167         printf("--- api_version : 2.3\n");
168         printf("--- privilege : http://tizen.org/privilege/window.priority.set\n");
169         ret = privilege_info_get_display_name("2.3", "http://tizen.org/privilege/window.priority.set", &display_name);
170         __check_get_privilege_display_name_result(PRVINFO_ERROR_NONE, ret, display_name);
171
172         printf("-----------------------------------------------------------\n");
173         printf("TEST NAME: %s #2\n",__func__);
174         printf("--- api_version : 2.3\n");
175         printf("--- privilege : http://tizen.org/privilege/mediacapture\n");
176         if (display_name != NULL) {
177                 free(display_name);
178                 display_name = NULL;
179         }
180         ret = privilege_info_get_display_name("2.3", "http://tizen.org/privilege/mediacapture", &display_name);
181         __check_get_privilege_display_name_result(PRVINFO_ERROR_NONE, ret, display_name);
182
183         free(display_name);
184 }
185
186 static void __test_negative_privilege_info_get_display_name()
187 {
188         int ret;
189         char * display_name = NULL;
190
191         printf("TEST NAME: %s #1\n",__func__);
192         printf("--- Not existing privilege\n");
193         printf("--- api_version : 2.3\n");
194         printf("--- privilege : http://tizen.org/privilege/RRRRRRRRRR\n");
195         if (display_name != NULL) {
196                 free(display_name);
197                 display_name = NULL;
198         }
199         ret = privilege_info_get_display_name("2.3", "http://tizen.org/privilege/RRRRRRRRRR", &display_name);
200         __check_get_privilege_display_name_result(PRVINFO_ERROR_NO_MATCHING_PRIVILEGE, ret, display_name);
201
202         printf("TEST NAME: %s #2\n",__func__);
203         printf("--- Invalid parameter\n");
204         printf("--- api_version : NULL\n");
205         printf("--- privilege : http://tizen.org/privilege/window.priority.set\n");
206         if (display_name != NULL) {
207                 free(display_name);
208                 display_name = NULL;
209         }
210         ret = privilege_info_get_display_name(NULL, "http://tizen.org/privilege/window, priority.set", &display_name);
211         __check_get_privilege_display_name_result(PRVINFO_ERROR_INVALID_PARAMETER, ret, display_name);
212
213         free(display_name);
214 }
215
216 static void __test_positive_privilege_info_get_display_name_by_pkgtype()
217 {
218         int ret;
219         char* display_name = NULL;
220
221         printf("TEST NAME: %s #1\n",__func__);
222         printf("--- pkgtype : PRVINFO_PACKAGE_TYPE_NATIVE\n");
223         printf("--- api_version : 2.3\n");
224         printf("--- privilege : http://tizen.org/privilege/window.priority.set\n");
225         ret = privilege_info_get_display_name_by_pkgtype("PRVINFO_PACKAGE_TYPE_NATIVE", "2.3", "http://tizen.org/privilege/window.priority.set", &display_name);
226         __check_get_privilege_display_name_result(PRVINFO_ERROR_NONE, ret, display_name);
227
228         printf("TEST NAME: %s #2\n",__func__);
229         printf("--- pkgtype : PRVINFO_PACKAGE_TYPE_WEB\n");
230         printf("--- api_version : 2.3\n");
231         printf("--- privilege : http://tizen.org/privilege/mediacapture\n");
232         if (display_name != NULL) {
233                 free(display_name);
234                 display_name = NULL;
235         }
236         ret = privilege_info_get_display_name_by_pkgtype("PRVINFO_PACKAGE_TYPE_WEB", "2.3", "http://tizen.org/privilege/mediacapture", &display_name);
237         __check_get_privilege_display_name_result(PRVINFO_ERROR_NONE, ret, display_name);
238
239         free(display_name);
240 }
241
242 static void __test_negative_privilege_info_get_display_name_by_pkgtype()
243 {
244         int ret;
245         char* display_name = NULL;
246
247         printf("TEST NAME: %s #1\n",__func__);
248         printf("--- Mismatched package type: write WEB as NATIVE\n");
249         printf("--- pkgtype : PRVINFO_PACKAGE_TYPE_NATIVE\n");
250         printf("--- api_version : 2.3\n");
251         printf("--- privilege : http://tizen.org/privilege/mediacapture\n");
252         if (display_name != NULL) {
253                 free(display_name);
254                 display_name = NULL;
255         }
256         ret = privilege_info_get_display_name_by_pkgtype("PRVINFO_PACKAGE_TYPE_NATIVE", "2.3", "http://tizen.org/privilege/mediacapture", &display_name);
257         __check_get_privilege_display_name_result(PRVINFO_ERROR_NO_MATCHING_PRIVILEGE, ret, display_name);
258
259         printf("TEST NAME: %s #2\n",__func__);
260         printf("--- Not existing privilege\n");
261         printf("--- api_version : 2.3\n");
262         printf("--- privilege : http://tizen.org/privilege/RRRRRRRRRR\n");
263         if (display_name != NULL) {
264                 free(display_name);
265                 display_name = NULL;
266         }
267         ret = privilege_info_get_display_name_by_pkgtype("PRVINFO_PACKAGE_TYPE_WEB", "2.3", "http://tizen.org/privilege/RRRRRRRRRR", &display_name);
268         __check_get_privilege_display_name_result(PRVINFO_ERROR_NO_MATCHING_PRIVILEGE, ret, display_name);
269
270         printf("TEST NAME: %s #3\n",__func__);
271         printf("--- Invalid parameter\n");
272         printf("--- api_version : 2.3\n");
273         printf("--- privilege : http://tizen.org/privilege/mediacapture\n");
274         if (display_name != NULL) {
275                 free(display_name);
276                 display_name = NULL;
277         }
278         ret = privilege_info_get_display_name_by_pkgtype(NULL, "2.3", "http://tizen.org/privilege/mediacapture", &display_name);
279         __check_get_privilege_display_name_result(PRVINFO_ERROR_INVALID_PARAMETER, ret, display_name);
280
281         free(display_name);
282 }
283
284
285 static void __test_positive_privilege_info_get_description()
286 {
287         int ret;
288         char* description = NULL;
289
290         printf("TEST NAME: %s #1\n",__func__);
291         printf("--- api_version : 2.3\n");
292         printf("--- privilege : http://tizen.org/privilege/window.priority.set\n");
293         ret = privilege_info_get_description("2.3", "http://tizen.org/privilege/window.priority.set", &description);
294         __check_get_privilege_description_result(PRVINFO_ERROR_NONE, ret, description);
295
296         printf("TEST NAME: %s #2\n",__func__);
297         printf("--- api_version : 2.3\n");
298         printf("--- privilege : http://tizen.org/privilege/mediacapture\n");
299         if (description != NULL) {
300                 free(description);
301                 description = NULL;
302         }
303         ret = privilege_info_get_description("2.3", "http://tizen.org/privilege/mediacapture", &description);
304         __check_get_privilege_description_result(PRVINFO_ERROR_NONE, ret, description);
305
306         free(description);
307 }
308
309 static void __test_negative_privilege_info_get_description()
310 {
311         int ret;
312         char* description = NULL;
313
314         printf("TEST NAME: %s #1\n",__func__);
315         printf("--- Not existing privilege\n");
316         printf("--- api_version : 2.3\n");
317         printf("--- privilege : http://tizen.org/privilege/RRRRRRRRRR\n");
318         if (description != NULL) {
319                 free(description);
320                 description = NULL;
321         }
322         ret = privilege_info_get_description("2.3", "http://tizen.org/privilege/RRRRRRRRRR", &description);
323         __check_get_privilege_description_result(PRVINFO_ERROR_NO_MATCHING_PRIVILEGE, ret, description);
324
325         printf("TEST NAME: %s #2\n",__func__);
326         printf("--- Invalid parameter\n");
327         printf("--- api_version : 2.3\n");
328         printf("--- privilege : http://tizen.org/privilege/mediacapture\n");
329         if (description != NULL) {
330                 free(description);
331                 description = NULL;
332         }
333         ret = privilege_info_get_description(NULL, "http://tizen.org/privilege/mediacapture", &description);
334         __check_get_privilege_description_result(PRVINFO_ERROR_INVALID_PARAMETER, ret, description);
335
336         free(description);
337 }
338
339 static void __test_positive_privilege_info_get_description_by_pkgtype()
340 {
341         int ret;
342         char* description = NULL;
343
344         printf("TEST NAME: %s #1\n",__func__);
345         printf("--- api_version : 2.3\n");
346         printf("--- privilege : http://tizen.org/privilege/window.priority.set\n");
347         ret = privilege_info_get_description_by_pkgtype("PRVINFO_PACKAGE_TYPE_NATIVE", "2.3", "http://tizen.org/privilege/window.priority.set", &description);
348         __check_get_privilege_description_result(PRVINFO_ERROR_NONE, ret, description);
349
350         printf("TEST NAME: %s #2\n",__func__);
351         printf("--- api_version : 2.3\n");
352         printf("--- privilege : http://tizen.org/privilege/mediacapture\n");
353         if (description != NULL) {
354                 free(description);
355                 description = NULL;
356         }
357         ret = privilege_info_get_description_by_pkgtype("PRVINFO_PACKAGE_TYPE_WEB", "2.3", "http://tizen.org/privilege/mediacapture", &description);
358         __check_get_privilege_description_result(PRVINFO_ERROR_NONE, ret, description);
359
360         free(description);
361 }
362
363 static void __test_negative_privilege_info_get_description_by_pkgtype()
364 {
365         int ret;
366         char* description = NULL;
367
368         printf("TEST NAME: %s #1\n",__func__);
369         printf("--- Mismatched package type: write WEB as NATIVE\n");
370         printf("--- pkgtype : PRVINFO_PACKAGE_TYPE_NATIVE\n");
371         printf("--- api_version : 2.3\n");
372         printf("--- privilege : http://tizen.org/privilege/mediacapture\n");
373         if (description != NULL) {
374                 free(description);
375                 description = NULL;
376         }
377         ret = privilege_info_get_description_by_pkgtype("PRVINFO_PACKAGE_TYPE_NATIVE", "2.3", "http://tizen.org/privilege/mediacapture", &description);
378         __check_get_privilege_description_result(PRVINFO_ERROR_NO_MATCHING_PRIVILEGE, ret, description);
379
380         printf("TEST NAME: %s #2\n",__func__);
381         printf("--- Not existing privilege\n");
382         printf("--- api_version : 2.3\n");
383         printf("--- privilege : http://tizen.org/privilege/RRRRRRRRRR\n");
384         if (description != NULL) {
385                 free(description);
386                 description = NULL;
387         }
388         ret = privilege_info_get_description_by_pkgtype("PRVINFO_PACKAGE_TYPE_NATIVE", "2.3", "http://tizen.org/privilege/RRRRRRRRRR", &description);
389         __check_get_privilege_description_result(PRVINFO_ERROR_NO_MATCHING_PRIVILEGE, ret, description);
390
391         printf("TEST NAME: %s #3\n",__func__);
392         printf("--- Invalid parameter\n");
393         printf("--- api_version : 2.3\n");
394         printf("--- privilege : NULL\n");
395         if (description != NULL) {
396                 free(description);
397                 description = NULL;
398         }
399         ret = privilege_info_get_description_by_pkgtype("PRVINFO_PACKAGE_TYPE_NATIVE", "2.3", NULL, &description);
400         __check_get_privilege_description_result(PRVINFO_ERROR_INVALID_PARAMETER, ret, description);
401
402         free(description);
403 }
404
405 static void __test_positive_privilege_info_get_privacy_display_name()
406 {
407         int ret;
408         char* privacy_display_name = NULL;
409
410         printf("TEST NAME: %s #1\n",__func__);
411         printf("--- Privacy related privilege\n");
412         printf("--- privilege: http://tizen.org/privilege/account.read\n");
413         ret = privilege_info_get_privacy_display_name("http://tizen.org/privilege/account.read", &privacy_display_name);
414         __check_get_privacy_display_name_result(PRVINFO_ERROR_NONE, ret, privacy_display_name);
415
416         free(privacy_display_name);
417 }
418
419 static void __test_negative_privilege_info_get_privacy_display_name()
420 {
421         int ret;
422         char* privacy_display_name = NULL;
423
424         printf("TEST NAME: %s #1\n",__func__);
425         printf("--- Invalid parameter\n");
426         printf("--- no input privilege\n");
427         ret = privilege_info_get_privacy_display_name(NULL, &privacy_display_name);
428         __check_get_privacy_display_name_result(PRVINFO_ERROR_INVALID_PARAMETER, ret, privacy_display_name);
429
430         if (privacy_display_name != NULL) {
431                 free(privacy_display_name);
432                 privacy_display_name = NULL;
433         }
434
435         printf("TEST NAME: %s #2\n",__func__);
436         printf("--- Not a privacy related privilege\n");
437         printf("--- privilege: http://tizen.org/privilege/internet\n");
438         ret = privilege_info_get_privacy_display_name("http://tizen.org/privilege/internet", &privacy_display_name);
439         __check_get_privacy_display_name_result(PRVINFO_ERROR_INVALID_PARAMETER, ret, privacy_display_name);
440
441         if (privacy_display_name != NULL) {
442                 free(privacy_display_name);
443                 privacy_display_name = NULL;
444         }
445
446         printf("TEST NAME: %s #3\n",__func__);
447         printf("--- Not existing privilege\n");
448         printf("--- privilege: http://tizen.org/privilege/wrong.privilege.name\n");
449         ret = privilege_info_get_privacy_display_name("http://tizen.org/privilege/wrong.privilege.name", &privacy_display_name);
450         __check_get_privacy_display_name_result(PRVINFO_ERROR_INVALID_PARAMETER, ret, privacy_display_name);
451
452         if (privacy_display_name != NULL) {
453                 free(privacy_display_name);
454                 privacy_display_name = NULL;
455         }
456
457         free(privacy_display_name);
458 }
459
460 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)
461 {
462         printf("--- expected : %s\n  result : %s\n", __get_result_string(expected_result), __get_result_string(result));
463
464         if (expected_result != result) {
465                 __change_color_to_red();
466                 printf("TEST RESULT: FAILED\n");
467                 fail_cnt++;
468                 __change_color_to_origin();
469         } else {
470                 __change_color_to_green();
471                 printf("TEST RESULT: SUCCESS\n");
472                 success_cnt++;
473                 __change_color_to_origin();
474         }
475
476         printf("--- return_result = %d\n", return_result);
477         GList* l;
478         if (result == PRVINFO_ERROR_NONE) {
479                 for (l = privilege_info_list; l != NULL; l = l->next) {
480                         privilege_info_s* privilege_info = (privilege_info_s*)l->data;
481
482                         printf("--- privilege_info->privilege_name = %s\n", privilege_info->privilege_name);
483                         printf("--- privilege_info->display_name = %s\n", privilege_info->display_name);
484                         printf("--- privilege_info->description = %s\n", privilege_info->description);
485                         printf("\n");
486                 }
487         }
488
489         printf("\n");
490 }
491
492 static void __test_positive_privilege_info_get_privilege_info_list()
493 {
494         GList* privilege_name_list = NULL;
495         GList* privilege_info_list = NULL;
496         privilege_consumer_return_code_e return_result;
497         int ret;
498
499         printf("TEST NAME: %s #1\n",__func__);
500         printf("--- locale : ko_KR.UTF8\n");
501         printf("--- privilege name : http://tizen.org/privilege/call\n");
502         printf("--- privilege name : http://tizen.org/privilege/content.read\n");
503         printf("--- privilege name : http://tizen.org/privilege/filesystem.read\n");
504         privilege_name_list = g_list_append(privilege_name_list, "http://tizen.org/privilege/call");
505         privilege_name_list = g_list_append(privilege_name_list, "http://tizen.org/privilege/content.read");
506         privilege_name_list = g_list_append(privilege_name_list, "http://tizen.org/privilege/filesystem.read");
507
508         ret = privilege_info_get_privilege_info_list("ko_KR.UTF8", privilege_name_list, &privilege_info_list, &return_result);
509         __check_privilege_info_get_privilege_info(PRVINFO_ERROR_NONE, ret, privilege_info_list, return_result);
510         g_list_free(privilege_name_list);
511         privilege_name_list = NULL;
512         privilege_info_free_privilege_info_list(privilege_info_list);
513         privilege_info_list = NULL;
514         printf("-----------------------------------------------------------\n");
515
516         printf("TEST NAME: %s #2\n",__func__);
517         printf("--- locale : ko_KR.UTF8\n");
518         printf("--- privilege name : http://tizen.org/privilege/call\n");
519         printf("--- privilege name : http://tizen.org/privilege/systemsettings.admin\n");
520         printf("--- privilege name : http://tizen.org/privilege/bookmark.admin\n");
521         privilege_name_list = g_list_append(privilege_name_list, "http://tizen.org/privilege/call");
522         privilege_name_list = g_list_append(privilege_name_list, "http://tizen.org/privilege/systemsettings.admin");
523         privilege_name_list = g_list_append(privilege_name_list, "http://tizen.org/privilege/bookmark.admin");
524
525         ret = privilege_info_get_privilege_info_list("ko_KR.UTF8", privilege_name_list, &privilege_info_list, &return_result);
526         __check_privilege_info_get_privilege_info(PRVINFO_ERROR_NONE, ret, privilege_info_list, return_result);
527         g_list_free(privilege_name_list);
528         privilege_name_list = NULL;
529         privilege_info_free_privilege_info_list(privilege_info_list);
530         privilege_info_list = NULL;
531         printf("-----------------------------------------------------------\n");
532
533         printf("TEST NAME: %s #3\n",__func__);
534         printf("--- locale : ko_KR.UTF8\n");
535         printf("--- privilege name : http://tizen.org/privilege/call\n");
536         printf("--- privilege name : http://tizen.org/privilege/alarm.xxxx\n");
537         printf("--- privilege name : http://tizen.org/privilege/account.xxx\n");
538         privilege_name_list = g_list_append(privilege_name_list, "http://tizen.org/privilege/call");
539         privilege_name_list = g_list_append(privilege_name_list, "http://tizen.org/privilege/alarm.xxxx");
540         privilege_name_list = g_list_append(privilege_name_list, "http://tizen.org/privilege/account.xxx");
541
542         ret = privilege_info_get_privilege_info_list("ko_KR.UTF8", privilege_name_list, &privilege_info_list, &return_result);
543         __check_privilege_info_get_privilege_info(PRVINFO_ERROR_NONE, ret, privilege_info_list, return_result);
544         g_list_free(privilege_name_list);
545         privilege_name_list = NULL;
546         privilege_info_free_privilege_info_list(privilege_info_list);
547         privilege_info_list = NULL;
548         printf("-----------------------------------------------------------\n");
549 }
550
551 static void __test_negative_privilege_info_get_privilege_info_list()
552 {
553         GList* privilege_name_list = NULL;
554         GList* privilege_info_list = NULL;
555         privilege_consumer_return_code_e return_result;
556         int ret;
557
558         printf("TEST NAME: %s #1\n",__func__);
559         printf("--- UNKNOWN_LOCAL_CODE\n");
560         printf("--- locale : xx_XX.UTF8\n");
561         printf("--- privilege name : http://tizen.org/privilege/call\n");
562         printf("--- privilege name : http://tizen.org/privilege/content.read\n");
563         printf("--- privilege name : http://tizen.org/privilege/filesystem.read\n");
564         privilege_name_list = g_list_append(privilege_name_list, "http://tizen.org/privilege/call");
565         privilege_name_list = g_list_append(privilege_name_list, "http://tizen.org/privilege/content.read");
566         privilege_name_list = g_list_append(privilege_name_list, "http://tizen.org/privilege/filesystem.read");
567
568         ret = privilege_info_get_privilege_info_list("xx_XX.UTF8", privilege_name_list, &privilege_info_list, &return_result);
569         __check_privilege_info_get_privilege_info(PRVINFO_ERROR_NONE, ret, privilege_info_list, return_result);
570         g_list_free(privilege_name_list);
571         privilege_name_list = NULL;
572         privilege_info_free_privilege_info_list(privilege_info_list);
573         privilege_info_list = NULL;
574
575         printf("TEST NAME: %s #2\n",__func__);
576         printf("--- INVAILD_PARAMETER\n");
577         printf("--- locale : ko_KR.UTF8\n");
578         printf("--- privilege name : http://tizen.org/privilege/xxxx\n");
579         printf("--- privilege name : http://tizen.org/privilege/alarm.xxxx\n");
580         printf("--- privilege name : http://tizen.org/privilege/account.xxx\n");
581         privilege_name_list = g_list_append(privilege_name_list, "http://tizen.org/privilege/xxxx");
582         privilege_name_list = g_list_append(privilege_name_list, "http://tizen.org/privilege/alarm.xxxx");
583         privilege_name_list = g_list_append(privilege_name_list, "http://tizen.org/privilege/account.xxx");
584
585         ret = privilege_info_get_privilege_info_list("ko_KR.UTF8", privilege_name_list, &privilege_info_list, &return_result);
586         __check_privilege_info_get_privilege_info(PRVINFO_ERROR_NONE, ret, privilege_info_list, return_result);
587         g_list_free(privilege_name_list);
588         privilege_name_list = NULL;
589         privilege_info_free_privilege_info_list(privilege_info_list);
590         privilege_info_list = NULL;
591         printf("-----------------------------------------------------------\n");
592 }
593
594 int main()
595 {
596         __change_color_to_origin();
597         __test_positive_privilege_info_get_display_name();
598         __test_negative_privilege_info_get_display_name();
599
600         __change_color_to_origin();
601         __test_positive_privilege_info_get_display_name_by_pkgtype();
602         __test_negative_privilege_info_get_display_name_by_pkgtype();
603
604         __change_color_to_origin();
605         __test_positive_privilege_info_get_description();
606         __test_negative_privilege_info_get_description();
607
608         __change_color_to_origin();
609         __test_positive_privilege_info_get_description_by_pkgtype();
610         __test_negative_privilege_info_get_description_by_pkgtype();
611
612         __change_color_to_origin();
613         __test_positive_privilege_info_get_privacy_display_name();
614         __test_negative_privilege_info_get_privacy_display_name();
615
616         __change_color_to_origin();
617         __test_positive_privilege_info_get_privilege_info_list();
618         __test_negative_privilege_info_get_privilege_info_list();
619
620         __change_color_to_green();
621         printf("Test Complete\n");
622         printf("success : %d, ", success_cnt);
623         __change_color_to_red();
624         printf("fail : %d\n", fail_cnt);
625         __change_color_to_origin();
626
627         return 0;
628 }