• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2022 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 #include <securec.h>
17 
18 #include <gtest/gtest.h>
19 #include "softbus_def.h"
20 #include "softbus_error_code.h"
21 #include "softbus_trans_def.h"
22 #include "softbus_app_info.h"
23 #include "softbus_server_frame.h"
24 #include "softbus_adapter_mem.h"
25 #include "client_trans_session_manager.h"
26 #include "client_trans_socket_manager.h"
27 #include "client_trans_session_service.h"
28 #include "client_trans_session_callback.h"
29 #include "client_trans_session_callback.c"
30 #include "softbus_config_type.h"
31 #include "trans_log.h"
32 #include "softbus_feature_config.h"
33 #include "softbus_conn_interface.h"
34 #include "auth_interface.h"
35 #include "bus_center_manager.h"
36 #include "session_ipc_adapter.h"
37 #include "session_set_timer.h"
38 #include "trans_session_service.h"
39 
40 #define TRANS_TEST_SESSION_ID 10
41 #define TRANS_TEST_PID 0
42 #define TRANS_TEST_UID 0
43 #define TRANS_TEST_CHANNEL_ID 1000
44 #define TRANS_TEST_FILE_ENCRYPT 10
45 #define TRANS_TEST_ALGORITHM 1
46 #define TRANS_TEST_CRC 1
47 #define TRANS_TEST_EVENT_ID 1
48 #define TRANS_TEST_TV_COUNT 1
49 #define TRANS_TEST_AUTH_DATA "test auth message data"
50 #define DFX_TIMERS_S 15
51 
52 #define TRANS_TEST_INVALID_CHANNEL_ID (-1)
53 
54 #define MAX_SESSION_SERVER_NUM 32
55 
56 using namespace testing::ext;
57 
58 namespace OHOS {
59 
60 const char *g_pkgName = "dms";
61 const char *g_sessionName = "ohos.distributedschedule.dms.test";
62 const char *g_networkId = "ABCDEF00ABCDEF00ABCDEF00ABCDEF00ABCDEF00ABCDEF00ABCDEF00ABCDEF0";
63 const char *g_deviceId = "ABCDEF00ABCDEF00ABCDEF00ABCDEF00ABCDEF00ABCDEF00ABCDEF00ABCDEF0";
64 const char *g_groupid = "TEST_GROUP_ID";
65 static SessionAttribute g_sessionAttr = {
66     .dataType = TYPE_BYTES,
67 };
68 class TransClientSessionCallbackTest : public testing::Test {
69 public:
TransClientSessionCallbackTest()70     TransClientSessionCallbackTest()
71     {}
~TransClientSessionCallbackTest()72     ~TransClientSessionCallbackTest()
73     {}
74     static void SetUpTestCase(void);
75     static void TearDownTestCase(void);
SetUp()76     void SetUp() override
77     {}
TearDown()78     void TearDown() override
79     {}
80 };
81 
SetUpTestCase(void)82 void TransClientSessionCallbackTest::SetUpTestCase(void)
83 {
84     SoftbusConfigInit();
85     ConnServerInit();
86     AuthInit();
87     BusCenterServerInit();
88     TransServerInit();
89     int32_t ret = TransClientInit();
90     ASSERT_EQ(ret, SOFTBUS_OK);
91 }
92 
TearDownTestCase(void)93 void TransClientSessionCallbackTest::TearDownTestCase(void)
94 {
95     ConnServerDeinit();
96     AuthDeinit();
97     BusCenterServerDeinit();
98     TransServerDeinit();
99 }
100 
OnSessionOpened(int32_t sessionId,int32_t result)101 static int32_t OnSessionOpened(int32_t sessionId, int32_t result)
102 {
103     TRANS_LOGI(TRANS_TEST, "session opened, sessionId=%{public}d", sessionId);
104     return SOFTBUS_OK;
105 }
106 
OnSessionClosed(int32_t sessionId)107 static void OnSessionClosed(int32_t sessionId)
108 {
109     TRANS_LOGI(TRANS_TEST, "session closed, sessionId=%{public}d", sessionId);
110 }
111 
OnBytesReceived(int32_t sessionId,const void * data,unsigned int len)112 static void OnBytesReceived(int32_t sessionId, const void *data, unsigned int len)
113 {
114     TRANS_LOGI(TRANS_TEST, "session bytes received, sessionId=%{public}d", sessionId);
115 }
116 
OnMessageReceived(int32_t sessionId,const void * data,unsigned int len)117 static void OnMessageReceived(int32_t sessionId, const void *data, unsigned int len)
118 {
119     TRANS_LOGI(TRANS_TEST, "session msg received, sessionId=%{public}d", sessionId);
120 }
121 
OnStreamReceived(int32_t sessionId,const StreamData * data,const StreamData * ext,const StreamFrameInfo * param)122 static void OnStreamReceived(int32_t sessionId, const StreamData *data,
123                              const StreamData *ext, const StreamFrameInfo *param)
124 {
125     TRANS_LOGI(TRANS_TEST, "session stream received, sessionId=%{public}d", sessionId);
126 }
127 
OnQosEvent(int32_t sessionId,int32_t eventId,int32_t tvCount,const QosTv * tvList)128 static void OnQosEvent(int32_t sessionId, int32_t eventId, int32_t tvCount, const QosTv *tvList)
129 {
130     TRANS_LOGI(TRANS_TEST, "session Qos event emit, sessionId=%{public}d", sessionId);
131 }
132 
133 static ISessionListener g_sessionlistener = {
134     .OnSessionOpened = OnSessionOpened,
135     .OnSessionClosed = OnSessionClosed,
136     .OnBytesReceived = OnBytesReceived,
137     .OnMessageReceived = OnMessageReceived,
138     .OnStreamReceived = OnStreamReceived,
139     .OnQosEvent = OnQosEvent,
140 };
141 
OnFile(int32_t socketId,FileEvent * event)142 static void OnFile(int32_t socketId, FileEvent *event)
143 {
144     TRANS_LOGI(TRANS_TEST, "session on file event, sessionId=%{public}d", socketId);
145 }
146 
OnShutDown(int32_t socketId,ShutdownReason reason)147 static void OnShutDown(int32_t socketId, ShutdownReason reason)
148 {
149     TRANS_LOGI(TRANS_TEST, "session shutdown, socketId=%{public}d", socketId);
150 }
151 
OnBindSucc(int32_t socketId,PeerSocketInfo info)152 static void OnBindSucc(int32_t socketId, PeerSocketInfo info)
153 {
154     TRANS_LOGI(TRANS_TEST, "session on bind, socketId=%{public}d", socketId);
155 }
156 
OnNegotiate(int32_t socketId,PeerSocketInfo info)157 static bool OnNegotiate(int32_t socketId, PeerSocketInfo info)
158 {
159     TRANS_LOGI(TRANS_TEST, "session on bind, socketId=%{public}d", socketId);
160     return true;
161 }
162 
163 static ISocketListener g_socketlistener = {
164     .OnBind = OnBindSucc,
165     .OnShutdown = OnShutDown,
166     .OnFile = OnFile,
167     .OnNegotiate = OnNegotiate,
168 };
169 
170 static ISocketListener g_testSocketlistener = {
171     .OnBind = nullptr,
172     .OnShutdown = OnShutDown,
173     .OnFile = OnFile,
174     .OnNegotiate = nullptr,
175 };
176 
TestGenerateCommParam(SessionParam * sessionParam)177 static void TestGenerateCommParam(SessionParam *sessionParam)
178 {
179     sessionParam->sessionName = g_sessionName;
180     sessionParam->peerSessionName = g_sessionName;
181     sessionParam->peerDeviceId = g_deviceId;
182     sessionParam->groupId = g_groupid;
183     sessionParam->attr = &g_sessionAttr;
184 }
185 
TestGenerateChannInfo(ChannelInfo * channel)186 static int32_t TestGenerateChannInfo(ChannelInfo *channel)
187 {
188     char *sessionName = (char*)SoftBusCalloc(SESSION_NAME_SIZE_MAX * sizeof(char));
189     char *deviceId = (char*)SoftBusCalloc(DEVICE_ID_SIZE_MAX * sizeof(char));
190     char *groupId = (char*)SoftBusCalloc(GROUP_ID_SIZE_MAX * sizeof(char));
191 
192     if (sessionName == nullptr || deviceId == nullptr || groupId == nullptr ||
193         strcpy_s(sessionName, SESSION_NAME_SIZE_MAX, g_sessionName) != EOK ||
194         strcpy_s(deviceId, SESSION_NAME_SIZE_MAX, g_deviceId) != EOK ||
195         strcpy_s(groupId, SESSION_NAME_SIZE_MAX, g_groupid) != EOK) {
196         SoftBusFree(sessionName);
197         SoftBusFree(deviceId);
198         SoftBusFree(groupId);
199         return SOFTBUS_STRCPY_ERR;
200     }
201 
202     channel->peerSessionName = sessionName;
203     channel->peerDeviceId = deviceId;
204     channel->groupId = groupId;
205     channel->channelId = TRANS_TEST_CHANNEL_ID;
206     channel->channelType = CHANNEL_TYPE_BUTT;
207     channel->peerPid = TRANS_TEST_PID;
208     channel->peerUid = TRANS_TEST_UID;
209     channel->isServer = false;
210     channel->businessType = BUSINESS_TYPE_BUTT;
211     channel->routeType = ROUTE_TYPE_ALL;
212     channel->encrypt = TRANS_TEST_FILE_ENCRYPT;
213     channel->algorithm = TRANS_TEST_ALGORITHM;
214     channel->crc = TRANS_TEST_CRC;
215 
216     return SOFTBUS_OK;
217 }
218 
TestGenerateSession(const SessionParam * param)219 static SessionInfo *TestGenerateSession(const SessionParam *param)
220 {
221     SessionInfo *session = (SessionInfo*)SoftBusCalloc(sizeof(SessionInfo));
222     if (session == nullptr) {
223         return nullptr;
224     }
225 
226     if (strcpy_s(session->info.peerSessionName, SESSION_NAME_SIZE_MAX, param->peerSessionName) != EOK ||
227         strcpy_s(session->info.peerDeviceId, DEVICE_ID_SIZE_MAX, param->peerDeviceId) != EOK ||
228         strcpy_s(session->info.groupId, GROUP_ID_SIZE_MAX, param->groupId) != EOK) {
229         SoftBusFree(session);
230         return nullptr;
231     }
232 
233     session->sessionId = TRANS_TEST_SESSION_ID;
234     session->channelId = TRANS_TEST_CHANNEL_ID;
235     session->channelType = CHANNEL_TYPE_BUTT;
236     session->isServer = false;
237     session->enableStatus = ENABLE_STATUS_INIT;
238     session->routeType = ROUTE_TYPE_ALL;
239     session->info.flag = TYPE_BYTES;
240     session->isEncrypt = true;
241     session->algorithm = TRANS_TEST_ALGORITHM;
242     session->fileEncrypt = TRANS_TEST_FILE_ENCRYPT;
243     session->crc = TRANS_TEST_CRC;
244 
245     return session;
246 }
247 
RelesseChannInfo(ChannelInfo * channel)248 static void RelesseChannInfo(ChannelInfo *channel)
249 {
250     if (channel != nullptr) {
251         if (channel->peerSessionName != nullptr) {
252             SoftBusFree(channel->peerSessionName);
253         }
254         if (channel->peerDeviceId != nullptr) {
255             SoftBusFree(channel->peerDeviceId);
256         }
257         if (channel->groupId != nullptr) {
258             SoftBusFree(channel->groupId);
259         }
260         SoftBusFree(channel);
261     }
262     channel = nullptr;
263 }
264 
265 /**
266  * @tc.name: TransClientSessionCallbackTest01
267  * @tc.desc: Transmission sdk session callback accept session as server with different parameters.
268  * @tc.type: FUNC
269  * @tc.require:
270  */
271 HWTEST_F(TransClientSessionCallbackTest, TransClientSessionCallbackTest01, TestSize.Level1)
272 {
273     int32_t sessionId = 0;
274     SessionParam *sessionParam = (SessionParam*)SoftBusCalloc(sizeof(SessionParam));
275     ASSERT_TRUE(sessionParam != nullptr);
276     TestGenerateCommParam(sessionParam);
277     int32_t ret = ClientAddSessionServer(SEC_TYPE_PLAINTEXT, g_pkgName, g_sessionName, &g_sessionlistener);
278     ASSERT_EQ(ret, SOFTBUS_OK);
279     ChannelInfo *channel = (ChannelInfo*)SoftBusCalloc(sizeof(ChannelInfo));
280     ASSERT_TRUE(channel != nullptr);
281     ret = TestGenerateChannInfo(channel);
282     ASSERT_EQ(ret, SOFTBUS_OK);
283     ret = AcceptSessionAsServer(g_sessionName, channel, TYPE_BUTT, &sessionId);
284     EXPECT_EQ(ret, SOFTBUS_OK);
285     const char *sessionName = "com.huawei.devicegroupmanage";
286     ret = AcceptSessionAsServer(sessionName, channel, TYPE_BUTT, &sessionId);
287     EXPECT_EQ(ret, SOFTBUS_TRANS_SESSIONSERVER_NOT_CREATED);
288     SoftBusFree(channel->groupId);
289     channel->groupId = nullptr;
290     ret = AcceptSessionAsServer(g_sessionName, channel, TYPE_BUTT, &sessionId);
291     EXPECT_EQ(ret, SOFTBUS_STRCPY_ERR);
292     ret = ClientDeleteSessionServer(SEC_TYPE_PLAINTEXT, g_sessionName);
293     EXPECT_EQ(ret, SOFTBUS_OK);
294     RelesseChannInfo(channel);
295 }
296 
297 /**
298  * @tc.name: TransClientSessionCallbackTest02
299  * @tc.desc: Transmission sdk session callback get session callback by channe id with different parameters.
300  * @tc.type: FUNC
301  * @tc.require:
302  */
303 HWTEST_F(TransClientSessionCallbackTest, TransClientSessionCallbackTest02, TestSize.Level1)
304 {
305     int32_t sessionId = 0;
306     ISessionListener listener = {0};
307     int32_t ret = GetSessionCallbackByChannelId(TRANS_TEST_INVALID_CHANNEL_ID, CHANNEL_TYPE_BUTT,
308                                                 &sessionId, &listener);
309     EXPECT_EQ(ret, SOFTBUS_INVALID_PARAM);
310     ret = GetSessionCallbackByChannelId(TRANS_TEST_CHANNEL_ID, CHANNEL_TYPE_BUTT, nullptr, &listener);
311     EXPECT_EQ(ret, SOFTBUS_INVALID_PARAM);
312     ret = GetSessionCallbackByChannelId(TRANS_TEST_CHANNEL_ID, CHANNEL_TYPE_BUTT, &sessionId, nullptr);
313     EXPECT_EQ(ret, SOFTBUS_INVALID_PARAM);
314     ret = GetSessionCallbackByChannelId(TRANS_TEST_CHANNEL_ID, CHANNEL_TYPE_BUTT, &sessionId, &listener);
315     EXPECT_EQ(ret, SOFTBUS_TRANS_SESSION_INFO_NOT_FOUND);
316     ret = ClientAddSessionServer(SEC_TYPE_PLAINTEXT, g_pkgName, g_sessionName, &g_sessionlistener);
317     EXPECT_EQ(ret, SOFTBUS_OK);
318     SessionParam *sessionParam = (SessionParam*)SoftBusCalloc(sizeof(SessionParam));
319     ASSERT_TRUE(sessionParam != nullptr);
320     TestGenerateCommParam(sessionParam);
321     SessionInfo *session = TestGenerateSession(sessionParam);
322     ASSERT_TRUE(session != nullptr);
323     ret = ClientAddNewSession(g_sessionName, session);
324     ASSERT_EQ(ret, SOFTBUS_OK);
325     ret = GetSessionCallbackByChannelId(TRANS_TEST_CHANNEL_ID, CHANNEL_TYPE_BUTT, &sessionId, &listener);
326     EXPECT_EQ(ret, SOFTBUS_OK);
327     ret = ClientDeleteSessionServer(SEC_TYPE_PLAINTEXT, g_sessionName);
328     EXPECT_EQ(ret, SOFTBUS_OK);
329     SoftBusFree(sessionParam);
330 }
331 
332 /**
333  * @tc.name: TransClientSessionCallbackTest03
334  * @tc.desc: Transmission sdk session callback on session opened with invalid parameters.
335  * @tc.type: FUNC
336  * @tc.require:
337  */
338 HWTEST_F(TransClientSessionCallbackTest, TransClientSessionCallbackTest03, TestSize.Level1)
339 {
340     ISessionListener sessionlistener = {
341         .OnSessionOpened = nullptr,
342         .OnSessionClosed = OnSessionClosed,
343         .OnBytesReceived = OnBytesReceived,
344         .OnMessageReceived = OnMessageReceived,
345     };
346     ChannelInfo *channel = (ChannelInfo*)SoftBusCalloc(sizeof(ChannelInfo));
347     ASSERT_TRUE(channel != nullptr);
348     int32_t ret = TestGenerateChannInfo(channel);
349     ASSERT_EQ(ret, SOFTBUS_OK);
350     ret = TransOnSessionOpened(nullptr, channel, TYPE_BUTT);
351     EXPECT_EQ(ret, SOFTBUS_INVALID_PARAM);
352     ret = TransOnSessionOpened(g_sessionName, nullptr, TYPE_BUTT);
353     EXPECT_EQ(ret, SOFTBUS_INVALID_PARAM);
354     ret = TransOnSessionOpened(g_sessionName, channel, TYPE_BUTT);
355     EXPECT_EQ(ret, SOFTBUS_NOT_FIND);
356     ret = ClientAddSessionServer(SEC_TYPE_PLAINTEXT, g_pkgName, g_sessionName, &sessionlistener);
357     ASSERT_EQ(ret, SOFTBUS_OK);
358     SessionParam *sessionParam = (SessionParam*)SoftBusCalloc(sizeof(SessionParam));
359     ASSERT_TRUE(sessionParam != nullptr);
360     TestGenerateCommParam(sessionParam);
361     SessionInfo *session = TestGenerateSession(sessionParam);
362     ASSERT_TRUE(session != nullptr);
363     ret = ClientAddNewSession(g_sessionName, session);
364     ASSERT_EQ(ret, SOFTBUS_OK);
365     ret = TransOnSessionOpened(g_sessionName, channel, TYPE_BUTT);
366     EXPECT_EQ(ret, SOFTBUS_TRANS_ON_SESSION_OPENED_FAILED);
367     ret = ClientDeleteSessionServer(SEC_TYPE_PLAINTEXT, g_sessionName);
368     EXPECT_EQ(ret, SOFTBUS_OK);
369     RelesseChannInfo(channel);
370     SoftBusFree(sessionParam);
371 }
372 
373 /**
374  * @tc.name: TransClientSessionCallbackTest04
375  * @tc.desc: Transmission sdk session callback on session opened with different parameters.
376  * @tc.type: FUNC
377  * @tc.require:
378  */
379 HWTEST_F(TransClientSessionCallbackTest, TransClientSessionCallbackTest04, TestSize.Level1)
380 {
381     ChannelInfo *channel = (ChannelInfo*)SoftBusCalloc(sizeof(ChannelInfo));
382     ASSERT_TRUE(channel != nullptr);
383     int32_t ret = TestGenerateChannInfo(channel);
384     ASSERT_EQ(ret, SOFTBUS_OK);
385     ret = ClientAddSessionServer(SEC_TYPE_PLAINTEXT, g_pkgName, g_sessionName, &g_sessionlistener);
386     ASSERT_EQ(ret, SOFTBUS_OK);
387     SessionParam *sessionParam = (SessionParam*)SoftBusCalloc(sizeof(SessionParam));
388     ASSERT_TRUE(sessionParam != nullptr);
389     TestGenerateCommParam(sessionParam);
390     SessionInfo *session = TestGenerateSession(sessionParam);
391     ASSERT_TRUE(session != nullptr);
392     ret = ClientAddNewSession(g_sessionName, session);
393     ASSERT_EQ(ret, SOFTBUS_OK);
394     channel->channelType = TYPE_BUTT;
395     ret = TransOnSessionOpened(g_sessionName, channel, TYPE_BYTES);
396     EXPECT_EQ(ret, SOFTBUS_TRANS_SESSION_INFO_NOT_FOUND);
397     channel->isServer = true;
398     ret = TransOnSessionOpened(g_sessionName, channel, TYPE_BYTES);
399     EXPECT_EQ(ret, SOFTBUS_OK);
400     ret = TransOnSessionOpenFailed(TRANS_TEST_CHANNEL_ID, TYPE_BYTES, SOFTBUS_NO_INIT);
401     EXPECT_EQ(ret, SOFTBUS_TRANS_SESSION_INFO_NOT_FOUND);
402     ret = ClientDeleteSessionServer(SEC_TYPE_PLAINTEXT, g_sessionName);
403     EXPECT_EQ(ret, SOFTBUS_OK);
404     RelesseChannInfo(channel);
405     SoftBusFree(sessionParam);
406 }
407 
408 /**
409  * @tc.name: TransClientSessionCallbackTest05
410  * @tc.desc: Transmission sdk session callback on session closed.
411  * @tc.type: FUNC
412  * @tc.require:
413  */
414 HWTEST_F(TransClientSessionCallbackTest, TransClientSessionCallbackTest05, TestSize.Level1)
415 {
416     int32_t ret = ClientAddSessionServer(SEC_TYPE_PLAINTEXT, g_pkgName, g_sessionName, &g_sessionlistener);
417     ASSERT_EQ(ret, SOFTBUS_OK);
418     SessionParam *sessionParam = (SessionParam*)SoftBusCalloc(sizeof(SessionParam));
419     ASSERT_TRUE(sessionParam != nullptr);
420     TestGenerateCommParam(sessionParam);
421     SessionInfo *session = TestGenerateSession(sessionParam);
422     ASSERT_TRUE(session != nullptr);
423     ret = ClientAddNewSession(g_sessionName, session);
424     ASSERT_EQ(ret, SOFTBUS_OK);
425     ret = TransOnSessionClosed(INVALID_CHANNEL_ID, CHANNEL_TYPE_BUTT, SHUTDOWN_REASON_UNKNOWN);
426     EXPECT_EQ(ret, SOFTBUS_NO_INIT);
427     ret = TransOnSessionClosed(TRANS_TEST_CHANNEL_ID, CHANNEL_TYPE_BUTT, SHUTDOWN_REASON_UNKNOWN);
428     EXPECT_EQ(ret, SOFTBUS_OK);
429     ret = ClientDeleteSessionServer(SEC_TYPE_PLAINTEXT, g_sessionName);
430     EXPECT_EQ(ret, SOFTBUS_OK);
431     SoftBusFree(sessionParam);
432 }
433 
434 /**
435  * @tc.name: TransClientSessionCallbackTest06
436  * @tc.desc: Transmission sdk session callback process receive file data with different parameter.
437  * @tc.type: FUNC
438  * @tc.require:
439  */
440 HWTEST_F(TransClientSessionCallbackTest, TransClientSessionCallbackTest06, TestSize.Level1)
441 {
442     int32_t sessionId = 0;
443     SessionEnableStatus isEnabled = ENABLE_STATUS_INIT;
444     int32_t ret = ProcessReceivedFileData(TRANS_TEST_SESSION_ID, TRANS_TEST_CHANNEL_ID, TRANS_TEST_AUTH_DATA,
445                                           strlen(TRANS_TEST_AUTH_DATA), TRANS_SESSION_FILE_FIRST_FRAME);
446     EXPECT_EQ(ret, SOFTBUS_TRANS_SESSION_INFO_NOT_FOUND);
447     ret = ClientAddSessionServer(SEC_TYPE_PLAINTEXT, g_pkgName, g_sessionName, &g_sessionlistener);
448     ASSERT_EQ(ret, SOFTBUS_OK);
449     SessionParam *sessionParam = (SessionParam*)SoftBusCalloc(sizeof(SessionParam));
450     ASSERT_TRUE(sessionParam != nullptr);
451     TestGenerateCommParam(sessionParam);
452     ret = ClientAddSession(sessionParam, &sessionId, &isEnabled);
453     ASSERT_EQ(ret, SOFTBUS_OK);
454     ret = ProcessReceivedFileData(sessionId, TRANS_TEST_CHANNEL_ID, TRANS_TEST_AUTH_DATA,
455                                   strlen(TRANS_TEST_AUTH_DATA), TRANS_SESSION_FILE_FIRST_FRAME);
456     EXPECT_EQ(ret, SOFTBUS_NO_INIT);
457     ret = ClientDeleteSessionServer(SEC_TYPE_PLAINTEXT, g_sessionName);
458     EXPECT_EQ(ret, SOFTBUS_OK);
459     SoftBusFree(sessionParam);
460 }
461 
462 /**
463  * @tc.name: TransClientSessionCallbackTest07
464  * @tc.desc: Transmission sdk session callback on data received with different parameter.
465  * @tc.type: FUNC
466  * @tc.require:
467  */
468 HWTEST_F(TransClientSessionCallbackTest, TransClientSessionCallbackTest07, TestSize.Level1)
469 {
470     int32_t ret = TransOnDataReceived(TRANS_TEST_CHANNEL_ID, CHANNEL_TYPE_BUTT, TRANS_TEST_AUTH_DATA,
471                                       strlen(TRANS_TEST_AUTH_DATA), TRANS_SESSION_FILE_FIRST_FRAME);
472     EXPECT_EQ(ret, SOFTBUS_TRANS_SESSION_INFO_NOT_FOUND);
473     ret = ClientAddSessionServer(SEC_TYPE_PLAINTEXT, g_pkgName, g_sessionName, &g_sessionlistener);
474     ASSERT_EQ(ret, SOFTBUS_OK);
475     SessionParam *sessionParam = (SessionParam*)SoftBusCalloc(sizeof(SessionParam));
476     ASSERT_TRUE(sessionParam != nullptr);
477     TestGenerateCommParam(sessionParam);
478     SessionInfo *session = TestGenerateSession(sessionParam);
479     ASSERT_TRUE(session != nullptr);
480     session->channelType = CHANNEL_TYPE_PROXY;
481     ret = ClientAddNewSession(g_sessionName, session);
482     ASSERT_EQ(ret, SOFTBUS_OK);
483     ret = TransOnDataReceived(TRANS_TEST_CHANNEL_ID, CHANNEL_TYPE_PROXY, TRANS_TEST_AUTH_DATA,
484                               strlen(TRANS_TEST_AUTH_DATA), TRANS_SESSION_FILE_FIRST_FRAME);
485     EXPECT_EQ(ret, SOFTBUS_NO_INIT);
486 
487     ret = TransOnDataReceived(TRANS_TEST_CHANNEL_ID, CHANNEL_TYPE_PROXY, TRANS_TEST_AUTH_DATA,
488                               strlen(TRANS_TEST_AUTH_DATA), TRANS_SESSION_FILE_ONGOINE_FRAME);
489     EXPECT_EQ(ret, SOFTBUS_NOT_FIND);
490 
491     ret = TransOnDataReceived(TRANS_TEST_CHANNEL_ID, CHANNEL_TYPE_PROXY, TRANS_TEST_AUTH_DATA,
492                               strlen(TRANS_TEST_AUTH_DATA), TRANS_SESSION_FILE_LAST_FRAME);
493     EXPECT_EQ(ret, SOFTBUS_NOT_FIND);
494 
495     ret = TransOnDataReceived(TRANS_TEST_CHANNEL_ID, CHANNEL_TYPE_PROXY, TRANS_TEST_AUTH_DATA,
496                               strlen(TRANS_TEST_AUTH_DATA), TRANS_SESSION_FILE_ONLYONE_FRAME);
497     EXPECT_EQ(ret, SOFTBUS_NOT_FIND);
498 
499     ret = TransOnDataReceived(TRANS_TEST_CHANNEL_ID, CHANNEL_TYPE_PROXY, TRANS_TEST_AUTH_DATA,
500                               strlen(TRANS_TEST_AUTH_DATA), TRANS_SESSION_BYTES);
501     EXPECT_EQ(ret, SOFTBUS_OK);
502     ret = TransOnDataReceived(TRANS_TEST_CHANNEL_ID, CHANNEL_TYPE_PROXY, TRANS_TEST_AUTH_DATA,
503                               strlen(TRANS_TEST_AUTH_DATA), TRANS_SESSION_MESSAGE);
504     EXPECT_EQ(ret, SOFTBUS_OK);
505     ret = ClientDeleteSessionServer(SEC_TYPE_PLAINTEXT, g_sessionName);
506     EXPECT_EQ(ret, SOFTBUS_OK);
507     SoftBusFree(sessionParam);
508 }
509 
510 /**
511  * @tc.name: TransClientSessionCallbackTest08
512  * @tc.desc: Transmission sdk session callback on stream received with different parameter.
513  * @tc.type: FUNC
514  * @tc.require:
515  */
516 HWTEST_F(TransClientSessionCallbackTest, TransClientSessionCallbackTest08, TestSize.Level1)
517 {
518     StreamData data = {0};
519     StreamData ext = {0};
520     StreamFrameInfo param = {0};
521     int32_t ret = TransOnOnStreamRecevied(TRANS_TEST_CHANNEL_ID, CHANNEL_TYPE_BUTT, &data, &ext, &param);
522     EXPECT_EQ(ret, SOFTBUS_TRANS_SESSION_INFO_NOT_FOUND);
523     ret = ClientAddSessionServer(SEC_TYPE_PLAINTEXT, g_pkgName, g_sessionName, &g_sessionlistener);
524     ASSERT_EQ(ret, SOFTBUS_OK);
525     SessionParam *sessionParam = (SessionParam*)SoftBusCalloc(sizeof(SessionParam));
526     ASSERT_TRUE(sessionParam != nullptr);
527     TestGenerateCommParam(sessionParam);
528     SessionInfo *session = TestGenerateSession(sessionParam);
529     ASSERT_TRUE(session != nullptr);
530     ret = ClientAddNewSession(g_sessionName, session);
531     ASSERT_EQ(ret, SOFTBUS_OK);
532     ret = TransOnOnStreamRecevied(TRANS_TEST_CHANNEL_ID, CHANNEL_TYPE_BUTT, &data, &ext, &param);
533     EXPECT_EQ(ret, SOFTBUS_OK);
534     ret = ClientDeleteSessionServer(SEC_TYPE_PLAINTEXT, g_sessionName);
535     EXPECT_EQ(ret, SOFTBUS_OK);
536     SoftBusFree(sessionParam);
537 }
538 
539 /**
540  * @tc.name: TransClientSessionCallbackTest09
541  * @tc.desc: Transmission sdk session callback on stream received no callback.
542  * @tc.type: FUNC
543  * @tc.require:
544  */
545 HWTEST_F(TransClientSessionCallbackTest, TransClientSessionCallbackTest09, TestSize.Level1)
546 {
547     StreamData data = {0};
548     StreamData ext = {0};
549     StreamFrameInfo param = {0};
550     ISessionListener sessionlistener = {
551         .OnSessionOpened = OnSessionOpened,
552         .OnSessionClosed = OnSessionClosed,
553         .OnBytesReceived = OnBytesReceived,
554         .OnMessageReceived = OnMessageReceived,
555         .OnStreamReceived = nullptr,
556     };
557     int32_t ret = ClientAddSessionServer(SEC_TYPE_PLAINTEXT, g_pkgName, g_sessionName, &sessionlistener);
558     ASSERT_EQ(ret, SOFTBUS_OK);
559     SessionParam *sessionParam = (SessionParam*)SoftBusCalloc(sizeof(SessionParam));
560     ASSERT_TRUE(sessionParam != nullptr);
561     TestGenerateCommParam(sessionParam);
562     SessionInfo *session = TestGenerateSession(sessionParam);
563     ASSERT_TRUE(session != nullptr);
564     ret = ClientAddNewSession(g_sessionName, session);
565     ASSERT_EQ(ret, SOFTBUS_OK);
566     ret = TransOnOnStreamRecevied(TRANS_TEST_CHANNEL_ID, CHANNEL_TYPE_BUTT, &data, &ext, &param);
567     EXPECT_EQ(ret, SOFTBUS_NO_INIT);
568     ret = ClientDeleteSessionServer(SEC_TYPE_PLAINTEXT, g_sessionName);
569     EXPECT_EQ(ret, SOFTBUS_OK);
570     SoftBusFree(sessionParam);
571 }
572 
573 /**
574  * @tc.name: TransClientSessionCallbackTest10
575  * @tc.desc: Transmission sdk session callback on qos with different parameter.
576  * @tc.type: FUNC
577  * @tc.require:
578  */
579 HWTEST_F(TransClientSessionCallbackTest, TransClientSessionCallbackTest10, TestSize.Level1)
580 {
581     QosTv *tvList = (QosTv*)SoftBusCalloc(sizeof(QosTv));
582     ASSERT_TRUE(tvList != nullptr);
583     int32_t ret = TransOnQosEvent(TRANS_TEST_CHANNEL_ID, CHANNEL_TYPE_BUTT, TRANS_TEST_EVENT_ID,
584                                   TRANS_TEST_TV_COUNT, tvList);
585     EXPECT_EQ(ret, SOFTBUS_TRANS_SESSION_INFO_NOT_FOUND);
586     ret = ClientAddSessionServer(SEC_TYPE_PLAINTEXT, g_pkgName, g_sessionName, &g_sessionlistener);
587     ASSERT_EQ(ret, SOFTBUS_OK);
588     SessionParam *sessionParam = (SessionParam*)SoftBusCalloc(sizeof(SessionParam));
589     ASSERT_TRUE(sessionParam != nullptr);
590     TestGenerateCommParam(sessionParam);
591     SessionInfo *session = TestGenerateSession(sessionParam);
592     ASSERT_TRUE(session != nullptr);
593     ret = ClientAddNewSession(g_sessionName, session);
594     ASSERT_EQ(ret, SOFTBUS_OK);
595     ret = TransOnQosEvent(TRANS_TEST_CHANNEL_ID, CHANNEL_TYPE_BUTT, TRANS_TEST_EVENT_ID, TRANS_TEST_TV_COUNT, tvList);
596     EXPECT_EQ(ret, SOFTBUS_OK);
597     ret = ClientDeleteSessionServer(SEC_TYPE_PLAINTEXT, g_sessionName);
598     EXPECT_EQ(ret, SOFTBUS_OK);
599     SoftBusFree(sessionParam);
600     SoftBusFree(tvList);
601 }
602 
603 /**
604  * @tc.name: TransClientSessionCallbackTest11
605  * @tc.desc: Transmission sdk session callback on qos no callback.
606  * @tc.type: FUNC
607  * @tc.require:
608  */
609 HWTEST_F(TransClientSessionCallbackTest, TransClientSessionCallbackTest11, TestSize.Level1)
610 {
611     QosTv *tvList = (QosTv*)SoftBusCalloc(sizeof(QosTv));
612     ASSERT_TRUE(tvList != nullptr);
613     ISessionListener sessionlistener = {
614         .OnSessionOpened = OnSessionOpened,
615         .OnSessionClosed = OnSessionClosed,
616         .OnBytesReceived = OnBytesReceived,
617         .OnMessageReceived = OnMessageReceived,
618         .OnStreamReceived = OnStreamReceived,
619         .OnQosEvent = nullptr,
620     };
621     int32_t ret = ClientAddSessionServer(SEC_TYPE_PLAINTEXT, g_pkgName, g_sessionName, &sessionlistener);
622     ASSERT_EQ(ret, SOFTBUS_OK);
623     SessionParam *sessionParam = (SessionParam*)SoftBusCalloc(sizeof(SessionParam));
624     ASSERT_TRUE(sessionParam != nullptr);
625     TestGenerateCommParam(sessionParam);
626     SessionInfo *session = TestGenerateSession(sessionParam);
627     ASSERT_TRUE(session != nullptr);
628     ret = ClientAddNewSession(g_sessionName, session);
629     ASSERT_EQ(ret, SOFTBUS_OK);
630     ret = TransOnQosEvent(TRANS_TEST_CHANNEL_ID, CHANNEL_TYPE_BUTT, TRANS_TEST_EVENT_ID, TRANS_TEST_TV_COUNT, tvList);
631     EXPECT_EQ(ret, SOFTBUS_NO_INIT);
632     ret = ClientDeleteSessionServer(SEC_TYPE_PLAINTEXT, g_sessionName);
633     EXPECT_EQ(ret, SOFTBUS_OK);
634     SoftBusFree(sessionParam);
635     SoftBusFree(tvList);
636 }
637 
638 /**
639  * @tc.name: TransClientSessionCallbackTest12
640  * @tc.desc: Transmission sdk session callback on session open failed with no callback.
641  * @tc.type: FUNC
642  * @tc.require:
643  */
644 HWTEST_F(TransClientSessionCallbackTest, TransClientSessionCallbackTest12, TestSize.Level1)
645 {
646     ISessionListener sessionlistener = {
647         .OnSessionOpened = nullptr,
648         .OnSessionClosed = OnSessionClosed,
649         .OnBytesReceived = OnBytesReceived,
650         .OnMessageReceived = OnMessageReceived,
651         .OnStreamReceived = OnStreamReceived,
652         .OnQosEvent = OnQosEvent,
653     };
654     int32_t ret = ClientAddSessionServer(SEC_TYPE_PLAINTEXT, g_pkgName, g_sessionName, &sessionlistener);
655     ASSERT_EQ(ret, SOFTBUS_OK);
656     SessionParam *sessionParam = (SessionParam*)SoftBusCalloc(sizeof(SessionParam));
657     ASSERT_TRUE(sessionParam != nullptr);
658     TestGenerateCommParam(sessionParam);
659     SessionInfo *session = TestGenerateSession(sessionParam);
660     ASSERT_TRUE(session != nullptr);
661     ret = ClientAddNewSession(g_sessionName, session);
662     ASSERT_EQ(ret, SOFTBUS_OK);
663     ret = TransOnSessionOpenFailed(TRANS_TEST_CHANNEL_ID, TYPE_BYTES, SOFTBUS_NO_INIT);
664     EXPECT_EQ(ret, SOFTBUS_TRANS_SESSION_INFO_NOT_FOUND);
665     ret = ClientDeleteSessionServer(SEC_TYPE_PLAINTEXT, g_sessionName);
666     EXPECT_EQ(ret, SOFTBUS_OK);
667     SoftBusFree(sessionParam);
668 }
669 
670 /**
671  * @tc.name: TransClientSessionCallbackTest13
672  * @tc.desc: Transmission sdk session callback on data received with different parameter.
673  * @tc.type: FUNC
674  * @tc.require:
675  */
676 HWTEST_F(TransClientSessionCallbackTest, TransClientSessionCallbackTest13, TestSize.Level1)
677 {
678     int32_t ret = TransOnDataReceived(TRANS_TEST_CHANNEL_ID, CHANNEL_TYPE_BUTT, TRANS_TEST_AUTH_DATA,
679                                       strlen(TRANS_TEST_AUTH_DATA), TRANS_SESSION_FILE_FIRST_FRAME);
680     EXPECT_EQ(ret, SOFTBUS_TRANS_SESSION_INFO_NOT_FOUND);
681     ret = ClientAddSessionServer(SEC_TYPE_PLAINTEXT, g_pkgName, g_sessionName, &g_sessionlistener);
682     ASSERT_EQ(ret, SOFTBUS_OK);
683     SessionParam *sessionParam = (SessionParam*)SoftBusCalloc(sizeof(SessionParam));
684     ASSERT_TRUE(sessionParam != nullptr);
685     TestGenerateCommParam(sessionParam);
686     SessionInfo *session = TestGenerateSession(sessionParam);
687     ASSERT_TRUE(session != nullptr);
688     session->channelType = CHANNEL_TYPE_UDP;
689     ret = ClientAddNewSession(g_sessionName, session);
690     ASSERT_EQ(ret, SOFTBUS_OK);
691 
692     ret = TransOnDataReceived(TRANS_TEST_CHANNEL_ID, CHANNEL_TYPE_UDP, TRANS_TEST_AUTH_DATA,
693                               strlen(TRANS_TEST_AUTH_DATA), TRANS_SESSION_FILE_ALLFILE_SENT);
694     EXPECT_EQ(ret, SOFTBUS_OK);
695 
696     ret = TransOnDataReceived(TRANS_TEST_CHANNEL_ID, CHANNEL_TYPE_UDP, TRANS_TEST_AUTH_DATA,
697                               strlen(TRANS_TEST_AUTH_DATA), TRANS_SESSION_FILE_CRC_CHECK_FRAME);
698     EXPECT_EQ(ret, SOFTBUS_OK);
699 
700     ret = TransOnDataReceived(TRANS_TEST_CHANNEL_ID, CHANNEL_TYPE_UDP, TRANS_TEST_AUTH_DATA,
701                               strlen(TRANS_TEST_AUTH_DATA), TRANS_SESSION_FILE_RESULT_FRAME);
702     EXPECT_EQ(ret, SOFTBUS_OK);
703 
704     ret = TransOnDataReceived(TRANS_TEST_CHANNEL_ID, CHANNEL_TYPE_UDP, TRANS_TEST_AUTH_DATA,
705                               strlen(TRANS_TEST_AUTH_DATA), TRANS_SESSION_FILE_ACK_REQUEST_SENT);
706     EXPECT_EQ(ret, SOFTBUS_OK);
707 
708     ret = TransOnDataReceived(TRANS_TEST_CHANNEL_ID, CHANNEL_TYPE_UDP, TRANS_TEST_AUTH_DATA,
709                               strlen(TRANS_TEST_AUTH_DATA), TRANS_SESSION_FILE_ACK_RESPONSE_SENT);
710     EXPECT_EQ(ret, SOFTBUS_OK);
711 
712     ret = TransOnDataReceived(TRANS_TEST_CHANNEL_ID, CHANNEL_TYPE_UDP, TRANS_TEST_AUTH_DATA,
713                               strlen(TRANS_TEST_AUTH_DATA), (SessionPktType)(TRANS_SESSION_FILE_ACK_RESPONSE_SENT + 1));
714     EXPECT_EQ(ret, SOFTBUS_TRANS_INVALID_SESSION_TYPE);
715 
716     ret = ClientDeleteSessionServer(SEC_TYPE_PLAINTEXT, g_sessionName);
717     EXPECT_EQ(ret, SOFTBUS_OK);
718     SoftBusFree(sessionParam);
719 }
720 
721 /**
722  * @tc.name: TransClientSessionCallbackTest14
723  * @tc.desc: HandleAsyncBindSuccess not found session.
724  * @tc.type: FUNC
725  * @tc.require:
726  */
727 HWTEST_F(TransClientSessionCallbackTest, TransClientSessionCallbackTest14, TestSize.Level1)
728 {
729     SocketLifecycleData lifecycle;
730     lifecycle.bindErrCode = 0;
731     int32_t ret = HandleAsyncBindSuccess(1, nullptr, &lifecycle);
732     EXPECT_EQ(ret, SOFTBUS_TRANS_SESSION_INFO_NOT_FOUND);
733 }
734 
735 /**
736  * @tc.name: TransClientSessionCallbackTest15
737  * @tc.desc: HandleSyncBindSuccess not found session.
738  * @tc.type: FUNC
739  * @tc.require:
740  */
741 HWTEST_F(TransClientSessionCallbackTest, TransClientSessionCallbackTest15, TestSize.Level1)
742 {
743     SocketLifecycleData lifecycle;
744     lifecycle.sessionState = SESSION_STATE_CANCELLING;
745     lifecycle.bindErrCode = SOFTBUS_TRANS_STOP_BIND_BY_TIMEOUT;
746     int32_t ret = HandleSyncBindSuccess(1, &lifecycle);
747     EXPECT_EQ(ret, SOFTBUS_OK);
748 
749     lifecycle.sessionState = SESSION_STATE_INIT;
750     ret = HandleSyncBindSuccess(1, &lifecycle);
751     EXPECT_EQ(ret, SOFTBUS_TRANS_SESSION_INFO_NOT_FOUND);
752 }
753 
754 /**
755  * @tc.name: TransClientSessionCallbackTest16
756  * @tc.desc: HandleSyncBindSuccess not found session.
757  * @tc.type: FUNC
758  * @tc.require:
759  */
760 HWTEST_F(TransClientSessionCallbackTest, TransClientSessionCallbackTest16, TestSize.Level1)
761 {
762     int32_t channelId = -1;
763     int32_t channelType = CHANNEL_TYPE_BUTT;
764     int32_t sessionId;
765     SessionListenerAdapter sessionCallback;
766     bool isServer = true;
767     SessionParam *sessionParam = (SessionParam*)SoftBusCalloc(sizeof(SessionParam));
768     ASSERT_TRUE(sessionParam != nullptr);
769     TestGenerateCommParam(sessionParam);
770     SessionInfo *session = TestGenerateSession(sessionParam);
771     ASSERT_TRUE(session != nullptr);
772 
773     int32_t ret = GetSocketCallbackAdapterByChannelId(channelId, channelType, &sessionId, &sessionCallback, &isServer);
774     EXPECT_EQ(ret, SOFTBUS_INVALID_PARAM);
775     channelId = TRANS_TEST_CHANNEL_ID;
776     ret = GetSocketCallbackAdapterByChannelId(channelId, channelType, nullptr, &sessionCallback, &isServer);
777     EXPECT_EQ(ret, SOFTBUS_INVALID_PARAM);
778     ret = GetSocketCallbackAdapterByChannelId(channelId, channelType, &sessionId, nullptr, &isServer);
779     EXPECT_EQ(ret, SOFTBUS_INVALID_PARAM);
780     ret = GetSocketCallbackAdapterByChannelId(channelId, channelType, &sessionId, &sessionCallback, nullptr);
781     EXPECT_EQ(ret, SOFTBUS_INVALID_PARAM);
782     ret = GetSocketCallbackAdapterByChannelId(channelId, channelType, &sessionId, &sessionCallback, &isServer);
783     EXPECT_EQ(ret, SOFTBUS_TRANS_SESSION_INFO_NOT_FOUND);
784 
785     ret = ClientAddSessionServer(SEC_TYPE_PLAINTEXT, g_pkgName, g_sessionName, &g_sessionlistener);
786     ASSERT_EQ(ret, SOFTBUS_OK);
787     ret = ClientAddNewSession(g_sessionName, session);
788     ASSERT_EQ(ret, SOFTBUS_OK);
789     ret = GetSocketCallbackAdapterByChannelId(channelId, channelType, &sessionId, &sessionCallback, &isServer);
790     EXPECT_EQ(ret, SOFTBUS_OK);
791     ret = ClientDeleteSessionServer(SEC_TYPE_PLAINTEXT, g_sessionName);
792     EXPECT_EQ(ret, SOFTBUS_OK);
793     SoftBusFree(sessionParam);
794 }
795 
796 /**
797  * @tc.name: TransClientSessionCallbackTest17
798  * @tc.desc: HandleSyncBindSuccess not found session.
799  * @tc.type: FUNC
800  * @tc.require:
801  */
802 HWTEST_F(TransClientSessionCallbackTest, TransClientSessionCallbackTest17, TestSize.Level1)
803 {
804     int32_t channelId = -1;
805     int32_t channelType = CHANNEL_TYPE_BUTT;
806     int32_t sessionId;
807     SessionListenerAdapter sessionCallback;
808     bool isServer = true;
809     SessionParam *sessionParam = (SessionParam*)SoftBusCalloc(sizeof(SessionParam));
810     ASSERT_TRUE(sessionParam != nullptr);
811     TestGenerateCommParam(sessionParam);
812     SessionInfo *session = TestGenerateSession(sessionParam);
813     ASSERT_TRUE(session != nullptr);
814     session->isClosing = true;
815 
816     int32_t ret = GetSocketCallbackAdapterByUdpChannelId(channelId,
817         channelType, &sessionId, &sessionCallback, &isServer);
818     EXPECT_EQ(ret, SOFTBUS_INVALID_PARAM);
819     channelId = TRANS_TEST_CHANNEL_ID;
820     ret = GetSocketCallbackAdapterByUdpChannelId(channelId, channelType, nullptr, &sessionCallback, &isServer);
821     EXPECT_EQ(ret, SOFTBUS_INVALID_PARAM);
822     ret = GetSocketCallbackAdapterByUdpChannelId(channelId, channelType, &sessionId, nullptr, &isServer);
823     EXPECT_EQ(ret, SOFTBUS_INVALID_PARAM);
824     ret = GetSocketCallbackAdapterByUdpChannelId(channelId, channelType, &sessionId, &sessionCallback, nullptr);
825     EXPECT_EQ(ret, SOFTBUS_INVALID_PARAM);
826     ret = GetSocketCallbackAdapterByUdpChannelId(channelId, channelType, &sessionId, &sessionCallback, &isServer);
827     EXPECT_EQ(ret, SOFTBUS_TRANS_SESSION_INFO_NOT_FOUND);
828 
829     ret = ClientAddSessionServer(SEC_TYPE_PLAINTEXT, g_pkgName, g_sessionName, &g_sessionlistener);
830     ASSERT_EQ(ret, SOFTBUS_OK);
831     ret = ClientAddNewSession(g_sessionName, session);
832     ASSERT_EQ(ret, SOFTBUS_OK);
833     ret = GetSocketCallbackAdapterByUdpChannelId(channelId, channelType, &sessionId, &sessionCallback, &isServer);
834     EXPECT_EQ(ret, SOFTBUS_OK);
835     ret = ClientDeleteSessionServer(SEC_TYPE_PLAINTEXT, g_sessionName);
836     EXPECT_EQ(ret, SOFTBUS_OK);
837     SoftBusFree(sessionParam);
838 }
839 
840 /**
841  * @tc.name: TransClientSessionCallbackTest18
842  * @tc.desc: HandleSyncBindSuccess not found session.
843  * @tc.type: FUNC
844  * @tc.require:
845  */
846 HWTEST_F(TransClientSessionCallbackTest, TransClientSessionCallbackTest18, TestSize.Level1)
847 {
848     SessionParam *sessionParam = (SessionParam*)SoftBusCalloc(sizeof(SessionParam));
849     ASSERT_TRUE(sessionParam != nullptr);
850     TestGenerateCommParam(sessionParam);
851     SessionInfo *session = TestGenerateSession(sessionParam);
852     ASSERT_TRUE(session != nullptr);
853     int32_t socketId = TRANS_TEST_SESSION_ID;
854 
855     int32_t ret = TransOnBindSuccess(socketId, nullptr);
856     EXPECT_EQ(ret, SOFTBUS_INVALID_PARAM);
857     ret = TransOnBindSuccess(socketId, &g_testSocketlistener);
858     EXPECT_EQ(ret, SOFTBUS_INVALID_PARAM);
859     ret = TransOnBindSuccess(socketId, &g_socketlistener);
860     EXPECT_EQ(ret, SOFTBUS_TRANS_SESSION_INFO_NOT_FOUND);
861 
862     ret = ClientAddSessionServer(SEC_TYPE_PLAINTEXT, g_pkgName, g_sessionName, &g_sessionlistener);
863     ASSERT_EQ(ret, SOFTBUS_OK);
864     ret = ClientAddNewSession(g_sessionName, session);
865     ASSERT_EQ(ret, SOFTBUS_OK);
866     ret = TransOnBindSuccess(socketId, &g_socketlistener);
867     EXPECT_EQ(ret, SOFTBUS_TRANS_SESSION_INFO_NOT_FOUND);
868     ret = ClientDeleteSessionServer(SEC_TYPE_PLAINTEXT, g_sessionName);
869     EXPECT_EQ(ret, SOFTBUS_OK);
870     SoftBusFree(sessionParam);
871 }
872 
873 /**
874  * @tc.name: TransClientSessionCallbackTest19
875  * @tc.desc: HandleSyncBindSuccess not found session.
876  * @tc.type: FUNC
877  * @tc.require:
878  */
879 HWTEST_F(TransClientSessionCallbackTest, TransClientSessionCallbackTest19, TestSize.Level1)
880 {
881     SessionParam *sessionParam = (SessionParam*)SoftBusCalloc(sizeof(SessionParam));
882     ASSERT_TRUE(sessionParam != nullptr);
883     TestGenerateCommParam(sessionParam);
884     SessionInfo *session = TestGenerateSession(sessionParam);
885     ASSERT_TRUE(session != nullptr);
886     int32_t socketId = TRANS_TEST_SESSION_ID;
887 
888     int32_t ret = TransOnNegotiate(socketId, nullptr);
889     EXPECT_EQ(ret, SOFTBUS_INVALID_PARAM);
890     ret = TransOnNegotiate(socketId, &g_testSocketlistener);
891     EXPECT_EQ(ret, SOFTBUS_OK);
892     ret = TransOnNegotiate(socketId, &g_socketlistener);
893     EXPECT_EQ(ret, SOFTBUS_TRANS_SESSION_INFO_NOT_FOUND);
894 
895     ret = ClientAddSessionServer(SEC_TYPE_PLAINTEXT, g_pkgName, g_sessionName, &g_sessionlistener);
896     ASSERT_EQ(ret, SOFTBUS_OK);
897     ret = ClientAddNewSession(g_sessionName, session);
898     ASSERT_EQ(ret, SOFTBUS_OK);
899     ret = TransOnNegotiate(socketId, &g_socketlistener);
900     EXPECT_EQ(ret, SOFTBUS_TRANS_SESSION_INFO_NOT_FOUND);
901     ret = HandleServerOnNegotiate(socketId, &g_socketlistener);
902     EXPECT_EQ(ret, SOFTBUS_TRANS_SESSION_INFO_NOT_FOUND);
903     ret = ClientDeleteSessionServer(SEC_TYPE_PLAINTEXT, g_sessionName);
904     EXPECT_EQ(ret, SOFTBUS_OK);
905     SoftBusFree(sessionParam);
906 }
907 
908 /**
909  * @tc.name: TransClientSessionCallbackTest20
910  * @tc.desc: HandleSyncBindSuccess not found session.
911  * @tc.type: FUNC
912  * @tc.require:
913  */
914 HWTEST_F(TransClientSessionCallbackTest, TransClientSessionCallbackTest20, TestSize.Level1)
915 {
916     int32_t socketId = TRANS_TEST_SESSION_ID;
917     bool isServer = true;
918     SessionListenerAdapter sessionCallback;
919     memset_s(&sessionCallback, sizeof(SessionListenerAdapter), 0, sizeof(SessionListenerAdapter));
920 
921     int32_t ret = HandleCacheQosEvent(socketId, sessionCallback, isServer);
922     EXPECT_EQ(ret, SOFTBUS_OK);
923     isServer = false;
924     ret = HandleCacheQosEvent(socketId, sessionCallback, isServer);
925     EXPECT_EQ(ret, SOFTBUS_OK);
926     ret = HandleOnBindSuccess(socketId, sessionCallback, isServer);
927     EXPECT_EQ(ret, SOFTBUS_NOT_FIND);
928 }
929 
930 /**
931  * @tc.name: TransClientSessionCallbackTest21
932  * @tc.desc: HandleSyncBindSuccess not found session.
933  * @tc.type: FUNC
934  * @tc.require:
935  */
936 HWTEST_F(TransClientSessionCallbackTest, TransClientSessionCallbackTest21, TestSize.Level1)
937 {
938     int32_t channelId = TRANS_TEST_CHANNEL_ID;
939     int32_t channelType = CHANNEL_TYPE_BUTT;
940 
941     int32_t ret = ClientTransOnChannelBind(channelId, channelType);
942     EXPECT_EQ(ret, SOFTBUS_TRANS_SESSION_INFO_NOT_FOUND);
943 }
944 
945 /**
946  * @tc.name: TransClientSessionCallbackTest22
947  * @tc.desc: HandleSyncBindSuccess not found session.
948  * @tc.type: FUNC
949  * @tc.require:
950  */
951 HWTEST_F(TransClientSessionCallbackTest, TransClientSessionCallbackTest22, TestSize.Level1)
952 {
953     SessionParam *sessionParam = (SessionParam*)SoftBusCalloc(sizeof(SessionParam));
954     ASSERT_TRUE(sessionParam != nullptr);
955     TestGenerateCommParam(sessionParam);
956     SessionInfo *session = TestGenerateSession(sessionParam);
957     ASSERT_TRUE(session != nullptr);
958     bool isSocket =  true;
959 
960     int32_t ret = ClientTransIfChannelForSocket(nullptr, &isSocket);
961     EXPECT_EQ(ret, SOFTBUS_INVALID_PARAM);
962     ret = ClientTransIfChannelForSocket(g_sessionName, nullptr);
963     EXPECT_EQ(ret, SOFTBUS_INVALID_PARAM);
964     ret = ClientTransIfChannelForSocket(g_sessionName, &isSocket);
965     EXPECT_EQ(ret, SOFTBUS_NOT_FIND);
966 
967     ret = ClientAddSessionServer(SEC_TYPE_PLAINTEXT, g_pkgName, g_sessionName, &g_sessionlistener);
968     ASSERT_EQ(ret, SOFTBUS_OK);
969     ret = ClientAddNewSession(g_sessionName, session);
970     ASSERT_EQ(ret, SOFTBUS_OK);
971     ret = ClientTransIfChannelForSocket(g_sessionName, &isSocket);
972     EXPECT_EQ(ret, SOFTBUS_OK);
973     ret = ClientDeleteSessionServer(SEC_TYPE_PLAINTEXT, g_sessionName);
974     EXPECT_EQ(ret, SOFTBUS_OK);
975     SoftBusFree(sessionParam);
976 }
977 
978 /**
979  * @tc.name: TransClientSessionCallbackTest23
980  * @tc.desc: HandleSyncBindSuccess not found session.
981  * @tc.type: FUNC
982  * @tc.require:
983  */
984 HWTEST_F(TransClientSessionCallbackTest, TransClientSessionCallbackTest23, TestSize.Level1)
985 {
986     SessionParam *sessionParam = (SessionParam*)SoftBusCalloc(sizeof(SessionParam));
987     ASSERT_TRUE(sessionParam != nullptr);
988     TestGenerateCommParam(sessionParam);
989     SessionInfo *session = TestGenerateSession(sessionParam);
990     ASSERT_TRUE(session != nullptr);
991     int32_t channelId = TRANS_TEST_CHANNEL_ID;
992     int32_t channelType = CHANNEL_TYPE_BUTT;
993     QoSEvent event = QOS_NOT_SATISFIED;
994     QosTV qos;
995     uint32_t count = 0;
996 
997     int32_t ret = ClientTransOnQos(channelId, channelType, event, nullptr, count);
998     EXPECT_EQ(ret, SOFTBUS_INVALID_PARAM);
999     ret = ClientTransOnQos(channelId, channelType, event, &qos, count);
1000     EXPECT_EQ(ret, SOFTBUS_TRANS_SESSION_INFO_NOT_FOUND);
1001 
1002     ret = ClientAddSessionServer(SEC_TYPE_PLAINTEXT, g_pkgName, g_sessionName, &g_sessionlistener);
1003     ASSERT_EQ(ret, SOFTBUS_OK);
1004     ret = ClientAddNewSession(g_sessionName, session);
1005     ASSERT_EQ(ret, SOFTBUS_OK);
1006     ret = ClientTransOnQos(channelId, channelType, event, &qos, count);
1007     EXPECT_EQ(ret, SOFTBUS_OK);
1008     ret = ClientDeleteSessionServer(SEC_TYPE_PLAINTEXT, g_sessionName);
1009     EXPECT_EQ(ret, SOFTBUS_OK);
1010     SoftBusFree(sessionParam);
1011 }
1012 
1013 /**
1014  * @tc.name: SetTimerTest001
1015  * @tc.desc: HandleSyncBindSuccess not found session.
1016  * @tc.type: FUNC
1017  * @tc.require:
1018  */
1019 HWTEST_F(TransClientSessionCallbackTest, SetTimerTest001, TestSize.Level1)
1020 {
1021     int32_t ret = SetTimer(nullptr, DFX_TIMERS_S);
1022     EXPECT_EQ(ret, INVALID);
1023 
1024     ret = SetTimer("OnChannelOpened", DFX_TIMERS_S);
1025     EXPECT_NE(ret, INVALID);
1026     CancelTimer(INVALID);
1027     CancelTimer(DFX_TIMERS_S);
1028 }
1029 
1030 /**
1031  * @tc.name: SoftBusGetSelfTokenIdTest001
1032  * @tc.desc: HandleSyncBindSuccess not found session.
1033  * @tc.type: FUNC
1034  * @tc.require:
1035  */
1036 HWTEST_F(TransClientSessionCallbackTest, SoftBusGetSelfTokenIdTest001, TestSize.Level1)
1037 {
1038     int32_t ret = SoftBusGetSelfTokenId(nullptr);
1039     EXPECT_EQ(ret, SOFTBUS_INVALID_PARAM);
1040 
1041     ret = SoftBusGetCallingFullTokenId(nullptr);
1042     EXPECT_EQ(ret, SOFTBUS_INVALID_PARAM);
1043 
1044     ret = SoftBusGetCallingTokenId(nullptr);
1045     EXPECT_EQ(ret, SOFTBUS_INVALID_PARAM);
1046 
1047     uint32_t tokenId = 1;
1048     ret = SoftBusGetCallingTokenId(&tokenId);
1049     EXPECT_EQ(ret, SOFTBUS_OK);
1050 }
1051 }