[UTC][application][ACR-1310][Add new test cases]
authorHwankyu Jhun <h.jhun@samsung.com>
Tue, 13 Nov 2018 02:18:24 +0000 (11:18 +0900)
committerHwankyu Jhun <h.jhun@samsung.com>
Thu, 6 Dec 2018 04:12:22 +0000 (13:12 +0900)
Change-Id: I8f59ba1af8ebd34c25a50f3ea7663b167ed98296
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
src/utc/application/tct-application-core_mobile.h
src/utc/application/tct-application-core_tizeniot.h
src/utc/application/tct-application-core_wearable.h
src/utc/application/utc_app.c

index 33bde6f7594f1efbac2b007da40c0e727bda7953..ce2ed7d54cfc9f9e291ed9c77a798c9e68e3e58e 100755 (executable)
@@ -25,6 +25,8 @@ extern void utc_application_app_resource_manager_startup(void);
 extern void utc_application_app_resource_manager_cleanup(void);
 extern void utc_application_app_event_startup(void);
 extern void utc_application_app_event_cleanup(void);
+extern void utc_application_app_get_display_state_startup(void);
+extern void utc_application_app_get_display_state_cleanup(void);
 
 extern int utc_application_app_get_name_p(void);
 extern int utc_application_app_get_name_n(void);
@@ -277,6 +279,8 @@ extern int utc_application_app_control_send_launch_request_async_n1(void);
 extern int utc_application_app_control_send_launch_request_async_n2(void);
 extern int utc_application_app_control_send_launch_request_async_n3(void);
 extern int utc_application_app_control_send_launch_request_async_n4(void);
