[UTC][battery-monitor][ACR-1437][unit test cases] 12/213312/7
authorDewal Agarwal <d1.agarwal@samsung.com>
Wed, 4 Sep 2019 06:38:05 +0000 (12:08 +0530)
committerDewal Agarwal <d1.agarwal@samsung.com>
Thu, 19 Sep 2019 13:15:31 +0000 (18:45 +0530)
Change-Id: I19f558475b97f9e9f056c909cd66df7a851f9b58
Signed-off-by: Dewal Agarwal <d1.agarwal@samsung.com>
packaging/TCT.spec
packaging/utc/core-battery-monitor-tests.spec [new file with mode: 0644]
packaging/utc/core-battery-monitor-tests.xml [new file with mode: 0644]
src/CMakeLists.txt
src/utc/battery-monitor/CMakeLists.txt [new file with mode: 0644]
src/utc/battery-monitor/public.list [new file with mode: 0644]
src/utc/battery-monitor/tct-battery-monitor-core.c [new file with mode: 0644]
src/utc/battery-monitor/tct-battery-monitor-core_mobile.h [new file with mode: 0644]
src/utc/battery-monitor/tct-battery-monitor-core_tizeniot.h [new file with mode: 0644]
src/utc/battery-monitor/tct-battery-monitor-core_wearable.h [new file with mode: 0644]
src/utc/battery-monitor/utc-battery-monitor.c [new file with mode: 0644]

index 1b3714f652cdfd3bb63e3e1d5d9da07d7a51af6b..8af0f56f8bbc0604264599928edb4e7d5e3b33c5 100755 (executable)
@@ -135,6 +135,7 @@ BuildRequires:  pkgconfig(fido-client-devel)
 BuildRequires:  pkgconfig(capi-network-softap)
 BuildRequires:  pkgconfig(multi-assistant)
 BuildRequires:  pkgconfig(capi-ui-autofill)
+BuildRequires: pkgconfig(capi-system-battery-monitor)
 Requires(post):  /sbin/ldconfig
 Requires(postun):  /sbin/ldconfig
 
@@ -1647,6 +1648,11 @@ cp LICENSE %{buildroot}/opt/usr/share/license/core-base-utils-tests
 cp packaging/utc/core-base-utils-tests.xml %{buildroot}/opt/share/packages/
 mkdir -p %{buildroot}/opt/usr/apps/core-base-utils-tests/bin
 
+#core-battery-monitor-tests
+cp LICENSE %{buildroot}/opt/usr/share/license/core-battery-monitor-tests
+cp packaging/utc/core-battery-monitor-tests.xml %{buildroot}/opt/share/packages/
+mkdir -p %{buildroot}/opt/usr/apps/core-battery-monitor-tests/bin
+
 #core-bluetooth-tests
 cp LICENSE %{buildroot}/opt/usr/share/license/core-bluetooth-tests
 cp packaging/utc/core-bluetooth-tests.xml %{buildroot}/opt/share/packages/
