af3a3fd9120bb84d452a1c306ab31aff45ecaf9b
[platform/core/security/privilege-checker.git] / test / tc-privilege-db-manager.c
1 #include <stdio.h>
2 #include <stdlib.h>
3 #include <string.h>
4 #include <privilege_db_manager.h>
5 #include <tc-common.h>
6
7 static void __free_privilege_list(GList * privilege_list)
8 {
9         GList *l = NULL;
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);
14         }
15 }
16
17
18 void __test_privilege_db_manager_get_privilege_list()
19 {
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");
26                 fail_cnt++;
27                 return;
28         }
29
30         GList *l = NULL;
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);
35         }
36         __free_privilege_list(privilege_list);
37
38         printf_green("test success\n");
39         success_cnt++;
40 }
41
42 void __print_mapped_privilege_list(int ret, GList* mapped_privilege_list)
43 {
44         GList *l = NULL;
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);
49                 }
50                 success_cnt++;
51         } else
52                 fail_cnt++;
53
54         printf("test result = %s\n", __get_result_string('d', ret));
55 }
56
57 void __test_privilege_db_manager_get_mapped_privilege_list()
58 {
59         GList *privilege_list = NULL;
60         GList *mapped_privilege_list = NULL;
61         int ret;
62
63         __print_line();
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);
70
71         g_list_free(privilege_list);
72         privilege_list = NULL;
73         g_list_free(mapped_privilege_list);
74         mapped_privilege_list = NULL;
75
76         __print_line();
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);
83
84         g_list_free(privilege_list);
85         privilege_list = NULL;
86         g_list_free(mapped_privilege_list);
87         mapped_privilege_list = NULL;
88
89         __print_line();
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);
98
99         g_list_free(privilege_list);
100         privilege_list = NULL;
101         g_list_free(mapped_privilege_list);
102         mapped_privilege_list = NULL;
103
104         __print_line();
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);
111
112         g_list_free(privilege_list);
113         privilege_list = NULL;
114         g_list_free(mapped_privilege_list);
115         mapped_privilege_list = NULL;
116
117         __print_line();
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);
124
125         g_list_free(privilege_list);
126         privilege_list = NULL;
127         g_list_free(mapped_privilege_list);
128         mapped_privilege_list = NULL;
129
130         __print_line();
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);
137
138         g_list_free(privilege_list);
139         privilege_list = NULL;
140         g_list_free(mapped_privilege_list);
141         mapped_privilege_list = NULL;
142
143         __print_line();
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);
156
157         g_list_free(privilege_list);
158         g_list_free(mapped_privilege_list);
159
160         printf_green("test success\n");
161         success_cnt++;
162 }
163
164 void __check_get_privilege_display_result(privilege_db_manager_error_e expected_result, privilege_db_manager_error_e result, char *privilege_display)
165 {
166         printf("expected result = %s, result = %s\n", __get_result_string('d', expected_result), __get_result_string('d', result));
167
168         if (expected_result != result) {
169                 printf("not matched\n");
170                 printf_red("test fail\n");
171                 fail_cnt++;
172         } else {
173                 printf("matched\n");
174
175                 if (privilege_display == NULL)
176                         printf("privilege_display = NULL\n");
177                 else
178                         printf("privilege_display = %s\n", privilege_display);
179
180                 printf_green("test success\n");
181                 success_cnt++;
182         }
183 }
184
185 void __test_privilege_db_manager_get_privilege_display()
186 {
187         int ret;
188
189         char *privilege_display = NULL;
190         if (_get_tizen_profile() == TIZEN_PROFILE_MOBILE) {
191                 __print_line();
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);
198         }
199         __print_line();
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);
207
208         __print_line();
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);
215
216         __print_line();
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);
225
226         __print_line();
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);
234
235         __print_line();
236
237 }
238
239 void __check_get_privilege_description_result(privilege_db_manager_error_e expected_result, privilege_db_manager_error_e result, char *privilege_description)
240 {
241         printf("expected result = %s, result = %s\n", __get_result_string('d', expected_result), __get_result_string('d', result));
242
243         if (expected_result != result) {
244                 printf("not matched\n");
245                 printf_red("test fail\n");
246                 fail_cnt++;
247         } else {
248                 printf("matched\n");
249
250                 if (privilege_description == NULL)
251                         printf("privilege_description = NULL\n");
252                 else
253                         printf("privilege_description = %s\n", privilege_description);
254
255                 printf_green("test success\n");
256                 success_cnt++;
257         }
258 }
259
260 void __test_privilege_db_manager_get_privilege_description()
261 {
262         int ret;
263         char *privilege_description = NULL;
264         if (_get_tizen_profile() == TIZEN_PROFILE_MOBILE) {
265                 __print_line();
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);
271
272                 if (privilege_description != NULL) {
273                         free(privilege_description);
274                         privilege_description = NULL;
275                 }
276         }
277         __print_line();
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);
283
284         if (privilege_description != NULL) {
285                 free(privilege_description);
286                 privilege_description = NULL;
287         }
288
289         __print_line();
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);
294
295         if (privilege_description != NULL) {
296                 free(privilege_description);
297                 privilege_description = NULL;
298         }
299
300         __print_line();
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);
307
308         if (privilege_description != NULL) {
309                 free(privilege_description);
310                 privilege_description = NULL;
311         }
312
313         __print_line();
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);
319         __print_line();
320
321         free(privilege_description);
322
323 }
324
325 void __test_privilege_db_manager_get_privacy_by_privilege()
326 {
327         int ret = 0;
328         int privacy_id = 100;
329         char* privacy_name = NULL;
330
331         __print_line();
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) {
338                 success_cnt++;
339                 printf_green("success\n");
340         } else {
341                 fail_cnt++;
342                 printf_red("fail\n");
343         }
344
345         free(privacy_name);
346         privacy_name = NULL;
347
348         __print_line();
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) {
355                 success_cnt++;
356                 printf_green("success\n");
357         } else {
358                 fail_cnt++;
359                 printf_red("fail\n");
360         }
361         free(privacy_name);
362         privacy_name = NULL;
363
364         __print_line();
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) {
371                 success_cnt++;
372                 printf_green("success\n");
373         } else {
374                 fail_cnt++;
375                 printf_red("fail\n");
376         }
377         free(privacy_name);
378         privacy_name = NULL;
379 }
380
381 void __test_privilege_db_manager_is_privacy_white_list()
382 {
383         int ret = 0;
384
385         __print_line();
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);
391         if (ret == 1) {
392                 success_cnt++;
393                 printf_green("success\n");
394         } else {
395                 fail_cnt++;
396                 printf_red("fail\n");
397         }
398
399         __print_line();
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)) {
406                 success_cnt++;
407                 printf_green("success\n");
408         } else {
409                 fail_cnt++;
410                 printf_red("fail\n");
411         }
412
413         __print_line();
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);
419         if (ret == 1) {
420                 success_cnt++;
421                 printf_green("success\n");
422         } else {
423                 fail_cnt++;
424                 printf_red("fail\n");
425         }
426
427         __print_line();
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)) {
434                 success_cnt++;
435                 printf_green("success\n");
436         } else {
437                 fail_cnt++;
438                 printf_red("fail\n");
439         }
440
441 }
442
443 void __test_privilege_db_manager_get_privacy_id()
444 {
445         int ret = 0;
446         int privacy_id = 100;
447
448         __print_line();
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) {
452                 success_cnt++;
453                 printf_green("success\n");
454         } else {
455                 fail_cnt++;
456                 printf_red("fail\n");
457         }
458
459         __print_line();
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) {
463                 success_cnt++;
464                 printf_green("success\n");
465         } else {
466                 fail_cnt++;
467                 printf_red("fail\n");
468         }
469         __print_line();
470 }
471
472 void __test_privilege_db_manager_is_user_settable()
473 {
474         int ret = 0;
475
476         __print_line();
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);
482         if (ret == 0) {
483                 success_cnt++;
484                 printf_green("success\n");
485         } else {
486                 fail_cnt++;
487                 printf_red("fail\n");
488         }
489
490         __print_line();
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);
496         if (ret == 1) {
497                 success_cnt++;
498                 printf_green("success\n");
499         } else {
500                 fail_cnt++;
501                 printf_red("fail\n");
502         }
503
504         __print_line();
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);
510         if (ret == 1) {
511                 success_cnt++;
512                 printf_green("success\n");
513         } else {
514                 fail_cnt++;
515                 printf_red("fail\n");
516         }
517
518         __print_line();
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) {
525                 success_cnt++;
526                 printf_green("success\n");
527         } else {
528                 fail_cnt++;
529                 printf_red("fail\n");
530         }
531
532         __print_line();
533 }
534
535 void __test_privilege_db_manager_get_same_privacy_grouped_privileges()
536 {
537         int ret = 0;
538         GList *privilege_list = NULL;
539
540         __print_line();
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);
543
544         if (ENABLE_ASKUSER) {
545                 printf("privacy = account\n");
546                 if (ret == PRIVILEGE_DB_MANAGER_ERR_NONE && privilege_list != NULL) {
547                         success_cnt++;
548                         printf_green("success\n");
549                 } else {
550                         fail_cnt++;
551                         printf_red("failed. ret = %s\n", __get_result_string('m', ret));
552                 }
553         } else {
554                 printf("not privacy\n");
555                 if (ret == PRIVILEGE_DB_MANAGER_ERR_NO_EXIST_RESULT && privilege_list == NULL) {
556                         success_cnt++;
557                         printf_green("success\n");
558                 } else {
559                         fail_cnt++;
560                         printf_red("failed. ret = %s\n", __get_result_string('d', ret));
561                 }
562         }
563
564         if (privilege_list != NULL) {
565                 __print_glist(privilege_list);
566                 g_list_free_full(privilege_list, free);
567                 privilege_list = NULL;
568         }
569
570         __print_line();
571         printf("privilege = http://tizen.org/privilege/internet\n");
572         printf("not privacy\n");
573
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) {
576                 success_cnt++;
577                 printf_green("success\n");
578         } else {
579                 fail_cnt++;
580                 printf_red("failed. internet privilege is not privacy. ret = %s\n", __get_result_string('d', ret));
581         }
582
583         if (privilege_list != NULL) {
584                 __print_glist(privilege_list);
585                 g_list_free_full(privilege_list, free);
586                 privilege_list = NULL;
587         }
588         __print_line();
589         printf("privilege = http://tizen.org/privilege/internal/buxton/message.read\n");
590         printf("not privacy\n");
591
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) {
594                 success_cnt++;
595                 printf_green("success\n");
596         } else {
597                 fail_cnt++;
598                 printf_red("failed. internal/buxton/message.read privilege is not privacy. ret = %s\n", __get_result_string('d', ret));
599         }
600
601         if (privilege_list != NULL) {
602                 __print_glist(privilege_list);
603                 g_list_free_full(privilege_list, free);
604         }
605 }
606
607 int main()
608 {
609         __tcinfo(function, "privilege_db_manager_get_privilege_list");
610         __test_privilege_db_manager_get_privilege_list();
611
612         __tcinfo(function, "privilege_db_manager_get_mapped_privilege_list");
613         __test_privilege_db_manager_get_mapped_privilege_list();
614
615         __tcinfo(function, "privilege_db_manager_get_privilege_display");
616         __test_privilege_db_manager_get_privilege_display();
617
618         __tcinfo(function, "privilege_db_manager_get_privilege_description");
619         __test_privilege_db_manager_get_privilege_description();
620
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();
623
624         __tcinfo(function, "privilege_db_manager_is_privacy_white_list");
625         __test_privilege_db_manager_is_privacy_white_list();
626
627         __tcinfo(function, "privilege_db_manager_get_privacy_id");
628         __test_privilege_db_manager_get_privacy_id();
629
630         __tcinfo(function, "privilege_db_manager_is_user_settable");
631         __test_privilege_db_manager_is_user_settable();
632
633         __tcinfo(function, "privilege_db_manager_get_same_privacy_grouped_privileges");
634         __test_privilege_db_manager_get_same_privacy_grouped_privileges();
635
636         printf_green("Test Complete\n");
637         printf_green("success : %d, ", success_cnt);
638         printf_red("fail : %d\n", fail_cnt);
639
640         return 0;
641 }