[UTC][capi-media-controller][ACR-1561][Modified TCs for checking new result code... 47/236747/3
authorjiyong.min <jiyong.min@samsung.com>
Mon, 22 Jun 2020 02:08:57 +0000 (11:08 +0900)
committerjiyong.min <jiyong.min@samsung.com>
Mon, 22 Jun 2020 03:45:14 +0000 (12:45 +0900)
Change-Id: Ifab0b92dd417ae5d13b6424b625307c45c51a942

src/utc/media-controller/utc-media-controller-common.c
src/utc/media-controller/utc-media-controller-common.h
src/utc/media-controller/utc-media-controller.c

index 627c8f2591afd849fa96c6e7f561c8a8d2f791f4..af5be0f24d54e3541f9b373abcef605891587915 100755 (executable)
@@ -111,6 +111,16 @@ gboolean _mc_get_display_rotation_ability(unsigned int supported_rotations)
        return TRUE;
 }
 
+void _mc_release_tc_user_data(tc_user_data *user_data)
+{
+       if (!user_data)
+               return;
+
+       g_free(user_data->name);
+       user_data->name = NULL;
+       g_free(user_data->request_id);
+       user_data->request_id = NULL;
+}
 
 //Add foreach callback function declarations here
 bool _mc_activated_server_cb(const char *server_name, void *user_data)
@@ -421,16 +431,11 @@ void _mc_server_event_reply_received_cb(const char *client_name, const char *req
                return;
        }
 
-       if(result_code != g_mc_test_reply_result) {
-               FPRINTF("[%d:%s] wrong event [%d][%d]\\n", __LINE__, __FUNCTION__, result_code, g_mc_test_reply_result);
-               signal_async(FALSE);
-               return;
-       }
-
        if (_user_data != NULL) {
                _user_data->result = TRUE;
                _user_data->name = g_strdup(client_name);
                _user_data->request_id = g_strdup(request_id);
+               _user_data->result_code = result_code;
                if (_user_data->name == NULL || _user_data->request_id == NULL)
                        _user_data->result = FALSE;
        }
@@ -869,6 +874,7 @@ void _mc_client_cmd_reply_received_cb(const char *server_name, const char *reque
                _user_data->result = TRUE;
                _user_data->name = g_strdup(server_name);
                _user_data->request_id = g_strdup(request_id);
+               _user_data->result_code = result_code;
                if (_user_data->name == NULL || _user_data->request_id == NULL)
                        _user_data->result = FALSE;
        }
index d9f6a5ba6baca3222df077756bc9ca48a14ba69b..a5830e7c589f280b6c40d7dcd437e3cc896c6399 100755 (executable)
@@ -33,6 +33,7 @@ typedef struct _tc_user_data {
        char *name;
        char *request_id;
        gboolean result;
+       mc_result_code_e result_code;
 } tc_user_data;
 
 //Add const values here
@@ -83,7 +84,17 @@ static const char *g_mc_test_playlist_metadata[] = {
 
 static const char *g_mc_test_cmd = "test_cmd";
 static const char *g_mc_test_event = "test_event";
-static const int g_mc_test_reply_result = MEDIA_CONTROLLER_ERROR_NONE;
+static const mc_result_code_e g_mc_test_result_code = MC_RESULT_CODE_SUCCESS;
+static const unsigned int g_mc_test_result_codes[] = {
+       MC_RESULT_CODE_SUCCESS,
+       MC_RESULT_CODE_ALREADY_DONE,
+       MC_RESULT_CODE_ABORTED,
+       MC_RESULT_CODE_TIMEOUT,
+       MC_RESULT_CODE_NETWORK_FAILED,
+       MC_RESULT_CODE_NO_ACCOUNT,
+       MC_RESULT_CODE_UNKNOWN,
+};
+static const unsigned int g_mc_test_result_codes_cnt = (unsigned int)(sizeof(g_mc_test_result_codes) / sizeof(unsigned int));
 
 static const mc_content_type_e g_mc_test_content_type = MC_CONTENT_TYPE_MUSIC;
 static const mc_content_age_rating_e g_mc_test_age_rating = MC_CONTENT_RATING_18_PLUS;
@@ -143,5 +154,6 @@ void _mc_client_display_rotation_ability_updated_cb(const char *server_name, uns
 gboolean wait_for_async();
 gboolean _mc_get_display_mode_ability(unsigned int supported_modes);
 gboolean _mc_get_display_rotation_ability(unsigned int supported_rotations);
+void _mc_release_tc_user_data(tc_user_data *user_data);
 
 #endif /* _UTC_MEDIA_CONTROLLER_COMMON_H_ */
index 5caeaf1a2d76ee0d48bf59caa23e88a2c00cadd8..9b73d7cbd6f1aea160810a67bf3a807ad32a6c31 100755 (executable)
@@ -402,26 +402,12 @@ void utc_media_controller_cleanup(void)
                free(g_request_id);
                g_request_id = NULL;
        }
-       if (g_mc_custom_data.name) {
-               free(g_mc_custom_data.name);
-               g_mc_custom_data.name = NULL;
-       }
-       if (g_mc_custom_data.request_id) {
-               free(g_mc_custom_data.request_id);
-               g_mc_custom_data.request_id = NULL;
-       }
-       if (g_mc_reply_data.name) {
-               free(g_mc_reply_data.name);
-               g_mc_reply_data.name = NULL;
-       }
-       if (g_mc_reply_data.request_id) {
-               free(g_mc_reply_data.request_id);
-               g_mc_reply_data.request_id = NULL;
-       }
        if (g_mc_search) {
                mc_search_destroy(g_mc_search);
                g_mc_search = NULL;
        }
+       _mc_release_tc_user_data(&g_mc_custom_data);
+       _mc_release_tc_user_data(&g_mc_reply_data);
 
        return;
 }
