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, ¶m);
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, ¶m);
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, ¶m);
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 }