[ACR-1866][UTC][Wi-Fi Aware] Add UTCs for new added APIs 17/318617/5
authora-nijhara <a.nijhara@samsung.com>
Thu, 3 Oct 2024 12:45:30 +0000 (18:15 +0530)
committera-nijhara <a.nijhara@samsung.com>
Mon, 7 Oct 2024 08:18:12 +0000 (13:48 +0530)
Change-Id: Iae0883692154e32158c24fb327136ab3ba8c2581

packaging/utc/core-wifi-aware-tests.spec [new file with mode: 0755]
packaging/utc/core-wifi-aware-tests.xml [new file with mode: 0755]
src/utc/wifi-aware/CMakeLists.txt [new file with mode: 0755]
src/utc/wifi-aware/tct-wifi-aware-core.c [new file with mode: 0755]
src/utc/wifi-aware/tct-wifi-aware-core_mobile.h [new file with mode: 0755]
src/utc/wifi-aware/tct-wifi-aware-core_tizeniot.h [new file with mode: 0755]
src/utc/wifi-aware/tct-wifi-aware-core_tv.h [new file with mode: 0755]
src/utc/wifi-aware/tct-wifi-aware-core_wearable.h [new file with mode: 0755]
src/utc/wifi-aware/utc-wifi-aware-common.c [new file with mode: 0755]
src/utc/wifi-aware/utc-wifi-aware-common.h [new file with mode: 0755]
src/utc/wifi-aware/utc-wifi-aware.c [new file with mode: 0755]

