[UTC][capi-media-webrtc][ACR-1637] Add new API set for native WebRTC #4 38/264538/4
authorSangchul Lee <sc11.lee@samsung.com>
Fri, 24 Sep 2021 05:23:06 +0000 (14:23 +0900)
committerSangchul Lee <sc11.lee@samsung.com>
Fri, 24 Sep 2021 08:32:20 +0000 (17:32 +0900)
Missing testcases are added.

Change-Id: Ia99522762dacfdda95f7c3ec2083bb802ab95370
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
src/utc/webrtc/public.list
src/utc/webrtc/tct-webrtc-core_mobile.h
src/utc/webrtc/tct-webrtc-core_tizeniot.h
src/utc/webrtc/tct-webrtc-core_tv.h
src/utc/webrtc/tct-webrtc-core_wearable.h
src/utc/webrtc/utc-media-webrtc-callback.c
src/utc/webrtc/utc-media-webrtc.c

index c49e78e938364bbcdf88faad24f9b1451ca28e6b..6d45a80edfe6895c993a481e5a378fdb97b5cba6 100644 (file)
@@ -43,6 +43,9 @@ webrtc_get_ice_gathering_state
 webrtc_get_ice_connection_state
 webrtc_create_data_channel
 webrtc_destroy_data_channel
+webrtc_data_channel_get_label
+webrtc_data_channel_send_string
+webrtc_data_channel_send_bytes
 webrtc_get_data
 webrtc_set_state_changed_cb
 webrtc_unset_state_changed_cb
@@ -60,6 +63,8 @@ webrtc_set_ice_gathering_state_change_cb
 webrtc_unset_ice_gathering_state_change_cb
 webrtc_set_ice_connection_state_change_cb
 webrtc_unset_ice_connection_state_change_cb
+webrtc_set_track_added_cb
+webrtc_unset_track_added_cb
 webrtc_set_encoded_audio_frame_cb
 webrtc_unset_encoded_audio_frame_cb
 webrtc_set_encoded_video_frame_cb
index 5f84198a0422853f72c89c241cb52b1fc8a0f200..e2315a5193a2e1d85927cf290ea8457026ecf363 100644 (file)
@@ -134,6 +134,12 @@ extern int utc_media_webrtc_create_data_channel_p(void);
 extern int utc_media_webrtc_create_data_channel_n(void);
 extern int utc_media_webrtc_destroy_data_channel_p(void);
 extern int utc_media_webrtc_destroy_data_channel_n(void);
+extern int utc_media_webrtc_data_channel_get_label_p(void);
+extern int utc_media_webrtc_data_channel_get_label_n(void);
+extern int utc_media_webrtc_data_channel_send_string_p(void);
+extern int utc_media_webrtc_data_channel_send_string_n(void);
+extern int utc_media_webrtc_data_channel_send_bytes_p(void);
+extern int utc_media_webrtc_data_channel_send_bytes_n(void);
 extern int utc_media_webrtc_get_data_p(void);
 extern int utc_media_webrtc_get_data_n(void);
 extern int utc_media_webrtc_set_state_changed_cb_p(void);
@@ -168,6 +174,10 @@ extern int utc_media_webrtc_set_ice_connection_state_change_cb_p(void);
 extern int utc_media_webrtc_set_ice_connection_state_change_cb_n(void);
 extern int utc_media_webrtc_unset_ice_connection_state_change_cb_p(void);
 extern int utc_media_webrtc_unset_ice_connection_state_change_cb_n(void);
+extern int utc_media_webrtc_set_track_added_cb_p(void);
+extern int utc_media_webrtc_set_track_added_cb_n(void);
+extern int utc_media_webrtc_unset_track_added_cb_p(void);
+extern int utc_media_webrtc_unset_track_added_cb_n(void);
 extern int utc_media_webrtc_set_encoded_audio_frame_cb_p(void);
 extern int utc_media_webrtc_set_encoded_audio_frame_cb_n(void);
 extern int utc_media_webrtc_unset_encoded_audio_frame_cb_p(void);