diff --git a/packaging/utc/core-battery-monitor-tests.spec b/packaging/utc/core-battery-monitor-tests.spec
new file mode 100644 (file)
index 0000000..0560870
--- /dev/null
@@ -0,0 +1,75 @@
+%define MODULE_NAME battery-monitor
+%define MODULE_LIBNAME capi-system-battery-monitor
+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
+BuildRequires: pkgconfig(%{MODULE_LIBNAME})
+BuildRequires: cmake
+BuildRequires: pkgconfig(capi-appfw-service-application)
+BuildRequires: pkgconfig(dlog)
+BuildRequires: pkgconfig(capi-system-info)
+BuildRequires: pkgconfig(glib-2.0)
+
+%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
+
+%post
+
+%postun
+
+%files
+/usr/apps/%{name}/*
+/usr/share/packages/%{name}.xml
+/usr/share/license/%{name}
diff --git a/packaging/utc/core-battery-monitor-tests.xml b/packaging/utc/core-battery-monitor-tests.xml
new file mode 100644 (file)
index 0000000..074d58f
--- /dev/null
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns="http://tizen.org/ns/packages" package="core-battery-monitor-tests" version="0.1.0" api-version="5.5">
+       <label>CoreBatteryMonitorTest</label>
+       <author email="test@tizen.org" href="www.tizen.org">test</author>
+       <description>Core API test Application</description>
+       <ui-application appid="core.battery-monitor-tests" exec="/usr/apps/core-battery-monitor-tests/bin/tct-battery-monitor-core" nodisplay="false" multiple="false" type="capp" taskmanage="false">
+               <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/systemmonitor</privilege>
+       </privileges>
+</manifest>
index fbd1ae174c8ca74dae9553f113ca0aa05b84cc1f..3a041ea123be49e58e013357199a9ba36713f218 100755 (executable)
@@ -81,6 +81,8 @@ ELSE( DEFINED MODULE )
        ADD_SUBDIRECTORY(utc/badge)
        MESSAGE(STATUS "Building: ${CMAKE_CURRENT_SOURCE_DIR}/utc/base-utils")
        ADD_SUBDIRECTORY(utc/base-utils)
+       MESSAGE(STATUS "Building: ${CMAKE_CURRENT_SOURCE_DIR}/utc/battery-monitor")
+       ADD_SUBDIRECTORY(utc/battery-monitor)
        MESSAGE(STATUS "Building: ${CMAKE_CURRENT_SOURCE_DIR}/utc/bluetooth")
        ADD_SUBDIRECTORY(utc/bluetooth)
        MESSAGE(STATUS "Building: ${CMAKE_CURRENT_SOURCE_DIR}/utc/bundle")
diff --git a/src/utc/battery-monitor/CMakeLists.txt b/src/utc/battery-monitor/CMakeLists.txt
new file mode 100644 (file)
index 0000000..219279d
--- /dev/null
@@ -0,0 +1,38 @@
+SET(PKG_NAME "battery-monitor")
+
+SET(EXEC_NAME "tct-${PKG_NAME}-core")
+SET(RPM_NAME "core-${PKG_NAME}-tests")
+
+SET(CAPI_LIB "capi-system-battery-monitor")
+SET(TC_SOURCES
+       utc-battery-monitor.c
+)
+
+PKG_CHECK_MODULES(${CAPI_LIB} REQUIRED
+       ${CAPI_LIB}
+       capi-appfw-application
+       capi-system-info
+       glib-2.0
+       dlog
+)
+
+INCLUDE_DIRECTORIES(
+       ${${CAPI_LIB}_INCLUDE_DIRS}
+)
+
+ADD_EXECUTABLE(${EXEC_NAME} ${EXEC_NAME}.c ${TC_SOURCES} ${COMMON_FILE})
+TARGET_LINK_LIBRARIES(${EXEC_NAME}
+       ${${CAPI_LIB}_LIBRARIES}
+)
+
+INSTALL(PROGRAMS ${EXEC_NAME}
+    DESTINATION ${BIN_DIR}/${RPM_NAME}/bin
+)
+
+IF( DEFINED ASAN )
+SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC -Wall -pie -g -fsanitize=address -fsanitize-recover=address -U_FORTIFY_SOURCE -fno-omit-frame-pointer")
+SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -Wl,--rpath=/usr/lib -Wl,-fsanitize=address")
+ELSE()
+SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O0 -g -fPIE -Wall")
+SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -Wl,--rpath=/usr/lib -pie")
+ENDIF()
diff --git a/src/utc/battery-monitor/public.list b/src/utc/battery-monitor/public.list
new file mode 100644 (file)
index 0000000..b94c420
--- /dev/null
@@ -0,0 +1,8 @@
+battery_monitor_create
+battery_monitor_destroy
+battery_monitor_get_usage_for_resource_id
+battery_monitor_get_usage_by_app_id_for_all_resource_id
+battery_monitor_get_usage_by_app_id_for_resource_id
+battery_monitor_get_total_usage_by_app_id
+battery_monitor_get_total_usage_by_resource_id
+
diff --git a/src/utc/battery-monitor/tct-battery-monitor-core.c b/src/utc/battery-monitor/tct-battery-monitor-core.c
new file mode 100644 (file)
index 0000000..c77d393
--- /dev/null
@@ -0,0 +1,132 @@
+/*
+ * Copyright (c) 2019 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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 <stdio.h>
+#include <string.h>
+#include "tct_common.h"
+
+#ifdef MOBILE
+#include "tct-battery-monitor-core_mobile.h"
+#endif /* MOBILE */
+
+#ifdef WEARABLE
+#include "tct-battery-monitor-core_wearable.h"
+#endif /* WEARABLE */
+
+#ifdef TV
+#include "tct-battery-monitor-core_tv.h"
+#endif /* TV */
+
+#ifdef TIZENIOT
+#include "tct-battery-monitor-core_tizeniot.h"
+#endif  /* TIZENIOT */
+
+#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>
+
+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();
+                       dlog_print(DLOG_INFO, "NativeTCT", "%s : Startup begin", pszGetTCName);
+
+                       if ( tc_array[i].startup )
+                               tc_array[i].startup();
+
+                       dlog_print(DLOG_INFO, "NativeTCT", "%s : Startup end", pszGetTCName);
+                       dlog_print(DLOG_INFO, "NativeTCT", "%s : Body begin", pszGetTCName);
+                       result = tc_array[i].function();
+                       dlog_print(DLOG_INFO, "NativeTCT", "%s returns value = %d", pszGetTCName, result);
+                       dlog_print(DLOG_INFO, "NativeTCT", "%s : Body end", pszGetTCName);
+                       dlog_print(DLOG_INFO, "NativeTCT", "%s : Cleanup begin", pszGetTCName);
+
+                       if ( tc_array[i].cleanup )
+                               tc_array[i].cleanup();
+
+                       dlog_print(DLOG_INFO, "NativeTCT", "%s : Cleanup end", pszGetTCName);
+                       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;
+
+       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, NULL);
+       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/battery-monitor/tct-battery-monitor-core_mobile.h b/src/utc/battery-monitor/tct-battery-monitor-core_mobile.h
new file mode 100644 (file)
index 0000000..3760b11
--- /dev/null
@@ -0,0 +1,151 @@
+/*
+ * Copyright (c) 2019 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef __TCT_BATTERY_MONITOR_NATIVE_H__
+#define __TCT_BATTERY_MONITOR_NATIVE_H__
+
+#include "testcase.h"
+#include "tct_common.h"
+
+extern void utc_battery_monitor_startup(void);
+extern void utc_battery_monitor_cleanup(void);
+extern int utc_battery_monitor_create_p(void);
+extern int utc_battery_monitor_create_n(void);
+
+extern void utc_battery_monitor_startup(void);
+extern void utc_battery_monitor_cleanup(void);
+extern int utc_battery_monitor_destroy_p(void);
+extern int utc_battery_monitor_destroy_n(void);
+
+extern void utc_battery_monitor_startup(void);
+extern void utc_battery_monitor_cleanup(void);
+extern int utc_battery_monitor_get_usage_for_resource_id_p(void);
+extern int utc_battery_monitor_get_usage_for_resource_id_n(void);
+
+extern void utc_battery_monitor_startup(void);
+extern void utc_battery_monitor_cleanup(void);
+extern int utc_battery_monitor_get_usage_by_app_id_for_all_resource_id_p(void);
+extern int utc_battery_monitor_get_usage_by_app_id_for_all_resource_id_n(void);
+
+extern void utc_battery_monitor_startup(void);
+extern void utc_battery_monitor_cleanup(void);
+extern int utc_battery_monitor_get_usage_by_app_id_for_resource_id_p(void);
+extern int utc_battery_monitor_get_usage_by_app_id_for_resource_id_n(void);
+
+extern void utc_battery_monitor_startup(void);
+extern void utc_battery_monitor_cleanup(void);
+extern int utc_battery_monitor_get_total_usage_by_app_id_p(void);
+extern int utc_battery_monitor_get_total_usage_by_app_id_n(void);
+
+extern void utc_battery_monitor_startup(void);
+extern void utc_battery_monitor_cleanup(void);
+extern int utc_battery_monitor_get_total_usage_by_resource_id_p(void);
+extern int utc_battery_monitor_get_total_usage_by_resource_id_n(void);
+
+testcase tc_array[] = {
+       {
+               "utc_battery_monitor_create_p",
+               utc_battery_monitor_create_p,
+               utc_battery_monitor_startup,
+               utc_battery_monitor_cleanup
+       },
+       {
+               "utc_battery_monitor_create_n",
+               utc_battery_monitor_create_n,
+               utc_battery_monitor_startup,
+               utc_battery_monitor_cleanup
+       },
+       {
+               "utc_battery_monitor_destroy_p",
+               utc_battery_monitor_destroy_p,
+               utc_battery_monitor_startup,
+               utc_battery_monitor_cleanup
+       },
+       {
+               "utc_battery_monitor_destroy_n",
+               utc_battery_monitor_destroy_n,
+               utc_battery_monitor_startup,
+               utc_battery_monitor_cleanup
+       },
+       {
+               "utc_battery_monitor_get_usage_for_resource_id_p",
+               utc_battery_monitor_get_usage_for_resource_id_p,
+               utc_battery_monitor_startup,
+               utc_battery_monitor_cleanup
+       },
+       {
+               "utc_battery_monitor_get_usage_for_resource_id_n",
+               utc_battery_monitor_get_usage_for_resource_id_n,
+               utc_battery_monitor_startup,
+               utc_battery_monitor_cleanup
+       },
+       {
+               "utc_battery_monitor_get_usage_by_app_id_for_all_resource_id_p",
+               utc_battery_monitor_get_usage_by_app_id_for_all_resource_id_p,
+               utc_battery_monitor_startup,
+               utc_battery_monitor_cleanup
+       },
+       {
+               "utc_battery_monitor_get_usage_by_app_id_for_all_resource_id_n",
+               utc_battery_monitor_get_usage_by_app_id_for_all_resource_id_n,
+               utc_battery_monitor_startup,
+               utc_battery_monitor_cleanup
+       },
+       {
+               "utc_battery_monitor_get_usage_by_app_id_for_resource_id_p",
+               utc_battery_monitor_get_usage_by_app_id_for_resource_id_p,
+               utc_battery_monitor_startup,
+               utc_battery_monitor_cleanup
+       },
+       {
+               "utc_battery_monitor_get_usage_by_app_id_for_resource_id_n",
+               utc_battery_monitor_get_usage_by_app_id_for_resource_id_n,
+               utc_battery_monitor_startup,
+               utc_battery_monitor_cleanup
+       },
+       {
+               "utc_battery_monitor_get_total_usage_by_app_id_p",
+               utc_battery_monitor_get_total_usage_by_app_id_p,
+               utc_battery_monitor_startup,
+               utc_battery_monitor_cleanup
+       },
+       {
+               "utc_battery_monitor_get_total_usage_by_app_id_n",
+               utc_battery_monitor_get_total_usage_by_app_id_n,
+               utc_battery_monitor_startup,
+               utc_battery_monitor_cleanup
+       },
+       {
+               "utc_battery_monitor_get_total_usage_by_resource_id_p",
+               utc_battery_monitor_get_total_usage_by_resource_id_p,
+               utc_battery_monitor_startup,
+               utc_battery_monitor_cleanup
+       },
+       {
+               "utc_battery_monitor_get_total_usage_by_resource_id_n",
+               utc_battery_monitor_get_total_usage_by_resource_id_n,
+               utc_battery_monitor_startup,
+               utc_battery_monitor_cleanup
+       },
+       {
+               NULL,
+               NULL,
+               NULL,
+               NULL
+       }
+};
+
+#endif /* __TCT_BATTERY_MONITOR_NATIVE_H__ */
diff --git a/src/utc/battery-monitor/tct-battery-monitor-core_tizeniot.h b/src/utc/battery-monitor/tct-battery-monitor-core_tizeniot.h
new file mode 100644 (file)
index 0000000..3760b11
--- /dev/null
@@ -0,0 +1,151 @@
+/*
+ * Copyright (c) 2019 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef __TCT_BATTERY_MONITOR_NATIVE_H__
+#define __TCT_BATTERY_MONITOR_NATIVE_H__
+
+#include "testcase.h"
+#include "tct_common.h"
+
+extern void utc_battery_monitor_startup(void);
+extern void utc_battery_monitor_cleanup(void);
+extern int utc_battery_monitor_create_p(void);
+extern int utc_battery_monitor_create_n(void);
+
+extern void utc_battery_monitor_startup(void);
+extern void utc_battery_monitor_cleanup(void);
+extern int utc_battery_monitor_destroy_p(void);
+extern int utc_battery_monitor_destroy_n(void);
+
+extern void utc_battery_monitor_startup(void);
+extern void utc_battery_monitor_cleanup(void);
+extern int utc_battery_monitor_get_usage_for_resource_id_p(void);
+extern int utc_battery_monitor_get_usage_for_resource_id_n(void);
+
+extern void utc_battery_monitor_startup(void);
+extern void utc_battery_monitor_cleanup(void);
+extern int utc_battery_monitor_get_usage_by_app_id_for_all_resource_id_p(void);
+extern int utc_battery_monitor_get_usage_by_app_id_for_all_resource_id_n(void);
+
+extern void utc_battery_monitor_startup(void);
+extern void utc_battery_monitor_cleanup(void);
+extern int utc_battery_monitor_get_usage_by_app_id_for_resource_id_p(void);
+extern int utc_battery_monitor_get_usage_by_app_id_for_resource_id_n(void);
+
+extern void utc_battery_monitor_startup(void);
+extern void utc_battery_monitor_cleanup(void);
+extern int utc_battery_monitor_get_total_usage_by_app_id_p(void);
+extern int utc_battery_monitor_get_total_usage_by_app_id_n(void);
+
+extern void utc_battery_monitor_startup(void);
+extern void utc_battery_monitor_cleanup(void);
+extern int utc_battery_monitor_get_total_usage_by_resource_id_p(void);
+extern int utc_battery_monitor_get_total_usage_by_resource_id_n(void);
+
+testcase tc_array[] = {
+       {
+               "utc_battery_monitor_create_p",
+               utc_battery_monitor_create_p,
+               utc_battery_monitor_startup,
+               utc_battery_monitor_cleanup
+       },
+       {
+               "utc_battery_monitor_create_n",
+               utc_battery_monitor_create_n,
+               utc_battery_monitor_startup,
+               utc_battery_monitor_cleanup
+       },
+       {
+               "utc_battery_monitor_destroy_p",
+               utc_battery_monitor_destroy_p,
+               utc_battery_monitor_startup,
+               utc_battery_monitor_cleanup
+       },
+       {
+               "utc_battery_monitor_destroy_n",
+               utc_battery_monitor_destroy_n,
+               utc_battery_monitor_startup,
+               utc_battery_monitor_cleanup
+       },
+       {
+               "utc_battery_monitor_get_usage_for_resource_id_p",
+               utc_battery_monitor_get_usage_for_resource_id_p,
+               utc_battery_monitor_startup,
+               utc_battery_monitor_cleanup
+       },
+       {
+               "utc_battery_monitor_get_usage_for_resource_id_n",
+               utc_battery_monitor_get_usage_for_resource_id_n,
+               utc_battery_monitor_startup,
+               utc_battery_monitor_cleanup
+       },
+       {
+               "utc_battery_monitor_get_usage_by_app_id_for_all_resource_id_p",
+               utc_battery_monitor_get_usage_by_app_id_for_all_resource_id_p,
+               utc_battery_monitor_startup,
+               utc_battery_monitor_cleanup
+       },
+       {
+               "utc_battery_monitor_get_usage_by_app_id_for_all_resource_id_n",
+               utc_battery_monitor_get_usage_by_app_id_for_all_resource_id_n,
+               utc_battery_monitor_startup,
+               utc_battery_monitor_cleanup
+       },
+       {
+               "utc_battery_monitor_get_usage_by_app_id_for_resource_id_p",
+               utc_battery_monitor_get_usage_by_app_id_for_resource_id_p,
+               utc_battery_monitor_startup,
+               utc_battery_monitor_cleanup
+       },
+       {
+               "utc_battery_monitor_get_usage_by_app_id_for_resource_id_n",
+               utc_battery_monitor_get_usage_by_app_id_for_resource_id_n,
+               utc_battery_monitor_startup,
+               utc_battery_monitor_cleanup
+       },
+       {
+               "utc_battery_monitor_get_total_usage_by_app_id_p",
+               utc_battery_monitor_get_total_usage_by_app_id_p,
+               utc_battery_monitor_startup,
+               utc_battery_monitor_cleanup
+       },
+       {
+               "utc_battery_monitor_get_total_usage_by_app_id_n",
+               utc_battery_monitor_get_total_usage_by_app_id_n,
+               utc_battery_monitor_startup,
+               utc_battery_monitor_cleanup
+       },
+       {
+               "utc_battery_monitor_get_total_usage_by_resource_id_p",
+               utc_battery_monitor_get_total_usage_by_resource_id_p,
+               utc_battery_monitor_startup,
+               utc_battery_monitor_cleanup
+       },
+       {
+               "utc_battery_monitor_get_total_usage_by_resource_id_n",
+               utc_battery_monitor_get_total_usage_by_resource_id_n,
+               utc_battery_monitor_startup,
+               utc_battery_monitor_cleanup
+       },
+       {
+               NULL,
+               NULL,
+               NULL,
+               NULL
+       }
+};
+
+#endif /* __TCT_BATTERY_MONITOR_NATIVE_H__ */
diff --git a/src/utc/battery-monitor/tct-battery-monitor-core_wearable.h b/src/utc/battery-monitor/tct-battery-monitor-core_wearable.h
new file mode 100644 (file)
index 0000000..3760b11
--- /dev/null
@@ -0,0 +1,151 @@
+/*
+ * Copyright (c) 2019 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef __TCT_BATTERY_MONITOR_NATIVE_H__
+#define __TCT_BATTERY_MONITOR_NATIVE_H__
+
+#include "testcase.h"
+#include "tct_common.h"
+
+extern void utc_battery_monitor_startup(void);
+extern void utc_battery_monitor_cleanup(void);
+extern int utc_battery_monitor_create_p(void);
+extern int utc_battery_monitor_create_n(void);
+
+extern void utc_battery_monitor_startup(void);
+extern void utc_battery_monitor_cleanup(void);
+extern int utc_battery_monitor_destroy_p(void);
+extern int utc_battery_monitor_destroy_n(void);
+
+extern void utc_battery_monitor_startup(void);
+extern void utc_battery_monitor_cleanup(void);
+extern int utc_battery_monitor_get_usage_for_resource_id_p(void);
+extern int utc_battery_monitor_get_usage_for_resource_id_n(void);
+
+extern void utc_battery_monitor_startup(void);
+extern void utc_battery_monitor_cleanup(void);
+extern int utc_battery_monitor_get_usage_by_app_id_for_all_resource_id_p(void);
+extern int utc_battery_monitor_get_usage_by_app_id_for_all_resource_id_n(void);
+
+extern void utc_battery_monitor_startup(void);
+extern void utc_battery_monitor_cleanup(void);
+extern int utc_battery_monitor_get_usage_by_app_id_for_resource_id_p(void);
+extern int utc_battery_monitor_get_usage_by_app_id_for_resource_id_n(void);
+
+extern void utc_battery_monitor_startup(void);
+extern void utc_battery_monitor_cleanup(void);
+extern int utc_battery_monitor_get_total_usage_by_app_id_p(void);
+extern int utc_battery_monitor_get_total_usage_by_app_id_n(void);
+
+extern void utc_battery_monitor_startup(void);
+extern void utc_battery_monitor_cleanup(void);
+extern int utc_battery_monitor_get_total_usage_by_resource_id_p(void);
+extern int utc_battery_monitor_get_total_usage_by_resource_id_n(void);
+
+testcase tc_array[] = {
+       {
+               "utc_battery_monitor_create_p",
+               utc_battery_monitor_create_p,
+               utc_battery_monitor_startup,
+               utc_battery_monitor_cleanup
+       },
+       {
+               "utc_battery_monitor_create_n",
+               utc_battery_monitor_create_n,
+               utc_battery_monitor_startup,
+               utc_battery_monitor_cleanup
+       },
+       {
+               "utc_battery_monitor_destroy_p",
+               utc_battery_monitor_destroy_p,
+               utc_battery_monitor_startup,
+               utc_battery_monitor_cleanup
+       },
+       {
+               "utc_battery_monitor_destroy_n",
+               utc_battery_monitor_destroy_n,
+               utc_battery_monitor_startup,
+               utc_battery_monitor_cleanup
+       },
+       {
+               "utc_battery_monitor_get_usage_for_resource_id_p",
+               utc_battery_monitor_get_usage_for_resource_id_p,
+               utc_battery_monitor_startup,
+               utc_battery_monitor_cleanup
+       },
+       {
+               "utc_battery_monitor_get_usage_for_resource_id_n",
+               utc_battery_monitor_get_usage_for_resource_id_n,
+               utc_battery_monitor_startup,
+               utc_battery_monitor_cleanup
+       },
+       {
+               "utc_battery_monitor_get_usage_by_app_id_for_all_resource_id_p",
+               utc_battery_monitor_get_usage_by_app_id_for_all_resource_id_p,
+               utc_battery_monitor_startup,
+               utc_battery_monitor_cleanup
+       },
+       {
+               "utc_battery_monitor_get_usage_by_app_id_for_all_resource_id_n",
+               utc_battery_monitor_get_usage_by_app_id_for_all_resource_id_n,
+               utc_battery_monitor_startup,
+               utc_battery_monitor_cleanup
+       },
+       {
+               "utc_battery_monitor_get_usage_by_app_id_for_resource_id_p",
+               utc_battery_monitor_get_usage_by_app_id_for_resource_id_p,
+               utc_battery_monitor_startup,
+               utc_battery_monitor_cleanup
+       },
+       {
+               "utc_battery_monitor_get_usage_by_app_id_for_resource_id_n",
+               utc_battery_monitor_get_usage_by_app_id_for_resource_id_n,
+               utc_battery_monitor_startup,
+               utc_battery_monitor_cleanup
+       },
+       {
+               "utc_battery_monitor_get_total_usage_by_app_id_p",
+               utc_battery_monitor_get_total_usage_by_app_id_p,
+               utc_battery_monitor_startup,
+               utc_battery_monitor_cleanup
+       },
+       {
+               "utc_battery_monitor_get_total_usage_by_app_id_n",
+               utc_battery_monitor_get_total_usage_by_app_id_n,
+               utc_battery_monitor_startup,
+               utc_battery_monitor_cleanup
+       },
+       {
+               "utc_battery_monitor_get_total_usage_by_resource_id_p",
+               utc_battery_monitor_get_total_usage_by_resource_id_p,
+               utc_battery_monitor_startup,
+               utc_battery_monitor_cleanup
+       },
+       {
+               "utc_battery_monitor_get_total_usage_by_resource_id_n",
+               utc_battery_monitor_get_total_usage_by_resource_id_n,
+               utc_battery_monitor_startup,
+               utc_battery_monitor_cleanup
+       },
+       {
+               NULL,
+               NULL,
+               NULL,
+               NULL
+       }
+};
+
+#endif /* __TCT_BATTERY_MONITOR_NATIVE_H__ */
diff --git a/src/utc/battery-monitor/utc-battery-monitor.c b/src/utc/battery-monitor/utc-battery-monitor.c
new file mode 100644 (file)
index 0000000..20168db
--- /dev/null
@@ -0,0 +1,437 @@
+/*
+ * Copyright (c) 2019 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ *
+ */
+
+#define _GNU_SOURCE
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <glib.h>
+#include <dlog.h>
+#include <system_info.h>
+#include "battery_monitor.h"
+
+#include "assert.h"
+#include "tct_app_common.h"
+
+#ifdef LOG_TAG
+#undef LOG_TAG
+#endif
+
+#define LOG_TAG "NativeTCT"
+
+#define BATTERY_FEATURE                                "http://tizen.org/feature/battery"
+#define BATTERY_MONITOR_RESOURCE_ID_MAX                (BATTERY_MONITOR_RESOURCE_ID_HRM_SENSOR + 1)
+#define BATTERY_MONITOR_DURATION_TYPE_MAX      (BATTERY_MONITOR_DURATION_TYPE_1WEEK + 1)
+
+#define TEST_APP_ID "org.tizen.battery-monitor-native-utc"
+
+static battery_monitor_h data_handle;
+static bool is_battery_supported = false;
+static int battery_usage = -1;
+
+/**
+ * @function           utc_battery_monitor_startup
+ * @description                Called before each test
+ * @parameter          NA
+ * @return             NA
+ */
+void utc_battery_monitor_startup(void)
+{
+       system_info_get_platform_bool(BATTERY_FEATURE, &is_battery_supported);
+       data_handle = NULL;
+       battery_usage = -1;
+
+       return;
+}
+
+/**
+ * @function           utc_battery_monitor_cleanup
+ * @description                Called after each test
+ * @parameter          NA
+ * @return             NA
+ */
+void utc_battery_monitor_cleanup(void)
+{
+       int error_code = 0;
+
+       if (data_handle != NULL) {
+               error_code = battery_monitor_destroy(data_handle);
+
+               if (error_code != BATTERY_MONITOR_ERROR_NONE)
+                       dlog_print(DLOG_ERROR, LOG_TAG, "Failed to delete handle cleanup");
+
+               data_handle = NULL;
+       }
+
+       return;
+}
+
+/**
+ * @testcase           utc_battery_monitor_create_p
+ * @since_tizen                5.5
+ * @description                Positive test case of battery_monitor_create()
+ */
+int utc_battery_monitor_create_p(void)
+{
+       int error_code = 0;
+
+       error_code = battery_monitor_create(&data_handle);
+
+       if (!is_battery_supported)
+               assert_eq(error_code, BATTERY_MONITOR_ERROR_NOT_SUPPORTED);
+       else
+               assert_eq(error_code, BATTERY_MONITOR_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_battery_monitor_create_n
+ * @since_tizen                5.5
+ * @description                Negative test case of battery_monitor_create()
+ */
+int utc_battery_monitor_create_n(void)
+{
+       int error_code = 0;
+
+       error_code = battery_monitor_create(NULL);
+
+       if (!is_battery_supported)
+               assert_eq(error_code, BATTERY_MONITOR_ERROR_NOT_SUPPORTED);
+       else
+               assert_eq(error_code, BATTERY_MONITOR_ERROR_INVALID_PARAMETER);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_battery_monitor_destroy_p
+ * @since_tizen                5.5
+ * @description                Positive test case of battery_monitor_destroy()
+ */
+int utc_battery_monitor_destroy_p(void)
+{
+       int error_code = 0;
+
+       error_code = battery_monitor_create(&data_handle);
+       if (!is_battery_supported)
+               assert_eq(error_code, BATTERY_MONITOR_ERROR_NOT_SUPPORTED);
+       else
+               assert_eq(error_code, BATTERY_MONITOR_ERROR_NONE);
+
+       error_code = battery_monitor_destroy(data_handle);
+       if (!is_battery_supported)
+               assert_eq(error_code, BATTERY_MONITOR_ERROR_NOT_SUPPORTED);
+       else
+               assert_eq(error_code, BATTERY_MONITOR_ERROR_NONE);
+
+       data_handle = NULL;
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_battery_monitor_destroy_n
+ * @since_tizen                5.5
+ * @description                Negative test case of battery_monitor_destroy()
+ */
+int utc_battery_monitor_destroy_n(void)
+{
+       int error_code = 0;
+
+       error_code = battery_monitor_destroy(NULL);
+       if (!is_battery_supported)
+               assert_eq(error_code, BATTERY_MONITOR_ERROR_NOT_SUPPORTED);
+       else
+               assert_eq(error_code, BATTERY_MONITOR_ERROR_INVALID_PARAMETER);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_battery_monitor_get_usage_for_resource_id_n
+ * @since_tizen                5.5
+ * @description                Negative test case of battery_monitor_get_usage_for_resource_id()
+ */
+int utc_battery_monitor_get_usage_for_resource_id_n(void)
+{
+       int error_code = 0;
+       int battery_usage = 0;
+
+       error_code = battery_monitor_create(&data_handle);
+       if (!is_battery_supported)
+               assert_eq(error_code, BATTERY_MONITOR_ERROR_NOT_SUPPORTED);
+       else
+               assert_eq(error_code, BATTERY_MONITOR_ERROR_NONE);
+
+       error_code = battery_monitor_get_usage_for_resource_id(NULL, BATTERY_MONITOR_RESOURCE_ID_CPU, &battery_usage);
+       if (!is_battery_supported)
+               assert_eq(error_code, BATTERY_MONITOR_ERROR_NOT_SUPPORTED);
+       else
+               assert_eq(error_code, BATTERY_MONITOR_ERROR_INVALID_PARAMETER);
+
+       error_code = battery_monitor_get_usage_for_resource_id(data_handle, BATTERY_MONITOR_RESOURCE_ID_CPU, NULL);
+       if (!is_battery_supported)
+               assert_eq(error_code, BATTERY_MONITOR_ERROR_NOT_SUPPORTED);
+       else
+               assert_eq(error_code, BATTERY_MONITOR_ERROR_INVALID_PARAMETER);
+
+       error_code = battery_monitor_get_usage_for_resource_id(data_handle, BATTERY_MONITOR_RESOURCE_ID_MAX, &battery_usage);
+       if (!is_battery_supported)
+               assert_eq(error_code, BATTERY_MONITOR_ERROR_NOT_SUPPORTED);
+       else
+               assert_eq(error_code, BATTERY_MONITOR_ERROR_INVALID_PARAMETER);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_battery_monitor_get_usage_for_resource_id_p
+ * @since_tizen                5.5
+ * @description                Positive test case of battery_monitor_get_usage_for_resource_id()
+ */
+int utc_battery_monitor_get_usage_for_resource_id_p(void)
+{
+       int error_code = 0;
+       int battery_usage = 0;
+
+       error_code = battery_monitor_create(&data_handle);
+       if (!is_battery_supported)
+               assert_eq(error_code, BATTERY_MONITOR_ERROR_NOT_SUPPORTED);
+       else
+               assert_eq(error_code, BATTERY_MONITOR_ERROR_NONE);
+
+       error_code = battery_monitor_get_usage_for_resource_id(data_handle, BATTERY_MONITOR_RESOURCE_ID_CPU, &battery_usage);
+       if (!is_battery_supported)
+               assert_eq(error_code, BATTERY_MONITOR_ERROR_NOT_SUPPORTED);
+       else
+               assert_eq(error_code, BATTERY_MONITOR_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_battery_monitor_get_usage_by_app_id_for_all_resource_id_p
+ * @since_tizen                5.5
+ * @description                Positive test case of battery_monitor_get_usage_by_app_id_for_all_resource_id()
+ */
+int utc_battery_monitor_get_usage_by_app_id_for_all_resource_id_p(void)
+{
+       int error_code = 0;
+
+       error_code = battery_monitor_get_usage_by_app_id_for_all_resource_id(TEST_APP_ID, BATTERY_MONITOR_DURATION_TYPE_1DAY, &data_handle);
+       if (!is_battery_supported)
+               assert_eq(error_code, BATTERY_MONITOR_ERROR_NOT_SUPPORTED);
+       else
+               assert_eq(error_code, BATTERY_MONITOR_ERROR_NONE);
+
+       error_code = battery_monitor_get_usage_by_app_id_for_all_resource_id(TEST_APP_ID, BATTERY_MONITOR_DURATION_TYPE_1WEEK, &data_handle);
+       if (!is_battery_supported)
+               assert_eq(error_code, BATTERY_MONITOR_ERROR_NOT_SUPPORTED);
+       else
+               assert_eq(error_code, BATTERY_MONITOR_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_battery_monitor_get_usage_by_app_id_for_all_resource_id_n
+ * @since_tizen                5.5
+ * @description                Negative test case of battery_monitor_get_usage_by_app_id_for_all_resource_id()
+ */
+int utc_battery_monitor_get_usage_by_app_id_for_all_resource_id_n(void)
+{
+       int error_code = 0;
+
+       error_code = battery_monitor_get_usage_by_app_id_for_all_resource_id(TEST_APP_ID, BATTERY_MONITOR_DURATION_TYPE_1DAY, NULL);
+       if (!is_battery_supported)
+               assert_eq(error_code, BATTERY_MONITOR_ERROR_NOT_SUPPORTED);
+       else
+               assert_eq(error_code, BATTERY_MONITOR_ERROR_INVALID_PARAMETER);
+
+       error_code = battery_monitor_get_usage_by_app_id_for_all_resource_id(NULL, BATTERY_MONITOR_DURATION_TYPE_1DAY, &data_handle);
+       if (!is_battery_supported)
+               assert_eq(error_code, BATTERY_MONITOR_ERROR_NOT_SUPPORTED);
+       else
+               assert_eq(error_code, BATTERY_MONITOR_ERROR_INVALID_PARAMETER);
+
+       error_code = battery_monitor_get_usage_by_app_id_for_all_resource_id(TEST_APP_ID, BATTERY_MONITOR_DURATION_TYPE_MAX, &data_handle);
+       if (!is_battery_supported)
+               assert_eq(error_code, BATTERY_MONITOR_ERROR_NOT_SUPPORTED);
+       else
+               assert_eq(error_code, BATTERY_MONITOR_ERROR_INVALID_PARAMETER);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_battery_monitor_get_usage_by_app_id_for_resource_id_p
+ * @since_tizen                5.5
+ * @description                Positive test case of battery_monitor_get_usage_by_app_id_for_resource_id()
+ */
+int utc_battery_monitor_get_usage_by_app_id_for_resource_id_p(void)
+{
+       int error_code = 0;
+
+       error_code = battery_monitor_get_usage_by_app_id_for_resource_id(TEST_APP_ID, BATTERY_MONITOR_RESOURCE_ID_CPU, BATTERY_MONITOR_DURATION_TYPE_1DAY, &battery_usage);
+       if (!is_battery_supported)
+               assert_eq(error_code, BATTERY_MONITOR_ERROR_NOT_SUPPORTED);
+       else
+               assert_eq(error_code, BATTERY_MONITOR_ERROR_NONE);
+
+       error_code = battery_monitor_get_usage_by_app_id_for_resource_id(TEST_APP_ID, BATTERY_MONITOR_RESOURCE_ID_CPU, BATTERY_MONITOR_DURATION_TYPE_1WEEK, &battery_usage);
+       if (!is_battery_supported)
+               assert_eq(error_code, BATTERY_MONITOR_ERROR_NOT_SUPPORTED);
+       else
+               assert_eq(error_code, BATTERY_MONITOR_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_battery_monitor_get_usage_by_app_id_for_resource_id_n
+ * @since_tizen                5.5
+ * @description                Negative test case of battery_monitor_get_usage_by_app_id_for_resource_id()
+ */
+int utc_battery_monitor_get_usage_by_app_id_for_resource_id_n(void)
+{
+       int error_code = 0;
+
+       error_code = battery_monitor_get_usage_by_app_id_for_resource_id(TEST_APP_ID, BATTERY_MONITOR_RESOURCE_ID_CPU, BATTERY_MONITOR_DURATION_TYPE_1DAY, NULL);
+       if (!is_battery_supported)
+               assert_eq(error_code, BATTERY_MONITOR_ERROR_NOT_SUPPORTED);
+       else
+               assert_eq(error_code, BATTERY_MONITOR_ERROR_INVALID_PARAMETER);
+
+       error_code = battery_monitor_get_usage_by_app_id_for_resource_id(NULL, BATTERY_MONITOR_RESOURCE_ID_CPU, BATTERY_MONITOR_DURATION_TYPE_1DAY, &battery_usage);
+       if (!is_battery_supported)
+               assert_eq(error_code, BATTERY_MONITOR_ERROR_NOT_SUPPORTED);
+       else
+               assert_eq(error_code, BATTERY_MONITOR_ERROR_INVALID_PARAMETER);
+
+       error_code = battery_monitor_get_usage_by_app_id_for_resource_id(TEST_APP_ID, BATTERY_MONITOR_RESOURCE_ID_CPU, BATTERY_MONITOR_DURATION_TYPE_MAX, &battery_usage);
+       if (!is_battery_supported)
+               assert_eq(error_code, BATTERY_MONITOR_ERROR_NOT_SUPPORTED);
+       else
+               assert_eq(error_code, BATTERY_MONITOR_ERROR_INVALID_PARAMETER);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_battery_monitor_get_total_usage_by_app_id_p
+ * @since_tizen                5.5
+ * @description                Positive test case of battery_monitor_get_total_usage_by_app_id()
+ */
+int utc_battery_monitor_get_total_usage_by_app_id_p(void)
+{
+       int error_code = 0;
+
+       error_code = battery_monitor_get_total_usage_by_app_id(TEST_APP_ID, BATTERY_MONITOR_DURATION_TYPE_1DAY, &battery_usage);
+       if (!is_battery_supported)
+               assert_eq(error_code, BATTERY_MONITOR_ERROR_NOT_SUPPORTED);
+       else
+               assert_eq(error_code, BATTERY_MONITOR_ERROR_NONE);
+
+       error_code = battery_monitor_get_total_usage_by_app_id(TEST_APP_ID, BATTERY_MONITOR_DURATION_TYPE_1WEEK, &battery_usage);
+       if (!is_battery_supported)
+               assert_eq(error_code, BATTERY_MONITOR_ERROR_NOT_SUPPORTED);
+       else
+               assert_eq(error_code, BATTERY_MONITOR_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_battery_monitor_get_total_usage_by_app_id_n
+ * @since_tizen                5.5
+ * @description                Negative test case of battery_monitor_get_total_usage_by_app_id()
+ */
+int utc_battery_monitor_get_total_usage_by_app_id_n(void)
+{
+       int error_code = 0;
+
+       error_code = battery_monitor_get_total_usage_by_app_id(TEST_APP_ID, BATTERY_MONITOR_DURATION_TYPE_1DAY, NULL);
+       if (!is_battery_supported)
+               assert_eq(error_code, BATTERY_MONITOR_ERROR_NOT_SUPPORTED);
+       else
+               assert_eq(error_code, BATTERY_MONITOR_ERROR_INVALID_PARAMETER);
+
+       error_code = battery_monitor_get_total_usage_by_app_id(NULL, BATTERY_MONITOR_DURATION_TYPE_1DAY, &battery_usage);
+       if (!is_battery_supported)
+               assert_eq(error_code, BATTERY_MONITOR_ERROR_NOT_SUPPORTED);
+       else
+               assert_eq(error_code, BATTERY_MONITOR_ERROR_INVALID_PARAMETER);
+
+       error_code = battery_monitor_get_total_usage_by_app_id(TEST_APP_ID, BATTERY_MONITOR_DURATION_TYPE_MAX, &battery_usage);
+       if (!is_battery_supported)
+               assert_eq(error_code, BATTERY_MONITOR_ERROR_NOT_SUPPORTED);
+       else
+               assert_eq(error_code, BATTERY_MONITOR_ERROR_INVALID_PARAMETER);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_battery_monitor_get_total_usage_by_resource_id_p
+ * @since_tizen                5.5
+ * @description                Positive test case of battery_monitor_get_total_usage_by_resource_id()
+ */
+int utc_battery_monitor_get_total_usage_by_resource_id_p(void)
+{
+       int error_code = 0;
+       int resource_id = BATTERY_MONITOR_RESOURCE_ID_CPU;
+
+       error_code = battery_monitor_get_total_usage_by_resource_id(resource_id, BATTERY_MONITOR_DURATION_TYPE_1DAY, &battery_usage);
+       if (!is_battery_supported)
+               assert_eq(error_code, BATTERY_MONITOR_ERROR_NOT_SUPPORTED);
+       else
+               assert_eq(error_code, BATTERY_MONITOR_ERROR_NONE);
+
+       error_code = battery_monitor_get_total_usage_by_resource_id(resource_id, BATTERY_MONITOR_DURATION_TYPE_1WEEK, &battery_usage);
+       if (!is_battery_supported)
+               assert_eq(error_code, BATTERY_MONITOR_ERROR_NOT_SUPPORTED);
+       else
+               assert_eq(error_code, BATTERY_MONITOR_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_battery_monitor_get_total_usage_by_resource_id_n
+ * @since_tizen                5.5
+ * @description                Negative test case of battery_monitor_get_total_usage_by_resource_id()
+ */
+int utc_battery_monitor_get_total_usage_by_resource_id_n(void)
+{
+       int error_code = 0;
+       int resource_id = BATTERY_MONITOR_RESOURCE_ID_CPU;
+
+       error_code = battery_monitor_get_total_usage_by_resource_id(resource_id, BATTERY_MONITOR_DURATION_TYPE_1DAY, NULL);
+       if (!is_battery_supported)
+               assert_eq(error_code, BATTERY_MONITOR_ERROR_NOT_SUPPORTED);
+       else
+               assert_eq(error_code, BATTERY_MONITOR_ERROR_INVALID_PARAMETER);
+
+       error_code = battery_monitor_get_total_usage_by_resource_id(resource_id, BATTERY_MONITOR_DURATION_TYPE_MAX, &battery_usage);
+       if (!is_battery_supported)
+               assert_eq(error_code, BATTERY_MONITOR_ERROR_NOT_SUPPORTED);
+       else
+               assert_eq(error_code, BATTERY_MONITOR_ERROR_INVALID_PARAMETER);
+
+       return 0;
+}