[ITC][privilege-info][ACR-1341][Added API to get privilege info as list] 05/200305/4
authorPriya Kohli <priya.kohli@samsung.com>
Thu, 21 Feb 2019 09:16:29 +0000 (14:46 +0530)
committerNibha Sharma <nibha.sharma@samsung.com>
Tue, 26 Feb 2019 11:38:57 +0000 (11:38 +0000)
Change-Id: If1e1c178a31a8c4b8a3bba0a68e7d97e101018a4
Signed-off-by: Priya Kohli <priya.kohli@samsung.com>
src/itc/privilege-info/ITs-privilege-info.c
src/itc/privilege-info/tct-privilege-info-native_mobile.h
src/itc/privilege-info/tct-privilege-info-native_tizeniot.h
src/itc/privilege-info/tct-privilege-info-native_wearable.h

index 805d9204dc719b1c8fb38243f9be0ca093ccf650..dc5dccb82280ea5cce5f0a69ae8ade6c8538e1f6 100755 (executable)
 
 const static char *pszApiVersion  = "2.3";
 const static char *pszPrivilege = "http://tizen.org/privilege/account.read";
+const static char *pszMediaPrivilege = "http://tizen.org/privilege/mediastorage";
 static char arrPkgTypes[][100] = {"PRVINFO_PACKAGE_TYPE_NATIVE", "PRVINFO_PACKAGE_TYPE_WEB"};
 #define PRIVACY_FEATURE "http://tizen.org/feature/security.privacy_privilege"
-       
+
 void ITs_privilege_info_startup(void)
 {
        g_bIsPrivilegeInfoInitialized = true;
-        g_bIsPrivilegePrivacyFeature = true;
-       struct stat stBuff;   
+       g_bIsPrivilegePrivacyFeature = true;
+       struct stat stBuff;
        if ( stat(ERR_LOG, &stBuff) == 0 )
        {
                remove(ERR_LOG);
@@ -217,11 +218,53 @@ int ITc_privilege_info_get_privacy_display_name_p(void)
                FPRINTF("[Line : %d][%s] display name of the privacy group is not set\\n", __LINE__, API_NAMESPACE);
                return 1;
        }
-       
+
        FREE_MEMORY(pPrivacy_name);
 
        return 0;
 }
 
+//& purpose:  Gets privilege info list with valid locale and privilege names and frees it.
+//& type: auto
+/**
+* @testcase                            ITc_privilege_info_get_free_privilege_info_list_p
+* @since                               5.5
+* @author                              SRID(priya.kohli)
+* @reviewer                            SRID(manoj.g2)
+* @type                                        auto
+* @scenario                            Gets privilege info list with valid locale and privilege names and frees it.
+* @apicovered                  privilege_info_get_privilege_info_list, privilege_info_free_privilege_info_list
+* @passcase                            When privilege_info_get_privilege_info_list & privilege_info_free_privilege_info_list api returns 0
+* @failcase                            If privilege_info_get_privilege_info_list or privilege_info_free_privilege_info_list api returns non zero value
+* @precondition                        Parameter list should have been allocated
+* @postcondition               Free allocated Parameter list
+*/
+int ITc_privilege_info_get_free_privilege_info_list_p(void)
+{
+       START_TEST;
+
+       int nRet = -1;
+       int nResult = -1;
+       GList* privilege_name_list = NULL;
+       GList* privilege_info_list = NULL;
+       const char* pszLocale = "ko_KR.UTF8";
+
+       privilege_name_list = g_list_append(privilege_name_list, pszPrivilege);
+       privilege_name_list = g_list_append(privilege_name_list, pszMediaPrivilege);
+
+       nRet = privilege_info_get_privilege_info_list(pszLocale, privilege_name_list, &privilege_info_list, &nResult);
+       PRINT_RESULT_CLEANUP(PRVINFO_ERROR_NONE, nRet, "privilege_info_get_privilege_info_list", PrivilegeinfoGetError(nRet), g_list_free(privilege_name_list));
+
+       CHECK_HANDLE(privilege_info_list, " privilege_info_get_privilege_info_list");
+       PRINT_RESULT_CLEANUP(PRIVILEGE_CONSUMER_RETURN_CODE_SUCCESS, nResult, "privilege_info_get_privilege_info_list", PrivilegeinfoGetError(nRet), g_list_free(privilege_name_list); privilege_info_free_privilege_info_list(privilege_info_list));
+
+       g_list_free(privilege_name_list);
+
+       nRet = privilege_info_free_privilege_info_list(privilege_info_list);
+       PRINT_RESULT(PRVINFO_ERROR_NONE, nRet, "privilege_info_free_privilege_info_list", PrivilegeinfoGetError(nRet));
+
+       return 0;
+}
+
 /** @} */
 /** @} */