@@ -314,6 +324,12 @@ testcase tc_array[] = {
        {"utc_media_webrtc_create_data_channel_n",utc_media_webrtc_create_data_channel_n,NULL,NULL},
        {"utc_media_webrtc_destroy_data_channel_p",utc_media_webrtc_destroy_data_channel_p,NULL,NULL},
        {"utc_media_webrtc_destroy_data_channel_n",utc_media_webrtc_destroy_data_channel_n,NULL,NULL},
+       {"utc_media_webrtc_data_channel_get_label_p",utc_media_webrtc_data_channel_get_label_p,NULL,NULL},
+       {"utc_media_webrtc_data_channel_get_label_n",utc_media_webrtc_data_channel_get_label_n,NULL,NULL},
+       {"utc_media_webrtc_data_channel_send_string_p",utc_media_webrtc_data_channel_send_string_p,NULL,NULL},
+       {"utc_media_webrtc_data_channel_send_string_n",utc_media_webrtc_data_channel_send_string_n,NULL,NULL},
+       {"utc_media_webrtc_data_channel_send_bytes_p",utc_media_webrtc_data_channel_send_bytes_p,NULL,NULL},
+       {"utc_media_webrtc_data_channel_send_bytes_n",utc_media_webrtc_data_channel_send_bytes_n,NULL,NULL},
        {"utc_media_webrtc_get_data_p",utc_media_webrtc_get_data_p,NULL,NULL},
        {"utc_media_webrtc_get_data_n",utc_media_webrtc_get_data_n,NULL,NULL},
        {"utc_media_webrtc_set_state_changed_cb_p",utc_media_webrtc_set_state_changed_cb_p,NULL,NULL},
@@ -348,6 +364,10 @@ testcase tc_array[] = {
        {"utc_media_webrtc_set_ice_connection_state_change_cb_n",utc_media_webrtc_set_ice_connection_state_change_cb_n,NULL,NULL},
        {"utc_media_webrtc_unset_ice_connection_state_change_cb_p",utc_media_webrtc_unset_ice_connection_state_change_cb_p,NULL,NULL},
        {"utc_media_webrtc_unset_ice_connection_state_change_cb_n",utc_media_webrtc_unset_ice_connection_state_change_cb_n,NULL,NULL},
+       {"utc_media_webrtc_set_track_added_cb_p",utc_media_webrtc_set_track_added_cb_p,NULL,NULL},
+       {"utc_media_webrtc_set_track_added_cb_n",utc_media_webrtc_set_track_added_cb_n,NULL,NULL},
+       {"utc_media_webrtc_unset_track_added_cb_p",utc_media_webrtc_unset_track_added_cb_p,NULL,NULL},
+       {"utc_media_webrtc_unset_track_added_cb_n",utc_media_webrtc_unset_track_added_cb_n,NULL,NULL},
        {"utc_media_webrtc_set_encoded_audio_frame_cb_p",utc_media_webrtc_set_encoded_audio_frame_cb_p,NULL,NULL},
        {"utc_media_webrtc_set_encoded_audio_frame_cb_n",utc_media_webrtc_set_encoded_audio_frame_cb_n,NULL,NULL},
        {"utc_media_webrtc_unset_encoded_audio_frame_cb_p",utc_media_webrtc_unset_encoded_audio_frame_cb_p,NULL,NULL},
index 5f84198a0422853f72c89c241cb52b1fc8a0f200..e2315a5193a2e1d85927cf290ea8457026ecf363 100644 (file)
@@ -134,6 +134,12 @@ extern int utc_media_webrtc_create_data_channel_p(void);
 extern int utc_media_webrtc_create_data_channel_n(void);
 extern int utc_media_webrtc_destroy_data_channel_p(void);
 extern int utc_media_webrtc_destroy_data_channel_n(void);
+extern int utc_media_webrtc_data_channel_get_label_p(void);
+extern int utc_media_webrtc_data_channel_get_label_n(void);
+extern int utc_media_webrtc_data_channel_send_string_p(void);
+extern int utc_media_webrtc_data_channel_send_string_n(void);
+extern int utc_media_webrtc_data_channel_send_bytes_p(void);
+extern int utc_media_webrtc_data_channel_send_bytes_n(void);
 extern int utc_media_webrtc_get_data_p(void);
 extern int utc_media_webrtc_get_data_n(void);
 extern int utc_media_webrtc_set_state_changed_cb_p(void);
@@ -168,6 +174,10 @@ extern int utc_media_webrtc_set_ice_connection_state_change_cb_p(void);
 extern int utc_media_webrtc_set_ice_connection_state_change_cb_n(void);
 extern int utc_media_webrtc_unset_ice_connection_state_change_cb_p(void);
 extern int utc_media_webrtc_unset_ice_connection_state_change_cb_n(void);
+extern int utc_media_webrtc_set_track_added_cb_p(void);
+extern int utc_media_webrtc_set_track_added_cb_n(void);
+extern int utc_media_webrtc_unset_track_added_cb_p(void);
+extern int utc_media_webrtc_unset_track_added_cb_n(void);
 extern int utc_media_webrtc_set_encoded_audio_frame_cb_p(void);
 extern int utc_media_webrtc_set_encoded_audio_frame_cb_n(void);
 extern int utc_media_webrtc_unset_encoded_audio_frame_cb_p(void);
@@ -314,6 +324,12 @@ testcase tc_array[] = {
        {"utc_media_webrtc_create_data_channel_n",utc_media_webrtc_create_data_channel_n,NULL,NULL},
        {"utc_media_webrtc_destroy_data_channel_p",utc_media_webrtc_destroy_data_channel_p,NULL,NULL},
        {"utc_media_webrtc_destroy_data_channel_n",utc_media_webrtc_destroy_data_channel_n,NULL,NULL},
+       {"utc_media_webrtc_data_channel_get_label_p",utc_media_webrtc_data_channel_get_label_p,NULL,NULL},
+       {"utc_media_webrtc_data_channel_get_label_n",utc_media_webrtc_data_channel_get_label_n,NULL,NULL},
+       {"utc_media_webrtc_data_channel_send_string_p",utc_media_webrtc_data_channel_send_string_p,NULL,NULL},
+       {"utc_media_webrtc_data_channel_send_string_n",utc_media_webrtc_data_channel_send_string_n,NULL,NULL},
+       {"utc_media_webrtc_data_channel_send_bytes_p",utc_media_webrtc_data_channel_send_bytes_p,NULL,NULL},
+       {"utc_media_webrtc_data_channel_send_bytes_n",utc_media_webrtc_data_channel_send_bytes_n,NULL,NULL},
        {"utc_media_webrtc_get_data_p",utc_media_webrtc_get_data_p,NULL,NULL},
        {"utc_media_webrtc_get_data_n",utc_media_webrtc_get_data_n,NULL,NULL},
        {"utc_media_webrtc_set_state_changed_cb_p",utc_media_webrtc_set_state_changed_cb_p,NULL,NULL},
@@ -348,6 +364,10 @@ testcase tc_array[] = {
        {"utc_media_webrtc_set_ice_connection_state_change_cb_n",utc_media_webrtc_set_ice_connection_state_change_cb_n,NULL,NULL},
        {"utc_media_webrtc_unset_ice_connection_state_change_cb_p",utc_media_webrtc_unset_ice_connection_state_change_cb_p,NULL,NULL},
        {"utc_media_webrtc_unset_ice_connection_state_change_cb_n",utc_media_webrtc_unset_ice_connection_state_change_cb_n,NULL,NULL},
+       {"utc_media_webrtc_set_track_added_cb_p",utc_media_webrtc_set_track_added_cb_p,NULL,NULL},
+       {"utc_media_webrtc_set_track_added_cb_n",utc_media_webrtc_set_track_added_cb_n,NULL,NULL},
+       {"utc_media_webrtc_unset_track_added_cb_p",utc_media_webrtc_unset_track_added_cb_p,NULL,NULL},
+       {"utc_media_webrtc_unset_track_added_cb_n",utc_media_webrtc_unset_track_added_cb_n,NULL,NULL},
        {"utc_media_webrtc_set_encoded_audio_frame_cb_p",utc_media_webrtc_set_encoded_audio_frame_cb_p,NULL,NULL},
        {"utc_media_webrtc_set_encoded_audio_frame_cb_n",utc_media_webrtc_set_encoded_audio_frame_cb_n,NULL,NULL},
        {"utc_media_webrtc_unset_encoded_audio_frame_cb_p",utc_media_webrtc_unset_encoded_audio_frame_cb_p,NULL,NULL},
index 5f84198a0422853f72c89c241cb52b1fc8a0f200..e2315a5193a2e1d85927cf290ea8457026ecf363 100644 (file)
@@ -134,6 +134,12 @@ extern int utc_media_webrtc_create_data_channel_p(void);
 extern int utc_media_webrtc_create_data_channel_n(void);
 extern int utc_media_webrtc_destroy_data_channel_p(void);
 extern int utc_media_webrtc_destroy_data_channel_n(void);
+extern int utc_media_webrtc_data_channel_get_label_p(void);
+extern int utc_media_webrtc_data_channel_get_label_n(void);
+extern int utc_media_webrtc_data_channel_send_string_p(void);
+extern int utc_media_webrtc_data_channel_send_string_n(void);
+extern int utc_media_webrtc_data_channel_send_bytes_p(void);
+extern int utc_media_webrtc_data_channel_send_bytes_n(void);
 extern int utc_media_webrtc_get_data_p(void);
 extern int utc_media_webrtc_get_data_n(void);
 extern int utc_media_webrtc_set_state_changed_cb_p(void);
@@ -168,6 +174,10 @@ extern int utc_media_webrtc_set_ice_connection_state_change_cb_p(void);
 extern int utc_media_webrtc_set_ice_connection_state_change_cb_n(void);
 extern int utc_media_webrtc_unset_ice_connection_state_change_cb_p(void);
 extern int utc_media_webrtc_unset_ice_connection_state_change_cb_n(void);
+extern int utc_media_webrtc_set_track_added_cb_p(void);
+extern int utc_media_webrtc_set_track_added_cb_n(void);
+extern int utc_media_webrtc_unset_track_added_cb_p(void);
+extern int utc_media_webrtc_unset_track_added_cb_n(void);
 extern int utc_media_webrtc_set_encoded_audio_frame_cb_p(void);
 extern int utc_media_webrtc_set_encoded_audio_frame_cb_n(void);
 extern int utc_media_webrtc_unset_encoded_audio_frame_cb_p(void);
@@ -314,6 +324,12 @@ testcase tc_array[] = {
        {"utc_media_webrtc_create_data_channel_n",utc_media_webrtc_create_data_channel_n,NULL,NULL},
        {"utc_media_webrtc_destroy_data_channel_p",utc_media_webrtc_destroy_data_channel_p,NULL,NULL},
        {"utc_media_webrtc_destroy_data_channel_n",utc_media_webrtc_destroy_data_channel_n,NULL,NULL},
+       {"utc_media_webrtc_data_channel_get_label_p",utc_media_webrtc_data_channel_get_label_p,NULL,NULL},
+       {"utc_media_webrtc_data_channel_get_label_n",utc_media_webrtc_data_channel_get_label_n,NULL,NULL},
+       {"utc_media_webrtc_data_channel_send_string_p",utc_media_webrtc_data_channel_send_string_p,NULL,NULL},
+       {"utc_media_webrtc_data_channel_send_string_n",utc_media_webrtc_data_channel_send_string_n,NULL,NULL},
+       {"utc_media_webrtc_data_channel_send_bytes_p",utc_media_webrtc_data_channel_send_bytes_p,NULL,NULL},
+       {"utc_media_webrtc_data_channel_send_bytes_n",utc_media_webrtc_data_channel_send_bytes_n,NULL,NULL},
        {"utc_media_webrtc_get_data_p",utc_media_webrtc_get_data_p,NULL,NULL},
        {"utc_media_webrtc_get_data_n",utc_media_webrtc_get_data_n,NULL,NULL},
        {"utc_media_webrtc_set_state_changed_cb_p",utc_media_webrtc_set_state_changed_cb_p,NULL,NULL},
@@ -348,6 +364,10 @@ testcase tc_array[] = {
        {"utc_media_webrtc_set_ice_connection_state_change_cb_n",utc_media_webrtc_set_ice_connection_state_change_cb_n,NULL,NULL},
        {"utc_media_webrtc_unset_ice_connection_state_change_cb_p",utc_media_webrtc_unset_ice_connection_state_change_cb_p,NULL,NULL},
        {"utc_media_webrtc_unset_ice_connection_state_change_cb_n",utc_media_webrtc_unset_ice_connection_state_change_cb_n,NULL,NULL},
+       {"utc_media_webrtc_set_track_added_cb_p",utc_media_webrtc_set_track_added_cb_p,NULL,NULL},
+       {"utc_media_webrtc_set_track_added_cb_n",utc_media_webrtc_set_track_added_cb_n,NULL,NULL},
+       {"utc_media_webrtc_unset_track_added_cb_p",utc_media_webrtc_unset_track_added_cb_p,NULL,NULL},
+       {"utc_media_webrtc_unset_track_added_cb_n",utc_media_webrtc_unset_track_added_cb_n,NULL,NULL},
        {"utc_media_webrtc_set_encoded_audio_frame_cb_p",utc_media_webrtc_set_encoded_audio_frame_cb_p,NULL,NULL},
        {"utc_media_webrtc_set_encoded_audio_frame_cb_n",utc_media_webrtc_set_encoded_audio_frame_cb_n,NULL,NULL},
        {"utc_media_webrtc_unset_encoded_audio_frame_cb_p",utc_media_webrtc_unset_encoded_audio_frame_cb_p,NULL,NULL},
index 5f84198a0422853f72c89c241cb52b1fc8a0f200..e2315a5193a2e1d85927cf290ea8457026ecf363 100644 (file)
@@ -134,6 +134,12 @@ extern int utc_media_webrtc_create_data_channel_p(void);
 extern int utc_media_webrtc_create_data_channel_n(void);
 extern int utc_media_webrtc_destroy_data_channel_p(void);
 extern int utc_media_webrtc_destroy_data_channel_n(void);
+extern int utc_media_webrtc_data_channel_get_label_p(void);
+extern int utc_media_webrtc_data_channel_get_label_n(void);
+extern int utc_media_webrtc_data_channel_send_string_p(void);
+extern int utc_media_webrtc_data_channel_send_string_n(void);
+extern int utc_media_webrtc_data_channel_send_bytes_p(void);
+extern int utc_media_webrtc_data_channel_send_bytes_n(void);
 extern int utc_media_webrtc_get_data_p(void);
 extern int utc_media_webrtc_get_data_n(void);
 extern int utc_media_webrtc_set_state_changed_cb_p(void);
@@ -168,6 +174,10 @@ extern int utc_media_webrtc_set_ice_connection_state_change_cb_p(void);
 extern int utc_media_webrtc_set_ice_connection_state_change_cb_n(void);
 extern int utc_media_webrtc_unset_ice_connection_state_change_cb_p(void);
 extern int utc_media_webrtc_unset_ice_connection_state_change_cb_n(void);
+extern int utc_media_webrtc_set_track_added_cb_p(void);
+extern int utc_media_webrtc_set_track_added_cb_n(void);
+extern int utc_media_webrtc_unset_track_added_cb_p(void);
+extern int utc_media_webrtc_unset_track_added_cb_n(void);
 extern int utc_media_webrtc_set_encoded_audio_frame_cb_p(void);
 extern int utc_media_webrtc_set_encoded_audio_frame_cb_n(void);
 extern int utc_media_webrtc_unset_encoded_audio_frame_cb_p(void);
@@ -314,6 +324,12 @@ testcase tc_array[] = {
        {"utc_media_webrtc_create_data_channel_n",utc_media_webrtc_create_data_channel_n,NULL,NULL},
        {"utc_media_webrtc_destroy_data_channel_p",utc_media_webrtc_destroy_data_channel_p,NULL,NULL},
        {"utc_media_webrtc_destroy_data_channel_n",utc_media_webrtc_destroy_data_channel_n,NULL,NULL},
+       {"utc_media_webrtc_data_channel_get_label_p",utc_media_webrtc_data_channel_get_label_p,NULL,NULL},
+       {"utc_media_webrtc_data_channel_get_label_n",utc_media_webrtc_data_channel_get_label_n,NULL,NULL},
+       {"utc_media_webrtc_data_channel_send_string_p",utc_media_webrtc_data_channel_send_string_p,NULL,NULL},
+       {"utc_media_webrtc_data_channel_send_string_n",utc_media_webrtc_data_channel_send_string_n,NULL,NULL},
+       {"utc_media_webrtc_data_channel_send_bytes_p",utc_media_webrtc_data_channel_send_bytes_p,NULL,NULL},
+       {"utc_media_webrtc_data_channel_send_bytes_n",utc_media_webrtc_data_channel_send_bytes_n,NULL,NULL},
        {"utc_media_webrtc_get_data_p",utc_media_webrtc_get_data_p,NULL,NULL},
        {"utc_media_webrtc_get_data_n",utc_media_webrtc_get_data_n,NULL,NULL},
        {"utc_media_webrtc_set_state_changed_cb_p",utc_media_webrtc_set_state_changed_cb_p,NULL,NULL},
@@ -348,6 +364,10 @@ testcase tc_array[] = {
        {"utc_media_webrtc_set_ice_connection_state_change_cb_n",utc_media_webrtc_set_ice_connection_state_change_cb_n,NULL,NULL},
        {"utc_media_webrtc_unset_ice_connection_state_change_cb_p",utc_media_webrtc_unset_ice_connection_state_change_cb_p,NULL,NULL},
        {"utc_media_webrtc_unset_ice_connection_state_change_cb_n",utc_media_webrtc_unset_ice_connection_state_change_cb_n,NULL,NULL},
+       {"utc_media_webrtc_set_track_added_cb_p",utc_media_webrtc_set_track_added_cb_p,NULL,NULL},
+       {"utc_media_webrtc_set_track_added_cb_n",utc_media_webrtc_set_track_added_cb_n,NULL,NULL},
+       {"utc_media_webrtc_unset_track_added_cb_p",utc_media_webrtc_unset_track_added_cb_p,NULL,NULL},
+       {"utc_media_webrtc_unset_track_added_cb_n",utc_media_webrtc_unset_track_added_cb_n,NULL,NULL},
        {"utc_media_webrtc_set_encoded_audio_frame_cb_p",utc_media_webrtc_set_encoded_audio_frame_cb_p,NULL,NULL},
        {"utc_media_webrtc_set_encoded_audio_frame_cb_n",utc_media_webrtc_set_encoded_audio_frame_cb_n,NULL,NULL},
        {"utc_media_webrtc_unset_encoded_audio_frame_cb_p",utc_media_webrtc_unset_encoded_audio_frame_cb_p,NULL,NULL},
index f0d71f07cd653044a873338c9a2becc5a108d119..c297eb4420488560c9a08e250fea416985b711e2 100644 (file)
@@ -49,6 +49,10 @@ static void __webrtc_ice_connection_state_change_cb(webrtc_h webrtc, webrtc_ice_
 {
 }
 
+static void __webrtc_track_added_cb(webrtc_h webrtc, webrtc_media_type_e type, unsigned int track_id, void *user_data)
+{
+}
+
 static void __webrtc_encoded_frame_cb(webrtc_h webrtc, webrtc_media_type_e type, unsigned int track_id, media_packet_h packet, void *user_data)
 {
 }
@@ -737,6 +741,95 @@ int utc_media_webrtc_unset_ice_connection_state_change_cb_n(void)
        return 0;
 }
 
+/**
+ * @testcase           utc_media_webrtc_set_track_added_cb_p
+ * @since_tizen                6.5
+ * @description                Sets a track added callback
+ */
+int utc_media_webrtc_set_track_added_cb_p(void)
+{
+       int ret;
+       webrtc_h webrtc;
+
+       ret = webrtc_create(&webrtc);
+       assert_eq(ret, WEBRTC_ERROR_NONE);
+
+       ret = webrtc_set_track_added_cb(webrtc, __webrtc_track_added_cb, NULL);
+       assert_eq(ret, WEBRTC_ERROR_NONE);
+
+       webrtc_destroy(webrtc);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_media_webrtc_set_track_added_cb_n
+ * @since_tizen                6.5
+ * @description                Sets a track added callback
+ *                             - Sets the callback without callback function pointer to get negative result
+ */
+int utc_media_webrtc_set_track_added_cb_n(void)
+{
+       int ret;
+       webrtc_h webrtc;
+
+       ret = webrtc_create(&webrtc);
+       assert_eq(ret, WEBRTC_ERROR_NONE);
+
+       ret = webrtc_set_track_added_cb(webrtc, NULL, NULL);
+       assert_eq(ret, WEBRTC_ERROR_INVALID_PARAMETER);
+
+       webrtc_destroy(webrtc);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_media_webrtc_unset_track_added_cb_p
+ * @since_tizen                6.5
+ * @description                Unsets the track added callback
+ */
+int utc_media_webrtc_unset_track_added_cb_p(void)
+{
+       int ret;
+       webrtc_h webrtc;
+
+       ret = webrtc_create(&webrtc);
+       assert_eq(ret, WEBRTC_ERROR_NONE);
+
+       ret = webrtc_set_track_added_cb(webrtc, __webrtc_track_added_cb, NULL);
+       assert_eq(ret, WEBRTC_ERROR_NONE);
+
+       ret = webrtc_unset_track_added_cb(webrtc);
+       assert_eq(ret, WEBRTC_ERROR_NONE);
+
+       webrtc_destroy(webrtc);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_media_webrtc_unset_track_added_cb_n
+ * @since_tizen                6.5
+ * @description                Unsets the track added callback
+ *                             - Unsets the callback without setting it to get negative result
+ */
+int utc_media_webrtc_unset_track_added_cb_n(void)
+{
+       int ret;
+       webrtc_h webrtc;
+
+       ret = webrtc_create(&webrtc);
+       assert_eq(ret, WEBRTC_ERROR_NONE);
+
+       ret = webrtc_unset_track_added_cb(webrtc);
+       assert_eq(ret, WEBRTC_ERROR_INVALID_OPERATION);
+
+       webrtc_destroy(webrtc);
+
+       return 0;
+}
+
 /**
  * @testcase           utc_media_webrtc_set_encoded_audio_frame_cb_p
  * @since_tizen                6.5
index 26656c253e4710ce429577d5f5ab22479629f0c5..d46864006b3ea352cc386fcf2192af787ee802f4 100644 (file)
 #define TIMEOUT_MS 1000
 #define TEST_WIDTH 640
 #define TEST_HEIGHT 480
-#define TEST_STUN_SERVER_URL   "stun://stun.testurl.com:19302"
-#define TEST_TURN_SERVER_URL   "turn://turn.testurl.com:19303"
-#define TEST_TURN_SERVER_URL2  "turn://turn2.testurl.com:19303"
-#define TEST_ICE_CANDIDATE     "{'ice':{'candidate':'candidate:3600539631 1 tcp 1518149375 192.168.0.127 9 typ host tcptype active generation 0 ufrag l4kk network-id 3 network-cost 10','sdpMid':'video0','sdpMLineIndex':0}}"
+#define TEST_STUN_SERVER_URL    "stun://stun.testurl.com:19302"
+#define TEST_TURN_SERVER_URL    "turn://turn.testurl.com:19303"
+#define TEST_TURN_SERVER_URL2   "turn://turn2.testurl.com:19303"
+#define TEST_ICE_CANDIDATE      "{'ice':{'candidate':'candidate:3600539631 1 tcp 1518149375 192.168.0.127 9 typ host tcptype active generation 0 ufrag l4kk network-id 3 network-cost 10','sdpMid':'video0','sdpMLineIndex':0}}"
+#define TEST_DATA_CHANNEL_LABEL "test data channel"
+#define TEST_STRING_DATA        "test string"
+#define TEST_BUFFER_SIZE        16
 
 static GMainLoop *g_mainloop = NULL;
 static int g_timeout_id = 0;
@@ -2179,13 +2182,13 @@ int utc_media_webrtc_get_stun_server_p(void)
        ret = webrtc_get_stun_server(webrtc, &result);
        assert_eq(ret, WEBRTC_ERROR_NONE);
 
-       dlog_print(DLOG_DEBUG, "NativeTCT", "[%s(%d)] %s %s", __FUNCTION__, __LINE__, result, TEST_STUN_SERVER_URL);
-       if (strcmp(result, TEST_STUN_SERVER_URL))
-               return -1;
-
        webrtc_destroy(webrtc);
 
+       dlog_print(DLOG_DEBUG, "NativeTCT", "[%s(%d)] %s %s", __FUNCTION__, __LINE__, result, TEST_STUN_SERVER_URL);
+
+       ret = strcmp(result, TEST_STUN_SERVER_URL);
        free(result);
+       assert_eq(ret, 0);
 
        return 0;
 }
@@ -3377,7 +3380,7 @@ int utc_media_webrtc_create_data_channel_p(void)
        ret = webrtc_create(&webrtc);
        assert_eq(ret, WEBRTC_ERROR_NONE);
 
-       ret = webrtc_create_data_channel(webrtc, "test channel", NULL, &channel);
+       ret = webrtc_create_data_channel(webrtc, TEST_DATA_CHANNEL_LABEL, NULL, &channel);
        assert_eq(ret, WEBRTC_ERROR_NONE);
 
        webrtc_destroy_data_channel(channel);
@@ -3427,7 +3430,7 @@ int utc_media_webrtc_destroy_data_channel_p(void)
        ret = webrtc_create(&webrtc);
        assert_eq(ret, WEBRTC_ERROR_NONE);
 
-       ret = webrtc_create_data_channel(webrtc, "test channel", NULL, &channel);
+       ret = webrtc_create_data_channel(webrtc, TEST_DATA_CHANNEL_LABEL, NULL, &channel);
        assert_eq(ret, WEBRTC_ERROR_NONE);
 
        webrtc_destroy_data_channel(channel);
@@ -3452,6 +3455,144 @@ int utc_media_webrtc_destroy_data_channel_n(void)
        return 0;
 }
 
+/**
+ * @testcase           utc_media_webrtc_data_channel_get_label_p
+ * @since_tizen                6.5
+ * @description                Gets the data channel label\n
+ *                             - Create a webrtc handle\n
+ *                             - Create a data channel\n
+ *                             - Get the data channel label
+ */
+int utc_media_webrtc_data_channel_get_label_p(void)
+{
+       int ret;
+       webrtc_h webrtc;
+       webrtc_data_channel_h channel;
+       char *label;
+
+       ret = webrtc_create(&webrtc);
+       assert_eq(ret, WEBRTC_ERROR_NONE);
+
+       ret = webrtc_create_data_channel(webrtc, TEST_DATA_CHANNEL_LABEL, NULL, &channel);
+       assert_eq(ret, WEBRTC_ERROR_NONE);
+
+       ret = webrtc_data_channel_get_label(channel, &label);
+       assert_eq(ret, WEBRTC_ERROR_NONE);
+
+       webrtc_destroy(webrtc);
+
+       ret = strcmp(label, TEST_DATA_CHANNEL_LABEL);
+       free(label);
+       assert_eq(ret, 0);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_media_webrtc_data_channel_get_label_n
+ * @since_tizen                6.5
+ * @description                Gets the data channel label\n
+ *                             - Pass invalid parameter to get negative result
+ */
+int utc_media_webrtc_data_channel_get_label_n(void)
+{
+       int ret = webrtc_data_channel_get_label(NULL, NULL);
+       assert_eq(ret, WEBRTC_ERROR_INVALID_PARAMETER);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_media_webrtc_data_channel_send_string_p
+ * @since_tizen                6.5
+ * @description                Sends string data to the data channel\n
+ *                             - Create a webrtc handle\n
+ *                             - Create a data channel\n
+ *                             - Send a string data
+ */
+int utc_media_webrtc_data_channel_send_string_p(void)
+{
+       int ret;
+       webrtc_h webrtc;
+       webrtc_data_channel_h channel;
+
+       ret = webrtc_create(&webrtc);
+       assert_eq(ret, WEBRTC_ERROR_NONE);
+
+       ret = webrtc_create_data_channel(webrtc, TEST_DATA_CHANNEL_LABEL, NULL, &channel);
+       assert_eq(ret, WEBRTC_ERROR_NONE);
+
+       /* FIXME: It's not ready to send data before negotiation success with remote peer.
+        * For now, we don't handle a remote peer, therefore here just check the invalid
+        * state return value temporarily. */
+       ret = webrtc_data_channel_send_string(channel, TEST_STRING_DATA);
+       assert_eq(ret, WEBRTC_ERROR_INVALID_STATE);
+
+       webrtc_destroy(webrtc);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_media_webrtc_data_channel_send_string_n
+ * @since_tizen                6.5
+ * @description                Sends string data to the data channel\n
+ *                             - Pass invalid parameter to get negative result
+ */
+int utc_media_webrtc_data_channel_send_string_n(void)
+{
+       int ret = webrtc_data_channel_send_string(NULL, TEST_STRING_DATA);
+       assert_eq(ret, WEBRTC_ERROR_INVALID_PARAMETER);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_media_webrtc_data_channel_send_bytes_p
+ * @since_tizen                6.5
+ * @description                Sends bytes data to the data channel\n
+ *                             - Create a webrtc handle\n
+ *                             - Create a data channel\n
+ *                             - Send bytes data
+ */
+int utc_media_webrtc_data_channel_send_bytes_p(void)
+{
+       int ret;
+       webrtc_h webrtc;
+       webrtc_data_channel_h channel;
+       char buffer[TEST_BUFFER_SIZE] = {0, };
+
+       ret = webrtc_create(&webrtc);
+       assert_eq(ret, WEBRTC_ERROR_NONE);
+
+       ret = webrtc_create_data_channel(webrtc, TEST_DATA_CHANNEL_LABEL, NULL, &channel);
+       assert_eq(ret, WEBRTC_ERROR_NONE);
+
+       /* FIXME: It's not ready to send data before negotiation success with remote peer.
+        * For now, we don't handle a remote peer, therefore here just check the invalid
+        * state return value temporarily. */
+       ret = webrtc_data_channel_send_bytes(channel, buffer, TEST_BUFFER_SIZE);
+       assert_eq(ret, WEBRTC_ERROR_INVALID_STATE);
+
+       webrtc_destroy(webrtc);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_media_webrtc_data_channel_send_bytes_n
+ * @since_tizen                6.5
+ * @description                Sends bytes data to the data channel\n
+ *                             - Pass invalid parameter to get negative result
+ */
+int utc_media_webrtc_data_channel_send_bytes_n(void)
+{
+       int ret = webrtc_data_channel_send_bytes(NULL, NULL, 0);
+       assert_eq(ret, WEBRTC_ERROR_INVALID_PARAMETER);
+
+       return 0;
+}
+
 /**
  * @testcase           utc_media_webrtc_get_data_p
  * @since_tizen                6.5