[ITC][package-manager][ACR-1443][Add new API for getting dependency info from given... 05/214305/2
authormanoj <manoj.g2@samsung.com>
Fri, 20 Sep 2019 05:55:23 +0000 (11:25 +0530)
committershobhit verma <shobhit.v@samsung.com>
Fri, 20 Sep 2019 08:08:04 +0000 (08:08 +0000)
Change-Id: Ia9beaeda2bd8621d49eafdfbb4e4699505f8fa93
Signed-off-by: manoj <manoj.g2@samsung.com>
src/itc/package-manager/ITs-package-manager-info.c
src/itc/package-manager/tct-package-manager-native_mobile.h
src/itc/package-manager/tct-package-manager-native_tizeniot.h
src/itc/package-manager/tct-package-manager-native_wearable.h

index c79a9b17142374ea6ea12827c1c0b5e4c3443605..365cb4be7a1b78a2b0a41537ddb23813be54966e 100755 (executable)
@@ -169,6 +169,8 @@ static bool PackageManagerPackageInfoUpdateInfoCB(package_updateinfo_h hPkgUpdat
        }
        return false;
 }
+
+
 /**
 * @function            PackageInfoDependencyInfoCB
 * @description         Callback function which retrieves dependency information of package
@@ -1711,5 +1713,54 @@ int ITc_package_info_foreach_dependency_info_depends_on_p(void)
 
        return 0;
 }
+
+//& purpose: Retrieves direct dependencoes of a given package.
+//& type: auto
+/**
+* @testcase                    ITc_package_archive_info_foreach_direct_dependency_p
+* @since_tizen                         5.5
+* @author                      SRID(manoj.g2)
+* @reviewer                    SRID(shobhit.v)
+* @type                                auto
+* @description                 Retrieves direct dependencoes of a given package.
+* @scenario                    Retrieves direct dependencoes of a given package.
+* @apicovered                  package_archive_info_foreach_direct_dependency
+* @precondition                        get package info handler from ppackage_archive_info_foreach_direct_dependency.
+* @postcondition                       NA
+* @passcase                    If all the pre conditions are met and package_archive_info_foreach_direct_dependency is successful
+* @failcase                    If API fails to complete the scenario cycle in pass case
+*/
+int ITc_package_archive_info_foreach_direct_dependency_p(void)
+{
+       START_TEST;
+
+       int nRet = -1;
+       int nTimeoutId = 0;
+       const char tpkName[] = "org.example.sampletpk.tpk";
+       char *pszResPath = NULL;
+       char pszPath[128] ={};
+       package_archive_info_h hArchiveInfoHandle = NULL;
+
+       pszResPath = app_get_shared_resource_path();
+       CHECK_HANDLE(pszResPath, "app_get_shared_resource_path");
+
+       snprintf(pszPath, sizeof(pszPath), "%s/%s", pszResPath, tpkName);
+       FREE_MEMORY(pszResPath);
+
+       nRet = package_archive_info_create(pszPath, &hArchiveInfoHandle);
+       PRINT_RESULT(PACKAGE_MANAGER_ERROR_NONE, nRet, "package_archive_info_create", PackageManagerGetError(nRet));
+       CHECK_HANDLE(hArchiveInfoHandle, "apackage_archive_info_create");
+
+       nRet = package_archive_info_foreach_direct_dependency(hArchiveInfoHandle, PackageInfoDependencyInfoCB, NULL);
+       PRINT_RESULT_CLEANUP(PACKAGE_MANAGER_ERROR_NONE, nRet, " package_archive_info_foreach_direct_dependency", PackageManagerGetError(nRet),package_archive_info_destroy(hArchiveInfoHandle));
+       RUN_POLLING_LOOP;
+
+       PRINT_RESULT_CLEANUP(true, g_bCallbackHit, "package_archive_info_foreach_direct_dependency", "callback not invoked", package_archive_info_destroy(hArchiveInfoHandle));
+
+       nRet = package_archive_info_destroy(hArchiveInfoHandle);
+       PRINT_RESULT_NORETURN(PACKAGE_MANAGER_ERROR_NONE, nRet, "package_archive_info_destroy", PackageManagerGetError(nRet));
+
+       return 0;
+}
 /** @} */
 /** @} */
index 92316f0739b3b43037129a04a8c88f7d0ce2e2be..5b12c0846ae46a712bbb4e51b048de5d28ae4f20 100755 (executable)
@@ -84,6 +84,7 @@ extern int ITc_package_manager_updateinfo_set_version_p(void);
 extern int ITc_package_manager_updateinfo_set_type_p(void);
 extern int ITc_package_info_foreach_dependency_info_p(void);
 extern int ITc_package_info_foreach_dependency_info_depends_on_p(void);