@@ -2206,6 +2192,7 @@ int utc_mc_server_send_cmd_reply_p(void)
        assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
        int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       unsigned int idx = 0;
 
        ret = mc_server_set_ability_support(g_mc_server, MC_ABILITY_CLIENT_CUSTOM, g_mc_test_ability);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
@@ -2219,21 +2206,30 @@ int utc_mc_server_send_cmd_reply_p(void)
        ret = mc_server_set_custom_cmd_received_cb(g_mc_server, _mc_server_custom_cmd_received_cb, &g_mc_custom_data);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-       ret = mc_client_send_custom_cmd(g_mc_client, g_mc_server_name, g_mc_test_cmd, NULL, &g_request_id);
-       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
-       assert_eq(WAIT_CALLBACK_RESULT, TRUE);
+       for (idx = 0; idx < g_mc_test_result_codes_cnt; idx++) {
+               ret = mc_client_send_custom_cmd(g_mc_client, g_mc_server_name, g_mc_test_cmd, NULL, &g_request_id);
+               assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+               assert_eq(WAIT_CALLBACK_RESULT, TRUE);
 
-       assert_eq(g_mc_custom_data.result, TRUE);
-       assert_eq(strcmp(g_mc_custom_data.name, g_mc_test_appname), 0);
-       assert_eq(strcmp(g_mc_custom_data.request_id, g_request_id), 0);
+               assert_eq(g_mc_custom_data.result, TRUE);
+               assert_eq(strcmp(g_mc_custom_data.name, g_mc_test_appname), 0);
+               assert_eq(strcmp(g_mc_custom_data.request_id, g_request_id), 0);
 
-       ret = mc_server_send_cmd_reply(g_mc_server, g_mc_custom_data.name, g_mc_custom_data.request_id, g_mc_test_reply_result, NULL);
-       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
-       assert_eq(WAIT_CALLBACK_RESULT, TRUE);
+               ret = mc_server_send_cmd_reply(g_mc_server, g_mc_custom_data.name, g_mc_custom_data.request_id, g_mc_test_result_codes[idx], NULL);
+               assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+               assert_eq(WAIT_CALLBACK_RESULT, TRUE);
 
-       assert_eq(g_mc_reply_data.result, TRUE);
-       assert_eq(strcmp(g_mc_reply_data.name, g_mc_test_appname), 0);
-       assert_eq(strcmp(g_mc_reply_data.request_id, g_request_id), 0);
+               assert_eq(g_mc_reply_data.result, TRUE);
+               assert_eq(g_mc_reply_data.result_code, g_mc_test_result_codes[idx]);
+               assert_eq(strcmp(g_mc_reply_data.name, g_mc_test_appname), 0);
+               assert_eq(strcmp(g_mc_reply_data.request_id, g_request_id), 0);
+
+               /* release allocated memory for loop */
+               _mc_release_tc_user_data(&g_mc_custom_data);
+               _mc_release_tc_user_data(&g_mc_reply_data);
+               g_free(g_request_id);
+               g_request_id = NULL;
+       }
 
        return 0;
 }
