From: manoj Date: Mon, 7 Oct 2019 05:30:17 +0000 (+0530) Subject: [ITC][capi-ui-sticker][ACR-1423][Add new module capi-ui-sticker testcase] X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=b9a2b411da32e875f9457f5c66861570d336380c;p=test%2Ftct%2Fnative%2Fapi.git [ITC][capi-ui-sticker][ACR-1423][Add new module capi-ui-sticker testcase] Change-Id: Id9604f35981e59c949d5bf2f9b72890e2ce602a4 Signed-off-by: manoj --- diff --git a/packaging/itc/native-capi-ui-sticker-itc.spec b/packaging/itc/native-capi-ui-sticker-itc.spec new file mode 100755 index 000000000..4adc3b6f2 --- /dev/null +++ b/packaging/itc/native-capi-ui-sticker-itc.spec @@ -0,0 +1,80 @@ +%define MODULE_NAME capi-ui-sticker +%define MODULE_LIBNAME capi-ui-sticker +Name: native-%{MODULE_NAME}-itc +Summary: Native API Integration TC (%{name}) +Version: 0.1 +Release: 0 +Group: Development/Tools +License: Apache-2.0 +Source0: %{name}-%{version}.tar.gz +BuildRequires: pkgconfig(%{MODULE_LIBNAME}) +BuildRequires: pkgconfig(capi-appfw-application) +BuildRequires: pkgconfig(elementary) +BuildRequires: pkgconfig(dlog) +BuildRequires: pkgconfig(libsystemd-journal) +BuildRequires: pkgconfig(glib-2.0) +BuildRequires: cmake +BuildRequires: pkgconfig(bundle) +BuildRequires: pkgconfig(capi-system-info) + +%description +Native API Integration TC (%{name}) + +%prep +%setup -q + +%build + +%define PREFIX "%{_libdir}/%{name}" + +export LDFLAGS+="-Wl,--rpath=%{PREFIX} -Wl,--as-needed" + +%if %{?ASAN_BUILD:1}0 + %if %{?DEVICE_BUILD_TYPE_MOBILE:1}0 + cmake . -DMODULE="%{MODULE_NAME}" -DBUILDTCTYPE="itc" -DDEVICE_BUILD_TYPE="mobile" -DASANBUILD="true" -DCMAKE_INSTALL_PREFIX=%{_prefix} + %endif + %if %{?DEVICE_BUILD_TYPE_WEARABLE:1}0 + cmake . -DMODULE="%{MODULE_NAME}" -DBUILDTCTYPE="itc" -DDEVICE_BUILD_TYPE="wearable" -DASANBUILD="true" -DCMAKE_INSTALL_PREFIX=%{_prefix} + %endif + %if %{?DEVICE_BUILD_TYPE_TV:1}0 + cmake . -DMODULE="%{MODULE_NAME}" -DBUILDTCTYPE="itc" -DDEVICE_BUILD_TYPE="tv" -DASANBUILD="true" -DCMAKE_INSTALL_PREFIX=%{_prefix} + %endif + %if %{?DEVICE_BUILD_TYPE_TIZENIOT:1}0 + cmake . -DMODULE="%{MODULE_NAME}" -DBUILDTCTYPE="itc" -DDEVICE_BUILD_TYPE="tizeniot" -DASANBUILD="true" -DCMAKE_INSTALL_PREFIX=%{_prefix} + %endif +%else + %if %{?DEVICE_BUILD_TYPE_MOBILE:1}0 + cmake . -DMODULE="%{MODULE_NAME}" -DBUILDTCTYPE="itc" -DDEVICE_BUILD_TYPE="mobile" -DASANBUILD="false" -DCMAKE_INSTALL_PREFIX=%{_prefix} + %endif + %if %{?DEVICE_BUILD_TYPE_WEARABLE:1}0 + cmake . -DMODULE="%{MODULE_NAME}" -DBUILDTCTYPE="itc" -DDEVICE_BUILD_TYPE="wearable" -DASANBUILD="false" -DCMAKE_INSTALL_PREFIX=%{_prefix} + %endif + %if %{?DEVICE_BUILD_TYPE_TV:1}0 + cmake . -DMODULE="%{MODULE_NAME}" -DBUILDTCTYPE="itc" -DDEVICE_BUILD_TYPE="tv" -DASANBUILD="false" -DCMAKE_INSTALL_PREFIX=%{_prefix} + %endif + %if %{?DEVICE_BUILD_TYPE_TIZENIOT:1}0 + cmake . -DMODULE="%{MODULE_NAME}" -DBUILDTCTYPE="itc" -DDEVICE_BUILD_TYPE="tizeniot" -DASANBUILD="false" -DCMAKE_INSTALL_PREFIX=%{_prefix} + %endif +%endif + +make %{?jobs:-j%jobs} + +%install +rm -rf %{buildroot} +%make_install +mkdir -p %{buildroot}/usr/share/license +cp LICENSE %{buildroot}/usr/share/license/%{name} + +mkdir -p %{buildroot}/usr/share/packages/ +cp packaging/itc/native-%{MODULE_NAME}-itc.xml %{buildroot}/usr/share/packages/ +mkdir -p %{buildroot}%{APP_PATH}%{name}/bin +#cp templates/external_wrapper.sh %{buildroot}%{APP_PATH}%{name}/bin +%post + +%postun + + +%files +%{APP_PATH}%{name}/* +/usr/share/packages/native-%{MODULE_NAME}-itc.xml +/usr/share/license/%{name} diff --git a/packaging/itc/native-capi-ui-sticker-itc.xml b/packaging/itc/native-capi-ui-sticker-itc.xml new file mode 100755 index 000000000..89054e647 --- /dev/null +++ b/packaging/itc/native-capi-ui-sticker-itc.xml @@ -0,0 +1,17 @@ + + + + test + Native API test Application + + + + + + + + + + http://tizen.org/privilege/mediastorage + + diff --git a/src/itc/capi-ui-sticker/CMakeLists.txt b/src/itc/capi-ui-sticker/CMakeLists.txt new file mode 100644 index 000000000..239b1e5ce --- /dev/null +++ b/src/itc/capi-ui-sticker/CMakeLists.txt @@ -0,0 +1,42 @@ +SET(PKG_NAME "capi-ui-sticker") + +SET(EXEC_NAME "tct-${PKG_NAME}-native") +SET(RPM_NAME "native-${PKG_NAME}-itc") + +SET(CAPI_LIB "capi-ui-sticker") +SET(TC_SOURCES + ITs-capi-ui-sticker-common.c + ITs-capi-ui-sticker.c + ITs-capi-ui-sticker-provider.c + ITs-capi-ui-sticker-consumer.c +) + +PKG_CHECK_MODULES(${CAPI_LIB} REQUIRED + ${CAPI_LIB} + capi-appfw-application + libsystemd-journal + bundle + glib-2.0 + capi-system-info +) + +INCLUDE_DIRECTORIES( + ${${CAPI_LIB}_INCLUDE_DIRS} +) + +ADD_EXECUTABLE(${EXEC_NAME} ${EXEC_NAME}.c ${TC_SOURCES} ${COMMON_FILE}) +TARGET_LINK_LIBRARIES(${EXEC_NAME} + ${${CAPI_LIB}_LIBRARIES} +) + +INSTALL(PROGRAMS ${EXEC_NAME} + DESTINATION ${BIN_DIR}/${RPM_NAME}/bin +) + +IF( DEFINED ASAN ) +SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC -Wall -pie -g -fsanitize=address -fsanitize-recover=address -U_FORTIFY_SOURCE -fno-omit-frame-pointer") +SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -Wl,--rpath=/usr/lib -Wl,-fsanitize=address") +ELSE() +SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O0 -g -fPIE -Wall") +SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -Wl,--rpath=/usr/lib -pie") +ENDIF() diff --git a/src/itc/capi-ui-sticker/ITs-capi-ui-sticker-common.c b/src/itc/capi-ui-sticker/ITs-capi-ui-sticker-common.c new file mode 100644 index 000000000..59fb89a02 --- /dev/null +++ b/src/itc/capi-ui-sticker/ITs-capi-ui-sticker-common.c @@ -0,0 +1,68 @@ +// +// Copyright (c) 2019 Samsung Electronics Co., Ltd. +// +// Licensed under the Apache License, Version 2.0 (the License); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +#include "ITs-capi-ui-sticker-common.h" + +/** @addtogroup itc-capi-ui-sticker +* @ingroup itc +* @{ +*/ + +//Add helper function definitions here + +/** +* @function Timeout +* @description Called if some callback is not invoked for a particular timeout +* @parameter gpointer data +* @return gboolean +*/ +gboolean Timeout(gpointer data) +{ + GMainLoop *pMainLoop = NULL; + pMainLoop = (GMainLoop *)data; + if ( pMainLoop != NULL ) + { + g_main_loop_quit(pMainLoop); + } + + FPRINTF("[Line : %d][%s] Callback Timeout\\n", __LINE__, API_NAMESPACE); + return false; +} + +/** +* @function StickerGetError +* @description Maps sticker_error_e enums +* @parameter error : error level +* @return error string +*/ + +char* StickerGetError(int nRet) +{ + char *szErrorVal = NULL; + switch ( nRet ) + { + case STICKER_ERROR_NONE: szErrorVal = "STICKER_ERROR_NONE"; break; + case STICKER_ERROR_INVALID_PARAMETER: szErrorVal = "STICKER_ERROR_INVALID_PARAMETER"; break; + case STICKER_ERROR_OPERATION_FAILED: szErrorVal = "STICKER_ERROR_OPERATION_FAILED"; break; + case STICKER_ERROR_OUT_OF_MEMORY: szErrorVal = "STICKER_ERROR_OUT_OF_MEMORY"; break; + case STICKER_ERROR_NOT_SUPPORTED: szErrorVal = "STICKER_ERROR_NOT_SUPPORTED"; break; + case STICKER_ERROR_PERMISSION_DENIED: szErrorVal = "STICKER_ERROR_PERMISSION_DENIED"; break; + } + + return szErrorVal; +} + + +/** @} */ diff --git a/src/itc/capi-ui-sticker/ITs-capi-ui-sticker-common.h b/src/itc/capi-ui-sticker/ITs-capi-ui-sticker-common.h new file mode 100644 index 000000000..0d16f2690 --- /dev/null +++ b/src/itc/capi-ui-sticker/ITs-capi-ui-sticker-common.h @@ -0,0 +1,106 @@ +// +// Copyright (c) 2019 Samsung Electronics Co., Ltd. +// +// Licensed under the Apache License, Version 2.0 (the License); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +#ifndef _ITS_CAPI_UI_STICKER_COMMON_H_ +#define _ITS_CAPI_UI_STICKER_COMMON_H_ + +//Add test package related includes here +#include "tct_common.h" +#include +#include +#include +#include /* GStatBuf */ +#include +#include +#include +#include +#include +#include + + +/** @addtogroup itc-capi-ui-sticker +* @ingroup itc +* @{ +*/ + +bool g_bStickerCreation; +bool g_bIsFeatureMismatched; +bool g_bFeatureIsSupported; +bool g_bCallbackHit; +GMainLoop *g_pStickerMainLoop; + + +char* StickerGetError(int nRet); +gboolean Timeout(gpointer data); + + +#define API_NAMESPACE "CAPI_UI_STICKER_ITC" +#define MAXENUMSIZE 50 +#define SETENUM 1 +#define GETENUM 0 +#define TIMEOUT_CB 10000 + +#define FEATURE_STICKER "http://tizen.org/feature/ui_service.sticker" + +#define START_TEST {\ + FPRINTF("[Line:%d][%s] Starting test check initialize : %s\\n", __LINE__, API_NAMESPACE, __FUNCTION__);\ + dlog_print(DLOG_INFO, "NativeTCT", "[Line:%d][%s] Starting test check initialize : %s", __LINE__, API_NAMESPACE, __FUNCTION__);\ + if ( g_bIsFeatureMismatched ) {\ + FPRINTF("[Line:%d][%s] Feature Mismatch Error\\n", __LINE__, API_NAMESPACE);\ + dlog_print(DLOG_ERROR, "NativeTCT", "[Line:%d][%s] Feature Mismatch Error", __LINE__, API_NAMESPACE);\ + return 1;\ + }\ + if ( !g_bFeatureIsSupported) {\ + FPRINTF("[Line : %d][%s] Feature Unsupported\\n", __LINE__, API_NAMESPACE);\ + dlog_print(DLOG_ERROR, "NativeTCT", "[Line:%d][%s] Feature Unsupported", __LINE__, API_NAMESPACE);\ + return 0;\ + }\ + if ( !g_bStickerCreation ) {\ + FPRINTF("[Line:%d][%s] Precondition Failed\\n", __LINE__, API_NAMESPACE);\ + dlog_print(DLOG_ERROR,"NativeTCT", "[Line:%d][%s] Precondition Failed", __LINE__, API_NAMESPACE);\ + return 1;\ + }\ +} + +#define CHECK_HANDLE_CLEANUP(Handle, API, FreeResource) {\ + if ( Handle == NULL )\ + {\ + FPRINTF("[Line : %d][%s] %s failed, error returned = Handle returned is NULL\\n", __LINE__, API_NAMESPACE, API);\ + FreeResource;\ + return 1;\ + }\ +} + +#define RUN_POLLING_LOOP {\ + g_pStickerMainLoop = g_main_loop_new(NULL, false);\ + nTimeoutId = g_timeout_add(TIMEOUT_CB, Timeout, g_pStickerMainLoop);\ + g_main_loop_run(g_pStickerMainLoop);\ + g_source_remove(nTimeoutId);\ + g_pStickerMainLoop = NULL;\ +} + +#define QUIT_GMAIN_LOOP { \ + if (g_pStickerMainLoop) { \ + g_main_loop_quit(g_pStickerMainLoop); \ + g_pStickerMainLoop = NULL; \ + } \ +} + +sticker_provider_h g_hStickerProviderHandle; +sticker_data_h g_hStickerDataHandle; +sticker_consumer_h g_hStickerConsumerHandle; + +#endif //_ITS_CAPI_UI_STICKER_COMMON_H_ +/** @} */ diff --git a/src/itc/capi-ui-sticker/ITs-capi-ui-sticker-consumer.c b/src/itc/capi-ui-sticker/ITs-capi-ui-sticker-consumer.c new file mode 100644 index 000000000..9183c8ec7 --- /dev/null +++ b/src/itc/capi-ui-sticker/ITs-capi-ui-sticker-consumer.c @@ -0,0 +1,399 @@ +// +// Copyright (c) 2019 Samsung Electronics Co., Ltd. +// +// Licensed under the Apache License, Version 2.0 (the License); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +#include "ITs-capi-ui-sticker-common.h" + +/** @addtogroup itc-capi-ui-sticker + * @ingroup itc + * @{ + */ + +//& set: capi-ui-sticker + +/** + * @function StickerDataConsumerForeachCallback + * @description A sticker consumer callback for foreach all + */ +static void StickerDataConsumerForeachCallback(sticker_data_h data_handle, void *user_data) +{ + FPRINTF("[Line : %d][%s] Inside callback StickerDataConsumerForeachCallback\\n", __LINE__, API_NAMESPACE); + g_bCallbackHit = true; +} + +/** + * @function StickerConsumerGroupListCallback + * @description A sticker consumer callback for group list + */ +static void StickerConsumerGroupListCallback(const char *group, void *user_data) +{ + g_bCallbackHit = true; + FPRINTF("[Line : %d][%s] Inside callback StickerConsumerGroupListCallback\\n", __LINE__, API_NAMESPACE); +} + + +/** + * @function StickerConsumerKeywordListCallback + * @description A sticker consumer callback for keyword list + */ +static void StickerConsumerKeywordListCallback(const char *keyword, void *user_data) +{ + g_bCallbackHit = true; + FPRINTF("[Line : %d][%s] Inside callback StickerConsumerKeywordListCallback\\n", __LINE__, API_NAMESPACE); +} + +/** + * @function ITs_capi_ui_sticker_consumer_startup + * @description Called before each test, set the service boolean true + * @parameter NA + * @return NA + */ +void ITs_capi_ui_sticker_consumer_startup(void) +{ + int nRet =-1; + struct stat buf; + if ( stat(ERR_LOG, &buf) == 0) + { + remove(ERR_LOG); + } +#if DEBUG + FPRINTF("[Line : %d][%s] TEST SUIT start-up: ITs_capi_ui_sticker_consumer_startup\\n", __LINE__, API_NAMESPACE); +#endif + g_bIsFeatureMismatched = false; + g_bStickerCreation = false; + g_bFeatureIsSupported = TCTCheckSystemInfoFeatureSupported(FEATURE_STICKER, API_NAMESPACE); + + nRet = sticker_consumer_create(&g_hStickerConsumerHandle); + if(!g_bFeatureIsSupported) + { + if ( nRet != TIZEN_ERROR_NOT_SUPPORTED ) + { + FPRINTF("[%s:%d] sticker_consumer_create failed to return TIZEN_ERROR_NOT_SUPPORTED for unsupported feature, error returned = (%d)\\n", __FILE__, __LINE__,nRet); + dlog_print(DLOG_ERROR, "NativeTCT", "[%s:%d] sticker_consumer_create failed to return TIZEN_ERROR_NOT_SUPPORTED for unsupported feature, error returned = (%d)", __FILE__, __LINE__, nRet); + g_bIsFeatureMismatched = true; + return; + } + + FPRINTF("[%s:%d] sticker_consumer_create is unsupported\\n", __FILE__, __LINE__); + dlog_print(DLOG_ERROR, "NativeTCT", "[%s:%d] sticker_consumer_create is unsupported", __FILE__, __LINE__); + g_bIsFeatureMismatched = false; + } + else if ( nRet != STICKER_ERROR_NONE ) + { + FPRINTF("[%s:%d] sticker_consumer_create failed, error returned =(%d)\\n", __FILE__, __LINE__, nRet); + dlog_print(DLOG_ERROR, "NativeTCT", "[%s:%d]sticker_consumer_create failed, error returned = (%d)", __FILE__, __LINE__, nRet); + g_bStickerCreation = false; + } + else + { + g_bStickerCreation = true; + } + nRet = sticker_provider_create(&g_hStickerProviderHandle); + if ( nRet != STICKER_ERROR_NONE ) + { + FPRINTF("[%s:%d] sticker_provider_create failed, error returned =(%d)\\n", __FILE__, __LINE__, nRet); + g_bStickerCreation = false; + } + nRet = sticker_data_create(&g_hStickerDataHandle); + if ( nRet != STICKER_ERROR_NONE ) + { + FPRINTF("[%s:%d] sticker_data_create failed, error returned =(%d)\\n", __FILE__, __LINE__, nRet); + g_bStickerCreation = false; + } + return; + +} + +/** + * @function ITs_capi_ui_sticker_consumer_cleanup + * @description Called after each test + * @parameter NA + * @return NA + */ +void ITs_capi_ui_sticker_consumer_cleanup(void) +{ + int nRet = -1; +#if DEBUG + FPRINTF("[Line : %d][%s] TEST SUIT clean-up: ITs_capi_ui_sticker_consumer_cleanup\\n", __LINE__, API_NAMESPACE); +#endif + if (g_hStickerConsumerHandle) { + nRet = sticker_consumer_destroy(g_hStickerConsumerHandle); + if(nRet !=0) + { + FPRINTF("sticker_consumer_destroy failed\\n"); + dlog_print(DLOG_ERROR, "NativeTCT", "sticker_consumer_destroy failed"); + } + g_hStickerConsumerHandle = NULL; + } + if (g_hStickerProviderHandle) { + nRet = sticker_provider_destroy (g_hStickerProviderHandle); + if(nRet !=0) + { + FPRINTF("sticker_provider_destroy failed\\n"); + dlog_print(DLOG_ERROR, "NativeTCT", "sticker_provider_destroy failed"); + } + g_hStickerProviderHandle = NULL; + } + if (g_hStickerDataHandle) { + nRet = sticker_data_destroy (g_hStickerDataHandle); + if(nRet !=0) + { + FPRINTF("sticker_data_destroy failed\\n"); + dlog_print(DLOG_ERROR, "NativeTCT", "sticker_data_destroy failed"); + } + g_hStickerDataHandle = NULL; + + } +} + +/** + * @testcase ITc_capi_ui_sticker_data_sticker_consumer_create_destroy_p + * @since_tizen 5.5 + * @author SRID(manoj.g2) + * @reviewer SRID(shobhit.v) + * @type auto + * @description Create and Destroy sticker consumer handle + * @scenario Create and Destroy sticker consumer handle + * @apicovered sticker_consumer_create,sticker_consumer_destroy + * @passcase When sticker_consumer_create,sticker_consumer_destroy and Precondition APi's are successful. + * @failcase If target API fails or any precondition API fails + * @precondition None + * @postcondition None + */ +//& purpose: API to Check for Create and Destroy sticker consumer handle +//& type: auto +int ITc_capi_ui_sticker_data_sticker_consumer_create_destroy_p(void) +{ + START_TEST; + int nRet = -1; + sticker_consumer_h hStickerConsumerHandle = NULL; + + nRet = sticker_consumer_create(&hStickerConsumerHandle); + PRINT_RESULT(STICKER_ERROR_NONE, nRet, "sticker_consumer_create", StickerGetError(nRet)); + CHECK_HANDLE(hStickerConsumerHandle, "sticker_consumer_create"); + + nRet = sticker_consumer_destroy(hStickerConsumerHandle); + PRINT_RESULT(STICKER_ERROR_NONE, nRet, "sticker_consumer_destroy", StickerGetError(nRet)); + + return 0; +} + +/** + * @testcase ITc_capi_ui_sticker_data_sticker_consumer_data_foreach_all_p + * @since_tizen 5.5 + * @author SRID(manoj.g2) + * @reviewer SRID(shobhit.v) + * @type auto + * @description Foreach for all sticker data consumer handle + * @scenario Foreach for all sticker data consumer handle + * @apicovered sticker_provider_data_foreach_all + * @passcase When sticker_consumer_data_foreach_all and Precondition APi's are successful. + * @failcase If target API fails or any precondition API fails + * @precondition None + * @postcondition None + */ +//& purpose: API to Check for Foreach for all sticker data consumer handle +int ITc_capi_ui_sticker_data_sticker_consumer_data_foreach_all_p(void) +{ + START_TEST; + int nRet = -1; + int nResult = -1; + g_bCallbackHit = false; + + nRet = sticker_consumer_data_foreach_all(g_hStickerConsumerHandle, 0, 1000, &nResult, StickerDataConsumerForeachCallback, NULL); + PRINT_RESULT(STICKER_ERROR_NONE, nRet, "sticker_consumer_data_foreach_all", StickerGetError(nRet)); + + PRINT_RESULT(g_bCallbackHit, true, "callback not hit", StickerGetError(nRet)); + + if(nResult < 0) + { + FPRINTF("[%s:%d] nResult value is not valid\\n", __FILE__, __LINE__); + return 1; + } + + return 0; +} + +/** + * @testcase ITc_capi_ui_sticker_data_sticker_consumer_data_foreach_by_keyword_p + * @since_tizen 5.5 + * @author SRID(manoj.g2) + * @reviewer SRID(shobhit.v) + * @type auto + * @description Foreach for all sticker data consumer handle by keyword + * @scenario Foreach for all sticker data consumer handle by keyword + * @apicovered sticker_consumer_data_foreach_by_keyword + * @passcase When sticker_consumer_data_foreach_by_keyword and Precondition APi's are successful. + * @failcase If target API fails or any precondition API fails + * @precondition None + * @postcondition None + */ +//& purpose: API to Check for Foreach for all sticker data consumer handle by keyword +int ITc_capi_ui_sticker_data_sticker_consumer_data_foreach_by_keyword_p(void) +{ + START_TEST; + int nRet = -1; + int nResult = -1; + g_bCallbackHit = false; + + nRet = sticker_consumer_data_foreach_by_keyword(g_hStickerConsumerHandle, 0, 1000, &nResult, "cute", StickerDataConsumerForeachCallback, NULL); + PRINT_RESULT(STICKER_ERROR_NONE, nRet, "sticker_consumer_data_foreach_by_keyword", StickerGetError(nRet)); + + PRINT_RESULT(g_bCallbackHit, true, "callback not hit", StickerGetError(nRet)); + + if(nResult < 0) + { + FPRINTF("[%s:%d] nResult value is not valid\\n", __FILE__, __LINE__); + return 1; + } + + return 0; +} + +/** + * @testcase ITc_capi_ui_sticker_data_sticker_consumer_data_foreach_by_group_p + * @since_tizen 5.5 + * @author SRID(manoj.g2) + * @reviewer SRID(shobhit.v) + * @type auto + * @description Foreach for all sticker data consumer handle by group + * @scenario Foreach for all sticker data consumer handle by group + * @apicovered sticker_consumer_data_foreach_by_group + * @passcase When sticker_consumer_data_foreach_by_group and Precondition APi's are successful. + * @failcase If target API fails or any precondition API fails + * @precondition None + * @postcondition None + */ +//& purpose: API to Check for Foreach for all sticker data consumer handle by group +int ITc_capi_ui_sticker_data_sticker_consumer_data_foreach_by_group_p(void) +{ + START_TEST; + int nRet = -1; + int nResult = -1; + g_bCallbackHit = false; + + nRet = sticker_consumer_data_foreach_by_group(g_hStickerConsumerHandle, 0, 1000, &nResult, "tizen", StickerDataConsumerForeachCallback, NULL); + PRINT_RESULT(STICKER_ERROR_NONE, nRet, "sticker_consumer_data_foreach_by_group", StickerGetError(nRet)); + + PRINT_RESULT(g_bCallbackHit, true, "callback not hit", StickerGetError(nRet)); + + if(nResult < 0) + { + FPRINTF("[%s:%d] nResult value is not valid\\n", __FILE__, __LINE__); + return 1; + } + + return 0; +} + +/** + * @testcase ITc_capi_ui_sticker_data_sticker_consumer_data_foreach_by_type_p + * @since_tizen 5.5 + * @author SRID(manoj.g2) + * @reviewer SRID(shobhit.v) + * @type auto + * @description Foreach for all sticker data consumer handle by type + * @scenario Foreach for all sticker data consumer handle by type + * @apicovered sticker_consumer_data_foreach_by_type + * @passcase When sticker_consumer_data_foreach_by_type and Precondition APi's are successful. + * @failcase If target API fails or any precondition API fails + * @precondition None + * @postcondition None + */ +//& purpose: API to Check for Foreach for all sticker data consumer handle by type +int ITc_capi_ui_sticker_data_sticker_consumer_data_foreach_by_type_p(void) +{ + START_TEST; + int nRet = -1; + int nResult = -1; + g_bCallbackHit = false; + + nRet = sticker_consumer_data_foreach_by_type(g_hStickerConsumerHandle, 0, 1000, &nResult, STICKER_DATA_URI_WEB_RESOURCE, StickerDataConsumerForeachCallback, NULL); + PRINT_RESULT(STICKER_ERROR_NONE, nRet, "sticker_consumer_data_foreach_by_type", StickerGetError(nRet)); + + PRINT_RESULT(g_bCallbackHit, true, "callback not hit", StickerGetError(nRet)); + + if(nResult < 0) + { + FPRINTF("[%s:%d] nResult value is not valid\\n", __FILE__, __LINE__); + return 1; + } + + return 0; +} + +/** + * @testcase ITc_capi_ui_sticker_data_sticker_consumer_group_list_foreach_all_p + * @since_tizen 5.5 + * @author SRID(manoj.g2) + * @reviewer SRID(shobhit.v) + * @type auto + * @description Foreach for all sticker data consumer for a group list + * @scenario Foreach for all sticker data consumer for a group list + * @apicovered sticker_consumer_group_list_foreach_all + * @passcase When sticker_consumer_group_list_foreach_all and Precondition APi's are successful. + * @failcase If target API fails or any precondition API fails + * @precondition None + * @postcondition None + */ +//& purpose: API to Check for Foreach for all sticker data consumer for a group list +int ITc_capi_ui_sticker_data_sticker_consumer_group_list_foreach_all_p(void) +{ + START_TEST; + int nRet = -1; + int nResult = -1; + g_bCallbackHit = false; + + nRet = sticker_consumer_group_list_foreach_all(g_hStickerConsumerHandle, StickerConsumerGroupListCallback, NULL); + PRINT_RESULT(STICKER_ERROR_NONE, nRet, "sticker_consumer_group_list_foreach_all", StickerGetError(nRet)); + + PRINT_RESULT(g_bCallbackHit, true, "callback not hit", StickerGetError(nRet)); + + return 0; +} + + +/** + * @testcase ITc_capi_ui_sticker_data_sticker_consumer_keyword_list_foreach_all_p + * @since_tizen 5.5 + * @author SRID(manoj.g2) + * @reviewer SRID(shobhit.v) + * @type auto + * @description Foreach for all sticker data consumer for a keyword list + * @scenario Foreach for all sticker data consumer for a keyword list + * @apicovered sticker_consumer_keyword_list_foreach_all + * @passcase When sticker_consumer_keyword_list_foreach_all and Precondition APi's are successful. + * @failcase If target API fails or any precondition API fails + * @precondition None + * @postcondition None + */ +//& purpose: API to Check for Foreach for all sticker data consumer for a keyword list +int ITc_capi_ui_sticker_data_sticker_consumer_keyword_list_foreach_all_p(void) +{ + START_TEST; + int nRet = -1; + int nResult = -1; + g_bCallbackHit = false; + + nRet = sticker_consumer_keyword_list_foreach_all(g_hStickerConsumerHandle, StickerConsumerKeywordListCallback, NULL); + PRINT_RESULT(STICKER_ERROR_NONE, nRet, "sticker_consumer_keyword_list_foreach_all", StickerGetError(nRet)); + + PRINT_RESULT(g_bCallbackHit, true, "callback not hit", StickerGetError(nRet)); + + return 0; +} + + + diff --git a/src/itc/capi-ui-sticker/ITs-capi-ui-sticker-provider.c b/src/itc/capi-ui-sticker/ITs-capi-ui-sticker-provider.c new file mode 100644 index 000000000..fb546f021 --- /dev/null +++ b/src/itc/capi-ui-sticker/ITs-capi-ui-sticker-provider.c @@ -0,0 +1,404 @@ +// +// Copyright (c) 2019 Samsung Electronics Co., Ltd. +// +// Licensed under the Apache License, Version 2.0 (the License); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +#include "ITs-capi-ui-sticker-common.h" + +/** @addtogroup itc-capi-ui-sticker + * @ingroup itc + * @{ + */ + +//& set: capi-ui-sticker + +/** + * @function StickerDataProviderForeachCallback + * @description A sticker provider callback for iforeach all + */ +static void StickerDataProviderForeachCallback(sticker_data_h data_handle, void *user_data) +{ + FPRINTF("[Line : %d][%s] Inside callback StickerDataProviderForeachCallback\\n", __LINE__, API_NAMESPACE); + g_bCallbackHit = true; +} + +/** + * @function StickerProviderInsertFinishedCallback + * @description A sticker provider callback for insert finished + */ +static void StickerProviderInsertFinishedCallback(sticker_error_e error, void *user_data) +{ + g_bCallbackHit = true; + FPRINTF("[Line : %d][%s] Inside callback StickerProviderInsertFinishedCallback\\n", __LINE__, API_NAMESPACE); + QUIT_GMAIN_LOOP; +} + +/** + * @function ITs_capi_ui_sticker_provider_startup + * @description Called before each test, set the service boolean true + * @parameter NA + * @return NA + */ +void ITs_capi_ui_sticker_provider_startup(void) +{ + int nRet =-1; + struct stat buf; + if ( stat(ERR_LOG, &buf) == 0) + { + remove(ERR_LOG); + } +#if DEBUG + FPRINTF("[Line : %d][%s] TEST SUIT start-up: ITs_capi_ui_sticker_provider_startup\\n", __LINE__, API_NAMESPACE); +#endif + g_bIsFeatureMismatched = false; + g_bStickerCreation = false; + g_bFeatureIsSupported = TCTCheckSystemInfoFeatureSupported(FEATURE_STICKER, API_NAMESPACE); + + nRet = sticker_provider_create(&g_hStickerProviderHandle); + if(!g_bFeatureIsSupported) + { + if ( nRet != TIZEN_ERROR_NOT_SUPPORTED ) + { + FPRINTF("[%s:%d] sticker_provider_create failed to return TIZEN_ERROR_NOT_SUPPORTED for unsupported feature, error returned = (%d)\\n", __FILE__, __LINE__,nRet); + dlog_print(DLOG_ERROR, "NativeTCT", "[%s:%d] sticker_provider_create failed to return TIZEN_ERROR_NOT_SUPPORTED for unsupported feature, error returned = (%d)", __FILE__, __LINE__, nRet); + g_bIsFeatureMismatched = true; + return; + } + + FPRINTF("[%s:%d] sticker_provider_create is unsupported\\n", __FILE__, __LINE__); + dlog_print(DLOG_ERROR, "NativeTCT", "[%s:%d] sticker_provider_create is unsupported", __FILE__, __LINE__); + g_bIsFeatureMismatched = false; + } + else if ( nRet != STICKER_ERROR_NONE ) + { + FPRINTF("[%s:%d] sticker_provider_create failed, error returned =(%d)\\n", __FILE__, __LINE__, nRet); + dlog_print(DLOG_ERROR, "NativeTCT", "[%s:%d]sticker_provider_create failed, error returned = (%d)", __FILE__, __LINE__, nRet); + g_bStickerCreation = false; + } + else + { + g_bStickerCreation = true; + } + nRet = sticker_data_create(&g_hStickerDataHandle); + if ( nRet != STICKER_ERROR_NONE ) + { + FPRINTF("[%s:%d] sticker_date_create failed, error returned =(%d)\\n", __FILE__, __LINE__, nRet); + g_bStickerCreation = false; + } + nRet = sticker_data_set_uri(g_hStickerDataHandle, STICKER_DATA_URI_WEB_RESOURCE, "www.samsung.com"); + if ( nRet != STICKER_ERROR_NONE ) + { + FPRINTF("[%s:%d] sticker_data_set_uri failed, error returned =(%d)\\n", __FILE__, __LINE__, nRet); + g_bStickerCreation = false; + } + nRet = sticker_data_add_keyword(g_hStickerDataHandle, "smile"); + if ( nRet != STICKER_ERROR_NONE ) + { + FPRINTF("[%s:%d] sticker_data_add_keyword failed, error returned =(%d)\\n", __FILE__, __LINE__, nRet); + g_bStickerCreation = false; + } + nRet = sticker_data_add_keyword(g_hStickerDataHandle, "face"); + if ( nRet != STICKER_ERROR_NONE ) + { + FPRINTF("[%s:%d] sticker_data_add_keyword failed, error returned =(%d)\\n", __FILE__, __LINE__, nRet); + g_bStickerCreation = false; + } + nRet = sticker_data_add_keyword(g_hStickerDataHandle, "cute"); + if ( nRet != STICKER_ERROR_NONE ) + { + FPRINTF("[%s:%d] sticker_data_add_keyword failed, error returned =(%d)\\n", __FILE__, __LINE__, nRet); + g_bStickerCreation = false; + } + nRet = sticker_data_set_group_name(g_hStickerDataHandle, "tizen"); + if ( nRet != STICKER_ERROR_NONE ) + { + FPRINTF("[%s:%d] sticker_data_set_group_name failed, error returned =(%d)\\n", __FILE__, __LINE__, nRet); + g_bStickerCreation = false; + } + nRet = sticker_data_set_thumbnail(g_hStickerDataHandle, "/res/test.png"); + if ( nRet != STICKER_ERROR_NONE ) + { + FPRINTF("[%s:%d] sticker_data_set_thumbnail failed, error returned =(%d)\\n", __FILE__, __LINE__, nRet); + g_bStickerCreation = false; + } + nRet = sticker_data_set_description(g_hStickerDataHandle, "TCT Test"); + if ( nRet != STICKER_ERROR_NONE ) + { + FPRINTF("[%s:%d] sticker_data_set_description failed, error returned =(%d)\\n", __FILE__, __LINE__, nRet); + g_bStickerCreation = false; + } + return; + +} + +/** + * @function ITs_capi_ui_sticker_provider_cleanup + * @description Called after each test + * @parameter NA + * @return NA + */ +void ITs_capi_ui_sticker_provider_cleanup(void) +{ + int nRet = -1; +#if DEBUG + FPRINTF("[Line : %d][%s] TEST SUIT clean-up: ITs_capi_ui_sticker_provider_cleanup\\n", __LINE__, API_NAMESPACE); +#endif + if (g_hStickerProviderHandle) { + nRet = sticker_provider_destroy (g_hStickerProviderHandle); + if(nRet !=0) + { + FPRINTF("sticker_provider_destroy failed\\n"); + dlog_print(DLOG_ERROR, "NativeTCT", "sticker_provider_destroy failed"); + } + g_hStickerProviderHandle = NULL; + } + if (g_hStickerDataHandle) { + nRet = sticker_data_destroy (g_hStickerDataHandle); + if(nRet !=0) + { + FPRINTF("sticker_data_destroy failed\\n"); + dlog_print(DLOG_ERROR, "NativeTCT", "sticker_data_destroy failed"); + } + g_hStickerDataHandle = NULL; + + } +} + +/** + * @testcase ITc_capi_ui_sticker_data_sticker_provider_create_destroy_p + * @since_tizen 5.5 + * @author SRID(manoj.g2) + * @reviewer SRID(shobhit.v) + * @type auto + * @description Create and Destroy sticker provider handle + * @scenario Create and Destroy sticker provider handle + * @apicovered sticker_provider_create,sticker_provider_destroy + * @passcase When sticker_provider_create,sticker_provider_destroy and Precondition API's are successful. + * @failcase If target API fails or any precondition API fails + * @precondition None + * @postcondition None + */ +//& purpose: API to Check for Create and Destroy sticker provider handle +//& type: auto +int ITc_capi_ui_sticker_data_sticker_provider_create_destroy_p(void) +{ + START_TEST; + int nRet = -1; + sticker_provider_h hStickerProviderHandle = NULL; + + nRet = sticker_provider_create(&hStickerProviderHandle); + PRINT_RESULT(STICKER_ERROR_NONE, nRet, "sticker_provider_create", StickerGetError(nRet)); + CHECK_HANDLE(hStickerProviderHandle, "sticker_provider_create"); + + nRet = sticker_provider_destroy(hStickerProviderHandle); + PRINT_RESULT(STICKER_ERROR_NONE, nRet, "sticker_provider_destroy", StickerGetError(nRet)); + + return 0; +} + +/** + * @testcase ITc_capi_ui_sticker_data_sticker_provider_insert_data_p + * @since_tizen 5.5 + * @author SRID(manoj.g2) + * @reviewer SRID(shobhit.v) + * @type auto + * @description Insert Data for sticker provider handle + * @scenario Insert Data for sticker provider handle + * @apicovered sticker_provider_insert_data + * @passcase When sticker_provider_insert_data and Precondition API's are successful. + * @failcase If target API fails or any precondition API fails + * @precondition None + * @postcondition None + */ +//& purpose: API to Check for Insert Data for sticker provider handle +//& type: auto +int ITc_capi_ui_sticker_data_sticker_provider_insert_data_p(void) +{ + START_TEST; + int nRet = -1; + + nRet = sticker_provider_insert_data(g_hStickerProviderHandle, g_hStickerDataHandle); + PRINT_RESULT(STICKER_ERROR_NONE, nRet, "sticker_provider_insert_data", StickerGetError(nRet)); + + return 0; +} + +/** + * @testcase ITc_capi_ui_sticker_data_sticker_provider_insert_data_by_json_file_p + * @since_tizen 5.5 + * @author SRID(manoj.g2) + * @reviewer SRID(shobhit.v) + * @type auto + * @description Insert Data by json file for sticker provider handle + * @scenario Insert Data by json file for sticker provider handle + * @apicovered sticker_provider_insert_data_by_json_file + * @passcase When sticker_provider_insert_data_by_json_file and Precondition API's are successful. + * @failcase If target API fails or any precondition API fails + * @precondition None + * @postcondition None + */ +//& purpose: API to Check for Insert Data by json file for sticker provider handle +//& type: auto +int ITc_capi_ui_sticker_data_sticker_provider_insert_data_by_json_file_p(void) +{ + START_TEST; + int nRet = -1; + char *pszJsonPath = "/res/test.json"; + g_bCallbackHit = false; + int nTimeoutId = 0; + + nRet = sticker_provider_insert_data_by_json_file(g_hStickerProviderHandle, pszJsonPath, StickerProviderInsertFinishedCallback, NULL); + PRINT_RESULT(STICKER_ERROR_NONE, nRet, "sticker_provider_insert_data_by_json_file", StickerGetError(nRet)); + + RUN_POLLING_LOOP; + PRINT_RESULT(g_bCallbackHit, true, "callback not hit", StickerGetError(nRet)); + + return 0; +} + +/** + * @testcase ITc_capi_ui_sticker_data_sticker_provider_update_data_p + * @since_tizen 5.5 + * @author SRID(manoj.g2) + * @reviewer SRID(shobhit.v) + * @type auto + * @description Update Data for sticker provider handle + * @scenario Update Data for sticker provider handle + * @apicovered sticker_provider_update_data + * @passcase When sticker_provider_update_data and Precondition API's are successful. + * @failcase If target API fails or any precondition API fails + * @precondition None + * @postcondition None + */ +//& purpose: API to Check for Update Data for sticker provider handle +//& type: auto +int ITc_capi_ui_sticker_data_sticker_provider_update_data_p(void) +{ + START_TEST; + int nRet = -1; + + nRet = sticker_provider_insert_data(g_hStickerProviderHandle, g_hStickerDataHandle); + PRINT_RESULT(STICKER_ERROR_NONE, nRet, "sticker_provider_insert_data", StickerGetError(nRet)); + + nRet = sticker_data_set_group_name( g_hStickerDataHandle, "Samsung"); + PRINT_RESULT(STICKER_ERROR_NONE, nRet, "sticker_data_set_group_name", StickerGetError(nRet)); + + nRet = sticker_provider_update_data(g_hStickerProviderHandle, g_hStickerDataHandle); + PRINT_RESULT(STICKER_ERROR_NONE, nRet, "sticker_provider_update_data", StickerGetError(nRet)); + + return 0; +} + +/** + * @testcase ITc_capi_ui_sticker_data_sticker_provider_delete_data_p + * @since_tizen 5.5 + * @author SRID(manoj.g2) + * @reviewer SRID(shobhit.v) + * @type auto + * @description Delete Data for sticker provider handle + * @scenario Delete Data for sticker provider handle + * @apicovered sticker_provider_delete_data + * @passcase When sticker_provider_delete_data and Precondition API's are successful. + * @failcase If target API fails or any precondition API fails + * @precondition None + * @postcondition None + */ +//& purpose: API to Check for delete Data for sticker provider handle +//& type: auto +int ITc_capi_ui_sticker_data_sticker_provider_delete_data_p(void) +{ + START_TEST; + int nRet = -1; + + nRet = sticker_provider_insert_data(g_hStickerProviderHandle, g_hStickerDataHandle); + PRINT_RESULT(STICKER_ERROR_NONE, nRet, "sticker_provider_insert_data", StickerGetError(nRet)); + + nRet = sticker_provider_delete_data(g_hStickerProviderHandle, g_hStickerDataHandle); + PRINT_RESULT(STICKER_ERROR_NONE, nRet, "sticker_provider_delete_data", StickerGetError(nRet)); + + return 0; +} + +/** + * @testcase ITc_capi_ui_sticker_data_sticker_provider_get_sticker_count_p + * @since_tizen 5.5 + * @author SRID(manoj.g2) + * @reviewer SRID(shobhit.v) + * @type auto + * @description Get Sticker count from sticker data provider handle + * @scenario Get Sticker count from sticker data provider handle + * @apicovered sticker_provider_get_sticker_count + * @passcase When sticker_provider_get_sticker_count and Precondition API's are successful. + * @failcase If target API fails or any precondition API fails + * @precondition None + * @postcondition None + */ +//& purpose: API to Check for Get Sticker count from sticker data provider handle +int ITc_capi_ui_sticker_data_sticker_provider_get_sticker_count_p(void) +{ + START_TEST; + int nRet = -1; + int nStickerCount = -1; + + nRet = sticker_provider_get_sticker_count(g_hStickerProviderHandle, &nStickerCount); + PRINT_RESULT(STICKER_ERROR_NONE, nRet, "sticker_provider_get_sticker_count", StickerGetError(nRet)); + + if(nStickerCount < 0) + { + FPRINTF("[%s:%d] nStickerCount value is not valid\\n", __FILE__, __LINE__); + return 1; + } + + return 0; +} + +/** + * @testcase ITc_capi_ui_sticker_data_sticker_provider_data_foreach_all_p + * @since_tizen 5.5 + * @author SRID(manoj.g2) + * @reviewer SRID(shobhit.v) + * @type auto + * @description Foreach for all srticker data provider handle + * @scenario Foreach for all srticker data provider handle + * @apicovered sticker_provider_data_foreach_all + * @passcase When sticker_provider_data_foreach_all and Precondition API's are successful. + * @failcase If target API fails or any precondition API fails + * @precondition None + * @postcondition None + */ +//& purpose: API to Check for Foreach for all sticker data provider handle +int ITc_capi_ui_sticker_data_sticker_provider_data_foreach_all_p(void) +{ + START_TEST; + int nRet = -1; + int nResult = -1; + g_bCallbackHit = false; + + nRet = sticker_provider_insert_data(g_hStickerProviderHandle, g_hStickerDataHandle); + PRINT_RESULT(STICKER_ERROR_NONE, nRet, "sticker_provider_insert_data", StickerGetError(nRet)); + + nRet = sticker_provider_data_foreach_all(g_hStickerProviderHandle, 0, 1000, &nResult, StickerDataProviderForeachCallback, NULL); + PRINT_RESULT(STICKER_ERROR_NONE, nRet, "sticker_provider_data_foreach_all", StickerGetError(nRet)); + + PRINT_RESULT(g_bCallbackHit, true, "callback not hit", StickerGetError(nRet)); + + if(nResult < 0) + { + FPRINTF("[%s:%d] nResult value is not valid\\n", __FILE__, __LINE__); + return 1; + } + + return 0; +} + diff --git a/src/itc/capi-ui-sticker/ITs-capi-ui-sticker.c b/src/itc/capi-ui-sticker/ITs-capi-ui-sticker.c new file mode 100644 index 000000000..dca45324d --- /dev/null +++ b/src/itc/capi-ui-sticker/ITs-capi-ui-sticker.c @@ -0,0 +1,460 @@ +// +// Copyright (c) 2019 Samsung Electronics Co., Ltd. +// +// Licensed under the Apache License, Version 2.0 (the License); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +#include "ITs-capi-ui-sticker-common.h" + +/** @addtogroup itc-capi-ui-sticker +* @ingroup itc +* @{ +*/ + +//& set: capi-ui-sticker + +/** + * @function StickerDataForeachKeywordCallback + * @description A sticker data foreach callback for keyword + */ + +static void StickerDataForeachKeywordCallback(const char *keyword, void *user_data) +{ + FPRINTF("[Line : %d][%s] Inside callback StickerDataForeachKeywordCallback\\n", __LINE__, API_NAMESPACE); + g_bCallbackHit = true; +} + +/** +* @function ITs_capi_ui_sticker_data_startup +* @description Called before each test, set the service boolean true +* @parameter NA +* @return NA +*/ +void ITs_capi_ui_sticker_data_startup(void) +{ + int nRet =-1; + struct stat buf; + if ( stat(ERR_LOG, &buf) == 0) + { + remove(ERR_LOG); + } +#if DEBUG + FPRINTF("[Line : %d][%s] TEST SUIT start-up: ITs_capi_ui_sticker_data_startup\\n", __LINE__, API_NAMESPACE); +#endif + g_bIsFeatureMismatched = false; + g_bStickerCreation = false; + g_bFeatureIsSupported = TCTCheckSystemInfoFeatureSupported(FEATURE_STICKER, API_NAMESPACE); + + nRet = sticker_data_create(&g_hStickerDataHandle); + if(!g_bFeatureIsSupported) + { + if ( nRet != TIZEN_ERROR_NOT_SUPPORTED ) + { + FPRINTF("[%s:%d] sticker_data_create failed to return TIZEN_ERROR_NOT_SUPPORTED for unsupported feature, error returned = (%d)\\n", __FILE__, __LINE__,nRet); + dlog_print(DLOG_ERROR, "NativeTCT", "[%s:%d] sticker_data_create failed to return TIZEN_ERROR_NOT_SUPPORTED for unsupported feature, error returned = (%d)", __FILE__, __LINE__, nRet); + g_bIsFeatureMismatched = true; + return; + } + + FPRINTF("[%s:%d] sticker_data_create is unsupported\\n", __FILE__, __LINE__); + dlog_print(DLOG_ERROR, "NativeTCT", "[%s:%d] sticker_data_create is unsupported", __FILE__, __LINE__); + g_bIsFeatureMismatched = false; + } + else if ( nRet != STICKER_ERROR_NONE ) + { + FPRINTF("[%s:%d] sticker_data_create failed, error returned =(%d)\\n", __FILE__, __LINE__, nRet); + dlog_print(DLOG_ERROR, "NativeTCT", "[%s:%d]sticker_data_create failed, error returned = (%d)", __FILE__, __LINE__, nRet); + g_bStickerCreation = false; + } + else + { + g_bStickerCreation = true; + } + + return; + +} + +/** +* @function ITs_capi_ui_sticker_data_cleanup +* @description Called after each test +* @parameter NA +* @return NA +*/ +void ITs_capi_ui_sticker_data_cleanup(void) +{ +#if DEBUG + FPRINTF("[Line : %d][%s] TEST SUIT clean-up: ITs_capi_ui_sticker_data_cleanup\\n", __LINE__, API_NAMESPACE); +#endif + if (g_hStickerDataHandle) { + int nRet = sticker_data_destroy (g_hStickerDataHandle); + if(nRet !=0) + { + FPRINTF("sticker_data_destroy failed\\n"); + dlog_print(DLOG_ERROR, "NativeTCT", "sticker_data_destroy failed"); + } + g_hStickerDataHandle = NULL; + } +} + +/** +* @testcase ITc_capi_ui_sticker_data_sticker_data_create_destroy_p +* @since_tizen 5.5 +* @author SRID(manoj.g2) +* @reviewer SRID(shobhit.v) +* @type auto +* @description Create and Destroy sticker data handle +* @scenario Create and Destroy sticker data handle +* @apicovered sticker_data_create,sticker_data_destroy +* @passcase When sticker_data_create,sticker_data_destroy is successful. +* @failcase If target API fails or any precondition API fails +* @precondition None +* @postcondition None +*/ +//& purpose: API to Check for Create and Destroy sticker data handle +//& type: auto +int ITc_capi_ui_sticker_data_sticker_data_create_destroy_p(void) +{ + START_TEST; + int nRet = -1; + sticker_data_h hStickerDataHandle = NULL; + + nRet = sticker_data_create(&hStickerDataHandle); + PRINT_RESULT(STICKER_ERROR_NONE, nRet, "sticker_data_create", StickerGetError(nRet)); + CHECK_HANDLE(hStickerDataHandle, "sticker_data_create"); + + nRet = sticker_data_destroy(hStickerDataHandle); + PRINT_RESULT(STICKER_ERROR_NONE, nRet, "sticker_data_destroy", StickerGetError(nRet)); + + return 0; +} + +/** +* @testcase ITc_capi_ui_sticker_data_sticker_data_clone_p +* @since_tizen 5.5 +* @author SRID(manoj.g2) +* @reviewer SRID(shobhit.v) +* @type auto +* @description clone sticker data handle +* @scenario clone sticker data handle +* @apicovered sticker_data_clone +* @passcase When sticker_data_clone and Precondition API are successful. +* @failcase If target API fails or any precondition API fails +* @precondition None +* @postcondition None +*/ +//& purpose: API to Check for clone sticker data handle +//& type: auto +int ITc_capi_ui_sticker_data_sticker_data_clone_p(void) +{ + START_TEST; + int nRet = -1; + sticker_data_h hStickerCloneDataHandle = NULL; + + nRet = sticker_data_clone(g_hStickerDataHandle, &hStickerCloneDataHandle); + PRINT_RESULT(STICKER_ERROR_NONE, nRet, "sticker_data_clone", StickerGetError(nRet)); + CHECK_HANDLE(hStickerCloneDataHandle, "sticker_data_clone"); + + nRet = sticker_data_destroy(hStickerCloneDataHandle); + PRINT_RESULT_NORETURN(STICKER_ERROR_NONE, nRet, "sticker_data_destroy", StickerGetError(nRet)); + + return 0; +} + +/** +* @testcase ITc_capi_ui_sticker_data_sticker_data_get_app_id_p +* @since_tizen 5.5 +* @author SRID(manoj.g2) +* @reviewer SRID(shobhit.v) +* @type auto +* @description Get sticker data App ID +* @scenario Get sticker data App ID +* @apicovered sticker_data_get_app_id +* @passcase When sticker_data_get_app_id and Precondition API are successful. +* @failcase If target API fails or any precondition API fails +* @precondition None +* @postcondition None +*/ +//& purpose: API to Check for Get sticker data App ID +//& type: auto +int ITc_capi_ui_sticker_data_sticker_data_get_app_id_p(void) +{ + START_TEST; + int nRet = -1; + char *pszAppID = NULL; + + nRet = sticker_data_get_app_id(g_hStickerDataHandle, &pszAppID); + PRINT_RESULT(STICKER_ERROR_NONE, nRet, "sticker_data_get_app_id", StickerGetError(nRet)); + CHECK_HANDLE(pszAppID, "sticker_data_get_app_id"); + + FREE_MEMORY(pszAppID); + + return 0; +} + +/** +* @testcase ITc_capi_ui_sticker_data_sticker_data_set_get_uri_p +* @since_tizen 5.5 +* @author SRID(manoj.g2) +* @reviewer SRID(shobhit.v) +* @type auto +* @description Set and GetUri for sticker data handle +* @scenario Set and GetUri for sticker data handle +* @apicovered sticker_data_set_uri, sticker_data_get_uri +* @passcase When sticker_data_set_uri, sticker_data_get_uri and Precondition API are successful. +* @failcase If target API fails or any precondition API fails +* @precondition None +* @postcondition None +*/ +//& purpose: API to Check for Set and Get Uri for sticker data handle +//& type: auto +int ITc_capi_ui_sticker_data_sticker_data_set_get_uri_p(void) +{ + START_TEST; + int nRet = -1; + sticker_data_uri_type_e eUriType =-1; + char *pszStickerWebUri = NULL; + + nRet = sticker_data_set_uri(g_hStickerDataHandle, STICKER_DATA_URI_WEB_RESOURCE, "www.tizen.org"); + PRINT_RESULT(STICKER_ERROR_NONE, nRet, "sticker_data_set_uri", StickerGetError(nRet)); + + nRet = sticker_data_get_uri(g_hStickerDataHandle, &eUriType, &pszStickerWebUri); + PRINT_RESULT(STICKER_ERROR_NONE, nRet, "sticker_data_get_uri", StickerGetError(nRet)); + CHECK_HANDLE(pszStickerWebUri, "sticker_data_get_uri"); + + PRINT_RESULT_CLEANUP(STICKER_DATA_URI_WEB_RESOURCE, eUriType, "Uri type mismatch", StickerGetError(nRet),FREE_MEMORY(pszStickerWebUri)); + if(strcmp(pszStickerWebUri,"www.tizen.org") != 0) + { + FPRINTF("Sticker Uri mismatch\\n"); + FREE_MEMORY(pszStickerWebUri); + return 1; + } + + FREE_MEMORY(pszStickerWebUri); + + return 0; +} + +/** +* @testcase ITc_capi_ui_sticker_data_sticker_data_foreach_keyword_p +* @since_tizen 5.5 +* @author SRID(manoj.g2) +* @reviewer SRID(shobhit.v) +* @type auto +* @description foreach sticker data keyword +* @scenario foreach sticker data keyword +* @apicovered sticker_data_foreach_keyword +* @passcase When sticker_data_foreach_keyword and Precondition API are successful. +* @failcase If target API fails or any precondition API fails +* @precondition None +* @postcondition None +*/ +//& purpose: API to Check for foreach sticker data keyword +//& type: auto +int ITc_capi_ui_sticker_data_sticker_data_foreach_keyword_p(void) +{ + START_TEST; + int nRet = -1; + + g_bCallbackHit = false; + + nRet = sticker_data_add_keyword(g_hStickerDataHandle, "test"); + PRINT_RESULT(STICKER_ERROR_NONE, nRet, "sticker_data_add_keyword", StickerGetError(nRet)); + + nRet = sticker_data_foreach_keyword(g_hStickerDataHandle, StickerDataForeachKeywordCallback, NULL); + PRINT_RESULT(STICKER_ERROR_NONE, nRet, "sticker_data_foreach_keyword", StickerGetError(nRet)); + PRINT_RESULT(g_bCallbackHit, true, "callback not hit", StickerGetError(nRet)); + + return 0; +} + +/** +* @testcase ITc_capi_ui_sticker_data_sticker_data_add_remove_keyword_p +* @since_tizen 5.5 +* @author SRID(manoj.g2) +* @reviewer SRID(shobhit.v) +* @type auto +* @description Add and remove sticker data keyword +* @scenario Add and remove sticker data keyword +* @apicovered sticker_data_add_keyword, sticker_data_remove_keyword +* @passcase When sticker_data_add_keyword, sticker_data_remove_keyword and Precondition API are successful. +* @failcase If target API fails or any precondition API fails +* @precondition None +* @postcondition None +*/ +//& purpose: API to Check for Add and remove sticker data keyword +//& type: auto +int ITc_capi_ui_sticker_data_sticker_data_add_remove_keyword_p(void) +{ + START_TEST; + int nRet = -1; + + nRet = sticker_data_add_keyword(g_hStickerDataHandle, "test"); + PRINT_RESULT(STICKER_ERROR_NONE, nRet, "sticker_data_add_keyword", StickerGetError(nRet)); + + nRet = sticker_data_add_keyword(g_hStickerDataHandle, "face"); + PRINT_RESULT(STICKER_ERROR_NONE, nRet, "sticker_data_add_keyword", StickerGetError(nRet)); + + nRet = sticker_data_remove_keyword(g_hStickerDataHandle, "test"); + PRINT_RESULT(STICKER_ERROR_NONE, nRet, "sticker_data_remove_keyword", StickerGetError(nRet)); + + return 0; +} + +/** +* @testcase ITc_capi_ui_sticker_data_sticker_data_set_get_group_name_p +* @since_tizen 5.5 +* @author SRID(manoj.g2) +* @reviewer SRID(shobhit.v) +* @type auto +* @description Set and group name for sticker data handle +* @scenario Set and group name for sticker data handle +* @apicovered sticker_data_set_group_name, sticker_data_get_group_name +* @passcase When sticker_data_set_group_name, sticker_data_get_group_name is successful. +* @failcase If target API fails or any precondition API fails +* @precondition None +* @postcondition None +*/ +//& purpose: API to Check for Set and group name for sticker data handle +//& type: auto +int ITc_capi_ui_sticker_data_sticker_data_set_get_group_name_p(void) +{ + START_TEST; + int nRet = -1; + char *pszGetGroupName = NULL; + + nRet = sticker_data_set_group_name(g_hStickerDataHandle, "samsung"); + PRINT_RESULT(STICKER_ERROR_NONE, nRet, "sticker_data_set_group_name", StickerGetError(nRet)); + + nRet = sticker_data_get_group_name(g_hStickerDataHandle, &pszGetGroupName); + PRINT_RESULT(STICKER_ERROR_NONE, nRet, "sticker_data_get_group_name", StickerGetError(nRet)); + CHECK_HANDLE(pszGetGroupName, "sticker_data_get_group_name"); + + if(strcmp(pszGetGroupName,"samsung") != 0) + { + FPRINTF("Sticker Group name mismatch\\n"); + FREE_MEMORY(pszGetGroupName); + return 1; + } + + FREE_MEMORY(pszGetGroupName); + + return 0; +} + +/** +* @testcase ITc_capi_ui_sticker_data_sticker_data_set_get_thumbnail_p +* @since_tizen 5.5 +* @author SRID(manoj.g2) +* @reviewer SRID(shobhit.v) +* @type auto +* @description Set and thumbnail for sticker data handle +* @scenario Set and thumbnail for sticker data handle +* @apicovered sticker_data_set_thumbnail, sticker_data_get_thumbnail +* @passcase When sticker_data_set_thumbnail, sticker_data_get_thumbnail is successful. +* @failcase If target API fails or any precondition API fails +* @precondition None +* @postcondition None +*/ +//& purpose: API to Check for Set and thumbnail for sticker data handle +//& type: auto +int ITc_capi_ui_sticker_data_sticker_data_set_get_thumbnail_p(void) +{ + START_TEST; + int nRet = -1; + char *pszGetThumbNail = NULL; + + nRet = sticker_data_set_thumbnail(g_hStickerDataHandle, "/res/test.png"); + PRINT_RESULT(STICKER_ERROR_NONE, nRet, "sticker_data_set_thumbnail", StickerGetError(nRet)); + + nRet = sticker_data_get_thumbnail(g_hStickerDataHandle, &pszGetThumbNail); + PRINT_RESULT(STICKER_ERROR_NONE, nRet, "sticker_data_get_thumbnail", StickerGetError(nRet)); + CHECK_HANDLE(pszGetThumbNail, "sticker_data_get_thumbnail"); + + FREE_MEMORY(pszGetThumbNail); + + return 0; +} + +/** +* @testcase ITc_capi_ui_sticker_data_sticker_data_set_get_description_p +* @since_tizen 5.5 +* @author SRID(manoj.g2) +* @reviewer SRID(shobhit.v) +* @type auto +* @description Set and description for sticker data handle +* @scenario Set and description for sticker data handle +* @apicovered sticker_data_set_description, sticker_data_get_description +* @passcase When sticker_data_set_description, sticker_data_get_description is successful. +* @failcase If target API fails or any precondition API fails +* @precondition None +* @postcondition None +*/ +//& purpose: API to Check for Set and description for sticker data handle +//& type: auto +int ITc_capi_ui_sticker_data_sticker_data_set_get_description_p(void) +{ + START_TEST; + int nRet = -1; + char *pszGetDescription = NULL; + + nRet = sticker_data_set_description(g_hStickerDataHandle, "TCT Test"); + PRINT_RESULT(STICKER_ERROR_NONE, nRet, "sticker_data_set_description", StickerGetError(nRet)); + + nRet = sticker_data_get_description(g_hStickerDataHandle, &pszGetDescription); + PRINT_RESULT(STICKER_ERROR_NONE, nRet, "sticker_data_get_description", StickerGetError(nRet)); + CHECK_HANDLE(pszGetDescription, "sticker_data_get_description"); + + if(strcmp(pszGetDescription,"TCT Test") != 0) + { + FPRINTF("Sticker description mismatch and get description is %s\\n", pszGetDescription); + FREE_MEMORY(pszGetDescription); + return 1; + } + + FREE_MEMORY(pszGetDescription); + + return 0; +} + +/** +* @testcase ITc_capi_ui_sticker_data_sticker_data_get_date_p +* @since_tizen 5.5 +* @author SRID(manoj.g2) +* @reviewer SRID(shobhit.v) +* @type auto +* @description Get sticker data date +* @scenario Get sticker data date +* @apicovered sticker_data_get_date +* @passcase When sticker_data_get_date is successful. +* @failcase If target API fails or any precondition API fails +* @precondition None +* @postcondition None +*/ +//& purpose: API to Check for Get sticker data date +//& type: auto +int ITc_capi_ui_sticker_data_sticker_data_get_date_p(void) +{ + START_TEST; + int nRet = -1; + char *pszStickerDate = NULL; + nRet = sticker_data_get_date(g_hStickerDataHandle, &pszStickerDate); + PRINT_RESULT(STICKER_ERROR_OPERATION_FAILED, nRet, "sticker_data_get_date", StickerGetError(nRet)); + /* In this API if no data return from DB then STICKER_ERROR_OPERATION_FAILED error code will return so we are checking against this error code*/ + + FREE_MEMORY(pszStickerDate); + + return 0; +} + + diff --git a/src/itc/capi-ui-sticker/res/test.json b/src/itc/capi-ui-sticker/res/test.json new file mode 100644 index 000000000..9fe4b986c --- /dev/null +++ b/src/itc/capi-ui-sticker/res/test.json @@ -0,0 +1,13 @@ +{ + "sticker": + [ + { + "type" : 2, + "uri" : "https://www.samsung.com/sticker/sample.png", + "keyword" : ["smile", "high five"], + "group" : "face", + "thumbnail" : "", + "description" : "Smiley emoji with high five." + } + ] +} \ No newline at end of file diff --git a/src/itc/capi-ui-sticker/res/test.png b/src/itc/capi-ui-sticker/res/test.png new file mode 100644 index 000000000..9765b1bda Binary files /dev/null and b/src/itc/capi-ui-sticker/res/test.png differ diff --git a/src/itc/capi-ui-sticker/tct-capi-ui-sticker-native.c b/src/itc/capi-ui-sticker/tct-capi-ui-sticker-native.c new file mode 100644 index 000000000..d4b085d13 --- /dev/null +++ b/src/itc/capi-ui-sticker/tct-capi-ui-sticker-native.c @@ -0,0 +1,136 @@ +// +// Copyright (c) 2019 Samsung Electronics Co., Ltd. +// +// Licensed under the Apache License, Version 2.0 (the License); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +#include "tct_common.h" + +#ifdef MOBILE //Starts MOBILE +#include "tct-capi-ui-sticker-native_mobile.h" +#endif //MOBILE //End MOBILE + +#ifdef WEARABLE //Starts WEARABLE +#include "tct-capi-ui-sticker-native_wearable.h" +#endif //WEARABLE //End WEARABLE + +#ifdef TV //Starts TV +#include "tct-capi-ui-sticker-native_tv.h" +#endif //TV //End TV + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +typedef struct appdata { + Evas_Object *win; + Evas_Object *conform; + Evas_Object *label; +} appdata_s; + +static bool app_create(void *data) +{ + return true; +} + +static void app_control(app_control_h app_control, void *data) +{ + char* pszGetTCName = NULL; + int i=0, result=0, nRet=0; + nRet = app_control_get_extra_data(app_control, "testcase_name", &pszGetTCName); + if(nRet != APP_CONTROL_ERROR_NONE) + { + dlog_print(DLOG_ERROR, "NativeTCT", "[%s:%d] app_control_get_extra_data returns error = %d", __FUNCTION__, __LINE__, nRet); + PRINT_UTC_LOG("\\n[%s][Line : %d]Unable to fetch test case name: app_control_get_extra_data API call fails\\n", __FILE__, __LINE__); + PRINT_TC_RESULT("%d",1); + FREE_MEMORY_TC(pszGetTCName); + return; + } + + dlog_print(DLOG_INFO, "NativeTCT", "[%s:%d] Executing TC Name = %s", __FUNCTION__, __LINE__, pszGetTCName); + for ( i = 0; tc_array[i].name; i++ ) + { + if ( 0 == strncmp(pszGetTCName, tc_array[i].name, strlen(pszGetTCName)) ) + { + DUMP_UTC_ERRLOG(); + if ( tc_array[i].startup ) + { + dlog_print(DLOG_INFO, "NativeTCT", "%s : Start up", pszGetTCName); + tc_array[i].startup(); + } + + dlog_print(DLOG_INFO, "NativeTCT", "%s : Body", pszGetTCName); + result = tc_array[i].function(); + dlog_print(DLOG_INFO, "NativeTCT", "%s returns value = %d", pszGetTCName, result); + + if ( tc_array[i].cleanup ) + { + dlog_print(DLOG_INFO, "NativeTCT", "%s : Clean up", pszGetTCName); + tc_array[i].cleanup(); + } + + CLOSE_UTC_ERRLOG(); + PRINT_TC_RESULT("%d",result); + FREE_MEMORY_TC(pszGetTCName); + return; + } + } + + dlog_print(DLOG_ERROR, "NativeTCT", "[%s:%d] Unable to execute %s : Unknown Test Case Name", __FUNCTION__, __LINE__, pszGetTCName); + PRINT_UTC_LOG("\\n[%s][Line : %d]Unable to execute %s : Unknown Test Case Name\\n", __FILE__, __LINE__, pszGetTCName); + PRINT_TC_RESULT("%d",1); + FREE_MEMORY_TC(pszGetTCName); + return; +} + +static void app_terminate(void *data) +{ + dlog_print(DLOG_INFO, "NativeTCT", "[%s:%d] Application Package is now Terminating", __FUNCTION__, __LINE__); +} + +int main(int argc, char *argv[]) +{ + int ret = 0; + appdata_s ad = {0,}; + + ui_app_lifecycle_callback_s event_callback = {0,}; + event_callback.create = app_create; + event_callback.terminate = app_terminate; + event_callback.app_control = app_control; + + //setting gcda file location for coverage + setenv("GCOV_PREFIX","/tmp",1); + dlog_print(DLOG_INFO, "NativeTCT", "[%s:%d] Coverage *.gcda File location set to /tmp/home/abuild/rpmbuild/BUILD/ ", __FUNCTION__, __LINE__); + + dlog_print(DLOG_INFO, "NativeTCT", "[%s:%d] Application Main Function is Invoked", __FUNCTION__, __LINE__); + ret = ui_app_main(argc, argv, &event_callback, &ad); + if (ret != APP_ERROR_NONE) + { + dlog_print(DLOG_ERROR, "NativeTCT", "Application ui_app_main call gets failed. err = %d", ret); + PRINT_UTC_LOG("\\n[%s][Line : %d]Application ui_app_main call gets failed. err = %d\\n", __FILE__, __LINE__, ret); + PRINT_TC_RESULT("%d",1); + return ret; + } + + dlog_print(DLOG_INFO, "NativeTCT", "[%s:%d] Application Package is Terminated", __FUNCTION__, __LINE__); + return ret; +} diff --git a/src/itc/capi-ui-sticker/tct-capi-ui-sticker-native_mobile.h b/src/itc/capi-ui-sticker/tct-capi-ui-sticker-native_mobile.h new file mode 100644 index 000000000..e43e5faf9 --- /dev/null +++ b/src/itc/capi-ui-sticker/tct-capi-ui-sticker-native_mobile.h @@ -0,0 +1,89 @@ +// +// Copyright (c) 2019 Samsung Electronics Co., Ltd. +// +// Licensed under the Apache License, Version 2.0 (the License); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +#ifndef __TCT_CAPI_UI_STICKER_NATIVE_H__ +#define __TCT_CAPI_UI_STICKER_NATIVE_H__ + +#include "testcase.h" +#include "tct_common.h" + +extern void ITs_capi_ui_sticker_data_startup(void); +extern void ITs_capi_ui_sticker_data_cleanup(void); + +extern void ITs_capi_ui_sticker_consumer_startup(void); +extern void ITs_capi_ui_sticker_consumer_cleanup(void); + +extern void ITs_capi_ui_sticker_provider_startup(void); +extern void ITs_capi_ui_sticker_provider_cleanup(void); + +extern int ITc_capi_ui_sticker_data_sticker_data_create_destroy_p(void); +extern int ITc_capi_ui_sticker_data_sticker_data_clone_p(void); +extern int ITc_capi_ui_sticker_data_sticker_data_get_app_id_p(void); +extern int ITc_capi_ui_sticker_data_sticker_data_set_get_uri_p(void); +extern int ITc_capi_ui_sticker_data_sticker_data_foreach_keyword_p(void); +extern int ITc_capi_ui_sticker_data_sticker_data_add_remove_keyword_p(void); +extern int ITc_capi_ui_sticker_data_sticker_data_set_get_group_name_p(void); +extern int ITc_capi_ui_sticker_data_sticker_data_set_get_thumbnail_p(void); +extern int ITc_capi_ui_sticker_data_sticker_data_set_get_description_p(void); +extern int ITc_capi_ui_sticker_data_sticker_data_get_date_p(void); + + +extern int ITc_capi_ui_sticker_data_sticker_consumer_create_destroy_p(void); +extern int ITc_capi_ui_sticker_data_sticker_consumer_data_foreach_all_p(void); +extern int ITc_capi_ui_sticker_data_sticker_consumer_data_foreach_by_keyword_p(void); +extern int ITc_capi_ui_sticker_data_sticker_consumer_data_foreach_by_group_p(void); +extern int ITc_capi_ui_sticker_data_sticker_consumer_data_foreach_by_type_p(void); +extern int ITc_capi_ui_sticker_data_sticker_consumer_group_list_foreach_all_p(void); +extern int ITc_capi_ui_sticker_data_sticker_consumer_keyword_list_foreach_all_p(void); + +extern int ITc_capi_ui_sticker_data_sticker_provider_create_destroy_p(void); +extern int ITc_capi_ui_sticker_data_sticker_provider_insert_data_p(void); +extern int ITc_capi_ui_sticker_data_sticker_provider_insert_data_by_json_file_p(void); +extern int ITc_capi_ui_sticker_data_sticker_provider_update_data_p(void); +extern int ITc_capi_ui_sticker_data_sticker_provider_delete_data_p(void); +extern int ITc_capi_ui_sticker_data_sticker_provider_get_sticker_count_p(void); +extern int ITc_capi_ui_sticker_data_sticker_provider_data_foreach_all_p(void); + + +testcase tc_array[] = { + {"ITc_capi_ui_sticker_data_sticker_data_create_destroy_p", ITc_capi_ui_sticker_data_sticker_data_create_destroy_p, ITs_capi_ui_sticker_data_startup, ITs_capi_ui_sticker_data_cleanup}, +{"ITc_capi_ui_sticker_data_sticker_data_clone_p", ITc_capi_ui_sticker_data_sticker_data_clone_p, ITs_capi_ui_sticker_data_startup, ITs_capi_ui_sticker_data_cleanup}, +{"ITc_capi_ui_sticker_data_sticker_data_get_app_id_p", ITc_capi_ui_sticker_data_sticker_data_get_app_id_p, ITs_capi_ui_sticker_data_startup, ITs_capi_ui_sticker_data_cleanup}, +{"ITc_capi_ui_sticker_data_sticker_data_set_get_uri_p", ITc_capi_ui_sticker_data_sticker_data_set_get_uri_p, ITs_capi_ui_sticker_data_startup, ITs_capi_ui_sticker_data_cleanup}, +{"ITc_capi_ui_sticker_data_sticker_data_foreach_keyword_p", ITc_capi_ui_sticker_data_sticker_data_foreach_keyword_p, ITs_capi_ui_sticker_data_startup, ITs_capi_ui_sticker_data_cleanup}, +{"ITc_capi_ui_sticker_data_sticker_data_add_remove_keyword_p", ITc_capi_ui_sticker_data_sticker_data_add_remove_keyword_p, ITs_capi_ui_sticker_data_startup, ITs_capi_ui_sticker_data_cleanup}, +{"ITc_capi_ui_sticker_data_sticker_data_set_get_group_name_p", ITc_capi_ui_sticker_data_sticker_data_set_get_group_name_p, ITs_capi_ui_sticker_data_startup, ITs_capi_ui_sticker_data_cleanup}, +{"ITc_capi_ui_sticker_data_sticker_data_set_get_thumbnail_p", ITc_capi_ui_sticker_data_sticker_data_set_get_thumbnail_p, ITs_capi_ui_sticker_data_startup, ITs_capi_ui_sticker_data_cleanup}, +{"ITc_capi_ui_sticker_data_sticker_data_set_get_description_p", ITc_capi_ui_sticker_data_sticker_data_set_get_description_p, ITs_capi_ui_sticker_data_startup, ITs_capi_ui_sticker_data_cleanup}, +{"ITc_capi_ui_sticker_data_sticker_data_get_date_p", ITc_capi_ui_sticker_data_sticker_data_get_date_p, ITs_capi_ui_sticker_data_startup, ITs_capi_ui_sticker_data_cleanup}, +{"ITc_capi_ui_sticker_data_sticker_consumer_create_destroy_p", ITc_capi_ui_sticker_data_sticker_consumer_create_destroy_p, ITs_capi_ui_sticker_consumer_startup, ITs_capi_ui_sticker_consumer_cleanup}, +{"ITc_capi_ui_sticker_data_sticker_consumer_data_foreach_all_p", ITc_capi_ui_sticker_data_sticker_consumer_data_foreach_all_p, ITs_capi_ui_sticker_consumer_startup, ITs_capi_ui_sticker_consumer_cleanup}, +{"ITc_capi_ui_sticker_data_sticker_consumer_data_foreach_by_keyword_p", ITc_capi_ui_sticker_data_sticker_consumer_data_foreach_by_keyword_p, ITs_capi_ui_sticker_consumer_startup, ITs_capi_ui_sticker_consumer_cleanup}, +{"ITc_capi_ui_sticker_data_sticker_consumer_data_foreach_by_group_p", ITc_capi_ui_sticker_data_sticker_consumer_data_foreach_by_group_p, ITs_capi_ui_sticker_consumer_startup, ITs_capi_ui_sticker_consumer_cleanup}, +{"ITc_capi_ui_sticker_data_sticker_consumer_data_foreach_by_type_p", ITc_capi_ui_sticker_data_sticker_consumer_data_foreach_by_type_p, ITs_capi_ui_sticker_consumer_startup, ITs_capi_ui_sticker_consumer_cleanup}, +{"ITc_capi_ui_sticker_data_sticker_consumer_group_list_foreach_all_p", ITc_capi_ui_sticker_data_sticker_consumer_group_list_foreach_all_p, ITs_capi_ui_sticker_consumer_startup, ITs_capi_ui_sticker_consumer_cleanup}, +{"ITc_capi_ui_sticker_data_sticker_consumer_keyword_list_foreach_all_p", ITc_capi_ui_sticker_data_sticker_consumer_keyword_list_foreach_all_p, ITs_capi_ui_sticker_consumer_startup, ITs_capi_ui_sticker_consumer_cleanup}, +{"ITc_capi_ui_sticker_data_sticker_provider_create_destroy_p", ITc_capi_ui_sticker_data_sticker_provider_create_destroy_p, ITs_capi_ui_sticker_provider_startup, ITs_capi_ui_sticker_provider_cleanup}, +{"ITc_capi_ui_sticker_data_sticker_provider_insert_data_p", ITc_capi_ui_sticker_data_sticker_provider_insert_data_p, ITs_capi_ui_sticker_provider_startup, ITs_capi_ui_sticker_provider_cleanup}, +{"ITc_capi_ui_sticker_data_sticker_provider_insert_data_by_json_file_p", ITc_capi_ui_sticker_data_sticker_provider_insert_data_by_json_file_p, ITs_capi_ui_sticker_provider_startup, ITs_capi_ui_sticker_provider_cleanup}, +{"ITc_capi_ui_sticker_data_sticker_provider_update_data_p", ITc_capi_ui_sticker_data_sticker_provider_update_data_p, ITs_capi_ui_sticker_provider_startup, ITs_capi_ui_sticker_provider_cleanup}, +{"ITc_capi_ui_sticker_data_sticker_provider_delete_data_p", ITc_capi_ui_sticker_data_sticker_provider_delete_data_p, ITs_capi_ui_sticker_provider_startup, ITs_capi_ui_sticker_provider_cleanup}, + +{"ITc_capi_ui_sticker_data_sticker_provider_get_sticker_count_p", ITc_capi_ui_sticker_data_sticker_provider_get_sticker_count_p, ITs_capi_ui_sticker_provider_startup, ITs_capi_ui_sticker_provider_cleanup}, +{"ITc_capi_ui_sticker_data_sticker_provider_data_foreach_all_p", ITc_capi_ui_sticker_data_sticker_provider_data_foreach_all_p, ITs_capi_ui_sticker_provider_startup, ITs_capi_ui_sticker_provider_cleanup}, + {NULL, NULL} +}; + +#endif // __TCT_CAPI_UI_STICKER_NATIVE_H__ diff --git a/src/itc/capi-ui-sticker/tct-capi-ui-sticker-native_wearable.h b/src/itc/capi-ui-sticker/tct-capi-ui-sticker-native_wearable.h new file mode 100644 index 000000000..cf2971a54 --- /dev/null +++ b/src/itc/capi-ui-sticker/tct-capi-ui-sticker-native_wearable.h @@ -0,0 +1,88 @@ +// +// Copyright (c) 2014 Samsung Electronics Co., Ltd. +// +// Licensed under the Apache License, Version 2.0 (the License); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +#ifndef __TCT_CAPI_UI_STICKER_NATIVE_H__ +#define __TCT_CAPI_UI_STICKER_NATIVE_H__ + +#include "testcase.h" +#include "tct_common.h" + +extern void ITs_capi_ui_sticker_data_startup(void); +extern void ITs_capi_ui_sticker_data_cleanup(void); + +extern void ITs_capi_ui_sticker_consumer_startup(void); +extern void ITs_capi_ui_sticker_consumer_cleanup(void); + +extern void ITs_capi_ui_sticker_provider_startup(void); +extern void ITs_capi_ui_sticker_provider_cleanup(void); + +extern int ITc_capi_ui_sticker_data_sticker_data_create_destroy_p(void); +extern int ITc_capi_ui_sticker_data_sticker_data_clone_p(void); +extern int ITc_capi_ui_sticker_data_sticker_data_get_app_id_p(void); +extern int ITc_capi_ui_sticker_data_sticker_data_set_get_uri_p(void); +extern int ITc_capi_ui_sticker_data_sticker_data_foreach_keyword_p(void); +extern int ITc_capi_ui_sticker_data_sticker_data_add_remove_keyword_p(void); +extern int ITc_capi_ui_sticker_data_sticker_data_set_get_group_name_p(void); +extern int ITc_capi_ui_sticker_data_sticker_data_set_get_thumbnail_p(void); +extern int ITc_capi_ui_sticker_data_sticker_data_set_get_description_p(void); +extern int ITc_capi_ui_sticker_data_sticker_data_get_date_p(void); + + +extern int ITc_capi_ui_sticker_data_sticker_consumer_create_destroy_p(void); +extern int ITc_capi_ui_sticker_data_sticker_consumer_data_foreach_all_p(void); +extern int ITc_capi_ui_sticker_data_sticker_consumer_data_foreach_by_keyword_p(void); +extern int ITc_capi_ui_sticker_data_sticker_consumer_data_foreach_by_group_p(void); +extern int ITc_capi_ui_sticker_data_sticker_consumer_data_foreach_by_type_p(void); +extern int ITc_capi_ui_sticker_data_sticker_consumer_group_list_foreach_all_p(void); +extern int ITc_capi_ui_sticker_data_sticker_consumer_keyword_list_foreach_all_p(void); + +extern int ITc_capi_ui_sticker_data_sticker_provider_create_destroy_p(void); +extern int ITc_capi_ui_sticker_data_sticker_provider_insert_data_p(void); +extern int ITc_capi_ui_sticker_data_sticker_provider_insert_data_by_json_file_p(void); +extern int ITc_capi_ui_sticker_data_sticker_provider_update_data_p(void); +extern int ITc_capi_ui_sticker_data_sticker_provider_delete_data_p(void); +extern int ITc_capi_ui_sticker_data_sticker_provider_get_sticker_count_p(void); +extern int ITc_capi_ui_sticker_data_sticker_provider_data_foreach_all_p(void); + + +testcase tc_array[] = { + {"ITc_capi_ui_sticker_data_sticker_data_create_destroy_p", ITc_capi_ui_sticker_data_sticker_data_create_destroy_p, ITs_capi_ui_sticker_data_startup, ITs_capi_ui_sticker_data_cleanup}, +{"ITc_capi_ui_sticker_data_sticker_data_clone_p", ITc_capi_ui_sticker_data_sticker_data_clone_p, ITs_capi_ui_sticker_data_startup, ITs_capi_ui_sticker_data_cleanup}, +{"ITc_capi_ui_sticker_data_sticker_data_get_app_id_p", ITc_capi_ui_sticker_data_sticker_data_get_app_id_p, ITs_capi_ui_sticker_data_startup, ITs_capi_ui_sticker_data_cleanup}, +{"ITc_capi_ui_sticker_data_sticker_data_set_get_uri_p", ITc_capi_ui_sticker_data_sticker_data_set_get_uri_p, ITs_capi_ui_sticker_data_startup, ITs_capi_ui_sticker_data_cleanup}, +{"ITc_capi_ui_sticker_data_sticker_data_foreach_keyword_p", ITc_capi_ui_sticker_data_sticker_data_foreach_keyword_p, ITs_capi_ui_sticker_data_startup, ITs_capi_ui_sticker_data_cleanup}, +{"ITc_capi_ui_sticker_data_sticker_data_add_remove_keyword_p", ITc_capi_ui_sticker_data_sticker_data_add_remove_keyword_p, ITs_capi_ui_sticker_data_startup, ITs_capi_ui_sticker_data_cleanup}, +{"ITc_capi_ui_sticker_data_sticker_data_set_get_group_name_p", ITc_capi_ui_sticker_data_sticker_data_set_get_group_name_p, ITs_capi_ui_sticker_data_startup, ITs_capi_ui_sticker_data_cleanup}, +{"ITc_capi_ui_sticker_data_sticker_data_set_get_thumbnail_p", ITc_capi_ui_sticker_data_sticker_data_set_get_thumbnail_p, ITs_capi_ui_sticker_data_startup, ITs_capi_ui_sticker_data_cleanup}, +{"ITc_capi_ui_sticker_data_sticker_data_set_get_description_p", ITc_capi_ui_sticker_data_sticker_data_set_get_description_p, ITs_capi_ui_sticker_data_startup, ITs_capi_ui_sticker_data_cleanup}, +{"ITc_capi_ui_sticker_data_sticker_data_get_date_p", ITc_capi_ui_sticker_data_sticker_data_get_date_p, ITs_capi_ui_sticker_data_startup, ITs_capi_ui_sticker_data_cleanup}, +{"ITc_capi_ui_sticker_data_sticker_consumer_create_destroy_p", ITc_capi_ui_sticker_data_sticker_consumer_create_destroy_p, ITs_capi_ui_sticker_consumer_startup, ITs_capi_ui_sticker_consumer_cleanup}, +{"ITc_capi_ui_sticker_data_sticker_consumer_data_foreach_all_p", ITc_capi_ui_sticker_data_sticker_consumer_data_foreach_all_p, ITs_capi_ui_sticker_consumer_startup, ITs_capi_ui_sticker_consumer_cleanup}, +{"ITc_capi_ui_sticker_data_sticker_consumer_data_foreach_by_keyword_p", ITc_capi_ui_sticker_data_sticker_consumer_data_foreach_by_keyword_p, ITs_capi_ui_sticker_consumer_startup, ITs_capi_ui_sticker_consumer_cleanup}, +{"ITc_capi_ui_sticker_data_sticker_consumer_data_foreach_by_group_p", ITc_capi_ui_sticker_data_sticker_consumer_data_foreach_by_group_p, ITs_capi_ui_sticker_consumer_startup, ITs_capi_ui_sticker_consumer_cleanup}, +{"ITc_capi_ui_sticker_data_sticker_consumer_data_foreach_by_type_p", ITc_capi_ui_sticker_data_sticker_consumer_data_foreach_by_type_p, ITs_capi_ui_sticker_consumer_startup, ITs_capi_ui_sticker_consumer_cleanup}, +{"ITc_capi_ui_sticker_data_sticker_consumer_group_list_foreach_all_p", ITc_capi_ui_sticker_data_sticker_consumer_group_list_foreach_all_p, ITs_capi_ui_sticker_consumer_startup, ITs_capi_ui_sticker_consumer_cleanup}, +{"ITc_capi_ui_sticker_data_sticker_consumer_keyword_list_foreach_all_p", ITc_capi_ui_sticker_data_sticker_consumer_keyword_list_foreach_all_p, ITs_capi_ui_sticker_consumer_startup, ITs_capi_ui_sticker_consumer_cleanup}, +{"ITc_capi_ui_sticker_data_sticker_provider_create_destroy_p", ITc_capi_ui_sticker_data_sticker_provider_create_destroy_p, ITs_capi_ui_sticker_provider_startup, ITs_capi_ui_sticker_provider_cleanup}, +{"ITc_capi_ui_sticker_data_sticker_provider_insert_data_p", ITc_capi_ui_sticker_data_sticker_provider_insert_data_p, ITs_capi_ui_sticker_provider_startup, ITs_capi_ui_sticker_provider_cleanup}, +{"ITc_capi_ui_sticker_data_sticker_provider_insert_data_by_json_file_p", ITc_capi_ui_sticker_data_sticker_provider_insert_data_by_json_file_p, ITs_capi_ui_sticker_provider_startup, ITs_capi_ui_sticker_provider_cleanup}, +{"ITc_capi_ui_sticker_data_sticker_provider_update_data_p", ITc_capi_ui_sticker_data_sticker_provider_update_data_p, ITs_capi_ui_sticker_provider_startup, ITs_capi_ui_sticker_provider_cleanup}, +{"ITc_capi_ui_sticker_data_sticker_provider_delete_data_p", ITc_capi_ui_sticker_data_sticker_provider_delete_data_p, ITs_capi_ui_sticker_provider_startup, ITs_capi_ui_sticker_provider_cleanup}, + +{"ITc_capi_ui_sticker_data_sticker_provider_get_sticker_count_p", ITc_capi_ui_sticker_data_sticker_provider_get_sticker_count_p, ITs_capi_ui_sticker_provider_startup, ITs_capi_ui_sticker_provider_cleanup}, +{"ITc_capi_ui_sticker_data_sticker_provider_data_foreach_all_p", ITc_capi_ui_sticker_data_sticker_provider_data_foreach_all_p, ITs_capi_ui_sticker_provider_startup, ITs_capi_ui_sticker_provider_cleanup}, + {NULL, NULL} +}; +#endif // __TCT_CAPI_UI_STICKER_NATIVE_H__ diff --git a/tct_unsupported.txt b/tct_unsupported.txt index a455f7591..001d65e6e 100755 --- a/tct_unsupported.txt +++ b/tct_unsupported.txt @@ -265,6 +265,10 @@ tizeniot:armv7l:itc:battery-monitor; tizeniot:aarch64:itc:battery-monitor; tizeniot:x86:itc:battery-monitor; tizeniot:x86_64:itc:battery-monitor; +tizeniot:x86:itc:capi-ui-sticker; +tizeniot:x86_64:itc:capi-ui-sticker; +tizeniot:armv7l:itc:capi-ui-sticker; +tizeniot:aarch64:itc:capi-ui-sticker; ## ctc ## tizeniot:armv7l:ctc:platform-permission;