diff --git a/packaging/utc/core-wifi-aware-tests.spec b/packaging/utc/core-wifi-aware-tests.spec
new file mode 100755 (executable)
index 0000000..6b2eb1e
--- /dev/null
@@ -0,0 +1,82 @@
+%define MODULE_NAME wifi-aware
+%define MODULE_LIBNAME capi-network-wifi-aware
+
+Name:          core-%{MODULE_NAME}-tests
+Summary:       Core API unit TC (%{name})
+Version:       0.1
+Release:       0
+Group:         Development/Tools
+License:       Apache License, Version 2.0
+Source0:       %{name}-%{version}.tar.gz
+
+%if "%{?profile}" == "wearable"
+ExcludeArch: %{arm} %ix86 x86_64
+%endif
+
+BuildRequires:  pkgconfig(%{MODULE_LIBNAME})
+BuildRequires:  pkgconfig(glib-2.0)
+BuildRequires:  cmake
+BuildRequires:  pkgconfig(capi-appfw-application)
+BuildRequires:  pkgconfig(dlog)
+BuildRequires:  pkgconfig(elementary)
+BuildRequires:  pkgconfig(capi-system-info)
+%description
+Core API unit 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="utc" -DDEVICE_BUILD_TYPE="mobile" -DASANBUILD="true" -DCMAKE_INSTALL_PREFIX=%{_prefix}
+       %endif
+       %if %{?DEVICE_BUILD_TYPE_WEARABLE:1}0
+       cmake . -DMODULE="%{MODULE_NAME}" -DBUILDTCTYPE="utc" -DDEVICE_BUILD_TYPE="wearable" -DASANBUILD="true" -DCMAKE_INSTALL_PREFIX=%{_prefix}
+       %endif
+       %if %{?DEVICE_BUILD_TYPE_TV:1}0
+       cmake . -DMODULE="%{MODULE_NAME}" -DBUILDTCTYPE="utc" -DDEVICE_BUILD_TYPE="tv" -DASANBUILD="true" -DCMAKE_INSTALL_PREFIX=%{_prefix}
+       %endif
+       %if %{?DEVICE_BUILD_TYPE_TIZENIOT:1}0
+       cmake . -DMODULE="%{MODULE_NAME}" -DBUILDTCTYPE="utc" -DDEVICE_BUILD_TYPE="tizeniot" -DASANBUILD="true" -DCMAKE_INSTALL_PREFIX=%{_prefix}
+       %endif
+%else
+       %if %{?DEVICE_BUILD_TYPE_MOBILE:1}0
+       cmake . -DMODULE="%{MODULE_NAME}" -DBUILDTCTYPE="utc" -DDEVICE_BUILD_TYPE="mobile" -DASANBUILD="false" -DCMAKE_INSTALL_PREFIX=%{_prefix}
+       %endif
+       %if %{?DEVICE_BUILD_TYPE_WEARABLE:1}0
+       cmake . -DMODULE="%{MODULE_NAME}" -DBUILDTCTYPE="utc" -DDEVICE_BUILD_TYPE="wearable" -DASANBUILD="false" -DCMAKE_INSTALL_PREFIX=%{_prefix}
+       %endif
+       %if %{?DEVICE_BUILD_TYPE_TV:1}0
+       cmake . -DMODULE="%{MODULE_NAME}" -DBUILDTCTYPE="utc" -DDEVICE_BUILD_TYPE="tv" -DASANBUILD="false" -DCMAKE_INSTALL_PREFIX=%{_prefix}
+       %endif
+       %if %{?DEVICE_BUILD_TYPE_TIZENIOT:1}0
+       cmake . -DMODULE="%{MODULE_NAME}" -DBUILDTCTYPE="utc" -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/utc/%{name}.xml %{buildroot}/usr/share/packages/
+mkdir -p %{buildroot}/usr/apps/%{name}/bin
+#cp templates/external_wrapper.sh %{buildroot}/usr/apps/%{name}/bin
+%post
+
+%postun
+
+%files
+/usr/apps/%{name}/*
+/usr/share/packages/%{name}.xml
+/usr/share/license/%{name}
+
diff --git a/packaging/utc/core-wifi-aware-tests.xml b/packaging/utc/core-wifi-aware-tests.xml
new file mode 100755 (executable)
index 0000000..10965b0
--- /dev/null
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns="http://tizen.org/ns/packages" package="core-wifi-aware-tests" version="0.1.0" api-version="9.0">
+    <label>CoreWifiAwareTest</label>
+    <author email="test@tizen.org" href="www.tizen.org">test</author>
+    <description>Core API test Application</description>
+    <ui-application appid="core.wifi-aware-tests" exec="/usr/apps/core-wifi-aware-tests/bin/tct-wifi-aware-core" nodisplay="false" multiple="false" type="capp" taskmanage="true">
+    <background-category value="background-network"/>
+       <background-category value="download"/>
+       <background-category value="iot-communication"/>
+       <background-category value="location"/>
+       <background-category value="media"/>
+       <background-category value="sensor"/>
+  </ui-application>
+  <privileges>
+     <privilege>http://tizen.org/privilege/network.set</privilege>
+  </privileges>
+
+</manifest>
diff --git a/src/utc/wifi-aware/CMakeLists.txt b/src/utc/wifi-aware/CMakeLists.txt
new file mode 100755 (executable)
index 0000000..10143fa
--- /dev/null
@@ -0,0 +1,42 @@
+SET(PKG_NAME "wifi-aware")
+
+SET(EXEC_NAME "tct-${PKG_NAME}-core")
+SET(RPM_NAME "core-${PKG_NAME}-tests")
+
+SET(CAPI_LIB "wifi-aware")
+SET(TC_SOURCES
+    utc-wifi-aware-common.c
+    utc-wifi-aware.c
+)
+
+PKG_CHECK_MODULES(${CAPI_LIB} REQUIRED
+    ${CAPI_LIB}
+       capi-appfw-application
+       capi-system-info
+       glib-2.0
+    bundle
+       dlog
+       elementary
+)
+
+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}
+       bundle
+)
+
+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/utc/wifi-aware/tct-wifi-aware-core.c b/src/utc/wifi-aware/tct-wifi-aware-core.c
new file mode 100755 (executable)
index 0000000..48ad2cc
--- /dev/null
@@ -0,0 +1,140 @@
+//
+// Copyright (c) 2024 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-wifi-aware-core_mobile.h"
+#endif  //MOBILE       //End MOBILE
+
+#ifdef WEARABLE        //Starts WEARABLE
+#include "tct-wifi-aware-core_wearable.h"
+#endif  //WEARABLE     //End WEARABLE
+
+#ifdef TV      //Starts TV
+#include "tct-wifi-aware-core_tv.h"
+#endif  //TV   //End TV
+
+#ifdef TIZENIOT        //Starts TIZENIOT
+#include "tct-wifi-aware-core_tizeniot.h"
+#endif  //TIZENIOT     //End TIZENIOT
+
+#include <stdio.h>
+#include <string.h>
+#include <malloc.h>
+#include <unistd.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <sys/wait.h>
+#include <glib.h>
+#include <stdbool.h>
+#include <app.h>
+#include <dlog.h>
+
+#include <Elementary.h>
+
+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/utc/wifi-aware/tct-wifi-aware-core_mobile.h b/src/utc/wifi-aware/tct-wifi-aware-core_mobile.h
new file mode 100755 (executable)
index 0000000..48a1bb2
--- /dev/null
@@ -0,0 +1,223 @@
+//
+// Copyright (c) 2024 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_WIFI_AWARE_NATIVE_H__
+#define __TCT_WIFI_AWARE_NATIVE_H__
+
+#include "testcase.h"
+#include "tct_common.h"
+
+extern void utc_wifi_aware_startup(void);
+extern void utc_wifi_aware_cleanup(void);
+extern int utc_wifi_aware_initialize_p(void);
+extern int utc_wifi_aware_initialize_n(void);
+extern int utc_wifi_aware_deinitialize_p(void);
+extern int utc_wifi_aware_deinitialize_n(void);
+extern int utc_wifi_aware_enable_p(void);
+extern int utc_wifi_aware_enable_n(void);
+extern int utc_wifi_aware_publish_create_p(void);
+extern int utc_wifi_aware_publish_create_n(void);
+extern int utc_wifi_aware_publish_destroy_p(void);
+extern int utc_wifi_aware_publish_destroy_n(void);
+extern int utc_wifi_aware_publish_set_ttl_p(void);
+extern int utc_wifi_aware_publish_set_ttl_n(void);
+extern int utc_wifi_aware_publish_set_type_p(void);
+extern int utc_wifi_aware_publish_set_type_n(void);
+extern int utc_wifi_aware_publish_set_service_name_p(void);
+extern int utc_wifi_aware_publish_set_service_name_n(void);
+extern int utc_wifi_aware_publish_set_service_specific_info_p(void);
+extern int utc_wifi_aware_publish_set_service_specific_info_n(void);
+extern int utc_wifi_aware_publish_set_match_filter_p(void);
+extern int utc_wifi_aware_publish_set_match_filter_n(void);
+extern int utc_wifi_aware_publish_enable_ranging_p(void);
+extern int utc_wifi_aware_publish_enable_ranging_n(void);
+extern int utc_wifi_aware_subscribe_create_p(void);
+extern int utc_wifi_aware_subscribe_create_n(void);
+extern int utc_wifi_aware_subscribe_destroy_p(void);
+extern int utc_wifi_aware_subscribe_destroy_n(void);
+extern int utc_wifi_aware_subscribe_set_ttl_p(void);
+extern int utc_wifi_aware_subscribe_set_ttl_n(void);
+extern int utc_wifi_aware_subscribe_set_type_p(void);
+extern int utc_wifi_aware_subscribe_set_type_n(void);
+extern int utc_wifi_aware_subscribe_set_service_name_p(void);
+extern int utc_wifi_aware_subscribe_set_service_name_n(void);
+extern int utc_wifi_aware_subscribe_set_service_specific_info_p(void);
+extern int utc_wifi_aware_subscribe_set_service_specific_info_n(void);
+extern int utc_wifi_aware_subscribe_set_match_filter_p(void);
+extern int utc_wifi_aware_subscribe_set_match_filter_n(void);
+extern int utc_wifi_aware_subscribe_set_max_distance_p(void);
+extern int utc_wifi_aware_subscribe_set_max_distance_n(void);
+extern int utc_wifi_aware_subscribe_set_min_distance_p(void);
+extern int utc_wifi_aware_subscribe_set_min_distance_n(void);
+extern int utc_wifi_aware_session_create_p(void);
+extern int utc_wifi_aware_session_create_n(void);
+extern int utc_wifi_aware_session_destroy_p(void);
+extern int utc_wifi_aware_session_destroy_n(void);
+extern int utc_wifi_aware_session_set_terminated_cb_p(void);
+extern int utc_wifi_aware_session_set_terminated_cb_n(void);
+extern int utc_wifi_aware_session_unset_terminated_cb_p(void);
+extern int utc_wifi_aware_session_unset_terminated_cb_n(void);
+extern int utc_wifi_aware_session_stop_p(void);
+extern int utc_wifi_aware_session_stop_n(void);
+extern int utc_wifi_aware_session_publish_p(void);
+extern int utc_wifi_aware_session_publish_n(void);
+extern int utc_wifi_aware_session_update_publish_p(void);
+extern int utc_wifi_aware_session_update_publish_n(void);
+extern int utc_wifi_aware_session_subscribe_p(void);
+extern int utc_wifi_aware_session_subscribe_n(void);
+extern int utc_wifi_aware_session_update_subscribe_p(void);
+extern int utc_wifi_aware_session_update_subscribe_n(void);
+extern int utc_wifi_aware_session_set_service_discovered_cb_p(void);
+extern int utc_wifi_aware_session_set_service_discovered_cb_n(void);
+extern int utc_wifi_aware_session_unset_service_discovered_cb_p(void);
+extern int utc_wifi_aware_session_unset_service_discovered_cb_n(void);
+extern int utc_wifi_aware_session_set_message_received_cb_p(void);
+extern int utc_wifi_aware_session_set_message_received_cb_n(void);
+extern int utc_wifi_aware_session_unset_message_received_cb_p(void);
+extern int utc_wifi_aware_session_unset_message_received_cb_n(void);
+extern int utc_wifi_aware_session_send_message_p(void);
+extern int utc_wifi_aware_session_send_message_n(void);
+extern int utc_wifi_aware_peer_clone_p(void);
+extern int utc_wifi_aware_peer_clone_n(void);
+extern int utc_wifi_aware_peer_destroy_p(void);
+extern int utc_wifi_aware_peer_destroy_n(void);
+extern int utc_wifi_aware_peer_get_mac_p(void);
+extern int utc_wifi_aware_peer_get_mac_n(void);
+extern int utc_wifi_aware_data_path_create_p(void);
+extern int utc_wifi_aware_data_path_create_n(void);
+extern int utc_wifi_aware_data_path_set_security_p(void);
+extern int utc_wifi_aware_data_path_set_security_n(void);
+extern int utc_wifi_aware_data_path_set_psk_p(void);
+extern int utc_wifi_aware_data_path_set_psk_n(void);
+extern int utc_wifi_aware_data_path_set_pmk_p(void);
+extern int utc_wifi_aware_data_path_set_pmk_n(void);
+extern int utc_wifi_aware_data_path_set_port_p(void);
+extern int utc_wifi_aware_data_path_set_port_n(void);
+extern int utc_wifi_aware_data_path_destroy_p(void);
+extern int utc_wifi_aware_data_path_destroy_n(void);
+extern int utc_wifi_aware_data_path_open_n(void);
+extern int utc_wifi_aware_data_path_close_n(void);
+extern int utc_wifi_aware_data_path_get_peer_port_n(void);
+extern int utc_wifi_aware_data_path_get_peer_ipv6_address_n(void);
+extern int utc_wifi_aware_data_path_get_interface_n(void);
+extern int utc_wifi_aware_data_path_set_terminated_cb_p(void);
+extern int utc_wifi_aware_data_path_set_terminated_cb_n(void);
+extern int utc_wifi_aware_data_path_unset_terminated_cb_p(void);
+extern int utc_wifi_aware_data_path_unset_terminated_cb_n(void);
+extern int utc_wifi_aware_disable_p(void);
+extern int utc_wifi_aware_disable_n(void);
+
+testcase tc_array[] = {
+    {"utc_wifi_aware_initialize_p", utc_wifi_aware_initialize_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_initialize_n", utc_wifi_aware_initialize_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_deinitialize_p", utc_wifi_aware_deinitialize_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_deinitialize_n", utc_wifi_aware_deinitialize_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_enable_p", utc_wifi_aware_enable_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_enable_n", utc_wifi_aware_enable_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_publish_create_p", utc_wifi_aware_publish_create_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_publish_create_n", utc_wifi_aware_publish_create_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_publish_destroy_p", utc_wifi_aware_publish_destroy_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_publish_destroy_n", utc_wifi_aware_publish_destroy_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_publish_set_ttl_p", utc_wifi_aware_publish_set_ttl_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_publish_set_ttl_n", utc_wifi_aware_publish_set_ttl_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_publish_set_type_p", utc_wifi_aware_publish_set_type_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_publish_set_type_n", utc_wifi_aware_publish_set_type_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_publish_set_service_name_p", utc_wifi_aware_publish_set_service_name_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_publish_set_service_name_n", utc_wifi_aware_publish_set_service_name_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_publish_set_service_specific_info_p", utc_wifi_aware_publish_set_service_specific_info_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_publish_set_service_specific_info_n", utc_wifi_aware_publish_set_service_specific_info_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_publish_set_match_filter_p", utc_wifi_aware_publish_set_match_filter_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_publish_set_match_filter_n", utc_wifi_aware_publish_set_match_filter_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_publish_enable_ranging_p", utc_wifi_aware_publish_enable_ranging_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_publish_enable_ranging_n", utc_wifi_aware_publish_enable_ranging_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_subscribe_create_p", utc_wifi_aware_subscribe_create_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_subscribe_create_n", utc_wifi_aware_subscribe_create_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_subscribe_destroy_p", utc_wifi_aware_subscribe_destroy_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_subscribe_destroy_n", utc_wifi_aware_subscribe_destroy_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_subscribe_set_ttl_p", utc_wifi_aware_subscribe_set_ttl_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_subscribe_set_ttl_n", utc_wifi_aware_subscribe_set_ttl_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_subscribe_set_type_p", utc_wifi_aware_subscribe_set_type_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_subscribe_set_type_n", utc_wifi_aware_subscribe_set_type_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_subscribe_set_service_name_p", utc_wifi_aware_subscribe_set_service_name_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_subscribe_set_service_name_n", utc_wifi_aware_subscribe_set_service_name_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_subscribe_set_service_specific_info_p", utc_wifi_aware_subscribe_set_service_specific_info_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_subscribe_set_service_specific_info_n", utc_wifi_aware_subscribe_set_service_specific_info_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_subscribe_set_match_filter_p", utc_wifi_aware_subscribe_set_match_filter_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_subscribe_set_match_filter_n", utc_wifi_aware_subscribe_set_match_filter_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_subscribe_set_max_distance_p", utc_wifi_aware_subscribe_set_max_distance_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_subscribe_set_max_distance_n", utc_wifi_aware_subscribe_set_max_distance_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_subscribe_set_min_distance_p", utc_wifi_aware_subscribe_set_min_distance_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_subscribe_set_min_distance_n", utc_wifi_aware_subscribe_set_min_distance_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_create_p", utc_wifi_aware_session_create_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_create_n", utc_wifi_aware_session_create_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_destroy_p", utc_wifi_aware_session_destroy_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_destroy_n", utc_wifi_aware_session_destroy_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_set_terminated_cb_p", utc_wifi_aware_session_set_terminated_cb_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_set_terminated_cb_n", utc_wifi_aware_session_set_terminated_cb_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_unset_terminated_cb_p", utc_wifi_aware_session_unset_terminated_cb_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_unset_terminated_cb_n", utc_wifi_aware_session_unset_terminated_cb_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_stop_p", utc_wifi_aware_session_stop_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_stop_n", utc_wifi_aware_session_stop_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_publish_p", utc_wifi_aware_session_publish_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_publish_n", utc_wifi_aware_session_publish_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_update_publish_p", utc_wifi_aware_session_update_publish_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_update_publish_n", utc_wifi_aware_session_update_publish_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_subscribe_p", utc_wifi_aware_session_subscribe_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_subscribe_n", utc_wifi_aware_session_subscribe_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_update_subscribe_p", utc_wifi_aware_session_update_subscribe_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_update_subscribe_n", utc_wifi_aware_session_update_subscribe_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_set_service_discovered_cb_p", utc_wifi_aware_session_set_service_discovered_cb_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_set_service_discovered_cb_n", utc_wifi_aware_session_set_service_discovered_cb_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_unset_service_discovered_cb_p", utc_wifi_aware_session_unset_service_discovered_cb_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_unset_service_discovered_cb_n", utc_wifi_aware_session_unset_service_discovered_cb_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_set_message_received_cb_p", utc_wifi_aware_session_set_message_received_cb_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_set_message_received_cb_n", utc_wifi_aware_session_set_message_received_cb_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_unset_message_received_cb_p", utc_wifi_aware_session_unset_message_received_cb_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_unset_message_received_cb_n", utc_wifi_aware_session_unset_message_received_cb_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_send_message_p", utc_wifi_aware_session_send_message_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_send_message_n", utc_wifi_aware_session_send_message_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_peer_clone_p", utc_wifi_aware_peer_clone_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_peer_clone_n", utc_wifi_aware_peer_clone_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_peer_destroy_p", utc_wifi_aware_peer_destroy_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_peer_destroy_n", utc_wifi_aware_peer_destroy_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_peer_get_mac_p", utc_wifi_aware_peer_get_mac_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_peer_get_mac_n", utc_wifi_aware_peer_get_mac_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_data_path_create_p", utc_wifi_aware_data_path_create_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_data_path_create_n", utc_wifi_aware_data_path_create_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_data_path_set_security_p", utc_wifi_aware_data_path_set_security_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_data_path_set_security_n", utc_wifi_aware_data_path_set_security_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_data_path_set_psk_p", utc_wifi_aware_data_path_set_psk_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_data_path_set_psk_n", utc_wifi_aware_data_path_set_psk_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_data_path_set_pmk_p", utc_wifi_aware_data_path_set_pmk_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_data_path_set_pmk_n", utc_wifi_aware_data_path_set_pmk_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_data_path_set_port_p", utc_wifi_aware_data_path_set_port_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_data_path_set_port_n", utc_wifi_aware_data_path_set_port_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_data_path_destroy_p", utc_wifi_aware_data_path_destroy_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_data_path_destroy_n", utc_wifi_aware_data_path_destroy_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_data_path_open_n", utc_wifi_aware_data_path_open_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_data_path_close_n", utc_wifi_aware_data_path_close_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_data_path_get_peer_port_n", utc_wifi_aware_data_path_get_peer_port_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_data_path_get_peer_ipv6_address_n", utc_wifi_aware_data_path_get_peer_ipv6_address_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_data_path_get_interface_n", utc_wifi_aware_data_path_get_interface_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_data_path_set_terminated_cb_p", utc_wifi_aware_data_path_set_terminated_cb_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_data_path_set_terminated_cb_n", utc_wifi_aware_data_path_set_terminated_cb_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_data_path_unset_terminated_cb_p", utc_wifi_aware_data_path_unset_terminated_cb_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_data_path_unset_terminated_cb_n", utc_wifi_aware_data_path_unset_terminated_cb_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_disable_p", utc_wifi_aware_disable_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_disable_n", utc_wifi_aware_disable_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {NULL, NULL}
+};
+
+#endif // __TCT_WIFI_AWARE_NATIVE_H__
diff --git a/src/utc/wifi-aware/tct-wifi-aware-core_tizeniot.h b/src/utc/wifi-aware/tct-wifi-aware-core_tizeniot.h
new file mode 100755 (executable)
index 0000000..48a1bb2
--- /dev/null
@@ -0,0 +1,223 @@
+//
+// Copyright (c) 2024 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_WIFI_AWARE_NATIVE_H__
+#define __TCT_WIFI_AWARE_NATIVE_H__
+
+#include "testcase.h"
+#include "tct_common.h"
+
+extern void utc_wifi_aware_startup(void);
+extern void utc_wifi_aware_cleanup(void);
+extern int utc_wifi_aware_initialize_p(void);
+extern int utc_wifi_aware_initialize_n(void);
+extern int utc_wifi_aware_deinitialize_p(void);
+extern int utc_wifi_aware_deinitialize_n(void);
+extern int utc_wifi_aware_enable_p(void);
+extern int utc_wifi_aware_enable_n(void);
+extern int utc_wifi_aware_publish_create_p(void);
+extern int utc_wifi_aware_publish_create_n(void);
+extern int utc_wifi_aware_publish_destroy_p(void);
+extern int utc_wifi_aware_publish_destroy_n(void);
+extern int utc_wifi_aware_publish_set_ttl_p(void);
+extern int utc_wifi_aware_publish_set_ttl_n(void);
+extern int utc_wifi_aware_publish_set_type_p(void);
+extern int utc_wifi_aware_publish_set_type_n(void);
+extern int utc_wifi_aware_publish_set_service_name_p(void);
+extern int utc_wifi_aware_publish_set_service_name_n(void);
+extern int utc_wifi_aware_publish_set_service_specific_info_p(void);
+extern int utc_wifi_aware_publish_set_service_specific_info_n(void);
+extern int utc_wifi_aware_publish_set_match_filter_p(void);
+extern int utc_wifi_aware_publish_set_match_filter_n(void);
+extern int utc_wifi_aware_publish_enable_ranging_p(void);
+extern int utc_wifi_aware_publish_enable_ranging_n(void);
+extern int utc_wifi_aware_subscribe_create_p(void);
+extern int utc_wifi_aware_subscribe_create_n(void);
+extern int utc_wifi_aware_subscribe_destroy_p(void);
+extern int utc_wifi_aware_subscribe_destroy_n(void);
+extern int utc_wifi_aware_subscribe_set_ttl_p(void);
+extern int utc_wifi_aware_subscribe_set_ttl_n(void);
+extern int utc_wifi_aware_subscribe_set_type_p(void);
+extern int utc_wifi_aware_subscribe_set_type_n(void);
+extern int utc_wifi_aware_subscribe_set_service_name_p(void);
+extern int utc_wifi_aware_subscribe_set_service_name_n(void);
+extern int utc_wifi_aware_subscribe_set_service_specific_info_p(void);
+extern int utc_wifi_aware_subscribe_set_service_specific_info_n(void);
+extern int utc_wifi_aware_subscribe_set_match_filter_p(void);
+extern int utc_wifi_aware_subscribe_set_match_filter_n(void);
+extern int utc_wifi_aware_subscribe_set_max_distance_p(void);
+extern int utc_wifi_aware_subscribe_set_max_distance_n(void);
+extern int utc_wifi_aware_subscribe_set_min_distance_p(void);
+extern int utc_wifi_aware_subscribe_set_min_distance_n(void);
+extern int utc_wifi_aware_session_create_p(void);
+extern int utc_wifi_aware_session_create_n(void);
+extern int utc_wifi_aware_session_destroy_p(void);
+extern int utc_wifi_aware_session_destroy_n(void);
+extern int utc_wifi_aware_session_set_terminated_cb_p(void);
+extern int utc_wifi_aware_session_set_terminated_cb_n(void);
+extern int utc_wifi_aware_session_unset_terminated_cb_p(void);
+extern int utc_wifi_aware_session_unset_terminated_cb_n(void);
+extern int utc_wifi_aware_session_stop_p(void);
+extern int utc_wifi_aware_session_stop_n(void);
+extern int utc_wifi_aware_session_publish_p(void);
+extern int utc_wifi_aware_session_publish_n(void);
+extern int utc_wifi_aware_session_update_publish_p(void);
+extern int utc_wifi_aware_session_update_publish_n(void);
+extern int utc_wifi_aware_session_subscribe_p(void);
+extern int utc_wifi_aware_session_subscribe_n(void);
+extern int utc_wifi_aware_session_update_subscribe_p(void);
+extern int utc_wifi_aware_session_update_subscribe_n(void);
+extern int utc_wifi_aware_session_set_service_discovered_cb_p(void);
+extern int utc_wifi_aware_session_set_service_discovered_cb_n(void);
+extern int utc_wifi_aware_session_unset_service_discovered_cb_p(void);
+extern int utc_wifi_aware_session_unset_service_discovered_cb_n(void);
+extern int utc_wifi_aware_session_set_message_received_cb_p(void);
+extern int utc_wifi_aware_session_set_message_received_cb_n(void);
+extern int utc_wifi_aware_session_unset_message_received_cb_p(void);
+extern int utc_wifi_aware_session_unset_message_received_cb_n(void);
+extern int utc_wifi_aware_session_send_message_p(void);
+extern int utc_wifi_aware_session_send_message_n(void);
+extern int utc_wifi_aware_peer_clone_p(void);
+extern int utc_wifi_aware_peer_clone_n(void);
+extern int utc_wifi_aware_peer_destroy_p(void);
+extern int utc_wifi_aware_peer_destroy_n(void);
+extern int utc_wifi_aware_peer_get_mac_p(void);
+extern int utc_wifi_aware_peer_get_mac_n(void);
+extern int utc_wifi_aware_data_path_create_p(void);
+extern int utc_wifi_aware_data_path_create_n(void);
+extern int utc_wifi_aware_data_path_set_security_p(void);
+extern int utc_wifi_aware_data_path_set_security_n(void);
+extern int utc_wifi_aware_data_path_set_psk_p(void);
+extern int utc_wifi_aware_data_path_set_psk_n(void);
+extern int utc_wifi_aware_data_path_set_pmk_p(void);
+extern int utc_wifi_aware_data_path_set_pmk_n(void);
+extern int utc_wifi_aware_data_path_set_port_p(void);
+extern int utc_wifi_aware_data_path_set_port_n(void);
+extern int utc_wifi_aware_data_path_destroy_p(void);
+extern int utc_wifi_aware_data_path_destroy_n(void);
+extern int utc_wifi_aware_data_path_open_n(void);
+extern int utc_wifi_aware_data_path_close_n(void);
+extern int utc_wifi_aware_data_path_get_peer_port_n(void);
+extern int utc_wifi_aware_data_path_get_peer_ipv6_address_n(void);
+extern int utc_wifi_aware_data_path_get_interface_n(void);
+extern int utc_wifi_aware_data_path_set_terminated_cb_p(void);
+extern int utc_wifi_aware_data_path_set_terminated_cb_n(void);
+extern int utc_wifi_aware_data_path_unset_terminated_cb_p(void);
+extern int utc_wifi_aware_data_path_unset_terminated_cb_n(void);
+extern int utc_wifi_aware_disable_p(void);
+extern int utc_wifi_aware_disable_n(void);
+
+testcase tc_array[] = {
+    {"utc_wifi_aware_initialize_p", utc_wifi_aware_initialize_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_initialize_n", utc_wifi_aware_initialize_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_deinitialize_p", utc_wifi_aware_deinitialize_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_deinitialize_n", utc_wifi_aware_deinitialize_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_enable_p", utc_wifi_aware_enable_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_enable_n", utc_wifi_aware_enable_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_publish_create_p", utc_wifi_aware_publish_create_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_publish_create_n", utc_wifi_aware_publish_create_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_publish_destroy_p", utc_wifi_aware_publish_destroy_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_publish_destroy_n", utc_wifi_aware_publish_destroy_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_publish_set_ttl_p", utc_wifi_aware_publish_set_ttl_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_publish_set_ttl_n", utc_wifi_aware_publish_set_ttl_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_publish_set_type_p", utc_wifi_aware_publish_set_type_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_publish_set_type_n", utc_wifi_aware_publish_set_type_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_publish_set_service_name_p", utc_wifi_aware_publish_set_service_name_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_publish_set_service_name_n", utc_wifi_aware_publish_set_service_name_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_publish_set_service_specific_info_p", utc_wifi_aware_publish_set_service_specific_info_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_publish_set_service_specific_info_n", utc_wifi_aware_publish_set_service_specific_info_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_publish_set_match_filter_p", utc_wifi_aware_publish_set_match_filter_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_publish_set_match_filter_n", utc_wifi_aware_publish_set_match_filter_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_publish_enable_ranging_p", utc_wifi_aware_publish_enable_ranging_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_publish_enable_ranging_n", utc_wifi_aware_publish_enable_ranging_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_subscribe_create_p", utc_wifi_aware_subscribe_create_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_subscribe_create_n", utc_wifi_aware_subscribe_create_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_subscribe_destroy_p", utc_wifi_aware_subscribe_destroy_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_subscribe_destroy_n", utc_wifi_aware_subscribe_destroy_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_subscribe_set_ttl_p", utc_wifi_aware_subscribe_set_ttl_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_subscribe_set_ttl_n", utc_wifi_aware_subscribe_set_ttl_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_subscribe_set_type_p", utc_wifi_aware_subscribe_set_type_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_subscribe_set_type_n", utc_wifi_aware_subscribe_set_type_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_subscribe_set_service_name_p", utc_wifi_aware_subscribe_set_service_name_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_subscribe_set_service_name_n", utc_wifi_aware_subscribe_set_service_name_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_subscribe_set_service_specific_info_p", utc_wifi_aware_subscribe_set_service_specific_info_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_subscribe_set_service_specific_info_n", utc_wifi_aware_subscribe_set_service_specific_info_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_subscribe_set_match_filter_p", utc_wifi_aware_subscribe_set_match_filter_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_subscribe_set_match_filter_n", utc_wifi_aware_subscribe_set_match_filter_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_subscribe_set_max_distance_p", utc_wifi_aware_subscribe_set_max_distance_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_subscribe_set_max_distance_n", utc_wifi_aware_subscribe_set_max_distance_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_subscribe_set_min_distance_p", utc_wifi_aware_subscribe_set_min_distance_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_subscribe_set_min_distance_n", utc_wifi_aware_subscribe_set_min_distance_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_create_p", utc_wifi_aware_session_create_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_create_n", utc_wifi_aware_session_create_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_destroy_p", utc_wifi_aware_session_destroy_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_destroy_n", utc_wifi_aware_session_destroy_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_set_terminated_cb_p", utc_wifi_aware_session_set_terminated_cb_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_set_terminated_cb_n", utc_wifi_aware_session_set_terminated_cb_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_unset_terminated_cb_p", utc_wifi_aware_session_unset_terminated_cb_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_unset_terminated_cb_n", utc_wifi_aware_session_unset_terminated_cb_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_stop_p", utc_wifi_aware_session_stop_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_stop_n", utc_wifi_aware_session_stop_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_publish_p", utc_wifi_aware_session_publish_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_publish_n", utc_wifi_aware_session_publish_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_update_publish_p", utc_wifi_aware_session_update_publish_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_update_publish_n", utc_wifi_aware_session_update_publish_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_subscribe_p", utc_wifi_aware_session_subscribe_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_subscribe_n", utc_wifi_aware_session_subscribe_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_update_subscribe_p", utc_wifi_aware_session_update_subscribe_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_update_subscribe_n", utc_wifi_aware_session_update_subscribe_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_set_service_discovered_cb_p", utc_wifi_aware_session_set_service_discovered_cb_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_set_service_discovered_cb_n", utc_wifi_aware_session_set_service_discovered_cb_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_unset_service_discovered_cb_p", utc_wifi_aware_session_unset_service_discovered_cb_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_unset_service_discovered_cb_n", utc_wifi_aware_session_unset_service_discovered_cb_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_set_message_received_cb_p", utc_wifi_aware_session_set_message_received_cb_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_set_message_received_cb_n", utc_wifi_aware_session_set_message_received_cb_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_unset_message_received_cb_p", utc_wifi_aware_session_unset_message_received_cb_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_unset_message_received_cb_n", utc_wifi_aware_session_unset_message_received_cb_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_send_message_p", utc_wifi_aware_session_send_message_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_send_message_n", utc_wifi_aware_session_send_message_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_peer_clone_p", utc_wifi_aware_peer_clone_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_peer_clone_n", utc_wifi_aware_peer_clone_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_peer_destroy_p", utc_wifi_aware_peer_destroy_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_peer_destroy_n", utc_wifi_aware_peer_destroy_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_peer_get_mac_p", utc_wifi_aware_peer_get_mac_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_peer_get_mac_n", utc_wifi_aware_peer_get_mac_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_data_path_create_p", utc_wifi_aware_data_path_create_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_data_path_create_n", utc_wifi_aware_data_path_create_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_data_path_set_security_p", utc_wifi_aware_data_path_set_security_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_data_path_set_security_n", utc_wifi_aware_data_path_set_security_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_data_path_set_psk_p", utc_wifi_aware_data_path_set_psk_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_data_path_set_psk_n", utc_wifi_aware_data_path_set_psk_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_data_path_set_pmk_p", utc_wifi_aware_data_path_set_pmk_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_data_path_set_pmk_n", utc_wifi_aware_data_path_set_pmk_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_data_path_set_port_p", utc_wifi_aware_data_path_set_port_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_data_path_set_port_n", utc_wifi_aware_data_path_set_port_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_data_path_destroy_p", utc_wifi_aware_data_path_destroy_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_data_path_destroy_n", utc_wifi_aware_data_path_destroy_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_data_path_open_n", utc_wifi_aware_data_path_open_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_data_path_close_n", utc_wifi_aware_data_path_close_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_data_path_get_peer_port_n", utc_wifi_aware_data_path_get_peer_port_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_data_path_get_peer_ipv6_address_n", utc_wifi_aware_data_path_get_peer_ipv6_address_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_data_path_get_interface_n", utc_wifi_aware_data_path_get_interface_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_data_path_set_terminated_cb_p", utc_wifi_aware_data_path_set_terminated_cb_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_data_path_set_terminated_cb_n", utc_wifi_aware_data_path_set_terminated_cb_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_data_path_unset_terminated_cb_p", utc_wifi_aware_data_path_unset_terminated_cb_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_data_path_unset_terminated_cb_n", utc_wifi_aware_data_path_unset_terminated_cb_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_disable_p", utc_wifi_aware_disable_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_disable_n", utc_wifi_aware_disable_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {NULL, NULL}
+};
+
+#endif // __TCT_WIFI_AWARE_NATIVE_H__
diff --git a/src/utc/wifi-aware/tct-wifi-aware-core_tv.h b/src/utc/wifi-aware/tct-wifi-aware-core_tv.h
new file mode 100755 (executable)
index 0000000..48a1bb2
--- /dev/null
@@ -0,0 +1,223 @@
+//
+// Copyright (c) 2024 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_WIFI_AWARE_NATIVE_H__
+#define __TCT_WIFI_AWARE_NATIVE_H__
+
+#include "testcase.h"
+#include "tct_common.h"
+
+extern void utc_wifi_aware_startup(void);
+extern void utc_wifi_aware_cleanup(void);
+extern int utc_wifi_aware_initialize_p(void);
+extern int utc_wifi_aware_initialize_n(void);
+extern int utc_wifi_aware_deinitialize_p(void);
+extern int utc_wifi_aware_deinitialize_n(void);
+extern int utc_wifi_aware_enable_p(void);
+extern int utc_wifi_aware_enable_n(void);
+extern int utc_wifi_aware_publish_create_p(void);
+extern int utc_wifi_aware_publish_create_n(void);
+extern int utc_wifi_aware_publish_destroy_p(void);
+extern int utc_wifi_aware_publish_destroy_n(void);
+extern int utc_wifi_aware_publish_set_ttl_p(void);
+extern int utc_wifi_aware_publish_set_ttl_n(void);
+extern int utc_wifi_aware_publish_set_type_p(void);
+extern int utc_wifi_aware_publish_set_type_n(void);
+extern int utc_wifi_aware_publish_set_service_name_p(void);
+extern int utc_wifi_aware_publish_set_service_name_n(void);
+extern int utc_wifi_aware_publish_set_service_specific_info_p(void);
+extern int utc_wifi_aware_publish_set_service_specific_info_n(void);
+extern int utc_wifi_aware_publish_set_match_filter_p(void);
+extern int utc_wifi_aware_publish_set_match_filter_n(void);
+extern int utc_wifi_aware_publish_enable_ranging_p(void);
+extern int utc_wifi_aware_publish_enable_ranging_n(void);
+extern int utc_wifi_aware_subscribe_create_p(void);
+extern int utc_wifi_aware_subscribe_create_n(void);
+extern int utc_wifi_aware_subscribe_destroy_p(void);
+extern int utc_wifi_aware_subscribe_destroy_n(void);
+extern int utc_wifi_aware_subscribe_set_ttl_p(void);
+extern int utc_wifi_aware_subscribe_set_ttl_n(void);
+extern int utc_wifi_aware_subscribe_set_type_p(void);
+extern int utc_wifi_aware_subscribe_set_type_n(void);
+extern int utc_wifi_aware_subscribe_set_service_name_p(void);
+extern int utc_wifi_aware_subscribe_set_service_name_n(void);
+extern int utc_wifi_aware_subscribe_set_service_specific_info_p(void);
+extern int utc_wifi_aware_subscribe_set_service_specific_info_n(void);
+extern int utc_wifi_aware_subscribe_set_match_filter_p(void);
+extern int utc_wifi_aware_subscribe_set_match_filter_n(void);
+extern int utc_wifi_aware_subscribe_set_max_distance_p(void);
+extern int utc_wifi_aware_subscribe_set_max_distance_n(void);
+extern int utc_wifi_aware_subscribe_set_min_distance_p(void);
+extern int utc_wifi_aware_subscribe_set_min_distance_n(void);
+extern int utc_wifi_aware_session_create_p(void);
+extern int utc_wifi_aware_session_create_n(void);
+extern int utc_wifi_aware_session_destroy_p(void);
+extern int utc_wifi_aware_session_destroy_n(void);
+extern int utc_wifi_aware_session_set_terminated_cb_p(void);
+extern int utc_wifi_aware_session_set_terminated_cb_n(void);
+extern int utc_wifi_aware_session_unset_terminated_cb_p(void);
+extern int utc_wifi_aware_session_unset_terminated_cb_n(void);
+extern int utc_wifi_aware_session_stop_p(void);
+extern int utc_wifi_aware_session_stop_n(void);
+extern int utc_wifi_aware_session_publish_p(void);
+extern int utc_wifi_aware_session_publish_n(void);
+extern int utc_wifi_aware_session_update_publish_p(void);
+extern int utc_wifi_aware_session_update_publish_n(void);
+extern int utc_wifi_aware_session_subscribe_p(void);
+extern int utc_wifi_aware_session_subscribe_n(void);
+extern int utc_wifi_aware_session_update_subscribe_p(void);
+extern int utc_wifi_aware_session_update_subscribe_n(void);
+extern int utc_wifi_aware_session_set_service_discovered_cb_p(void);
+extern int utc_wifi_aware_session_set_service_discovered_cb_n(void);
+extern int utc_wifi_aware_session_unset_service_discovered_cb_p(void);
+extern int utc_wifi_aware_session_unset_service_discovered_cb_n(void);
+extern int utc_wifi_aware_session_set_message_received_cb_p(void);
+extern int utc_wifi_aware_session_set_message_received_cb_n(void);
+extern int utc_wifi_aware_session_unset_message_received_cb_p(void);
+extern int utc_wifi_aware_session_unset_message_received_cb_n(void);
+extern int utc_wifi_aware_session_send_message_p(void);
+extern int utc_wifi_aware_session_send_message_n(void);
+extern int utc_wifi_aware_peer_clone_p(void);
+extern int utc_wifi_aware_peer_clone_n(void);
+extern int utc_wifi_aware_peer_destroy_p(void);
+extern int utc_wifi_aware_peer_destroy_n(void);
+extern int utc_wifi_aware_peer_get_mac_p(void);
+extern int utc_wifi_aware_peer_get_mac_n(void);
+extern int utc_wifi_aware_data_path_create_p(void);
+extern int utc_wifi_aware_data_path_create_n(void);
+extern int utc_wifi_aware_data_path_set_security_p(void);
+extern int utc_wifi_aware_data_path_set_security_n(void);
+extern int utc_wifi_aware_data_path_set_psk_p(void);
+extern int utc_wifi_aware_data_path_set_psk_n(void);
+extern int utc_wifi_aware_data_path_set_pmk_p(void);
+extern int utc_wifi_aware_data_path_set_pmk_n(void);
+extern int utc_wifi_aware_data_path_set_port_p(void);
+extern int utc_wifi_aware_data_path_set_port_n(void);
+extern int utc_wifi_aware_data_path_destroy_p(void);
+extern int utc_wifi_aware_data_path_destroy_n(void);
+extern int utc_wifi_aware_data_path_open_n(void);
+extern int utc_wifi_aware_data_path_close_n(void);
+extern int utc_wifi_aware_data_path_get_peer_port_n(void);
+extern int utc_wifi_aware_data_path_get_peer_ipv6_address_n(void);
+extern int utc_wifi_aware_data_path_get_interface_n(void);
+extern int utc_wifi_aware_data_path_set_terminated_cb_p(void);
+extern int utc_wifi_aware_data_path_set_terminated_cb_n(void);
+extern int utc_wifi_aware_data_path_unset_terminated_cb_p(void);
+extern int utc_wifi_aware_data_path_unset_terminated_cb_n(void);
+extern int utc_wifi_aware_disable_p(void);
+extern int utc_wifi_aware_disable_n(void);
+
+testcase tc_array[] = {
+    {"utc_wifi_aware_initialize_p", utc_wifi_aware_initialize_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_initialize_n", utc_wifi_aware_initialize_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_deinitialize_p", utc_wifi_aware_deinitialize_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_deinitialize_n", utc_wifi_aware_deinitialize_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_enable_p", utc_wifi_aware_enable_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_enable_n", utc_wifi_aware_enable_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_publish_create_p", utc_wifi_aware_publish_create_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_publish_create_n", utc_wifi_aware_publish_create_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_publish_destroy_p", utc_wifi_aware_publish_destroy_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_publish_destroy_n", utc_wifi_aware_publish_destroy_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_publish_set_ttl_p", utc_wifi_aware_publish_set_ttl_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_publish_set_ttl_n", utc_wifi_aware_publish_set_ttl_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_publish_set_type_p", utc_wifi_aware_publish_set_type_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_publish_set_type_n", utc_wifi_aware_publish_set_type_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_publish_set_service_name_p", utc_wifi_aware_publish_set_service_name_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_publish_set_service_name_n", utc_wifi_aware_publish_set_service_name_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_publish_set_service_specific_info_p", utc_wifi_aware_publish_set_service_specific_info_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_publish_set_service_specific_info_n", utc_wifi_aware_publish_set_service_specific_info_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_publish_set_match_filter_p", utc_wifi_aware_publish_set_match_filter_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_publish_set_match_filter_n", utc_wifi_aware_publish_set_match_filter_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_publish_enable_ranging_p", utc_wifi_aware_publish_enable_ranging_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_publish_enable_ranging_n", utc_wifi_aware_publish_enable_ranging_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_subscribe_create_p", utc_wifi_aware_subscribe_create_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_subscribe_create_n", utc_wifi_aware_subscribe_create_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_subscribe_destroy_p", utc_wifi_aware_subscribe_destroy_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_subscribe_destroy_n", utc_wifi_aware_subscribe_destroy_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_subscribe_set_ttl_p", utc_wifi_aware_subscribe_set_ttl_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_subscribe_set_ttl_n", utc_wifi_aware_subscribe_set_ttl_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_subscribe_set_type_p", utc_wifi_aware_subscribe_set_type_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_subscribe_set_type_n", utc_wifi_aware_subscribe_set_type_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_subscribe_set_service_name_p", utc_wifi_aware_subscribe_set_service_name_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_subscribe_set_service_name_n", utc_wifi_aware_subscribe_set_service_name_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_subscribe_set_service_specific_info_p", utc_wifi_aware_subscribe_set_service_specific_info_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_subscribe_set_service_specific_info_n", utc_wifi_aware_subscribe_set_service_specific_info_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_subscribe_set_match_filter_p", utc_wifi_aware_subscribe_set_match_filter_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_subscribe_set_match_filter_n", utc_wifi_aware_subscribe_set_match_filter_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_subscribe_set_max_distance_p", utc_wifi_aware_subscribe_set_max_distance_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_subscribe_set_max_distance_n", utc_wifi_aware_subscribe_set_max_distance_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_subscribe_set_min_distance_p", utc_wifi_aware_subscribe_set_min_distance_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_subscribe_set_min_distance_n", utc_wifi_aware_subscribe_set_min_distance_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_create_p", utc_wifi_aware_session_create_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_create_n", utc_wifi_aware_session_create_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_destroy_p", utc_wifi_aware_session_destroy_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_destroy_n", utc_wifi_aware_session_destroy_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_set_terminated_cb_p", utc_wifi_aware_session_set_terminated_cb_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_set_terminated_cb_n", utc_wifi_aware_session_set_terminated_cb_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_unset_terminated_cb_p", utc_wifi_aware_session_unset_terminated_cb_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_unset_terminated_cb_n", utc_wifi_aware_session_unset_terminated_cb_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_stop_p", utc_wifi_aware_session_stop_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_stop_n", utc_wifi_aware_session_stop_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_publish_p", utc_wifi_aware_session_publish_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_publish_n", utc_wifi_aware_session_publish_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_update_publish_p", utc_wifi_aware_session_update_publish_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_update_publish_n", utc_wifi_aware_session_update_publish_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_subscribe_p", utc_wifi_aware_session_subscribe_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_subscribe_n", utc_wifi_aware_session_subscribe_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_update_subscribe_p", utc_wifi_aware_session_update_subscribe_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_update_subscribe_n", utc_wifi_aware_session_update_subscribe_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_set_service_discovered_cb_p", utc_wifi_aware_session_set_service_discovered_cb_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_set_service_discovered_cb_n", utc_wifi_aware_session_set_service_discovered_cb_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_unset_service_discovered_cb_p", utc_wifi_aware_session_unset_service_discovered_cb_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_unset_service_discovered_cb_n", utc_wifi_aware_session_unset_service_discovered_cb_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_set_message_received_cb_p", utc_wifi_aware_session_set_message_received_cb_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_set_message_received_cb_n", utc_wifi_aware_session_set_message_received_cb_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_unset_message_received_cb_p", utc_wifi_aware_session_unset_message_received_cb_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_unset_message_received_cb_n", utc_wifi_aware_session_unset_message_received_cb_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_send_message_p", utc_wifi_aware_session_send_message_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_send_message_n", utc_wifi_aware_session_send_message_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_peer_clone_p", utc_wifi_aware_peer_clone_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_peer_clone_n", utc_wifi_aware_peer_clone_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_peer_destroy_p", utc_wifi_aware_peer_destroy_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_peer_destroy_n", utc_wifi_aware_peer_destroy_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_peer_get_mac_p", utc_wifi_aware_peer_get_mac_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_peer_get_mac_n", utc_wifi_aware_peer_get_mac_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_data_path_create_p", utc_wifi_aware_data_path_create_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_data_path_create_n", utc_wifi_aware_data_path_create_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_data_path_set_security_p", utc_wifi_aware_data_path_set_security_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_data_path_set_security_n", utc_wifi_aware_data_path_set_security_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_data_path_set_psk_p", utc_wifi_aware_data_path_set_psk_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_data_path_set_psk_n", utc_wifi_aware_data_path_set_psk_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_data_path_set_pmk_p", utc_wifi_aware_data_path_set_pmk_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_data_path_set_pmk_n", utc_wifi_aware_data_path_set_pmk_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_data_path_set_port_p", utc_wifi_aware_data_path_set_port_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_data_path_set_port_n", utc_wifi_aware_data_path_set_port_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_data_path_destroy_p", utc_wifi_aware_data_path_destroy_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_data_path_destroy_n", utc_wifi_aware_data_path_destroy_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_data_path_open_n", utc_wifi_aware_data_path_open_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_data_path_close_n", utc_wifi_aware_data_path_close_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_data_path_get_peer_port_n", utc_wifi_aware_data_path_get_peer_port_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_data_path_get_peer_ipv6_address_n", utc_wifi_aware_data_path_get_peer_ipv6_address_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_data_path_get_interface_n", utc_wifi_aware_data_path_get_interface_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_data_path_set_terminated_cb_p", utc_wifi_aware_data_path_set_terminated_cb_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_data_path_set_terminated_cb_n", utc_wifi_aware_data_path_set_terminated_cb_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_data_path_unset_terminated_cb_p", utc_wifi_aware_data_path_unset_terminated_cb_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_data_path_unset_terminated_cb_n", utc_wifi_aware_data_path_unset_terminated_cb_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_disable_p", utc_wifi_aware_disable_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_disable_n", utc_wifi_aware_disable_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {NULL, NULL}
+};
+
+#endif // __TCT_WIFI_AWARE_NATIVE_H__
diff --git a/src/utc/wifi-aware/tct-wifi-aware-core_wearable.h b/src/utc/wifi-aware/tct-wifi-aware-core_wearable.h
new file mode 100755 (executable)
index 0000000..48a1bb2
--- /dev/null
@@ -0,0 +1,223 @@
+//
+// Copyright (c) 2024 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_WIFI_AWARE_NATIVE_H__
+#define __TCT_WIFI_AWARE_NATIVE_H__
+
+#include "testcase.h"
+#include "tct_common.h"
+
+extern void utc_wifi_aware_startup(void);
+extern void utc_wifi_aware_cleanup(void);
+extern int utc_wifi_aware_initialize_p(void);
+extern int utc_wifi_aware_initialize_n(void);
+extern int utc_wifi_aware_deinitialize_p(void);
+extern int utc_wifi_aware_deinitialize_n(void);
+extern int utc_wifi_aware_enable_p(void);
+extern int utc_wifi_aware_enable_n(void);
+extern int utc_wifi_aware_publish_create_p(void);
+extern int utc_wifi_aware_publish_create_n(void);
+extern int utc_wifi_aware_publish_destroy_p(void);
+extern int utc_wifi_aware_publish_destroy_n(void);
+extern int utc_wifi_aware_publish_set_ttl_p(void);
+extern int utc_wifi_aware_publish_set_ttl_n(void);
+extern int utc_wifi_aware_publish_set_type_p(void);
+extern int utc_wifi_aware_publish_set_type_n(void);
+extern int utc_wifi_aware_publish_set_service_name_p(void);
+extern int utc_wifi_aware_publish_set_service_name_n(void);
+extern int utc_wifi_aware_publish_set_service_specific_info_p(void);
+extern int utc_wifi_aware_publish_set_service_specific_info_n(void);
+extern int utc_wifi_aware_publish_set_match_filter_p(void);
+extern int utc_wifi_aware_publish_set_match_filter_n(void);
+extern int utc_wifi_aware_publish_enable_ranging_p(void);
+extern int utc_wifi_aware_publish_enable_ranging_n(void);
+extern int utc_wifi_aware_subscribe_create_p(void);
+extern int utc_wifi_aware_subscribe_create_n(void);
+extern int utc_wifi_aware_subscribe_destroy_p(void);
+extern int utc_wifi_aware_subscribe_destroy_n(void);
+extern int utc_wifi_aware_subscribe_set_ttl_p(void);
+extern int utc_wifi_aware_subscribe_set_ttl_n(void);
+extern int utc_wifi_aware_subscribe_set_type_p(void);
+extern int utc_wifi_aware_subscribe_set_type_n(void);
+extern int utc_wifi_aware_subscribe_set_service_name_p(void);
+extern int utc_wifi_aware_subscribe_set_service_name_n(void);
+extern int utc_wifi_aware_subscribe_set_service_specific_info_p(void);
+extern int utc_wifi_aware_subscribe_set_service_specific_info_n(void);
+extern int utc_wifi_aware_subscribe_set_match_filter_p(void);
+extern int utc_wifi_aware_subscribe_set_match_filter_n(void);
+extern int utc_wifi_aware_subscribe_set_max_distance_p(void);
+extern int utc_wifi_aware_subscribe_set_max_distance_n(void);
+extern int utc_wifi_aware_subscribe_set_min_distance_p(void);
+extern int utc_wifi_aware_subscribe_set_min_distance_n(void);
+extern int utc_wifi_aware_session_create_p(void);
+extern int utc_wifi_aware_session_create_n(void);
+extern int utc_wifi_aware_session_destroy_p(void);
+extern int utc_wifi_aware_session_destroy_n(void);
+extern int utc_wifi_aware_session_set_terminated_cb_p(void);
+extern int utc_wifi_aware_session_set_terminated_cb_n(void);
+extern int utc_wifi_aware_session_unset_terminated_cb_p(void);
+extern int utc_wifi_aware_session_unset_terminated_cb_n(void);
+extern int utc_wifi_aware_session_stop_p(void);
+extern int utc_wifi_aware_session_stop_n(void);
+extern int utc_wifi_aware_session_publish_p(void);
+extern int utc_wifi_aware_session_publish_n(void);
+extern int utc_wifi_aware_session_update_publish_p(void);
+extern int utc_wifi_aware_session_update_publish_n(void);
+extern int utc_wifi_aware_session_subscribe_p(void);
+extern int utc_wifi_aware_session_subscribe_n(void);
+extern int utc_wifi_aware_session_update_subscribe_p(void);
+extern int utc_wifi_aware_session_update_subscribe_n(void);
+extern int utc_wifi_aware_session_set_service_discovered_cb_p(void);
+extern int utc_wifi_aware_session_set_service_discovered_cb_n(void);
+extern int utc_wifi_aware_session_unset_service_discovered_cb_p(void);
+extern int utc_wifi_aware_session_unset_service_discovered_cb_n(void);
+extern int utc_wifi_aware_session_set_message_received_cb_p(void);
+extern int utc_wifi_aware_session_set_message_received_cb_n(void);
+extern int utc_wifi_aware_session_unset_message_received_cb_p(void);
+extern int utc_wifi_aware_session_unset_message_received_cb_n(void);
+extern int utc_wifi_aware_session_send_message_p(void);
+extern int utc_wifi_aware_session_send_message_n(void);
+extern int utc_wifi_aware_peer_clone_p(void);
+extern int utc_wifi_aware_peer_clone_n(void);
+extern int utc_wifi_aware_peer_destroy_p(void);
+extern int utc_wifi_aware_peer_destroy_n(void);
+extern int utc_wifi_aware_peer_get_mac_p(void);
+extern int utc_wifi_aware_peer_get_mac_n(void);
+extern int utc_wifi_aware_data_path_create_p(void);
+extern int utc_wifi_aware_data_path_create_n(void);
+extern int utc_wifi_aware_data_path_set_security_p(void);
+extern int utc_wifi_aware_data_path_set_security_n(void);
+extern int utc_wifi_aware_data_path_set_psk_p(void);
+extern int utc_wifi_aware_data_path_set_psk_n(void);
+extern int utc_wifi_aware_data_path_set_pmk_p(void);
+extern int utc_wifi_aware_data_path_set_pmk_n(void);
+extern int utc_wifi_aware_data_path_set_port_p(void);
+extern int utc_wifi_aware_data_path_set_port_n(void);
+extern int utc_wifi_aware_data_path_destroy_p(void);
+extern int utc_wifi_aware_data_path_destroy_n(void);
+extern int utc_wifi_aware_data_path_open_n(void);
+extern int utc_wifi_aware_data_path_close_n(void);
+extern int utc_wifi_aware_data_path_get_peer_port_n(void);
+extern int utc_wifi_aware_data_path_get_peer_ipv6_address_n(void);
+extern int utc_wifi_aware_data_path_get_interface_n(void);
+extern int utc_wifi_aware_data_path_set_terminated_cb_p(void);
+extern int utc_wifi_aware_data_path_set_terminated_cb_n(void);
+extern int utc_wifi_aware_data_path_unset_terminated_cb_p(void);
+extern int utc_wifi_aware_data_path_unset_terminated_cb_n(void);
+extern int utc_wifi_aware_disable_p(void);
+extern int utc_wifi_aware_disable_n(void);
+
+testcase tc_array[] = {
+    {"utc_wifi_aware_initialize_p", utc_wifi_aware_initialize_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_initialize_n", utc_wifi_aware_initialize_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_deinitialize_p", utc_wifi_aware_deinitialize_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_deinitialize_n", utc_wifi_aware_deinitialize_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_enable_p", utc_wifi_aware_enable_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_enable_n", utc_wifi_aware_enable_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_publish_create_p", utc_wifi_aware_publish_create_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_publish_create_n", utc_wifi_aware_publish_create_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_publish_destroy_p", utc_wifi_aware_publish_destroy_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_publish_destroy_n", utc_wifi_aware_publish_destroy_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_publish_set_ttl_p", utc_wifi_aware_publish_set_ttl_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_publish_set_ttl_n", utc_wifi_aware_publish_set_ttl_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_publish_set_type_p", utc_wifi_aware_publish_set_type_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_publish_set_type_n", utc_wifi_aware_publish_set_type_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_publish_set_service_name_p", utc_wifi_aware_publish_set_service_name_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_publish_set_service_name_n", utc_wifi_aware_publish_set_service_name_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_publish_set_service_specific_info_p", utc_wifi_aware_publish_set_service_specific_info_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_publish_set_service_specific_info_n", utc_wifi_aware_publish_set_service_specific_info_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_publish_set_match_filter_p", utc_wifi_aware_publish_set_match_filter_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_publish_set_match_filter_n", utc_wifi_aware_publish_set_match_filter_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_publish_enable_ranging_p", utc_wifi_aware_publish_enable_ranging_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_publish_enable_ranging_n", utc_wifi_aware_publish_enable_ranging_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_subscribe_create_p", utc_wifi_aware_subscribe_create_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_subscribe_create_n", utc_wifi_aware_subscribe_create_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_subscribe_destroy_p", utc_wifi_aware_subscribe_destroy_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_subscribe_destroy_n", utc_wifi_aware_subscribe_destroy_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_subscribe_set_ttl_p", utc_wifi_aware_subscribe_set_ttl_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_subscribe_set_ttl_n", utc_wifi_aware_subscribe_set_ttl_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_subscribe_set_type_p", utc_wifi_aware_subscribe_set_type_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_subscribe_set_type_n", utc_wifi_aware_subscribe_set_type_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_subscribe_set_service_name_p", utc_wifi_aware_subscribe_set_service_name_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_subscribe_set_service_name_n", utc_wifi_aware_subscribe_set_service_name_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_subscribe_set_service_specific_info_p", utc_wifi_aware_subscribe_set_service_specific_info_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_subscribe_set_service_specific_info_n", utc_wifi_aware_subscribe_set_service_specific_info_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_subscribe_set_match_filter_p", utc_wifi_aware_subscribe_set_match_filter_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_subscribe_set_match_filter_n", utc_wifi_aware_subscribe_set_match_filter_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_subscribe_set_max_distance_p", utc_wifi_aware_subscribe_set_max_distance_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_subscribe_set_max_distance_n", utc_wifi_aware_subscribe_set_max_distance_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_subscribe_set_min_distance_p", utc_wifi_aware_subscribe_set_min_distance_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_subscribe_set_min_distance_n", utc_wifi_aware_subscribe_set_min_distance_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_create_p", utc_wifi_aware_session_create_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_create_n", utc_wifi_aware_session_create_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_destroy_p", utc_wifi_aware_session_destroy_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_destroy_n", utc_wifi_aware_session_destroy_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_set_terminated_cb_p", utc_wifi_aware_session_set_terminated_cb_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_set_terminated_cb_n", utc_wifi_aware_session_set_terminated_cb_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_unset_terminated_cb_p", utc_wifi_aware_session_unset_terminated_cb_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_unset_terminated_cb_n", utc_wifi_aware_session_unset_terminated_cb_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_stop_p", utc_wifi_aware_session_stop_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_stop_n", utc_wifi_aware_session_stop_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_publish_p", utc_wifi_aware_session_publish_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_publish_n", utc_wifi_aware_session_publish_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_update_publish_p", utc_wifi_aware_session_update_publish_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_update_publish_n", utc_wifi_aware_session_update_publish_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_subscribe_p", utc_wifi_aware_session_subscribe_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_subscribe_n", utc_wifi_aware_session_subscribe_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_update_subscribe_p", utc_wifi_aware_session_update_subscribe_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_update_subscribe_n", utc_wifi_aware_session_update_subscribe_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_set_service_discovered_cb_p", utc_wifi_aware_session_set_service_discovered_cb_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_set_service_discovered_cb_n", utc_wifi_aware_session_set_service_discovered_cb_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_unset_service_discovered_cb_p", utc_wifi_aware_session_unset_service_discovered_cb_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_unset_service_discovered_cb_n", utc_wifi_aware_session_unset_service_discovered_cb_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_set_message_received_cb_p", utc_wifi_aware_session_set_message_received_cb_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_set_message_received_cb_n", utc_wifi_aware_session_set_message_received_cb_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_unset_message_received_cb_p", utc_wifi_aware_session_unset_message_received_cb_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_unset_message_received_cb_n", utc_wifi_aware_session_unset_message_received_cb_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_send_message_p", utc_wifi_aware_session_send_message_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_session_send_message_n", utc_wifi_aware_session_send_message_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_peer_clone_p", utc_wifi_aware_peer_clone_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_peer_clone_n", utc_wifi_aware_peer_clone_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_peer_destroy_p", utc_wifi_aware_peer_destroy_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_peer_destroy_n", utc_wifi_aware_peer_destroy_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_peer_get_mac_p", utc_wifi_aware_peer_get_mac_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_peer_get_mac_n", utc_wifi_aware_peer_get_mac_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_data_path_create_p", utc_wifi_aware_data_path_create_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_data_path_create_n", utc_wifi_aware_data_path_create_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_data_path_set_security_p", utc_wifi_aware_data_path_set_security_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_data_path_set_security_n", utc_wifi_aware_data_path_set_security_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_data_path_set_psk_p", utc_wifi_aware_data_path_set_psk_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_data_path_set_psk_n", utc_wifi_aware_data_path_set_psk_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_data_path_set_pmk_p", utc_wifi_aware_data_path_set_pmk_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_data_path_set_pmk_n", utc_wifi_aware_data_path_set_pmk_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_data_path_set_port_p", utc_wifi_aware_data_path_set_port_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_data_path_set_port_n", utc_wifi_aware_data_path_set_port_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_data_path_destroy_p", utc_wifi_aware_data_path_destroy_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_data_path_destroy_n", utc_wifi_aware_data_path_destroy_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_data_path_open_n", utc_wifi_aware_data_path_open_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_data_path_close_n", utc_wifi_aware_data_path_close_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_data_path_get_peer_port_n", utc_wifi_aware_data_path_get_peer_port_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_data_path_get_peer_ipv6_address_n", utc_wifi_aware_data_path_get_peer_ipv6_address_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_data_path_get_interface_n", utc_wifi_aware_data_path_get_interface_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_data_path_set_terminated_cb_p", utc_wifi_aware_data_path_set_terminated_cb_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_data_path_set_terminated_cb_n", utc_wifi_aware_data_path_set_terminated_cb_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_data_path_unset_terminated_cb_p", utc_wifi_aware_data_path_unset_terminated_cb_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_data_path_unset_terminated_cb_n", utc_wifi_aware_data_path_unset_terminated_cb_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_disable_p", utc_wifi_aware_disable_p, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {"utc_wifi_aware_disable_n", utc_wifi_aware_disable_n, utc_wifi_aware_startup, utc_wifi_aware_cleanup},
+    {NULL, NULL}
+};
+
+#endif // __TCT_WIFI_AWARE_NATIVE_H__
diff --git a/src/utc/wifi-aware/utc-wifi-aware-common.c b/src/utc/wifi-aware/utc-wifi-aware-common.c
new file mode 100755 (executable)
index 0000000..a7e2174
--- /dev/null
@@ -0,0 +1,181 @@
+//
+// Copyright (c) 2024 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 "utc-wifi-aware-common.h"
+
+gboolean wifi_aware_callback_timeout(gpointer data)
+{
+       GMainLoop *pMainLoop = NULL;
+       pMainLoop = (GMainLoop *)data;
+       if ( pMainLoop != NULL )
+       {
+               dlog_print(DLOG_INFO, "NativeTCT", "[%d:%s] Quit mainloop(timeout)[%p]", __LINE__, __FUNCTION__, pMainLoop);
+               g_main_loop_quit(pMainLoop);
+       }
+       FPRINTF("[%d:%s] Callback Timeout\\n", __LINE__, __FUNCTION__);
+       dlog_print(DLOG_ERROR, "NativeTCT", "[%d:%s] Callback Timeout", __LINE__, __FUNCTION__);
+       return false;
+}
+
+char* wifi_aware_get_error(int error)
+{
+       char *error_value = NULL;
+       switch (error) {
+               case WIFI_AWARE_ERROR_NONE:
+                       error_value = "WIFI_AWARE_ERROR_NONE";
+                       break;
+               case WIFI_AWARE_ERROR_NOT_PERMITTED:
+                       error_value = "WIFI_AWARE_ERROR_NOT_PERMITTED";
+                       break;
+               case WIFI_AWARE_ERROR_OUT_OF_MEMORY:
+                       error_value = "WIFI_AWARE_ERROR_OUT_OF_MEMORY";
+                       break;
+               case WIFI_AWARE_ERROR_PERMISSION_DENIED:
+                       error_value = "WIFI_AWARE_ERROR_PERMISSION_DENIED";
+                       break;
+               case WIFI_AWARE_ERROR_RESOURCE_BUSY:
+                       error_value = "WIFI_AWARE_ERROR_RESOURCE_BUSY";
+                       break;
+               case WIFI_AWARE_ERROR_INVALID_PARAMETER:
+                       error_value = "WIFI_AWARE_ERROR_INVALID_PARAMETER";
+                       break;
+               case WIFI_AWARE_ERROR_INVALID_OPERATION:
+                       error_value = "WIFI_AWARE_ERROR_INVALID_OPERATION";
+                       break;
+               case WIFI_AWARE_ERROR_NOW_IN_PROGRESS:
+                       error_value = "WIFI_AWARE_ERROR_NOW_IN_PROGRESS";
+                       break;
+               case WIFI_AWARE_ERROR_NOT_SUPPORTED:
+                       error_value = "WIFI_AWARE_ERROR_NOT_SUPPORTED";
+                       break;
+               case WIFI_AWARE_ERROR_NOT_INITIALIZED:
+                       error_value = "WIFI_AWARE_ERROR_NOT_INITIALIZED";
+                       break;
+               case WIFI_AWARE_ERROR_ALREADY_INITIALIZED:
+                       error_value = "WIFI_AWARE_ERROR_ALREADY_INITIALIZED";
+                       break;
+               case WIFI_AWARE_ERROR_ALREADY_ENABLED:
+                       error_value = "WIFI_AWARE_ERROR_ALREADY_ENABLED";
+                       break;
+               case WIFI_AWARE_ERROR_OPERATION_FAILED:
+                       error_value = "WIFI_AWARE_ERROR_OPERATION_FAILED";
+                       break;
+               case WIFI_AWARE_ERROR_REJECTED_BY_PEER:
+                       error_value = "WIFI_AWARE_ERROR_REJECTED_BY_PEER";
+                       break;
+               case WIFI_AWARE_ERROR_INTERFACE_DOWN:
+                       error_value = "WIFI_AWARE_ERROR_INTERFACE_DOWN";
+                       break;
+               default:
+                       error_value = "Unknown Error";
+                       break;
+       }
+       return error_value;
+}
+
+bool wifi_aware_check_feature_supported(char *key)
+{
+       bool value = false;
+       int ret = system_info_get_platform_bool(key, &value);
+
+       if (ret != SYSTEM_INFO_ERROR_NONE) {
+               PRINT_RETURN("wifi_aware_check_feature_supported", ret);
+               FPRINTF("[%s:%d] system_info_get_platform_bool failed, error returned = %d\\n", __FILE__, __LINE__, ret);
+               return false;
+       }
+
+       if (value) {
+               PRINT_RETURN("feature supported", value);
+               FPRINTF("[%s:%d] %s feature is supported\\n", __FILE__, __LINE__, key);
+       } else {
+               PRINT_RETURN("feature not supported", value);
+               FPRINTF("[%s:%d] %s feature is not supported\\n", __FILE__, __LINE__, key);
+       }
+
+       return value;
+}
+
+void __wifi_aware_enabled_callback(wifi_aware_error_e result, void* user_data)
+{
+       PRINT_RETURN("wifi_aware_enabled_callback", result);
+       g_nCallbackRet = result;
+       QUIT_GMAIN_LOOP;
+}
+
+void __wifi_aware_disabled_callback(wifi_aware_error_e result, void* user_data)
+{
+       PRINT_RETURN("wifi_aware_disabled_callback", result);
+
+       g_nCallbackRet = result;
+       QUIT_GMAIN_LOOP;
+}
+
+void __wifi_aware_session_terminated_cb(wifi_aware_session_h session, wifi_aware_termination_reason_e reason, void *user_data)
+{
+       PRINT_RETURN("wifi_aware_terminated_callback", reason);
+}
+
+void __wifi_aware_published_cb(wifi_aware_session_h session, wifi_aware_error_e result, void *user_data)
+{
+       PRINT_RETURN("wifi_aware_published_callback", result);
+       g_nCallbackRet = result;
+       QUIT_GMAIN_LOOP;
+}
+
+void __wifi_aware_subscribed_cb(wifi_aware_session_h session, wifi_aware_error_e result, void *user_data)
+{
+       PRINT_RETURN("wifi_aware_subscribed_callback", result);
+       g_nCallbackRet = result;
+}
+
+void __wifi_aware_service_discovered_cb(wifi_aware_session_h session, wifi_aware_peer_h peer,
+               const unsigned char *service_specific_info, size_t service_specific_info_len,
+               int distance, void *user_data)
+{
+       int result = 0;
+       PRINT_RETURN("wifi_aware_set_service_discovered_cb", result);
+       g_nCallbackRet = result;
+
+       int ret = wifi_aware_peer_clone( &g_peer, peer);
+       QUIT_GMAIN_LOOP;
+}
+
+void __wifi_aware_message_received_cb(wifi_aware_session_h session, wifi_aware_peer_h peer,
+               const unsigned char *message, size_t len, void *user_data)
+{
+       int result = 0;
+       PRINT_RETURN("__wifi_aware_message_received_cb", result);
+       g_nCallbackRet = result;
+}
+
+void __wifi_aware_message_result_cb(wifi_aware_session_h session,
+               wifi_aware_error_e result, void *user_data)
+{
+       PRINT_RETURN("__wifi_aware_message_result_cb", result);
+       g_nCallbackRet = result;
+}
+
+void __wifi_aware_data_path_terminated_cb(wifi_aware_data_path_h data_path, wifi_aware_termination_reason_e result, void *user_data)
+{
+       PRINT_RETURN("__wifi_aware_data_path_terminated_cb", result);
+       g_nCallbackRet = result;
+}
+
+void __wifi_aware_data_path_open_cb(wifi_aware_data_path_h data_path, wifi_aware_error_e result, void *user_data)
+{
+       PRINT_RETURN("__wifi_aware_data_path_open_cb", result);
+       g_nCallbackRet = result;
+}
diff --git a/src/utc/wifi-aware/utc-wifi-aware-common.h b/src/utc/wifi-aware/utc-wifi-aware-common.h
new file mode 100755 (executable)
index 0000000..d966eb3
--- /dev/null
@@ -0,0 +1,114 @@
+//
+// Copyright (c) 2024 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 _WIFI_AWARE_COMMON_H_
+#define _WIFI_AWARE_COMMON_H_
+
+#include <tct_common.h>
+#include <wifi-aware.h>
+#include <system_info.h>
+#include <glib.h>
+#include <dlog.h>
+
+#define WIFI_AWARE_DEBUG                               1
+#define GMAINTIMEOUT                                   20000
+#define FEATURE_WIFI_AWARE                             "http://tizen.org/feature/network.wifi.aware"
+
+GMainLoop *g_pMainLoop;
+
+bool g_bFeatureWifiAware;
+guint g_nTimeoutId;
+int g_nCallbackRet;
+
+wifi_aware_publish_h g_publish;
+wifi_aware_subscribe_h g_subscribe;
+wifi_aware_session_h g_session;
+wifi_aware_peer_h g_peer;
+wifi_aware_data_path_h g_data_path;
+
+#define RUN_GMAIN_LOOP {\
+       g_pMainLoop = g_main_loop_new(NULL, false);\
+       g_nTimeoutId = g_timeout_add(GMAINTIMEOUT, wifi_aware_callback_timeout, g_pMainLoop);\
+       FPRINTF("[Line:%d][%s] Run mainloop [%p]\\n", __LINE__, __FUNCTION__, g_pMainLoop);\
+       dlog_print(DLOG_INFO, "NativeTCT", "[Line:%d][%s] Run mainloop [%p]", __LINE__, __FUNCTION__, g_pMainLoop);\
+       g_main_loop_run(g_pMainLoop);\
+       g_source_remove(g_nTimeoutId);\
+       g_pMainLoop = NULL;\
+}
+
+#define QUIT_GMAIN_LOOP {\
+       if (g_pMainLoop)\
+{\
+               FPRINTF("[Line:%d][%s] Quit mainloop [%p]\\n", __LINE__, __FUNCTION__, g_pMainLoop);\
+               dlog_print(DLOG_INFO, "NativeTCT", "[Line:%d][%s] Quit mainloop [%p]", __LINE__, __FUNCTION__, g_pMainLoop);\
+               g_main_loop_quit(g_pMainLoop);\
+               g_pMainLoop = NULL;\
+}\
+}
+
+#define PRINT_RETURN(api, ret) {\
+       if (WIFI_AWARE_DEBUG) {\
+               FPRINTF("[%s:%d] %s returned = %s\\n",\
+                       __FILE__, __LINE__, api, wifi_aware_get_error(ret));\
+               dlog_print(DLOG_INFO, "NativeTCT", "[%s:%d] %s returned = %s",\
+                       __FILE__, __LINE__, api, wifi_aware_get_error(ret));\
+       }\
+}
+
+#define CHECK_RETURN(api, ret, val) {\
+       if (ret != val) {\
+               FPRINTF("[%s:%d] %s failed, error returned = %s\\n",\
+                       __FILE__, __LINE__, api, wifi_aware_get_error(ret));\
+               dlog_print(DLOG_ERROR, "NativeTCT", "[%s:%d] %s failed, error returned = %s",\
+                       __FILE__, __LINE__, api, wifi_aware_get_error(ret));\
+               return 1;\
+       } else {\
+               FPRINTF("[%s:%d] %s\\n",\
+                       __FILE__, __LINE__, api);\
+               dlog_print(DLOG_INFO, "NativeTCT", "[%s:%d] %s",\
+                       __FILE__, __LINE__, api);\
+       }\
+}
+
+#define CHECK_ENABLE_STATUS {\
+       ret = wifi_aware_enable(__wifi_aware_enabled_callback, NULL);\
+       if (!g_bFeatureWifiAware) {\
+       CHECK_RETURN("wifi_aware_enable", ret, WIFI_AWARE_ERROR_NOT_SUPPORTED);\
+               return 0;\
+       } else {\
+               CHECK_RETURN("wifi_aware_enable", ret, WIFI_AWARE_ERROR_ALREADY_ENABLED);\
+       }\
+       RUN_GMAIN_LOOP;\
+}
+
+gboolean wifi_aware_callback_timeout(gpointer data);
+char* wifi_aware_get_error(int error);
+
+bool wifi_aware_check_feature_supported(char *key);
+
+void __wifi_aware_enabled_callback(wifi_aware_error_e result, void* user_data);
+void __wifi_aware_disabled_callback(wifi_aware_error_e result, void* user_data);
+void __wifi_aware_session_terminated_cb(wifi_aware_session_h session, wifi_aware_termination_reason_e reason, void *user_data);
+void __wifi_aware_published_cb(wifi_aware_session_h session, wifi_aware_error_e result, void *user_data);
+void __wifi_aware_subscribed_cb(wifi_aware_session_h session, wifi_aware_error_e result, void *user_data);
+void __wifi_aware_service_discovered_cb(wifi_aware_session_h session, wifi_aware_peer_h peer,
+               const unsigned char *service_specific_info, size_t service_specific_info_len,int distance, void *user_data);
+void __wifi_aware_message_received_cb(wifi_aware_session_h session, wifi_aware_peer_h peer,
+               const unsigned char *message, size_t len, void *user_data);
+void __wifi_aware_message_result_cb(wifi_aware_session_h session, wifi_aware_error_e result, void *user_data);
+void __wifi_aware_data_path_terminated_cb(wifi_aware_data_path_h data_path, wifi_aware_termination_reason_e reason, void *user_data);
+void __wifi_aware_data_path_open_cb(wifi_aware_data_path_h data_path, wifi_aware_error_e error, void *user_data);
+#endif //_WIFI_AWARE_COMMON_H_
diff --git a/src/utc/wifi-aware/utc-wifi-aware.c b/src/utc/wifi-aware/utc-wifi-aware.c
new file mode 100755 (executable)
index 0000000..ae0dd5f
--- /dev/null
@@ -0,0 +1,2695 @@
+//
+// Copyright (c) 2024 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 "assert.h"
+#include "utc-wifi-aware-common.h"
+
+//& set: WifiAware
+
+/**
+ * @function           utc_wifi_aware_startup
+ * @since_tizen                9.0
+ * @description                Initializes Wi-Fi Aware Called before each test
+ * @parameter          NA
+ * @return             NA
+ */
+void utc_wifi_aware_startup(void)
+{
+       if (wifi_aware_check_feature_supported(FEATURE_WIFI_AWARE))
+               g_bFeatureWifiAware = true;
+       else
+               g_bFeatureWifiAware = false;
+
+       PRINT_RETURN("wifi_aware_startup", g_bFeatureWifiAware);
+}
+
+/**
+ * @function           utc_wifi_aware_cleanup
+ * @since_tizen                9.0
+ * @description                Deinitializes Wi-Fi Aware Called after each test.
+ * @parameter          NA
+ * @return             NA
+ */
+void utc_wifi_aware_cleanup(void)
+{
+       PRINT_RETURN("wifi_aware_cleanup", WIFI_AWARE_ERROR_NONE);
+}
+
+/**
+ * @testcase           utc_wifi_aware_initialize_p
+ * @since_tizen                9.0
+ * @type               Positive
+ * @description                Initializes Wi-Fi Aware.
+ * @scenario           Initialize Wi-Fi Aware.Ensure no error.
+ */
+int utc_wifi_aware_initialize_p(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       if (!g_bFeatureWifiAware) {
+               ret = wifi_aware_initialize();
+               CHECK_RETURN("wifi_aware_initialize", ret, WIFI_AWARE_ERROR_NOT_SUPPORTED);
+               return 0;
+       }
+
+       ret = wifi_aware_initialize();
+       CHECK_RETURN("wifi_aware_initialize", ret, WIFI_AWARE_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_wifi_manager_initialize_n
+ * @since_tizen                9.0
+ * @type               Positive
+ * @description                Initializes Wi-Fi Manager.
+ * @scenario           Initialize Wi-Fi Manage. Ensure return value should be WIFI_AWARE_ERROR_ALREADY_INITIALIZED.
+ */
+int utc_wifi_aware_initialize_n(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       ret = wifi_aware_initialize();
+
+       if (!g_bFeatureWifiAware) {
+               CHECK_RETURN("wifi_aware_initialize", ret, WIFI_AWARE_ERROR_NOT_SUPPORTED);
+       } else {
+               CHECK_RETURN("wifi_aware_initialize", ret, WIFI_AWARE_ERROR_ALREADY_INITIALIZED);
+       }
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_wifi_aware_deinitialize_p
+ * @since_tizen                9.0
+ * @type               Negative
+ * @description                Deinitializes Wi-Fi Aware.
+ * @scenario           Deintialize Wi-Fi Aware. Ensure no error.
+ */
+int utc_wifi_aware_deinitialize_p(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       if (!g_bFeatureWifiAware) {
+               ret = wifi_aware_deinitialize();
+               CHECK_RETURN("wifi_aware_deinitialize", ret, WIFI_AWARE_ERROR_NOT_SUPPORTED);
+               return 0;
+       }
+
+       ret = wifi_aware_deinitialize();
+       CHECK_RETURN("wifi_aware_deinitialize", ret, WIFI_AWARE_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_wifi_manager_deinitialize_n
+ * @since_tizen                9.0
+ * @type               Negative
+ * @description                Deinitializes Wi-Fi Aware.
+ * @scenario           Deinitialize Wi-Fi Aware. Ensure if already deinitialized value should be return WIFI_AWARE_ERROR_INVALID_OPERATION
+ */
+int utc_wifi_aware_deinitialize_n(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       ret = wifi_aware_deinitialize();
+
+       if (!g_bFeatureWifiAware) {
+               CHECK_RETURN("wifi_aware_deinitialize", ret, WIFI_AWARE_ERROR_NOT_SUPPORTED);
+               return 0;
+       }
+
+       CHECK_RETURN("wifi_aware_deinitialize", ret, WIFI_AWARE_ERROR_INVALID_OPERATION);
+
+       ret = wifi_aware_initialize();
+       CHECK_RETURN("wifi_aware_initialize", ret, WIFI_AWARE_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_wifi_aware_enable_p
+ * @since_tizen                9.0
+ * @type               Positive
+ * @description                enable Wi-Fi Aware.
+ * @scenario           Enables Wi-Fi Aware. Ensure no error.
+ */
+int utc_wifi_aware_enable_p(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       ret = wifi_aware_enable(__wifi_aware_enabled_callback, NULL);
+       if (!g_bFeatureWifiAware) {
+               CHECK_RETURN("wifi_aware_enable", ret, WIFI_AWARE_ERROR_NOT_SUPPORTED);
+               return 0;
+       } else {
+               CHECK_RETURN("wifi_aware_enable", ret, WIFI_AWARE_ERROR_NONE);
+       }
+       RUN_GMAIN_LOOP;
+
+       ret = wifi_aware_disable(__wifi_aware_disabled_callback, NULL);
+       CHECK_RETURN("wifi_aware_disable", ret, WIFI_AWARE_ERROR_NONE);
+
+       RUN_GMAIN_LOOP;
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_wifi_aware_enable_n
+ * @since_tizen                9.0
+ * @type               Negative
+ * @description                enable Wi-Fi Aware.
+ * @scenario           Enables Wi-Fi Aware. Ensure no unexpected behaivor.
+ */
+int utc_wifi_aware_enable_n(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       ret = wifi_aware_enable(__wifi_aware_enabled_callback, NULL);
+       if (!g_bFeatureWifiAware) {
+               CHECK_RETURN("wifi_aware_enable", ret, WIFI_AWARE_ERROR_NOT_SUPPORTED);
+               return 0;
+       } else {
+               CHECK_RETURN("wifi_aware_enable", ret, WIFI_AWARE_ERROR_NONE);
+       }
+
+       RUN_GMAIN_LOOP;
+
+       ret = wifi_aware_enable(__wifi_aware_enabled_callback, NULL);
+       CHECK_RETURN("wifi_aware_enable", ret, WIFI_AWARE_ERROR_ALREADY_ENABLED);
+       return 0;
+}
+
+/**
+ * @testcase           utc_wifi_aware_publish_create_p
+ * @since_tizen                9.0
+ * @type               Positive
+ * @description                creates a publish request.
+ * @scenario           create a publish request and destroy it. Ensure no error.
+ */
+int utc_wifi_aware_publish_create_p(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_publish_create(&g_publish);
+       CHECK_RETURN("wifi_aware_publish_create", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_publish_destroy(g_publish);
+       CHECK_RETURN("wifi_aware_publish_destroy", ret, WIFI_AWARE_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_wifi_aware_publish_create_n
+ * @since_tizen                9.0
+ * @type               Negative
+ * @description                creates a publish request.
+ * @scenario           create a publish request and destroy it. Ensure no unexpected behaivor.
+ */
+int utc_wifi_aware_publish_create_n(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_publish_create(NULL);
+       CHECK_RETURN("wifi_aware_publish_create", ret, WIFI_AWARE_ERROR_INVALID_PARAMETER);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_wifi_aware_publish_destroy_p
+ * @since_tizen                9.0
+ * @type               Positive
+ * @description                destroy a publish request.
+ * @scenario           create a publish request and destroy it. Ensure no error.
+ */
+int utc_wifi_aware_publish_destroy_p(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_publish_create(&g_publish);
+       CHECK_RETURN("wifi_aware_publish_create", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_publish_destroy(g_publish);
+       CHECK_RETURN("wifi_aware_publish_destroy", ret, WIFI_AWARE_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_wifi_aware_publish_destroy_n
+ * @since_tizen                9.0
+ * @type               Negative
+ * @description                destroy a publish request.
+ * @scenario           create a publish request and destroy it. Ensure no unexpected behaivor.
+ */
+int utc_wifi_aware_publish_destroy_n(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_publish_destroy(NULL);
+       CHECK_RETURN("wifi_aware_publish_destroy", ret, WIFI_AWARE_ERROR_INVALID_PARAMETER);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_wifi_aware_publish_set_ttl_p
+ * @since_tizen                9.0
+ * @type               Positive
+ * @description                set time to live on publish request
+ * @scenario           create a publish request and set ttl on it. Ensure no error.
+ */
+int utc_wifi_aware_publish_set_ttl_p(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_publish_create(&g_publish);
+       CHECK_RETURN("wifi_aware_publish_create", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_publish_set_ttl(g_publish, 0);
+       CHECK_RETURN("wifi_aware_publish_set_ttl", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_publish_destroy(g_publish);
+       CHECK_RETURN("wifi_aware_publish_destroy", ret, WIFI_AWARE_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_wifi_aware_publish_set_ttl_n
+ * @since_tizen                9.0
+ * @type               Negative
+ * @description                set time to live on publish request
+ * @scenario           create a publish request and set ttl on it. Ensure no unexpected behaivor.
+ */
+int utc_wifi_aware_publish_set_ttl_n(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_publish_create(&g_publish);
+       CHECK_RETURN("wifi_aware_publish_create", ret, WIFI_AWARE_ERROR_ALREADY_ENABLED);
+
+       ret = wifi_aware_publish_set_ttl(NULL, 0);
+       CHECK_RETURN("wifi_aware_publish_set_ttl", ret, WIFI_AWARE_ERROR_INVALID_PARAMETER);
+
+       ret = wifi_aware_publish_destroy(g_publish);
+       CHECK_RETURN("wifi_aware_publish_destroy", ret, WIFI_AWARE_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_wifi_aware_publish_set_type_p
+ * @since_tizen                9.0
+ * @type               Positive
+ * @description                set type on publish request as solicited or unsolicited
+ * @scenario           create a publish request and set type on it. Ensure no error.
+ */
+int utc_wifi_aware_publish_set_type_p(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_publish_create(&g_publish);
+       CHECK_RETURN("wifi_aware_publish_create", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_publish_set_type(g_publish, WIFI_AWARE_PUBLISH_TYPE_UNSOLICITED);
+       CHECK_RETURN("wifi_aware_publish_set_type", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_publish_destroy(g_publish);
+       CHECK_RETURN("wifi_aware_publish_destroy", ret, WIFI_AWARE_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_wifi_aware_publish_set_type_n
+ * @since_tizen                9.0
+ * @type               Negative
+ * @description                set type on publish request
+ * @scenario           create a publish request and set type on it. Ensure no unexpected behaivor.
+ */
+int utc_wifi_aware_publish_set_type_n(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_publish_create(&g_publish);
+       CHECK_RETURN("wifi_aware_publish_create", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_publish_set_type(NULL, WIFI_AWARE_PUBLISH_TYPE_UNSOLICITED);
+       CHECK_RETURN("wifi_aware_publish_set_type", ret, WIFI_AWARE_ERROR_INVALID_PARAMETER);
+
+       ret = wifi_aware_publish_destroy(g_publish);
+       CHECK_RETURN("wifi_aware_publish_destroy", ret, WIFI_AWARE_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_wifi_aware_publish_set_service_name_p
+ * @since_tizen                9.0
+ * @type               Positive
+ * @description                set service name on publish request.
+ * @scenario           create a publish request and set service name on it. Ensure no error.
+ */
+int utc_wifi_aware_publish_set_service_name_p(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       const char *service = "aware";
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_publish_create(&g_publish);
+       CHECK_RETURN("wifi_aware_publish_create", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_publish_set_service_name(g_publish, service);
+       CHECK_RETURN("wifi_aware_publish_set_service_name", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_publish_destroy(g_publish);
+       CHECK_RETURN("wifi_aware_publish_destroy", ret, WIFI_AWARE_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_wifi_aware_publish_set_service_name_n
+ * @since_tizen                9.0
+ * @type               Negative
+ * @description                set service name  on publish request
+ * @scenario           create a publish request and set service name on it. Ensure no unexpected behaivor.
+ */
+int utc_wifi_aware_publish_set_service_name_n(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       const char *service = "aware";
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_publish_create(&g_publish);
+       CHECK_RETURN("wifi_aware_publish_create", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_publish_set_service_name(NULL, service);
+       CHECK_RETURN("wifi_aware_publish_set_service_name", ret, WIFI_AWARE_ERROR_INVALID_PARAMETER);
+
+       ret = wifi_aware_publish_destroy(g_publish);
+       CHECK_RETURN("wifi_aware_publish_destroy", ret, WIFI_AWARE_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_wifi_aware_publish_set_service_specific_info_p
+ * @since_tizen                9.0
+ * @type               Negative
+ * @description                set service specific info on publish request.
+ * @scenario           create a publish request and set service specific info on it. Ensure no error.
+ */
+int utc_wifi_aware_publish_set_service_specific_info_p(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       const unsigned char info[] = "ABCD";
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_publish_create(&g_publish);
+       CHECK_RETURN("wifi_aware_publish_create", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_publish_set_service_specific_info(g_publish, info, 4);
+       CHECK_RETURN("wifi_aware_publish_set_service_specific_info", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_publish_destroy(g_publish);
+       CHECK_RETURN("wifi_aware_publish_destroy", ret, WIFI_AWARE_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_wifi_aware_publish_set_service_specific_info_n
+ * @since_tizen                9.0
+ * @type               Negative
+ * @description                set service specific info on publish request
+ * @scenario           create a publish request and set service specific info on it. Ensure no unexpected behaivor.
+ */
+int utc_wifi_aware_publish_set_service_specific_info_n(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       const unsigned char info[] = "ABCD";
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_publish_create(&g_publish);
+       CHECK_RETURN("wifi_aware_publish_create", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_publish_set_service_specific_info(NULL, info, 4);
+       CHECK_RETURN("wifi_aware_publish_set_service_specific_info", ret, WIFI_AWARE_ERROR_INVALID_PARAMETER);
+
+       ret = wifi_aware_publish_destroy(g_publish);
+       CHECK_RETURN("wifi_aware_publish_destroy", ret, WIFI_AWARE_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_wifi_aware_publish_set_match_filter_p
+ * @since_tizen                9.0
+ * @type               Positive
+ * @description                set match filter on publish request.
+ * @scenario           create a publish request and set match filter on it. Ensure no error.
+ */
+int utc_wifi_aware_publish_set_match_filter_p(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       const unsigned char filter[] = "1234";
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_publish_create(&g_publish);
+       CHECK_RETURN("wifi_aware_publish_create", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_publish_set_match_filter(g_publish, filter, 4);
+       CHECK_RETURN("wifi_aware_publish_set_match_filter", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_publish_destroy(g_publish);
+       CHECK_RETURN("wifi_aware_publish_destroy", ret, WIFI_AWARE_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_wifi_aware_publish_set_match_filter_n
+ * @since_tizen                9.0
+ * @type               Negative
+ * @description                set match filter on publish request.
+ * @scenario           create a publish request and set match filter on it. Ensure no unexpected behaivor.
+ */
+int utc_wifi_aware_publish_set_match_filter_n(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       const unsigned char filter[] = "1234";
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_publish_create(&g_publish);
+       CHECK_RETURN("wifi_aware_publish_create", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_publish_set_match_filter(NULL, filter, 4);
+       CHECK_RETURN("wifi_aware_publish_set_match_filter", ret, WIFI_AWARE_ERROR_INVALID_PARAMETER);
+
+       ret = wifi_aware_publish_destroy(g_publish);
+       CHECK_RETURN("wifi_aware_publish_destroy", ret, WIFI_AWARE_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_wifi_aware_publish_enable_ranging_p
+ * @since_tizen                9.0
+ * @type               Positive
+ * @description                set enable ranging on publish request.
+ * @scenario           create a publish request and set enable ranging on it. Ensure no error.
+ */
+int utc_wifi_aware_publish_enable_ranging_p(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_publish_create(&g_publish);
+       CHECK_RETURN("wifi_aware_publish_create", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_publish_enable_ranging(g_publish, true);
+       CHECK_RETURN("wifi_aware_publish_enable_ranging", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_publish_destroy(g_publish);
+       CHECK_RETURN("wifi_aware_publish_destroy", ret, WIFI_AWARE_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_wifi_aware_publish_enable_ranging_n
+ * @since_tizen                9.0
+ * @type               Negative
+ * @description                set enable ranging on publish request.
+ * @scenario           create a publish request and set enable ranging on it. Ensure no unexpected behaivor.
+ */
+int utc_wifi_aware_publish_enable_ranging_n(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_publish_create(&g_publish);
+       CHECK_RETURN("wifi_aware_publish_create", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_publish_enable_ranging(NULL, true);
+       CHECK_RETURN("wifi_aware_publish_enable_ranging", ret, WIFI_AWARE_ERROR_INVALID_PARAMETER);
+
+       ret = wifi_aware_publish_destroy(g_publish);
+       CHECK_RETURN("wifi_aware_publish_destroy", ret, WIFI_AWARE_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_wifi_aware_subscribe_create_p
+ * @since_tizen                9.0
+ * @type               Positive
+ * @description                creates a subscribe request.
+ * @scenario           create a subscribe request and destroy it. Ensure no error.
+ */
+int utc_wifi_aware_subscribe_create_p(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_subscribe_create(&g_subscribe);
+       CHECK_RETURN("wifi_aware_subscribe_create", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_subscribe_destroy(g_subscribe);
+       CHECK_RETURN("wifi_aware_subscribe_destroy", ret, WIFI_AWARE_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_wifi_aware_subscribe_create_n
+ * @since_tizen                9.0
+ * @type               Negative
+ * @description                creates a subscribe request.
+ * @scenario           create a subscribe request and destroy it. Ensure no error.
+ */
+int utc_wifi_aware_subscribe_create_n(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_subscribe_create(NULL);
+       CHECK_RETURN("wifi_aware_subscribe_create", ret, WIFI_AWARE_ERROR_INVALID_PARAMETER);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_wifi_aware_subscribe_destroy_p
+ * @since_tizen                9.0
+ * @type               Positive
+ * @description                creates a subscribe request.
+ * @scenario           create a subscribe request and destroy it. Ensure no error.
+ */
+int utc_wifi_aware_subscribe_destroy_p(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_subscribe_create(&g_subscribe);
+       CHECK_RETURN("wifi_aware_subscribe_create", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_subscribe_destroy(g_subscribe);
+       CHECK_RETURN("wifi_aware_subscribe_destroy", ret, WIFI_AWARE_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_wifi_aware_subscribe_destroy_n
+ * @since_tizen                9.0
+ * @type               Negative
+ * @description                creates a subscribe request.
+ * @scenario           destroy a subscribe request. Ensure no unexpected behaivor.
+ */
+int utc_wifi_aware_subscribe_destroy_n(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_subscribe_destroy(NULL);
+       CHECK_RETURN("wifi_aware_subscribe_destroy", ret, WIFI_AWARE_ERROR_INVALID_PARAMETER);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_wifi_aware_subscribe_set_ttl_p
+ * @since_tizen                9.0
+ * @type               Positive
+ * @description                set time to live on a subscribe request.
+ * @scenario           create a subscribe request and set ttl on it. Ensure no error.
+ */
+int utc_wifi_aware_subscribe_set_ttl_p(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_subscribe_create(&g_subscribe);
+       CHECK_RETURN("wifi_aware_subscribe_create", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_subscribe_set_ttl(g_subscribe, 0);
+       CHECK_RETURN("wifi_aware_subscribe_set_ttl", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_subscribe_destroy(g_subscribe);
+       CHECK_RETURN("wifi_aware_subscribe_destroy", ret, WIFI_AWARE_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_wifi_aware_subscribe_set_ttl_n
+ * @since_tizen                9.0
+ * @type               Negative
+ * @description                set time to live on a subscribe request.
+ * @scenario           create a subscribe request and set ttl on it. Ensure no unexpected behaivor.
+ */
+int utc_wifi_aware_subscribe_set_ttl_n(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_subscribe_create(&g_subscribe);
+       CHECK_RETURN("wifi_aware_subscribe_create", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_subscribe_set_ttl(NULL, 0);
+       CHECK_RETURN("wifi_aware_subscribe_set_ttl", ret, WIFI_AWARE_ERROR_INVALID_PARAMETER);
+
+       ret = wifi_aware_subscribe_destroy(g_subscribe);
+       CHECK_RETURN("wifi_aware_subscribe_destroy", ret, WIFI_AWARE_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_wifi_aware_subscribe_set_type_p
+ * @since_tizen                9.0
+ * @type               Positive
+ * @description                set type on a subscribe request as active or passive.
+ * @scenario           create a subscribe request and set type on it. Ensure no error.
+ */
+int utc_wifi_aware_subscribe_set_type_p(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_subscribe_create(&g_subscribe);
+       CHECK_RETURN("wifi_aware_subscribe_create", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_subscribe_set_type(g_subscribe, WIFI_AWARE_SUBSCRIBE_TYPE_PASSIVE);
+       CHECK_RETURN("wifi_aware_subscribe_set_type", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_subscribe_destroy(g_subscribe);
+       CHECK_RETURN("wifi_aware_subscribe_destroy", ret, WIFI_AWARE_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_wifi_aware_subscribe_set_type_n
+ * @since_tizen                9.0
+ * @type               Negative
+ * @description                set type on a subscribe request as active or passive.
+ * @scenario           create a subscribe request and set type on it. Ensure no unexpected behaivor.
+ */
+int utc_wifi_aware_subscribe_set_type_n(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_subscribe_create(&g_subscribe);
+       CHECK_RETURN("wifi_aware_subscribe_create", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_subscribe_set_type(NULL, WIFI_AWARE_SUBSCRIBE_TYPE_PASSIVE);
+       CHECK_RETURN("wifi_aware_subscribe_set_type", ret, WIFI_AWARE_ERROR_INVALID_PARAMETER);
+
+       ret = wifi_aware_subscribe_destroy(g_subscribe);
+       CHECK_RETURN("wifi_aware_subscribe_destroy", ret, WIFI_AWARE_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_wifi_aware_subscribe_set_service_name_p
+ * @since_tizen                9.0
+ * @type               Positive
+ * @description                set service name on a subscribe request.
+ * @scenario           create a subscribe request and set service name on it. Ensure no error.
+ */
+int utc_wifi_aware_subscribe_set_service_name_p(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       const char *service = "AWARE";
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_subscribe_create(&g_subscribe);
+       CHECK_RETURN("wifi_aware_subscribe_create", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_subscribe_set_service_name(g_subscribe, service);
+       CHECK_RETURN("wifi_aware_subscribe_set_service_name", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_subscribe_destroy(g_subscribe);
+       CHECK_RETURN("wifi_aware_subscribe_destroy", ret, WIFI_AWARE_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_wifi_aware_subscribe_set_service_name_n
+ * @since_tizen                9.0
+ * @type               Negative
+ * @description                set service name on a subscribe request.
+ * @scenario           create a subscribe request and set service name on it. Ensure no unexpected behaivor.
+ */
+int utc_wifi_aware_subscribe_set_service_name_n(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       const char *service = "AWARE";
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_subscribe_create(&g_subscribe);
+       CHECK_RETURN("wifi_aware_subscribe_create", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_subscribe_set_service_name(NULL, service);
+       CHECK_RETURN("wifi_aware_subscribe_set_service_name", ret, WIFI_AWARE_ERROR_INVALID_PARAMETER);
+
+       ret = wifi_aware_subscribe_destroy(g_subscribe);
+       CHECK_RETURN("wifi_aware_subscribe_destroy", ret, WIFI_AWARE_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_wifi_aware_subscribe_set_service_specific_info_p
+ * @since_tizen                9.0
+ * @type               Positive
+ * @description                set service specific info on a subscribe request.
+ * @scenario           create a subscribe request and set service specific info on it. Ensure no error.
+ */
+int utc_wifi_aware_subscribe_set_service_specific_info_p(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       const unsigned char info[] ="ABCD";
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_subscribe_create(&g_subscribe);
+       CHECK_RETURN("wifi_aware_subscribe_create", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_subscribe_set_service_specific_info(g_subscribe, info, 4);
+       CHECK_RETURN("wifi_aware_subscribe_set_service_specific_info", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_subscribe_destroy(g_subscribe);
+       CHECK_RETURN("wifi_aware_subscribe_destroy", ret, WIFI_AWARE_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_wifi_aware_subscribe_set_service_specific_info_n
+ * @since_tizen                9.0
+ * @type               Negative
+ * @description                set service specific info on a subscribe request.
+ * @scenario           create a subscribe request and set service specific info on it. Ensure no unexpected behaivor.
+ */
+int utc_wifi_aware_subscribe_set_service_specific_info_n(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       const unsigned char info[] ="ABCD";
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_subscribe_create(&g_subscribe);
+       CHECK_RETURN("wifi_aware_subscribe_create", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_subscribe_set_service_specific_info(NULL, info, 4);
+       CHECK_RETURN("wifi_aware_subscribe_set_service_specific_info", ret, WIFI_AWARE_ERROR_INVALID_PARAMETER);
+
+       ret = wifi_aware_subscribe_destroy(g_subscribe);
+       CHECK_RETURN("wifi_aware_subscribe_destroy", ret, WIFI_AWARE_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_wifi_aware_subscribe_set_match_filter_p
+ * @since_tizen                9.0
+ * @type               Positive
+ * @description                set match filter on a subscribe request.
+ * @scenario           create a subscribe request and set match filter on it. Ensure no error.
+ */
+int utc_wifi_aware_subscribe_set_match_filter_p(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       const unsigned char filter[] ="1234";
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_subscribe_create(&g_subscribe);
+       CHECK_RETURN("wifi_aware_subscribe_create", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_subscribe_set_match_filter(g_subscribe, filter, 4);
+       CHECK_RETURN("wifi_aware_subscribe_set_match_filter", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_subscribe_destroy(g_subscribe);
+       CHECK_RETURN("wifi_aware_subscribe_destroy", ret, WIFI_AWARE_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_wifi_aware_subscribe_set_match_filter_n
+ * @since_tizen                9.0
+ * @type               Negative
+ * @description                set match filter on a subscribe request.
+ * @scenario           create a subscribe request and set match filter on it. Ensure no unexpected behaivor.
+ */
+int utc_wifi_aware_subscribe_set_match_filter_n(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       const unsigned char filter[] ="1234";
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_subscribe_create(&g_subscribe);
+       CHECK_RETURN("wifi_aware_subscribe_create", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_subscribe_set_match_filter(NULL, filter, 4);
+       CHECK_RETURN("wifi_aware_subscribe_set_match_filter", ret, WIFI_AWARE_ERROR_INVALID_PARAMETER);
+
+       ret = wifi_aware_subscribe_destroy(g_subscribe);
+       CHECK_RETURN("wifi_aware_subscribe_destroy", ret, WIFI_AWARE_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_wifi_aware_subscribe_set_max_distance_p
+ * @since_tizen                9.0
+ * @type               Positive
+ * @description                set max distance on a subscribe request.
+ * @scenario           create a subscribe request and set max distance on it. Ensure no error.
+ */
+int utc_wifi_aware_subscribe_set_max_distance_p(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_subscribe_create(&g_subscribe);
+       CHECK_RETURN("wifi_aware_subscribe_create", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_subscribe_set_max_distance(g_subscribe, 10);
+       CHECK_RETURN("wifi_aware_subscribe_set_max_distance", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_subscribe_destroy(g_subscribe);
+       CHECK_RETURN("wifi_aware_subscribe_destroy", ret, WIFI_AWARE_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_wifi_aware_subscribe_set_max_distance_n
+ * @since_tizen                9.0
+ * @type               Negative
+ * @description                set max distance on a subscribe request.
+ * @scenario           create a subscribe request and set max distance on it. Ensure no unexpected behaivor.
+ */
+int utc_wifi_aware_subscribe_set_max_distance_n(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_subscribe_create(&g_subscribe);
+       CHECK_RETURN("wifi_aware_subscribe_create", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_subscribe_set_max_distance(NULL, 10);
+       CHECK_RETURN("wifi_aware_subscribe_set_max_distance", ret, WIFI_AWARE_ERROR_INVALID_PARAMETER);
+
+       ret = wifi_aware_subscribe_destroy(g_subscribe);
+       CHECK_RETURN("wifi_aware_subscribe_destroy", ret, WIFI_AWARE_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_wifi_aware_subscribe_set_min_distance_p
+ * @since_tizen                9.0
+ * @type               Positive
+ * @description                set min distance on a subscribe request.
+ * @scenario           create a subscribe request and set min distance on it. Ensure no error.
+ */
+int utc_wifi_aware_subscribe_set_min_distance_p(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_subscribe_create(&g_subscribe);
+       CHECK_RETURN("wifi_aware_subscribe_create", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_subscribe_set_min_distance(g_subscribe, 10);
+       CHECK_RETURN("wifi_aware_subscribe_set_min_distance", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_subscribe_destroy(g_subscribe);
+       CHECK_RETURN("wifi_aware_subscribe_destroy", ret, WIFI_AWARE_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_wifi_aware_subscribe_set_min_distance_n
+ * @since_tizen                9.0
+ * @type               Negative
+ * @description                set min distance on a subscribe request.
+ * @scenario           create a subscribe request and set min distance on it. Ensure no error.
+ */
+int utc_wifi_aware_subscribe_set_min_distance_n(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_subscribe_create(&g_subscribe);
+       CHECK_RETURN("wifi_aware_subscribe_create", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_subscribe_set_min_distance(NULL, 10);
+       CHECK_RETURN("wifi_aware_subscribe_set_min_distance", ret, WIFI_AWARE_ERROR_INVALID_PARAMETER);
+
+       ret = wifi_aware_subscribe_destroy(g_subscribe);
+       CHECK_RETURN("wifi_aware_subscribe_destroy", ret, WIFI_AWARE_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_wifi_aware_session_create_p
+ * @since_tizen                9.0
+ * @type               Positive
+ * @description                creates a wifi-aware session.
+ * @scenario           create a wifi-aware session and destroy it. Ensure no error.
+ */
+int utc_wifi_aware_session_create_p(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_session_create(WIFI_AWARE_SESSION_PUBLISH, &g_session);
+       CHECK_RETURN("wifi_aware_session_create", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_session_destroy(g_session);
+       CHECK_RETURN("wifi_aware_session_destroy", ret, WIFI_AWARE_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_wifi_aware_session_create_n
+ * @since_tizen                9.0
+ * @type               Negative
+ * @description                creates a wifi-aware session.
+ * @scenario           create a wifi-aware session with invalid parameter.Ensure no unexpected behaivor.
+ */
+int utc_wifi_aware_session_create_n(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_session_create(WIFI_AWARE_SESSION_PUBLISH, NULL);
+       CHECK_RETURN("wifi_aware_session_create", ret, WIFI_AWARE_ERROR_INVALID_PARAMETER);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_wifi_aware_session_destroy_p
+ * @since_tizen                9.0
+ * @type               Positive
+ * @description                creates a wifi-aware session.
+ * @scenario           create a wifi-aware session and destroy it. Ensure no error.
+ */
+int utc_wifi_aware_session_destroy_p(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_session_create(WIFI_AWARE_SESSION_PUBLISH, &g_session);
+       CHECK_RETURN("wifi_aware_session_create", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_session_destroy(g_session);
+       CHECK_RETURN("wifi_aware_session_destroy", ret, WIFI_AWARE_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_wifi_aware_session_destroy_n
+ * @since_tizen                9.0
+ * @type               Negative
+ * @description                creates a wifi-aware session.
+ * @scenario           create a wifi-aware session and destroy it with invalid parameter.Ensure no unexpected behaivor.
+ */
+int utc_wifi_aware_session_destroy_n(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_session_create(WIFI_AWARE_SESSION_PUBLISH, &g_session);
+       CHECK_RETURN("wifi_aware_session_create", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_session_destroy(NULL);
+       CHECK_RETURN("wifi_aware_session_destroy", ret, WIFI_AWARE_ERROR_INVALID_PARAMETER);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_wifi_aware_session_set_terminated_cb_p
+ * @since_tizen                9.0
+ * @type               Postive
+ * @description                creates and set session terminated cb on a wifi-aware session.
+ * @scenario           create a wifi-aware session and set session terminated cb. Ensure no error.
+ */
+int utc_wifi_aware_session_set_terminated_cb_p(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_session_create(WIFI_AWARE_SESSION_PUBLISH, &g_session);
+       CHECK_RETURN("wifi_aware_session_create", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_session_set_terminated_cb(g_session, __wifi_aware_session_terminated_cb, NULL);
+       CHECK_RETURN("wifi_aware_session_set_terminated_cb", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_session_destroy(g_session);
+       CHECK_RETURN("wifi_aware_session_destroy", ret, WIFI_AWARE_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_wifi_aware_session_set_terminated_cb_n
+ * @since_tizen                9.0
+ * @type               Negative
+ * @description                creates and set session terminated cb on a wifi-aware session.
+ * @scenario           create a wifi-aware session and set session terminated cb. Ensure no error.
+ */
+int utc_wifi_aware_session_set_terminated_cb_n(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_session_create(WIFI_AWARE_SESSION_PUBLISH, &g_session);
+       CHECK_RETURN("wifi_aware_session_create", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_session_set_terminated_cb(NULL, __wifi_aware_session_terminated_cb, NULL);
+       CHECK_RETURN("wifi_aware_session_set_terminated_cb", ret, WIFI_AWARE_ERROR_INVALID_PARAMETER);
+
+       ret = wifi_aware_session_destroy(g_session);
+       CHECK_RETURN("wifi_aware_session_destroy", ret, WIFI_AWARE_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_wifi_aware_session_unset_terminated_cb_p
+ * @since_tizen                9.0
+ * @type               Positive
+ * @description                creates and set and unset session terminated cb on a wifi-aware session.
+ * @scenario           create a wifi-aware session and set and unset session terminated cb. Ensure no error.
+ */
+int utc_wifi_aware_session_unset_terminated_cb_p(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_session_create(WIFI_AWARE_SESSION_PUBLISH, &g_session);
+       CHECK_RETURN("wifi_aware_session_create", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_session_set_terminated_cb(g_session, __wifi_aware_session_terminated_cb, NULL);
+       CHECK_RETURN("wifi_aware_session_set_terminated_cb", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_session_unset_terminated_cb(g_session);
+       CHECK_RETURN("wifi_aware_session_unset_terminated_cb", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_session_destroy(g_session);
+       CHECK_RETURN("wifi_aware_session_destroy", ret, WIFI_AWARE_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_wifi_aware_session_unset_terminated_cb_n
+ * @since_tizen                9.0
+ * @type               Negative
+ * @description                creates and set and unset session terminated cb on a wifi-aware session.
+ * @scenario           create a wifi-aware session and set and unset session terminated cb. Ensure no unexpected behaivor.
+ */
+int utc_wifi_aware_session_unset_terminated_cb_n(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_session_create(WIFI_AWARE_SESSION_PUBLISH, &g_session);
+       CHECK_RETURN("wifi_aware_session_create", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_session_set_terminated_cb(g_session, __wifi_aware_session_terminated_cb, NULL);
+       CHECK_RETURN("wifi_aware_session_set_terminated_cb", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_session_unset_terminated_cb(NULL);
+       CHECK_RETURN("wifi_aware_session_unset_terminated_cb", ret, WIFI_AWARE_ERROR_INVALID_PARAMETER);
+
+       ret = wifi_aware_session_destroy(g_session);
+       CHECK_RETURN("wifi_aware_session_destroy", ret, WIFI_AWARE_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_wifi_aware_session_publish_p
+ * @since_tizen                9.0
+ * @type               Positive
+ * @description                publish a wifi-aware session
+ * @scenario           create a wifi-aware session and publish it. Ensure no error.
+ */
+int utc_wifi_aware_session_publish_p(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       const char* service ="aware";
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_session_create(WIFI_AWARE_SESSION_PUBLISH, &g_session);
+       CHECK_RETURN("wifi_aware_session_create", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_publish_create(&g_publish);
+       CHECK_RETURN("wifi_aware_publish_create", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_publish_set_type(g_publish, WIFI_AWARE_PUBLISH_TYPE_UNSOLICITED);
+       CHECK_RETURN("wifi_aware_publish_set_type", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_publish_set_service_name(g_publish, service);
+       CHECK_RETURN("wifi_aware_publish_set_service_name", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_session_publish(g_session, g_publish, __wifi_aware_published_cb, NULL);
+       CHECK_RETURN("wifi_aware_session_publish", ret, WIFI_AWARE_ERROR_NONE);
+
+       RUN_GMAIN_LOOP;
+
+       ret = wifi_aware_session_stop(g_session);
+       CHECK_RETURN("wifi_aware_session_stop", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_session_destroy(g_session);
+       CHECK_RETURN("wifi_aware_session_destroy", ret, WIFI_AWARE_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_wifi_aware_session_publish_n
+ * @since_tizen                9.0
+ * @type               Negative
+ * @description                publish a wifi-aware session
+ * @scenario           create a wifi-aware session and publish it. Ensure no unexpected behaivor.
+ */
+int utc_wifi_aware_session_publish_n(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       const char *service ="aware";
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_session_create(WIFI_AWARE_SESSION_PUBLISH, &g_session);
+       CHECK_RETURN("wifi_aware_session_create", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_publish_create(&g_publish);
+       CHECK_RETURN("wifi_aware_publish_create", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_publish_set_type(g_publish, WIFI_AWARE_PUBLISH_TYPE_UNSOLICITED);
+       CHECK_RETURN("wifi_aware_publish_set_type", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_publish_set_service_name(g_publish, service);
+       CHECK_RETURN("wifi_aware_publish_set_service_name", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_session_publish(NULL, g_publish, __wifi_aware_published_cb, NULL);
+       CHECK_RETURN("wifi_aware_session_publish", ret, WIFI_AWARE_ERROR_INVALID_PARAMETER);
+
+       ret = wifi_aware_session_publish(g_session, NULL, __wifi_aware_published_cb, NULL);
+       CHECK_RETURN("wifi_aware_session_publish", ret, WIFI_AWARE_ERROR_INVALID_PARAMETER);
+
+       ret = wifi_aware_session_destroy(g_session);
+       CHECK_RETURN("wifi_aware_session_destroy", ret, WIFI_AWARE_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_wifi_aware_session_update_publish_p
+ * @since_tizen                9.0
+ * @type               Positive
+ * @description                publish a wifi-aware session
+ * @scenario           create a wifi-aware session and publish and update it. Ensure no error.
+ */
+int utc_wifi_aware_session_update_publish_p(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       const char *service ="aware";
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_session_create(WIFI_AWARE_SESSION_PUBLISH, &g_session);
+       CHECK_RETURN("wifi_aware_session_create", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_publish_create(&g_publish);
+       CHECK_RETURN("wifi_aware_publish_create", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_publish_set_type(g_publish, WIFI_AWARE_PUBLISH_TYPE_UNSOLICITED);
+       CHECK_RETURN("wifi_aware_publish_set_type", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_publish_set_service_name(g_publish, service);
+       CHECK_RETURN("wifi_aware_publish_set_service_name", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_session_publish(g_session ,g_publish, __wifi_aware_published_cb, NULL);
+       CHECK_RETURN("wifi_aware_session_publish", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_session_update_publish(g_session, g_publish, __wifi_aware_published_cb, NULL);
+       CHECK_RETURN("wifi_aware_session_update_publish", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_session_stop(g_session);
+       CHECK_RETURN("wifi_aware_session_stop", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_session_destroy(g_session);
+       CHECK_RETURN("wifi_aware_session_destroy", ret, WIFI_AWARE_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_wifi_aware_session_update_publish_n
+ * @since_tizen                9.0
+ * @type               Negative
+ * @description                publish a wifi-aware session
+ * @scenario           create a wifi-aware session and publish and update it. Ensure no unexpected behaivor.
+ */
+int utc_wifi_aware_session_update_publish_n(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       const char *service ="aware";
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_session_create(WIFI_AWARE_SESSION_PUBLISH, &g_session);
+       CHECK_RETURN("wifi_aware_session_create", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_publish_create(&g_publish);
+       CHECK_RETURN("wifi_aware_publish_create", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_publish_set_type(g_publish, WIFI_AWARE_PUBLISH_TYPE_UNSOLICITED);
+       CHECK_RETURN("wifi_aware_publish_set_type", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_publish_set_service_name(g_publish, service);
+       CHECK_RETURN("wifi_aware_publish_set_service_name", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_session_publish(g_session ,g_publish, __wifi_aware_published_cb, NULL);
+       CHECK_RETURN("wifi_aware_session_publish", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_session_update_publish(NULL, g_publish, __wifi_aware_published_cb, NULL);
+       CHECK_RETURN("wifi_aware_session_update_publish", ret, WIFI_AWARE_ERROR_INVALID_PARAMETER);
+
+       ret = wifi_aware_session_update_publish(g_session, NULL, __wifi_aware_published_cb, NULL);
+       CHECK_RETURN("wifi_aware_session_update_publish", ret, WIFI_AWARE_ERROR_INVALID_PARAMETER);
+
+       ret = wifi_aware_session_stop(g_session);
+       CHECK_RETURN("wifi_aware_session_stop", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_session_destroy(g_session);
+       CHECK_RETURN("wifi_aware_session_destroy", ret, WIFI_AWARE_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_wifi_aware_session_subscribe_p
+ * @since_tizen                9.0
+ * @type               Positive
+ * @description                subscribe to a wifi-aware service.
+ * @scenario           subscribe to a wifi-aware service. Ensure no error.
+ */
+int utc_wifi_aware_session_subscribe_p(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       const unsigned char info[] ="ABCD";
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_subscribe_create(&g_subscribe);
+       CHECK_RETURN("wifi_aware_subscribe_create", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_session_create(WIFI_AWARE_SESSION_SUBSCRIBE, &g_session);
+       CHECK_RETURN("wifi_aware_session_create", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_subscribe_set_service_name(g_subscribe, "AWARE");
+       CHECK_RETURN("wifi_aware_subscribe_set_service_name", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_subscribe_set_type(g_subscribe, WIFI_AWARE_SUBSCRIBE_TYPE_PASSIVE);
+       CHECK_RETURN("wifi_aware_subscribe_set_type", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_subscribe_set_service_specific_info(g_subscribe, info , 4);
+       CHECK_RETURN("wifi_aware_subscribe_set_service_specific_info", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_session_subscribe(g_session, g_subscribe, __wifi_aware_subscribed_cb, NULL);
+       CHECK_RETURN("wifi_aware_session_subscribe", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_session_stop(g_session);
+       CHECK_RETURN("wifi_aware_session_stop", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_subscribe_destroy(g_subscribe);
+       CHECK_RETURN("wifi_aware_subscribe_destroy", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_session_destroy(g_session);
+       CHECK_RETURN("wifi_aware_subscribe_destroy", ret, WIFI_AWARE_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_wifi_aware_session_subscribe_n
+ * @since_tizen                9.0
+ * @type               Negative
+ * @description                subscribe to a wifi-aware service.
+ * @scenario           subscribe to a wifi-aware service. Ensure no unexpected behaivor.
+ */
+int utc_wifi_aware_session_subscribe_n(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       const unsigned char info[] ="ABCD";
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_subscribe_create(&g_subscribe);
+       CHECK_RETURN("wifi_aware_subscribe_create", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_session_create(WIFI_AWARE_SESSION_SUBSCRIBE, &g_session);
+       CHECK_RETURN("wifi_aware_session_create", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_subscribe_set_service_name(g_subscribe, "AWARE");
+       CHECK_RETURN("wifi_aware_subscribe_set_service_name", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_subscribe_set_type(g_subscribe, WIFI_AWARE_SUBSCRIBE_TYPE_PASSIVE);
+       CHECK_RETURN("wifi_aware_subscribe_set_type", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_subscribe_set_service_specific_info(g_subscribe, info , 4);
+       CHECK_RETURN("wifi_aware_subscribe_set_service_specific_info", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_session_subscribe(NULL, g_subscribe, __wifi_aware_subscribed_cb, NULL);
+       CHECK_RETURN("wifi_aware_session_subscribe", ret, WIFI_AWARE_ERROR_INVALID_PARAMETER);
+
+       ret = wifi_aware_session_subscribe(g_session, NULL, __wifi_aware_subscribed_cb, NULL);
+       CHECK_RETURN("wifi_aware_session_subscribe", ret, WIFI_AWARE_ERROR_INVALID_PARAMETER);
+
+       ret = wifi_aware_session_stop(g_session);
+       CHECK_RETURN("wifi_aware_session_stop", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_subscribe_destroy(g_subscribe);
+       CHECK_RETURN("wifi_aware_subscribe_destroy", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_session_destroy(g_session);
+       CHECK_RETURN("wifi_aware_session_destroy", ret, WIFI_AWARE_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_wifi_aware_session_update_subscribe_p
+ * @since_tizen                9.0
+ * @type               Positive
+ * @description                subscribe to a wifi-aware service and update the session
+ * @scenario           subscribe to a wifi-aware serviceand update it. Ensure no error.
+ */
+int utc_wifi_aware_session_update_subscribe_p(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       const unsigned char info[] ="ABCD";
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_subscribe_create(&g_subscribe);
+       CHECK_RETURN("wifi_aware_subscribe_create", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_session_create(WIFI_AWARE_SESSION_SUBSCRIBE, &g_session);
+       CHECK_RETURN("wifi_aware_session_create", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_subscribe_set_service_name(g_subscribe, "AWARE");
+       CHECK_RETURN("wifi_aware_subscribe_set_service_name", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_subscribe_set_type(g_subscribe, WIFI_AWARE_SUBSCRIBE_TYPE_PASSIVE);
+       CHECK_RETURN("wifi_aware_subscribe_set_type", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_subscribe_set_service_specific_info(g_subscribe, info , 4);
+       CHECK_RETURN("wifi_aware_subscribe_set_service_specific_info", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_session_subscribe(g_session, g_subscribe, __wifi_aware_subscribed_cb, NULL);
+       CHECK_RETURN("wifi_aware_session_subscribe", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_session_update_subscribe(g_session, g_subscribe, __wifi_aware_subscribed_cb, NULL);
+       CHECK_RETURN("wifi_aware_session_update_subscribe", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_session_stop(g_session);
+       CHECK_RETURN("wifi_aware_session_stop", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_subscribe_destroy(g_subscribe);
+       CHECK_RETURN("wifi_aware_subscribe_destroy", ret, WIFI_AWARE_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_wifi_aware_session_update_subscribe_n
+ * @since_tizen                9.0
+ * @type               Negative
+ * @description                subscribe to a wifi-aware service and update the session
+ * @scenario           subscribe to a wifi-aware service and update it. Ensure no unexpected behaivor.
+ */
+int utc_wifi_aware_session_update_subscribe_n(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       const unsigned char info[] ="ABCD";
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_subscribe_create(&g_subscribe);
+       CHECK_RETURN("wifi_aware_subscribe_create", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_session_create(WIFI_AWARE_SESSION_SUBSCRIBE, &g_session);
+       CHECK_RETURN("wifi_aware_session_create", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_subscribe_set_service_name(g_subscribe, "AWARE");
+       CHECK_RETURN("wifi_aware_subscribe_set_service_name", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_subscribe_set_type(g_subscribe, WIFI_AWARE_SUBSCRIBE_TYPE_PASSIVE);
+       CHECK_RETURN("wifi_aware_subscribe_set_type", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_subscribe_set_service_specific_info(g_subscribe, info , 4);
+       CHECK_RETURN("wifi_aware_subscribe_set_type", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_session_subscribe(g_session, g_subscribe, __wifi_aware_subscribed_cb, NULL);
+       CHECK_RETURN("wifi_aware_session_subscribe", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_session_update_subscribe(NULL, g_subscribe, __wifi_aware_subscribed_cb, NULL);
+       CHECK_RETURN("wifi_aware_session_update_subscribe", ret, WIFI_AWARE_ERROR_INVALID_PARAMETER);
+
+       ret = wifi_aware_session_stop(g_session);
+       CHECK_RETURN("wifi_aware_session_stop", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_session_destroy(g_session);
+       CHECK_RETURN("wifi_aware_session_destroy", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_subscribe_destroy(g_subscribe);
+       CHECK_RETURN("wifi_aware_subscribe_destroy", ret, WIFI_AWARE_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_wifi_aware_session_stop_p
+ * @since_tizen                9.0
+ * @type               Positive
+ * @description                subscribe to a wifi-aware service and stop the session
+ * @scenario           subscribe to a wifi-aware service and stop the session. Ensure no error.
+ */
+int utc_wifi_aware_session_stop_p(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       const unsigned char info[] ="ABCD";
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_subscribe_create(&g_subscribe);
+       CHECK_RETURN("wifi_aware_subscribe_create", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_session_create(WIFI_AWARE_SESSION_SUBSCRIBE, &g_session);
+       CHECK_RETURN("wifi_aware_session_create", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_subscribe_set_service_name(g_subscribe, "AWARE");
+       CHECK_RETURN("wifi_aware_subscribe_set_service_name", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_subscribe_set_type(g_subscribe, WIFI_AWARE_SUBSCRIBE_TYPE_PASSIVE);
+       CHECK_RETURN("wifi_aware_subscribe_set_type", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_subscribe_set_service_specific_info(g_subscribe, info , 4);
+       CHECK_RETURN("wifi_aware_subscribe_set_type", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_session_subscribe(g_session, g_subscribe, __wifi_aware_subscribed_cb, NULL);
+       CHECK_RETURN("wifi_aware_session_subscribe", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_session_stop(g_session);
+       CHECK_RETURN("wifi_aware_session_stop", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_session_destroy(g_session);
+       CHECK_RETURN("wifi_aware_session_destroy", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_subscribe_destroy(g_subscribe);
+       CHECK_RETURN("wifi_aware_subscribe_destroy", ret, WIFI_AWARE_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_wifi_aware_session_stop_n
+ * @since_tizen                9.0
+ * @type               Negative
+ * @description                stop the wifi-aware session
+ * @scenario           stop the wifi-aware session. Ensure no unexpected behaivor.
+ */
+int utc_wifi_aware_session_stop_n(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_session_stop(NULL);
+       CHECK_RETURN("wifi_aware_session_stop", ret, WIFI_AWARE_ERROR_INVALID_PARAMETER);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_wifi_aware_session_set_service_discovered_cb_p
+ * @since_tizen                9.0
+ * @type               Positive
+ * @description                set service discovered cb on wifi-aware session
+ * @scenario           create a wifi-aware session and set set service discovered cb on it. Ensure no error.
+ */
+int utc_wifi_aware_session_set_service_discovered_cb_p(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_session_create(WIFI_AWARE_SESSION_SUBSCRIBE, &g_session);
+       CHECK_RETURN("wifi_aware_session_create", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_session_set_service_discovered_cb(g_session, __wifi_aware_service_discovered_cb, NULL);
+       CHECK_RETURN("wifi_aware_session_set_service_discovered_cb", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_session_destroy(g_session);
+       CHECK_RETURN("wifi_aware_session_destroy", ret, WIFI_AWARE_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_wifi_aware_session_set_service_discovered_cb_n
+ * @since_tizen                9.0
+ * @type               Negative
+ * @description                set service discovered cb on wifi-aware session
+ * @scenario           create a wifi-aware session and set set service discovered cb on it. Ensure no unexpected behaivor.
+ */
+int utc_wifi_aware_session_set_service_discovered_cb_n(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_session_create(WIFI_AWARE_SESSION_SUBSCRIBE, &g_session);
+       CHECK_RETURN("wifi_aware_session_create", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_session_set_service_discovered_cb(NULL, __wifi_aware_service_discovered_cb, NULL);
+       CHECK_RETURN("wifi_aware_session_set_service_discovered_cb", ret, WIFI_AWARE_ERROR_INVALID_PARAMETER);
+
+       ret = wifi_aware_session_destroy(g_session);
+       CHECK_RETURN("wifi_aware_session_destroy", ret, WIFI_AWARE_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_wifi_aware_session_unset_service_discovered_cb_p
+ * @since_tizen                9.0
+ * @type               Positive
+ * @description                unset service discovered cb on wifi-aware session
+ * @scenario           create a wifi-aware session and set and unset service discovered cb on it. Ensure no error.
+ */
+int utc_wifi_aware_session_unset_service_discovered_cb_p(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_session_create(WIFI_AWARE_SESSION_SUBSCRIBE, &g_session);
+       CHECK_RETURN("wifi_aware_session_create", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_session_set_service_discovered_cb(g_session, __wifi_aware_service_discovered_cb, NULL);
+       CHECK_RETURN("wifi_aware_session_set_service_discovered_cb", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_session_unset_service_discovered_cb(g_session);
+       CHECK_RETURN("wifi_aware_session_unset_service_discovered_cb", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_session_destroy(g_session);
+       CHECK_RETURN("wifi_aware_session_destroy", ret, WIFI_AWARE_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_wifi_aware_session_unset_service_discovered_cb_n
+ * @since_tizen                9.0
+ * @type               Negative
+ * @description                unset service discovered cb on wifi-aware session
+ * @scenario           create a wifi-aware session and set and unset service discovered cb on it. Ensure no unexpected behaivor.
+ */
+int utc_wifi_aware_session_unset_service_discovered_cb_n(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_session_create(WIFI_AWARE_SESSION_SUBSCRIBE, &g_session);
+       CHECK_RETURN("wifi_aware_session_create", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_session_set_service_discovered_cb(g_session, __wifi_aware_service_discovered_cb, NULL);
+       CHECK_RETURN("wifi_aware_session_set_service_discovered_cb", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_session_unset_service_discovered_cb(NULL);
+       CHECK_RETURN("wifi_aware_session_unset_service_discovered_cb", ret, WIFI_AWARE_ERROR_INVALID_PARAMETER);
+
+       ret = wifi_aware_session_destroy(g_session);
+       CHECK_RETURN("wifi_aware_session_destroy", ret, WIFI_AWARE_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_wifi_aware_session_set_message_received_cb_p
+ * @since_tizen                9.0
+ * @type               Positive
+ * @description                set message received cb on wifi-aware session
+ * @scenario           create a wifi-aware session and set message received cb on it. Ensure no error.
+ */
+int utc_wifi_aware_session_set_message_received_cb_p(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_session_create(WIFI_AWARE_SESSION_SUBSCRIBE, &g_session);
+       CHECK_RETURN("wifi_aware_session_create", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_session_set_message_received_cb(g_session, __wifi_aware_message_received_cb, NULL);
+       CHECK_RETURN("wifi_aware_session_set_message_received_cb", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_session_destroy(g_session);
+       CHECK_RETURN("wifi_aware_session_destroy", ret, WIFI_AWARE_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_wifi_aware_session_set_message_received_cb_n
+ * @since_tizen                9.0
+ * @type               Negative
+ * @description                set message received cb on wifi-aware session
+ * @scenario           create a wifi-aware session and set message received cb on it. Ensure no unexpected behaivor.
+ */
+int utc_wifi_aware_session_set_message_received_cb_n(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_session_create(WIFI_AWARE_SESSION_SUBSCRIBE, &g_session);
+       CHECK_RETURN("wifi_aware_session_create", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_session_set_message_received_cb(NULL, __wifi_aware_message_received_cb, NULL);
+       CHECK_RETURN("wifi_aware_session_set_message_received_cb", ret, WIFI_AWARE_ERROR_INVALID_PARAMETER);
+
+       ret = wifi_aware_session_destroy(g_session);
+       CHECK_RETURN("wifi_aware_session_destroy", ret, WIFI_AWARE_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_wifi_aware_session_unset_message_received_cb_p
+ * @since_tizen                9.0
+ * @type               Positive
+ * @description                set and unset message received cb on wifi-aware session
+ * @scenario           create a wifi-aware session and set and unset message received cb on it. Ensure no error.
+ */
+int utc_wifi_aware_session_unset_message_received_cb_p(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_session_create(WIFI_AWARE_SESSION_SUBSCRIBE, &g_session);
+       CHECK_RETURN("wifi_aware_session_create", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_session_set_message_received_cb(g_session, __wifi_aware_message_received_cb, NULL);
+       CHECK_RETURN("wifi_aware_session_set_message_received_cb", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_session_unset_message_received_cb(g_session);
+       CHECK_RETURN("wifi_aware_session_unset_message_received_cb", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_session_destroy(g_session);
+       CHECK_RETURN("wifi_aware_session_destroy", ret, WIFI_AWARE_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_wifi_aware_session_unset_message_received_cb_n
+ * @since_tizen                9.0
+ * @type               Negative
+ * @description                set and unset message received cb on wifi-aware session
+ * @scenario           create a wifi-aware session and set and unset message received cb on it. Ensure no unexpected behaivor.
+ */
+int utc_wifi_aware_session_unset_message_received_cb_n(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_session_create(WIFI_AWARE_SESSION_SUBSCRIBE, &g_session);
+       CHECK_RETURN("wifi_aware_session_create", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_session_unset_message_received_cb(NULL);
+       CHECK_RETURN("wifi_aware_session_unset_message_received_cb", ret, WIFI_AWARE_ERROR_INVALID_PARAMETER);
+
+       ret = wifi_aware_session_destroy(g_session);
+       CHECK_RETURN("wifi_aware_session_destroy", ret, WIFI_AWARE_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_wifi_aware_session_send_message_p
+ * @since_tizen                9.0
+ * @type               Positive
+ * @description                send message to a peer
+ * @scenario           subscribe to a wifi-aware service and send message. Ensure no error.
+ */
+int utc_wifi_aware_session_send_message_p(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       const unsigned char info[] ="ABCD";
+       const unsigned char message[] ="TEST";
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_subscribe_create(&g_subscribe);
+       CHECK_RETURN("wifi_aware_subscribe_create", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_session_create(WIFI_AWARE_SESSION_SUBSCRIBE, &g_session);
+       CHECK_RETURN("wifi_aware_session_create", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_subscribe_set_service_name(g_subscribe, "AWARE");
+       CHECK_RETURN("wifi_aware_publish_set_service_name", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_subscribe_set_type(g_subscribe, WIFI_AWARE_SUBSCRIBE_TYPE_PASSIVE);
+       CHECK_RETURN("wifi_aware_publish_set_type", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_subscribe_set_service_specific_info(g_subscribe, info , 4);
+       CHECK_RETURN("wifi_aware_publish_set_type", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_session_set_service_discovered_cb(g_session, __wifi_aware_service_discovered_cb, NULL);
+       CHECK_RETURN("wifi_aware_session_set_service_discovered_cb", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_session_subscribe(g_session, g_subscribe, __wifi_aware_subscribed_cb, NULL);
+       CHECK_RETURN("wifi_aware_session_subscribe", ret, WIFI_AWARE_ERROR_NONE);
+
+       RUN_GMAIN_LOOP;
+
+       ret = wifi_aware_session_send_message(g_session, g_peer, message, 4, __wifi_aware_message_result_cb, NULL);
+       CHECK_RETURN("wifi_aware_session_send_message", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_session_stop(g_session);
+       CHECK_RETURN("wifi_aware_session_stop", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_subscribe_destroy(g_subscribe);
+       CHECK_RETURN("wifi_aware_subscribe_destroy", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_session_destroy(g_session);
+       CHECK_RETURN("wifi_aware_subscribe_destroy", ret, WIFI_AWARE_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_wifi_aware_session_send_message_n
+ * @since_tizen                9.0
+ * @type               Negative
+ * @description                send message to a peer
+ * @scenario           subscribe to a wifi-aware service and send message. Ensure no unexpected behaivor.
+ */
+int utc_wifi_aware_session_send_message_n(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       const unsigned char info[] ="ABCD";
+       const unsigned char message[] ="TEST";
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_subscribe_create(&g_subscribe);
+       CHECK_RETURN("wifi_aware_subscribe_create", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_session_create(WIFI_AWARE_SESSION_SUBSCRIBE, &g_session);
+       CHECK_RETURN("wifi_aware_session_create", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_subscribe_set_service_name(g_subscribe, "AWARE");
+       CHECK_RETURN("wifi_aware_publish_set_service_name", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_subscribe_set_type(g_subscribe, WIFI_AWARE_SUBSCRIBE_TYPE_PASSIVE);
+       CHECK_RETURN("wifi_aware_publish_set_type", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_subscribe_set_service_specific_info(g_subscribe, info , 4);
+       CHECK_RETURN("wifi_aware_publish_set_type", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_session_set_service_discovered_cb(g_session, __wifi_aware_service_discovered_cb, NULL);
+       CHECK_RETURN("wifi_aware_session_set_service_discovered_cb", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_session_subscribe(g_session, g_subscribe, __wifi_aware_subscribed_cb, NULL);
+       CHECK_RETURN("wifi_aware_session_subscribe", ret, WIFI_AWARE_ERROR_NONE);
+
+       RUN_GMAIN_LOOP;
+
+       ret = wifi_aware_session_send_message(g_session, NULL, message, 4, __wifi_aware_message_result_cb, NULL);
+       CHECK_RETURN("wifi_aware_session_send_message", ret, WIFI_AWARE_ERROR_INVALID_PARAMETER);
+
+       ret = wifi_aware_session_send_message(NULL, g_peer, message, 4, __wifi_aware_message_result_cb, NULL);
+       CHECK_RETURN("wifi_aware_session_send_message", ret, WIFI_AWARE_ERROR_INVALID_PARAMETER);
+
+       ret = wifi_aware_session_stop(g_session);
+       CHECK_RETURN("wifi_aware_session_stop", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_subscribe_destroy(g_subscribe);
+       CHECK_RETURN("wifi_aware_subscribe_destroy", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_session_destroy(g_session);
+       CHECK_RETURN("wifi_aware_subscribe_destroy", ret, WIFI_AWARE_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_wifi_aware_peer_clone_p
+ * @since_tizen                9.0
+ * @type               Positive
+ * @description                copies a peer handle
+ * @scenario           copies a peer handle.Ensure no error.
+ */
+int utc_wifi_aware_peer_clone_p(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       wifi_aware_peer_h cloned_peer;
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_peer_clone(&cloned_peer, g_peer);
+       CHECK_RETURN("wifi_aware_peer_clone", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_peer_destroy(cloned_peer);
+       CHECK_RETURN("wifi_aware_peer_clone", ret, WIFI_AWARE_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_wifi_aware_peer_clone_n
+ * @since_tizen                9.0
+ * @type               Negative
+ * @description                copies a peer handle.
+ * @scenario           copies a peer handle.Ensure no unexpected behaivor.
+ */
+int utc_wifi_aware_peer_clone_n(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       wifi_aware_peer_h cloned_peer;
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_peer_clone(NULL, g_peer);
+       CHECK_RETURN("wifi_aware_peer_clone", ret, WIFI_AWARE_ERROR_INVALID_PARAMETER);
+
+       ret = wifi_aware_peer_clone(&cloned_peer, NULL);
+       CHECK_RETURN("wifi_aware_peer_clone", ret, WIFI_AWARE_ERROR_INVALID_PARAMETER);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_wifi_aware_peer_destroy_p
+ * @since_tizen                9.0
+ * @type               Positive
+ * @description                destroy a peer handle.
+ * @scenario           copies and destroy a peer handle. Ensure no error.
+ */
+int utc_wifi_aware_peer_destroy_p(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       wifi_aware_peer_h cloned_peer;
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_peer_clone(&cloned_peer, g_peer);
+       CHECK_RETURN("wifi_aware_peer_clone", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_peer_destroy(cloned_peer);
+       CHECK_RETURN("wifi_aware_peer_destroy", ret, WIFI_AWARE_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_wifi_aware_peer_destroy_n
+ * @since_tizen                9.0
+ * @type               Negative
+ * @description                destroy a peer handle.
+ * @scenario           copies and destroy a peer handle. Ensure no unexpected behaivor.
+ */
+int utc_wifi_aware_peer_destroy_n(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_peer_destroy(NULL);
+       CHECK_RETURN("wifi_aware_peer_destroy", ret, WIFI_AWARE_ERROR_INVALID_PARAMETER);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_wifi_aware_peer_get_mac_p
+ * @since_tizen                9.0
+ * @type               Positive
+ * @description                get mac address of wifi-aware peer.
+ * @scenario           get mac address of wifi aware peer. Ensure no error.
+ */
+int utc_wifi_aware_peer_get_mac_p(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       unsigned char *mac = NULL;
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_peer_get_mac(g_peer, &mac);
+       CHECK_RETURN("wifi_aware_peer_get_mac", ret, WIFI_AWARE_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_wifi_aware_peer_get_mac_n
+ * @since_tizen                9.0
+ * @type               Negative
+ * @description                get mac address of wifi-aware peer.
+ * @scenario           get mac address of wifi aware peer. Ensure no unexpected behaivor.
+ */
+int utc_wifi_aware_peer_get_mac_n(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       unsigned char *mac = NULL;
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_peer_get_mac(NULL, &mac);
+       CHECK_RETURN("wifi_aware_peer_get_mac", ret, WIFI_AWARE_ERROR_INVALID_PARAMETER);
+
+       return 0;
+}
+
+/**
+ * @testcase            utc_wifi_aware_data_path_create_p
+ * @since_tizen         9.0
+ * @type                Positive
+ * @description         create a handle for wifi aware data path.
+ * @scenario            create a handle for wifi aware data path. Ensure no error.
+ */
+int utc_wifi_aware_data_path_create_p(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       const unsigned char info[] = "ABCD";
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_subscribe_create(&g_subscribe);
+       CHECK_RETURN("wifi_aware_subscribe_create", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_session_create(WIFI_AWARE_SESSION_SUBSCRIBE, &g_session);
+       CHECK_RETURN("wifi_aware_session_create", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_subscribe_set_service_name(g_subscribe, "AWARE");
+       CHECK_RETURN("wifi_aware_publish_set_service_name", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_subscribe_set_type(g_subscribe, WIFI_AWARE_SUBSCRIBE_TYPE_PASSIVE);
+       CHECK_RETURN("wifi_aware_publish_set_type", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_subscribe_set_service_specific_info(g_subscribe, info , 4);
+       CHECK_RETURN("wifi_aware_publish_set_type", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_session_set_service_discovered_cb(g_session, __wifi_aware_service_discovered_cb, NULL);
+       CHECK_RETURN("wifi_aware_session_set_service_discovered_cb", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_session_subscribe(g_session, g_subscribe, __wifi_aware_subscribed_cb, NULL);
+       CHECK_RETURN("wifi_aware_session_subscribe", ret, WIFI_AWARE_ERROR_NONE);
+
+       RUN_GMAIN_LOOP;
+
+       ret = wifi_aware_data_path_create(g_session, g_peer, &g_data_path);
+       CHECK_RETURN("wifi_aware_data_path_create", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_data_path_destroy(g_data_path);
+       CHECK_RETURN("wifi_aware_data_path_destroy", ret, WIFI_AWARE_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase            utc_wifi_aware_data_path_create_n
+ * @since_tizen         9.0
+ * @type                Negative
+ * @description         create a handle for wifi aware data path.
+ * @scenario            create a handle for wifi aware data path. Ensure no unexpected behaivor.
+ */
+int utc_wifi_aware_data_path_create_n(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_data_path_create(g_session, g_peer, NULL);
+       CHECK_RETURN("wifi_aware_data_path_create", ret, WIFI_AWARE_ERROR_INVALID_PARAMETER);
+
+       return 0;
+}
+
+/**
+ * @testcase            utc_wifi_aware_data_path_set_security_p
+ * @since_tizen         9.0
+ * @type                Positive
+ * @description         set security type for wifi aware data path.
+ * @scenario            set security type for wifi aware data path. Ensure no error.
+ */
+int utc_wifi_aware_data_path_set_security_p(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_data_path_create(g_session, g_peer, &g_data_path);
+       CHECK_RETURN("wifi_aware_data_path_create", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_data_path_set_security(g_data_path, WIFI_AWARE_SECURITY_TYPE_OPEN);
+       CHECK_RETURN("wifi_aware_data_path_set_security", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_data_path_destroy(g_data_path);
+       CHECK_RETURN("wifi_aware_data_path_destroy", ret, WIFI_AWARE_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase            utc_wifi_aware_data_path_set_security_n
+ * @since_tizen         9.0
+ * @type                Negative
+ * @description         set security type for wifi aware data path.
+ * @scenario            set security type for wifi aware data path. Ensure no unexpected behaivor.
+ */
+int utc_wifi_aware_data_path_set_security_n(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_data_path_set_security(NULL, WIFI_AWARE_SECURITY_TYPE_OPEN);
+       CHECK_RETURN("wifi_aware_data_path_set_security", ret, WIFI_AWARE_ERROR_INVALID_PARAMETER);
+
+       return 0;
+}
+
+/**
+ * @testcase            utc_wifi_aware_data_path_set_psk_p
+ * @since_tizen         9.0
+ * @type                Positive
+ * @description         set passprase for security type psk  for wifi aware data path.
+ * @scenario            set passphrase for security type psk for wifi aware data path. Ensure no error.
+ */
+int utc_wifi_aware_data_path_set_psk_p(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_data_path_create(g_session, g_peer, &g_data_path);
+       CHECK_RETURN("wifi_aware_data_path_create", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_data_path_set_security(g_data_path, WIFI_AWARE_SECURITY_TYPE_PSK);
+       CHECK_RETURN("wifi_aware_data_path_set_security", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_data_path_set_psk(g_data_path, "12345678");
+       CHECK_RETURN("wifi_aware_data_path_set_psk", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_data_path_destroy(g_data_path);
+       CHECK_RETURN("wifi_aware_data_path_destroy", ret, WIFI_AWARE_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase            utc_wifi_aware_data_path_set_psk_n
+ * @since_tizen         9.0
+ * @type                Negative
+ * @description         set passprase for security type psk for wifi aware data path.
+ * @scenario            set passphrase for security type psk for wifi aware data path. Ensure no unexpected behaivor.
+ */
+int utc_wifi_aware_data_path_set_psk_n(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_data_path_create(g_session, g_peer, &g_data_path);
+       CHECK_RETURN("wifi_aware_data_path_create", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_data_path_set_security(g_data_path, WIFI_AWARE_SECURITY_TYPE_PSK);
+       CHECK_RETURN("wifi_aware_data_path_set_security", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_data_path_set_psk(NULL, "12345678");
+       CHECK_RETURN("wifi_aware_data_path_set_psk", ret, WIFI_AWARE_ERROR_INVALID_PARAMETER);
+
+       ret = wifi_aware_data_path_destroy(g_data_path);
+       CHECK_RETURN("wifi_aware_data_path_destroy", ret, WIFI_AWARE_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase            utc_wifi_aware_data_path_set_pmk_p
+ * @since_tizen         9.0
+ * @type                Positive
+ * @description         set pmk for pmk security type for wifi aware data path.
+ * @scenario            set pmk for security type pmk for wifi aware data path. Ensure no error.
+ */
+int utc_wifi_aware_data_path_set_pmk_p(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       const unsigned char key[] = "12345678912345678912345678912345";
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_data_path_create(g_session, g_peer, &g_data_path);
+       CHECK_RETURN("wifi_aware_data_path_create", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_data_path_set_security(g_data_path, WIFI_AWARE_SECURITY_TYPE_PMK);
+       CHECK_RETURN("wifi_aware_data_path_set_security", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_data_path_set_pmk(g_data_path, key);
+       CHECK_RETURN("wifi_aware_data_path_set_pmk", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_data_path_destroy(g_data_path);
+       CHECK_RETURN("wifi_aware_data_path_destroy", ret, WIFI_AWARE_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase            utc_wifi_aware_data_path_set_pmk_n
+ * @since_tizen         9.0
+ * @type                Negative
+ * @description         set pmk for pmk security type for wifi aware data path.
+ * @scenario            set pmk for security type pmk for wifi aware data path. Ensure no unexpected behaivor.
+ */
+int utc_wifi_aware_data_path_set_pmk_n(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       const unsigned char key[] = "12345678912345678912345678912345";
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_data_path_create(g_session, g_peer, &g_data_path);
+       CHECK_RETURN("wifi_aware_data_path_create", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_data_path_set_security(g_data_path, WIFI_AWARE_SECURITY_TYPE_PMK);
+       CHECK_RETURN("wifi_aware_data_path_set_security", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_data_path_set_pmk(NULL, key);
+       CHECK_RETURN("wifi_aware_data_path_set_pmk", ret, WIFI_AWARE_ERROR_INVALID_PARAMETER);
+
+       ret = wifi_aware_data_path_destroy(g_data_path);
+       CHECK_RETURN("wifi_aware_data_path_destroy", ret, WIFI_AWARE_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase            utc_wifi_aware_data_path_set_port_p
+ * @since_tizen         9.0
+ * @type                Positive
+ * @description         set port for wifi aware data path.
+ * @scenario            set port for wifi aware data path. Ensure no error.
+ */
+int utc_wifi_aware_data_path_set_port_p(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_data_path_create(g_session, g_peer, &g_data_path);
+       CHECK_RETURN("wifi_aware_data_path_create", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_data_path_set_port(g_data_path, 12345);
+       CHECK_RETURN("wifi_aware_data_path_set_security", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_data_path_destroy(g_data_path);
+       CHECK_RETURN("wifi_aware_data_path_destroy", ret, WIFI_AWARE_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase            utc_wifi_aware_data_path_set_port_n
+ * @since_tizen         9.0
+ * @type                Negative
+ * @description         set port for wifi aware data path.
+ * @scenario            set port for wifi aware data path. Ensure no unexpected behaivor.
+ */
+int utc_wifi_aware_data_path_set_port_n(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_data_path_create(g_session, g_peer, &g_data_path);
+       CHECK_RETURN("wifi_aware_data_path_create", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_data_path_set_port(NULL, 12345);
+       CHECK_RETURN("wifi_aware_data_path_set_security", ret, WIFI_AWARE_ERROR_INVALID_PARAMETER);
+
+       ret = wifi_aware_data_path_destroy(g_data_path);
+       CHECK_RETURN("wifi_aware_data_path_destroy", ret, WIFI_AWARE_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase            utc_wifi_aware_data_path_destroy_p
+ * @since_tizen         9.0
+ * @type                Positive
+ * @description         destroy wifi aware data path.
+ * @scenario            create and destroy wifi aware data path. Ensure no error.
+ */
+int utc_wifi_aware_data_path_destroy_p(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_data_path_create(g_session, g_peer, &g_data_path);
+       CHECK_RETURN("wifi_aware_data_path_create", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_data_path_destroy(g_data_path);
+       CHECK_RETURN("wifi_aware_data_path_destroy", ret, WIFI_AWARE_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_wifi_aware_data_path_destroy_n
+ * @since_tizen                9.0
+ * @type               Negative
+ * @description                destroy wifi aware data path.
+ * @scenario           create and destroy wifi aware data path. Ensure no unexpected behaivor.
+ */
+int utc_wifi_aware_data_path_destroy_n(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_data_path_destroy(NULL);
+       CHECK_RETURN("wifi_aware_data_path_destroy", ret, WIFI_AWARE_ERROR_INVALID_PARAMETER);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_wifi_aware_data_path_set_terminated_cb_p
+ * @since_tizen                9.0
+ * @type               Positive
+ * @description                set data path terminated cb . It is called when data path is terminated
+ * @scenario           create data path and set data path terminated callback. Ensure no error
+ */
+int utc_wifi_aware_data_path_set_terminated_cb_p(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_data_path_create(g_session, g_peer, &g_data_path);
+       CHECK_RETURN("wifi_aware_data_path_create", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_data_path_set_terminated_cb(g_data_path, __wifi_aware_data_path_terminated_cb, NULL);
+       CHECK_RETURN("wifi_aware_data_path_set_terminated_cb", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_data_path_destroy(g_data_path);
+       CHECK_RETURN("wifi_aware_data_path_destroy", ret, WIFI_AWARE_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_wifi_aware_data_path_set_terminated_cb_n
+ * @since_tizen                9.0
+ * @type               Negative
+ * @description                set data path terminated cb . It is called when data path is terminated
+ * @scenario           create data path and set data path terminated callback. Ensure no unexpected behaivor.
+ */
+int utc_wifi_aware_data_path_set_terminated_cb_n(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_data_path_create(g_session, g_peer, &g_data_path);
+       CHECK_RETURN("wifi_aware_data_path_create", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_data_path_set_terminated_cb(NULL, __wifi_aware_data_path_terminated_cb, NULL);
+       CHECK_RETURN("wifi_aware_data_path_set_terminated_cb", ret, WIFI_AWARE_ERROR_INVALID_PARAMETER);
+
+       ret = wifi_aware_data_path_destroy(g_data_path);
+       CHECK_RETURN("wifi_aware_data_path_destroy", ret, WIFI_AWARE_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_wifi_aware_data_path_unset_terminated_cb_p
+ * @since_tizen                9.0
+ * @type               Positive
+ * @description                unset data path terminated cb . It is called when data path is terminated.
+ * @scenario           create data path and set and unset data path terminated callback. Ensure no error.
+ */
+int utc_wifi_aware_data_path_unset_terminated_cb_p(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_data_path_create(g_session, g_peer, &g_data_path);
+       CHECK_RETURN("wifi_aware_data_path_create", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_data_path_set_terminated_cb(g_data_path, __wifi_aware_data_path_terminated_cb, NULL);
+       CHECK_RETURN("wifi_aware_data_path_set_terminated_cb", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_data_path_unset_terminated_cb(g_data_path);
+       CHECK_RETURN("wifi_aware_data_path_unset_terminated_cb", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_data_path_destroy(g_data_path);
+       CHECK_RETURN("wifi_aware_data_path_destroy", ret, WIFI_AWARE_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_wifi_aware_data_path_unset_terminated_cb_n
+ * @since_tizen                9.0
+ * @type               Negative
+ * @description                unset data path terminated cb . It is called when data path is terminated.
+ * @scenario           create data path and set and unset data path terminated callback. Ensure no unexpected behaivor.
+ */
+int utc_wifi_aware_data_path_unset_terminated_cb_n(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_data_path_create(g_session, g_peer, &g_data_path);
+       CHECK_RETURN("wifi_aware_data_path_create", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_data_path_unset_terminated_cb(NULL);
+       CHECK_RETURN("wifi_aware_data_path_unset_terminated_cb", ret, WIFI_AWARE_ERROR_INVALID_PARAMETER);
+
+       ret = wifi_aware_data_path_destroy(g_data_path);
+       CHECK_RETURN("wifi_aware_data_path_destroy", ret, WIFI_AWARE_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_wifi_aware_data_path_open_n
+ * @since_tizen                9.0
+ * @type               Negative
+ * @description                requests to open a data path is created
+ * @scenario           request a data path. Ensure no unexpected behaivor.
+ */
+int utc_wifi_aware_data_path_open_n(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_data_path_create(g_session, g_peer, &g_data_path);
+       CHECK_RETURN("wifi_aware_data_path_create", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_data_path_open(NULL, __wifi_aware_data_path_open_cb, NULL);
+       CHECK_RETURN("wifi_aware_data_path_open", ret, WIFI_AWARE_ERROR_INVALID_PARAMETER);
+
+       ret = wifi_aware_data_path_destroy(g_data_path);
+       CHECK_RETURN("wifi_aware_data_path_destroy", ret, WIFI_AWARE_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_wifi_aware_data_path_close_n
+ * @since_tizen                9.0
+ * @type               Negative
+ * @description                close a data path
+ * @scenario           Close wifi aware data path. Ensure no unexpected behaivor.
+ */
+int utc_wifi_aware_data_path_close_n(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_data_path_create(g_session, g_peer, &g_data_path);
+       CHECK_RETURN("wifi_aware_data_path_create", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_data_path_close(NULL);
+       CHECK_RETURN("wifi_aware_data_path_open", ret, WIFI_AWARE_ERROR_INVALID_PARAMETER);
+
+       ret = wifi_aware_data_path_destroy(g_data_path);
+       CHECK_RETURN("wifi_aware_data_path_destroy", ret, WIFI_AWARE_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_wifi_aware_data_path_get_peer_port_n
+ * @since_tizen                9.0
+ * @type               Negative
+ * @description                get a  peer port
+ * @scenario           create data path and get peer port. Ensure no unexpected behaivor.
+ */
+int utc_wifi_aware_data_path_get_peer_port_n(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       int port;
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_data_path_create(g_session, g_peer, &g_data_path);
+       CHECK_RETURN("wifi_aware_data_path_create", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_data_path_get_peer_port(NULL, &port);
+       CHECK_RETURN("wifi_aware_data_path_open", ret, WIFI_AWARE_ERROR_INVALID_PARAMETER);
+
+       ret = wifi_aware_data_path_destroy(g_data_path);
+       CHECK_RETURN("wifi_aware_data_path_destroy", ret, WIFI_AWARE_ERROR_NONE);
+
+       return 0;
+
+}
+
+/**
+ * @testcase           utc_wifi_aware_data_path_get_peer_ipv6_address_n
+ * @since_tizen                9.0
+ * @type               Negative
+ * @description                get ipv6 address of peer
+ * @scenario           create data patha and get ipv6 address of peer. Ensure no unexpected behaivor.
+ */
+int utc_wifi_aware_data_path_get_peer_ipv6_address_n(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       char *ipv6 = NULL;
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_data_path_create(g_session, g_peer, &g_data_path);
+       CHECK_RETURN("wifi_aware_data_path_create", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_data_path_get_peer_ipv6_address(NULL, &ipv6);
+       CHECK_RETURN("wifi_aware_data_path_open", ret, WIFI_AWARE_ERROR_INVALID_PARAMETER);
+
+       ret = wifi_aware_data_path_destroy(g_data_path);
+       CHECK_RETURN("wifi_aware_data_path_destroy", ret, WIFI_AWARE_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_wifi_aware_data_path_get_interface_n
+ * @since_tizen                9.0
+ * @type               Negative
+ * @description                get interface name of wifi aware data path
+ * @scenario           create data path and get interface name of wifi aware data path. Ensure no unexpected behaivor.
+ */
+int utc_wifi_aware_data_path_get_interface_n(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       char *interface = NULL;
+
+       CHECK_ENABLE_STATUS;
+
+       ret = wifi_aware_data_path_create(g_session, g_peer, &g_data_path);
+       CHECK_RETURN("wifi_aware_data_path_create", ret, WIFI_AWARE_ERROR_NONE);
+
+       ret = wifi_aware_data_path_get_interface(NULL, &interface);
+       CHECK_RETURN("wifi_aware_data_path_open", ret, WIFI_AWARE_ERROR_INVALID_PARAMETER);
+
+       ret = wifi_aware_data_path_destroy(g_data_path);
+       CHECK_RETURN("wifi_aware_data_path_destroy", ret, WIFI_AWARE_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_wifi_aware_disable_p
+ * @since_tizen                9.0
+ * @type               Positive
+ * @description                disable wifi aware.
+ * @scenario           Disable WiFi Aware. Ensure no error.
+ */
+int utc_wifi_aware_disable_p(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       ret = wifi_aware_disable(__wifi_aware_disabled_callback, NULL);
+
+       if (!g_bFeatureWifiAware) {
+               CHECK_RETURN("wifi_aware_disable", ret, WIFI_AWARE_ERROR_NOT_SUPPORTED);
+               return 0;
+       } else {
+               CHECK_RETURN("wifi_aware_disable", ret, WIFI_AWARE_ERROR_NONE);
+       }
+
+       RUN_GMAIN_LOOP;
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_wifi_aware_disable_p
+ * @since_tizen                9.0
+ * @type               Positive
+ * @description                disable wifi aware.
+ * @scenario           Disable WiFi Aware. Ensure no unexpected behaivor.
+ */
+int utc_wifi_aware_disable_n(void)
+{
+       int ret = WIFI_AWARE_ERROR_NONE;
+
+       ret = wifi_aware_disable(__wifi_aware_disabled_callback, NULL);
+
+       if (!g_bFeatureWifiAware) {
+               CHECK_RETURN("wifi_aware_disable", ret, WIFI_AWARE_ERROR_NOT_SUPPORTED);
+               return 0;
+       } else {
+               CHECK_RETURN("wifi_aware_disable", ret, WIFI_AWARE_ERROR_INVALID_OPERATION);
+       }
+
+       return 0;
+}