index 51b07606aece5d7c4431f49f5e645691d29840c4..79cbe5baddcee3d1a846b0b1cb84d8fe15e0fec0 100755 (executable)
@@ -27,6 +27,7 @@ extern int ITc_privilege_info_get_description_by_pkgtype_p(void);
 extern int ITc_privilege_info_get_display_name_p(void);
 extern int ITc_privilege_info_get_display_name_by_pkgtype_p(void);
 extern int ITc_privilege_info_get_privacy_display_name_p(void);
+extern int ITc_privilege_info_get_free_privilege_info_list_p(void);
 
 testcase tc_array[] = {
        {"ITc_privilege_info_get_description_p",ITc_privilege_info_get_description_p,ITs_privilege_info_startup,ITs_privilege_info_cleanup},
@@ -34,6 +35,7 @@ testcase tc_array[] = {
        {"ITc_privilege_info_get_display_name_p",ITc_privilege_info_get_display_name_p,ITs_privilege_info_startup,ITs_privilege_info_cleanup},
        {"ITc_privilege_info_get_display_name_by_pkgtype_p",ITc_privilege_info_get_display_name_by_pkgtype_p,ITs_privilege_info_startup,ITs_privilege_info_cleanup},
        {"ITc_privilege_info_get_privacy_display_name_p",ITc_privilege_info_get_privacy_display_name_p,ITs_privilege_info_startup,ITs_privilege_info_cleanup},
+       {"ITc_privilege_info_get_free_privilege_info_list_p",ITc_privilege_info_get_free_privilege_info_list_p,ITs_privilege_info_startup,ITs_privilege_info_cleanup},
        {NULL, NULL}
 };
 
index 51b07606aece5d7c4431f49f5e645691d29840c4..79cbe5baddcee3d1a846b0b1cb84d8fe15e0fec0 100755 (executable)
@@ -27,6 +27,7 @@ extern int ITc_privilege_info_get_description_by_pkgtype_p(void);
 extern int ITc_privilege_info_get_display_name_p(void);
 extern int ITc_privilege_info_get_display_name_by_pkgtype_p(void);
 extern int ITc_privilege_info_get_privacy_display_name_p(void);
+extern int ITc_privilege_info_get_free_privilege_info_list_p(void);
 
 testcase tc_array[] = {
        {"ITc_privilege_info_get_description_p",ITc_privilege_info_get_description_p,ITs_privilege_info_startup,ITs_privilege_info_cleanup},
@@ -34,6 +35,7 @@ testcase tc_array[] = {
        {"ITc_privilege_info_get_display_name_p",ITc_privilege_info_get_display_name_p,ITs_privilege_info_startup,ITs_privilege_info_cleanup},
        {"ITc_privilege_info_get_display_name_by_pkgtype_p",ITc_privilege_info_get_display_name_by_pkgtype_p,ITs_privilege_info_startup,ITs_privilege_info_cleanup},
        {"ITc_privilege_info_get_privacy_display_name_p",ITc_privilege_info_get_privacy_display_name_p,ITs_privilege_info_startup,ITs_privilege_info_cleanup},
+       {"ITc_privilege_info_get_free_privilege_info_list_p",ITc_privilege_info_get_free_privilege_info_list_p,ITs_privilege_info_startup,ITs_privilege_info_cleanup},
        {NULL, NULL}
 };
 
index 51b07606aece5d7c4431f49f5e645691d29840c4..79cbe5baddcee3d1a846b0b1cb84d8fe15e0fec0 100755 (executable)
@@ -27,6 +27,7 @@ extern int ITc_privilege_info_get_description_by_pkgtype_p(void);
 extern int ITc_privilege_info_get_display_name_p(void);
 extern int ITc_privilege_info_get_display_name_by_pkgtype_p(void);
 extern int ITc_privilege_info_get_privacy_display_name_p(void);
+extern int ITc_privilege_info_get_free_privilege_info_list_p(void);
 
 testcase tc_array[] = {
        {"ITc_privilege_info_get_description_p",ITc_privilege_info_get_description_p,ITs_privilege_info_startup,ITs_privilege_info_cleanup},
@@ -34,6 +35,7 @@ testcase tc_array[] = {
        {"ITc_privilege_info_get_display_name_p",ITc_privilege_info_get_display_name_p,ITs_privilege_info_startup,ITs_privilege_info_cleanup},
        {"ITc_privilege_info_get_display_name_by_pkgtype_p",ITc_privilege_info_get_display_name_by_pkgtype_p,ITs_privilege_info_startup,ITs_privilege_info_cleanup},
        {"ITc_privilege_info_get_privacy_display_name_p",ITc_privilege_info_get_privacy_display_name_p,ITs_privilege_info_startup,ITs_privilege_info_cleanup},
+       {"ITc_privilege_info_get_free_privilege_info_list_p",ITc_privilege_info_get_free_privilege_info_list_p,ITs_privilege_info_startup,ITs_privilege_info_cleanup},
        {NULL, NULL}
 };