@@ -2249,13 +2245,13 @@ int utc_mc_server_send_cmd_reply_n(void)
 
        int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-       ret = mc_server_send_cmd_reply(NULL, g_mc_test_appname, g_request_id, g_mc_test_reply_result, NULL);
+       ret = mc_server_send_cmd_reply(NULL, g_mc_test_appname, g_request_id, g_mc_test_result_code, NULL);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-       ret = mc_server_send_cmd_reply(g_mc_server, NULL, g_request_id, g_mc_test_reply_result, NULL);
+       ret = mc_server_send_cmd_reply(g_mc_server, NULL, g_request_id, g_mc_test_result_code, NULL);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-       ret = mc_server_send_cmd_reply(g_mc_server, g_mc_test_appname, NULL, g_mc_test_reply_result, NULL);
+       ret = mc_server_send_cmd_reply(g_mc_server, g_mc_test_appname, NULL, g_mc_test_result_code, NULL);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
        return 0;
@@ -3776,7 +3772,7 @@ int utc_mc_client_set_cmd_reply_received_cb_p(void)
        assert_eq(strcmp(g_mc_custom_data.name, g_mc_test_appname), 0);
        assert_eq(strcmp(g_mc_custom_data.request_id, g_request_id), 0);
 
-       ret = mc_server_send_cmd_reply(g_mc_server, g_mc_custom_data.name, g_mc_custom_data.request_id, g_mc_test_reply_result, NULL);
+       ret = mc_server_send_cmd_reply(g_mc_server, g_mc_custom_data.name, g_mc_custom_data.request_id, g_mc_test_result_code, NULL);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
        assert_eq(WAIT_CALLBACK_RESULT, TRUE);
 
@@ -6548,6 +6544,7 @@ int utc_mc_client_send_event_reply_p(void)
        assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
        int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       unsigned int idx = 0;
 
        ret = mc_client_set_custom_event_received_cb(g_mc_client, _mc_client_custom_event_received_cb, &g_mc_custom_data);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
@@ -6559,21 +6556,30 @@ int utc_mc_client_send_event_reply_p(void)
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
        assert_neq(g_mc_client_name, NULL);
 
-       ret = mc_server_send_custom_event(g_mc_server, g_mc_client_name, g_mc_test_event, NULL, &g_request_id);
-       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
-       assert_eq(WAIT_CALLBACK_RESULT, TRUE);
+       for (idx = 0; idx < g_mc_test_result_codes_cnt; idx++) {
+               ret = mc_server_send_custom_event(g_mc_server, g_mc_client_name, g_mc_test_event, NULL, &g_request_id);
+               assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+               assert_eq(WAIT_CALLBACK_RESULT, TRUE);
 
-       assert_eq(g_mc_custom_data.result, TRUE);
-       assert_eq(strcmp(g_mc_custom_data.name, g_mc_test_appname), 0);
-       assert_eq(strcmp(g_mc_custom_data.request_id, g_request_id), 0);
+               assert_eq(g_mc_custom_data.result, TRUE);
+               assert_eq(strcmp(g_mc_custom_data.name, g_mc_test_appname), 0);
+               assert_eq(strcmp(g_mc_custom_data.request_id, g_request_id), 0);
 
-       ret = mc_client_send_event_reply(g_mc_client, g_mc_custom_data.name, g_mc_custom_data.request_id, g_mc_test_reply_result, NULL);
-       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
-       assert_eq(WAIT_CALLBACK_RESULT, TRUE);
+               ret = mc_client_send_event_reply(g_mc_client, g_mc_custom_data.name, g_mc_custom_data.request_id, g_mc_test_result_codes[idx], NULL);
+               assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+               assert_eq(WAIT_CALLBACK_RESULT, TRUE);
 
-       assert_eq(g_mc_reply_data.result, TRUE);
-       assert_eq(strcmp(g_mc_reply_data.name, g_mc_test_appname), 0);
-       assert_eq(strcmp(g_mc_reply_data.request_id, g_request_id), 0);
+               assert_eq(g_mc_reply_data.result, TRUE);
+               assert_eq(g_mc_reply_data.result_code, g_mc_test_result_codes[idx]);
+               assert_eq(strcmp(g_mc_reply_data.name, g_mc_test_appname), 0);
+               assert_eq(strcmp(g_mc_reply_data.request_id, g_request_id), 0);
+
+               /* release allocated memory for loop */
+               _mc_release_tc_user_data(&g_mc_custom_data);
+               _mc_release_tc_user_data(&g_mc_reply_data);
+               g_free(g_request_id);
+               g_request_id = NULL;
+       }
 
        return 0;
 }