+extern int ITc_package_archive_info_foreach_direct_dependency_p(void);
 
 testcase tc_array[] = {
        {"ITc_package_manager_filter_foreach_package_info_p", ITc_package_manager_filter_foreach_package_info_p, ITs_package_manager_startup, ITs_package_manager_cleanup},
@@ -146,6 +147,7 @@ testcase tc_array[] = {
        {"ITc_package_manager_updateinfo_set_type_p", ITc_package_manager_updateinfo_set_type_p, ITs_package_manager_info_startup, ITs_package_manager_info_cleanup},
        {"ITc_package_info_foreach_dependency_info_p", ITc_package_info_foreach_dependency_info_p, ITs_package_manager_info_startup, ITs_package_manager_info_cleanup},
        {"ITc_package_info_foreach_dependency_info_depends_on_p", ITc_package_info_foreach_dependency_info_depends_on_p, ITs_package_manager_info_startup, ITs_package_manager_info_cleanup},
+       {"ITc_package_archive_info_foreach_direct_dependency_p", ITc_package_archive_info_foreach_direct_dependency_p, ITs_package_manager_info_startup, ITs_package_manager_info_cleanup},
        {NULL, NULL}
 };
 
index 92316f0739b3b43037129a04a8c88f7d0ce2e2be..5b12c0846ae46a712bbb4e51b048de5d28ae4f20 100755 (executable)
@@ -84,6 +84,7 @@ extern int ITc_package_manager_updateinfo_set_version_p(void);
 extern int ITc_package_manager_updateinfo_set_type_p(void);
 extern int ITc_package_info_foreach_dependency_info_p(void);
 extern int ITc_package_info_foreach_dependency_info_depends_on_p(void);
+extern int ITc_package_archive_info_foreach_direct_dependency_p(void);
 
 testcase tc_array[] = {
        {"ITc_package_manager_filter_foreach_package_info_p", ITc_package_manager_filter_foreach_package_info_p, ITs_package_manager_startup, ITs_package_manager_cleanup},
@@ -146,6 +147,7 @@ testcase tc_array[] = {
        {"ITc_package_manager_updateinfo_set_type_p", ITc_package_manager_updateinfo_set_type_p, ITs_package_manager_info_startup, ITs_package_manager_info_cleanup},
        {"ITc_package_info_foreach_dependency_info_p", ITc_package_info_foreach_dependency_info_p, ITs_package_manager_info_startup, ITs_package_manager_info_cleanup},
        {"ITc_package_info_foreach_dependency_info_depends_on_p", ITc_package_info_foreach_dependency_info_depends_on_p, ITs_package_manager_info_startup, ITs_package_manager_info_cleanup},
+       {"ITc_package_archive_info_foreach_direct_dependency_p", ITc_package_archive_info_foreach_direct_dependency_p, ITs_package_manager_info_startup, ITs_package_manager_info_cleanup},
        {NULL, NULL}
 };
 
index 9c69e11d92b085d794571e32652cd216a558e54d..9ca60e596ddfb1315df5dee2284a8a33775ad1f3 100755 (executable)
@@ -84,6 +84,7 @@ extern int ITc_package_manager_updateinfo_set_version_p(void);
 extern int ITc_package_manager_updateinfo_set_type_p(void);
 extern int ITc_package_info_foreach_dependency_info_p(void);
 extern int ITc_package_info_foreach_dependency_info_depends_on_p(void);
+extern int ITc_package_archive_info_foreach_direct_dependency_p(void);
 
 
 testcase tc_array[] = {
@@ -148,6 +149,7 @@ testcase tc_array[] = {
        {"ITc_package_manager_updateinfo_set_type_p", ITc_package_manager_updateinfo_set_type_p, ITs_package_manager_info_startup, ITs_package_manager_info_cleanup},
        {"ITc_package_info_foreach_dependency_info_p", ITc_package_info_foreach_dependency_info_p, ITs_package_manager_info_startup, ITs_package_manager_info_cleanup},
        {"ITc_package_info_foreach_dependency_info_depends_on_p", ITc_package_info_foreach_dependency_info_depends_on_p, ITs_package_manager_info_startup, ITs_package_manager_info_cleanup},
+       {"ITc_package_archive_info_foreach_direct_dependency_p", ITc_package_archive_info_foreach_direct_dependency_p, ITs_package_manager_info_startup, ITs_package_manager_info_cleanup},
        {NULL, NULL}
 };