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