+extern int utc_application_app_get_display_state_p(void);
+extern int utc_application_app_get_display_state_n(void);
 
 testcase tc_array[] = {
        {"utc_application_app_get_name_p",utc_application_app_get_name_p,NULL,NULL},
@@ -308,6 +312,8 @@ testcase tc_array[] = {
        {"utc_application_ui_app_remove_event_handler_p",utc_application_ui_app_remove_event_handler_p,NULL,NULL},
        {"utc_application_ui_app_remove_event_handler_n",utc_application_ui_app_remove_event_handler_n,NULL,NULL},
        {"utc_application_ui_app_exit_p",utc_application_ui_app_exit_p,NULL,NULL},
+       {"utc_application_app_get_display_state_p",utc_application_app_get_display_state_p,utc_application_app_get_display_state_startup,utc_application_app_get_display_state_cleanup},
+       {"utc_application_app_get_display_state_n",utc_application_app_get_display_state_n,NULL,NULL},
        {"utc_application_i18n_get_text_p",utc_application_i18n_get_text_p,NULL,NULL},
        {"utc_application_i18n_get_text_n1",utc_application_i18n_get_text_n1,NULL,NULL},
        {"utc_application_i18n_get_text_n2",utc_application_i18n_get_text_n2,NULL,NULL},
index 33bde6f7594f1efbac2b007da40c0e727bda7953..ce2ed7d54cfc9f9e291ed9c77a798c9e68e3e58e 100755 (executable)
@@ -25,6 +25,8 @@ extern void utc_application_app_resource_manager_startup(void);
 extern void utc_application_app_resource_manager_cleanup(void);
 extern void utc_application_app_event_startup(void);
 extern void utc_application_app_event_cleanup(void);
+extern void utc_application_app_get_display_state_startup(void);
+extern void utc_application_app_get_display_state_cleanup(void);
 
 extern int utc_application_app_get_name_p(void);
 extern int utc_application_app_get_name_n(void);
@@ -277,6 +279,8 @@ extern int utc_application_app_control_send_launch_request_async_n1(void);
 extern int utc_application_app_control_send_launch_request_async_n2(void);
 extern int utc_application_app_control_send_launch_request_async_n3(void);
 extern int utc_application_app_control_send_launch_request_async_n4(void);
+extern int utc_application_app_get_display_state_p(void);
+extern int utc_application_app_get_display_state_n(void);
 
 testcase tc_array[] = {
        {"utc_application_app_get_name_p",utc_application_app_get_name_p,NULL,NULL},
@@ -308,6 +312,8 @@ testcase tc_array[] = {
        {"utc_application_ui_app_remove_event_handler_p",utc_application_ui_app_remove_event_handler_p,NULL,NULL},
        {"utc_application_ui_app_remove_event_handler_n",utc_application_ui_app_remove_event_handler_n,NULL,NULL},
        {"utc_application_ui_app_exit_p",utc_application_ui_app_exit_p,NULL,NULL},
+       {"utc_application_app_get_display_state_p",utc_application_app_get_display_state_p,utc_application_app_get_display_state_startup,utc_application_app_get_display_state_cleanup},
+       {"utc_application_app_get_display_state_n",utc_application_app_get_display_state_n,NULL,NULL},
        {"utc_application_i18n_get_text_p",utc_application_i18n_get_text_p,NULL,NULL},
        {"utc_application_i18n_get_text_n1",utc_application_i18n_get_text_n1,NULL,NULL},
        {"utc_application_i18n_get_text_n2",utc_application_i18n_get_text_n2,NULL,NULL},
index 33bde6f7594f1efbac2b007da40c0e727bda7953..ce2ed7d54cfc9f9e291ed9c77a798c9e68e3e58e 100755 (executable)
@@ -25,6 +25,8 @@ extern void utc_application_app_resource_manager_startup(void);
 extern void utc_application_app_resource_manager_cleanup(void);
 extern void utc_application_app_event_startup(void);
 extern void utc_application_app_event_cleanup(void);
+extern void utc_application_app_get_display_state_startup(void);
+extern void utc_application_app_get_display_state_cleanup(void);
 
 extern int utc_application_app_get_name_p(void);
 extern int utc_application_app_get_name_n(void);
@@ -277,6 +279,8 @@ extern int utc_application_app_control_send_launch_request_async_n1(void);
 extern int utc_application_app_control_send_launch_request_async_n2(void);
 extern int utc_application_app_control_send_launch_request_async_n3(void);
 extern int utc_application_app_control_send_launch_request_async_n4(void);
+extern int utc_application_app_get_display_state_p(void);
+extern int utc_application_app_get_display_state_n(void);
 
 testcase tc_array[] = {
        {"utc_application_app_get_name_p",utc_application_app_get_name_p,NULL,NULL},
@@ -308,6 +312,8 @@ testcase tc_array[] = {
        {"utc_application_ui_app_remove_event_handler_p",utc_application_ui_app_remove_event_handler_p,NULL,NULL},
        {"utc_application_ui_app_remove_event_handler_n",utc_application_ui_app_remove_event_handler_n,NULL,NULL},
        {"utc_application_ui_app_exit_p",utc_application_ui_app_exit_p,NULL,NULL},
+       {"utc_application_app_get_display_state_p",utc_application_app_get_display_state_p,utc_application_app_get_display_state_startup,utc_application_app_get_display_state_cleanup},
+       {"utc_application_app_get_display_state_n",utc_application_app_get_display_state_n,NULL,NULL},
        {"utc_application_i18n_get_text_p",utc_application_i18n_get_text_p,NULL,NULL},
        {"utc_application_i18n_get_text_n1",utc_application_i18n_get_text_n1,NULL,NULL},
        {"utc_application_i18n_get_text_n2",utc_application_i18n_get_text_n2,NULL,NULL},
index 0179acd96ecb018bd3609cdaf55e539a3c13a732..5682f02e39d79e6dbc541c37847ad2cd40f05689 100755 (executable)
 // See the License for the specific language governing permissions and
 // limitations under the License.
 //
+
+#include <stdio.h>
+#include <string.h>
+#include <glib.h>
+#include <dlog.h>
+#include <app.h>
+#include <app_manager.h>
+#include <system_info.h>
+
 #include "assert.h"
 #include "assert_common.h"
-#include <app.h>
-#include <glib.h>
-#include <string.h>
+
+#ifdef LOG_TAG
+#undef LOG_TAG
+#endif
+#define LOG_TAG "NativeTCT"
+
+typedef struct app_context_s {
+       char *id;
+       app_info_app_component_type_e comp_type;
+} app_context;
+
+static app_context __context;
 
 //& set: ApplicationMain
 
@@ -664,3 +682,140 @@ int utc_application_ui_app_exit_p(void)
 
        return 0;
 }
+
+void utc_application_app_get_display_state_startup(void)
+{
+       app_info_h app_info = NULL;
+       int ret;
+
+       dlog_print(DLOG_INFO, LOG_TAG, "%s", __FUNCTION__);
+       ret = app_get_id(&__context.id);
+       if (ret != APP_ERROR_NONE) {
+               dlog_print(DLOG_ERROR, LOG_TAG, "Failed to get id");
+               return;
+       }
+
+       ret = app_info_create(__context.id, &app_info);
+       if (ret != APP_MANAGER_ERROR_NONE) {
+               dlog_print(DLOG_ERROR, LOG_TAG, "Failed to create app info");
+               return;
+       }
+
+       ret = app_info_get_app_component_type(app_info, &__context.comp_type);
+       if (ret != APP_MANAGER_ERROR_NONE) {
+               dlog_print(DLOG_ERROR, LOG_TAG,
+                               "Failed to get app component type");
+               app_info_destroy(app_info);
+               return;
+       }
+
+       app_info_destroy(app_info);
+}
+
+void utc_application_app_get_display_state_cleanup(void)
+{
+       dlog_print(DLOG_INFO, LOG_TAG, "%s", __FUNCTION__);
+       if (__context.id) {
+               free(__context.id);
+               __context.id = NULL;
+       }
+}
+
+/**
+ * @testcase           utc_application_app_get_display_state_p
+ * @since_tizen                5.5
+ * @type               Positive
+ * @description                Gets the display state
+ * @scenario            Calls the app_get_display_state(). And then,
+ *                      Checks the return value.
+ *                      If the running application is service-application,
+ *                      the return value is "APP_ERROR_INVALID_CONTEXT".
+ *                      If the feature is not supported, the function
+ *                      returns "APP_ERROR_NOT_SUPPORTED".
+ */
+int utc_application_app_get_display_state_p(void)
+{
+       app_display_state_e state = -1;
+       bool feature = false;
+       int ret;
+
+       ret = system_info_get_platform_bool(
+                       "http://tizen.org/feature/display.state",
+                       &feature);
+       if (ret != SYSTEM_INFO_ERROR_NONE) {
+               dlog_print(DLOG_ERROR, LOG_TAG,
+                               "Failed to get platform feature");
+               normal_exit(1);
+               return -1;
+       }
+
+       ret = app_get_display_state(&state);
+       if (ret != APP_ERROR_NONE) {
+               if (ret == APP_ERROR_NOT_SUPPORTED && !feature) {
+                       dlog_print(DLOG_INFO, LOG_TAG,
+                                       "display state is not supported");
+                       normal_exit(0);
+                       return 0;
+               }
+
+               if (__context.comp_type == APP_INFO_APP_COMPONENT_TYPE_SERVICE_APP &&
+                               ret == APP_ERROR_INVALID_CONTEXT) {
+                       dlog_print(DLOG_INFO, LOG_TAG,
+                                       "This is service-application");
+                       normal_exit(0);
+                       return 0;
+               }
+
+               /**
+                * @remarks Currently, this test application doesn't draw any windows.
+                * So, the app_get_display_state() returns APP_ERROR_INVALID_CONTEXT.
+                * The function returns APP_ERROR_NONE with proper display state while
+                * the running application is resumed or paused.
+                */
+               if (ret == APP_ERROR_INVALID_CONTEXT) {
+                       normal_exit(0);
+                       return 0;
+               }
+
+               dlog_print(DLOG_ERROR, LOG_TAG, "Failed to get display state");
+               normal_exit(1);
+               return -1;
+       }
+
+       if (state != APP_DISPLAY_STATE_ON &&
+                       state == APP_DISPLAY_STATE_OFF) {
+               dlog_print(DLOG_ERROR, LOG_TAG, "Unknown state");
+               normal_exit(1);
+               return -1;
+       }
+
+       normal_exit(0);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_application_app_get_display_state_n
+ * @since_tizen                5.5
+ * @type               Negative
+ * @description                Gets the display state
+ * @scenario            Calls the app_get_display_state(). And then,
+ *                      Checks the return value.
+ *                      The value should be "APP_ERROR_INVALID_PARAMETER".
+ */
+int utc_application_app_get_display_state_n(void)
+{
+       int ret;
+
+       ret = app_get_display_state(NULL);
+       if (ret != APP_ERROR_INVALID_PARAMETER) {
+               dlog_print(DLOG_ERROR, LOG_TAG,
+                               "The result is not invalid parameter");
+               normal_exit(1);
+               return -1;
+       }
+
+       normal_exit(0);
+
+       return 0;
+}