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 <gtest/gtest.h>
17
18 #include "net_trans_common.h"
19 #include "wifi_utils.h"
20 #include "softbus_errcode.h"
21 #include "accesstoken_kit.h"
22
23 using namespace testing::ext;
24
25 static const int EXPECT_INVALID_PARAM = SOFTBUS_INVALID_PARAM;
26
27 class TransReliabilityTest : public testing::Test {
28 public:
29 static void SetUpTestCase();
30 static void TearDownTestCase();
31 void SetUp();
32 void TearDown();
33 };
34
SetUp()35 void TransReliabilityTest::SetUp() {}
36
TearDown()37 void TransReliabilityTest::TearDown() {}
38
SetUpTestCase()39 void TransReliabilityTest::SetUpTestCase()
40 {
41 LOG("SetUp begin");
42 AddPermission();
43 sleep(1);
44 system("pidof accesstoken_ser | xargs kill -9");
45 sleep(1);
46 TestSetUp();
47 int ret = RegisterDeviceStateDefCallback();
48 EXPECT_EQ(SOFTBUS_OK, ret) << "call reg node state callback fail";
49 ret = CheckRemoteDeviceIsNull(BOOL_TRUE);
50 ASSERT_EQ(SOFTBUS_OK, ret) << "get node fail,please check network";
51 LOG("SetUp end");
52 }
53
TearDownTestCase()54 void TransReliabilityTest::TearDownTestCase()
55 {
56 int ret = UnRegisterDeviceStateDefCallback();
57 EXPECT_EQ(SOFTBUS_OK, ret) << "call unReg node state callback fail";
58
59 TestTearDown();
60 }
61
62 /**
63 * @tc.number : SUB_DSoftbus_Spec_DCTS_SessionServer_0100
64 * @tc.name : SessionId doesn’t exist,Failed to send byte
65 * @tc.desc : Test Transceiver data reliability
66 * @tc.type : RELI
67 * @tc.size : MediumTest
68 */
69 HWTEST_F(TransReliabilityTest, SUB_DSoftbus_Spec_DCTS_SessionServer_0100, TestSize.Level3)
70 {
71 int ret;
72 int sessionId = 0;
73 string data = "invalid session id";
74 ret = SendBytes(sessionId, data.c_str(), data.length());
75 EXPECT_EQ(SOFTBUS_TRANS_INVALID_SESSION_ID, ret);
76 }
77
78 /**
79 * @tc.number : SUB_DSoftbus_Spec_DCTS_SessionServer_0200
80 * @tc.name : SessionId closed,Failed to send byte
81 * @tc.desc : Test Transceiver data reliability
82 * @tc.type : RELI
83 * @tc.size : MediumTest
84 */
85 HWTEST_F(TransReliabilityTest, SUB_DSoftbus_Spec_DCTS_SessionServer_0200, TestSize.Level3)
86 {
87 int ret;
88 ret = CreateSsAndOpenSession4Data();
89 ASSERT_EQ(SOFTBUS_OK, ret) << "CreateSsAndOpenSession4Data fail";
90
91 int sessionId = GetCurrentSessionId4Data();
92 ret = CloseSessionAndRemoveSs4Data();
93 ASSERT_EQ(SOFTBUS_OK, ret);
94
95 string data = "session closed";
96 ret = SendBytes(sessionId, data.c_str(), data.length());
97 EXPECT_EQ(SOFTBUS_TRANS_INVALID_SESSION_ID, ret);
98 }
99
100 /**
101 * @tc.number : SUB_DSoftbus_Spec_DCTS_SessionServer_0300
102 * @tc.name : send data during OpenSession
103 * @tc.desc : Test Transceiver data reliability
104 * @tc.type : FUNC
105 * @tc.size : MediumTest
106 */
107 HWTEST_F(TransReliabilityTest, SUB_DSoftbus_Spec_DCTS_SessionServer_0300, TestSize.Level3)
108 {
109 int ret;
110 char* softbusPidStart;
111 char* softbusPidEnd;
112 softbusPidStart = GetSoftbusPid();
113 EXPECT_TRUE(softbusPidStart != NULL);
114
115 const int count = 4;
116 int sessionId4Data[count];
117 int sessionId4Ctrl[count];
118 char groupId[][GROUP_ID_LEN] = { "g1", "g2", "g3", "g4" };
119 ret = CreateSessionServer(DEF_PKG_NAME, SESSION_NAME_CTL, GetSessionListenser4Ctl());
120 EXPECT_EQ(SOFTBUS_OK, ret) << "CreateSS-ctrl fail";
121 ret = CreateSessionServer(DEF_PKG_NAME, SESSION_NAME_DATA, GetSessionListenser4Data());
122 EXPECT_EQ(SOFTBUS_OK, ret) << "CreateSS-data fail";
123 for (int i = 0; i < count; i++) {
124 sessionId4Data[i] =
125 OpenSession(SESSION_NAME_DATA, SESSION_NAME_DATA, GetNetworkId(), groupId[i], GetSessionAttr4Data());
126 sessionId4Ctrl[i] =
127 OpenSession(SESSION_NAME_CTL, SESSION_NAME_CTL, GetNetworkId(), groupId[i], GetSessionAttr4Ctl());
128 }
129
130 // send data
131 char* sendData = (char*)malloc(TRANS_BYTES_LENGTH_MAX);
132 ASSERT_TRUE(sendData != NULL);
133 (void)memset_s(sendData, TRANS_BYTES_LENGTH_MAX, 'C', TRANS_BYTES_LENGTH_MAX);
134 for (int i = 0; i < count; i++) {
135 ret = SendBytes(sessionId4Data[i], sendData, TRANS_BYTES_LENGTH_MAX);
136 LOG("######sid:%d, send byte:%d", sessionId4Data[i], ret);
137 ret = SendBytes(sessionId4Ctrl[i], sendData, TRANS_BYTES_LENGTH_MAX);
138 LOG("######sid:%d, send byte:%d", sessionId4Ctrl[i], ret);
139 }
140 for (int i = 0; i < count; i++) {
141 ret = SendMessage(sessionId4Data[i], sendData, TRANS_BYTES_LENGTH_MAX);
142 LOG("######sid:%d, send msg:%d", sessionId4Data[i], ret);
143 ret = SendMessage(sessionId4Ctrl[i], sendData, TRANS_BYTES_LENGTH_MAX);
144 LOG("######sid:%d, send msg:%d", sessionId4Ctrl[i], ret);
145 }
146
147 ret = RemoveSessionServer(DEF_PKG_NAME, SESSION_NAME_CTL);
148 EXPECT_EQ(SOFTBUS_OK, ret) << "RemoveSessionServer fail";
149 ret = RemoveSessionServer(DEF_PKG_NAME, SESSION_NAME_DATA);
150 EXPECT_EQ(SOFTBUS_OK, ret) << "RemoveSessionServer fail";
151
152 softbusPidEnd = GetSoftbusPid();
153 EXPECT_TRUE(softbusPidEnd != NULL);
154 EXPECT_STREQ(softbusPidStart, softbusPidEnd);
155 free(softbusPidStart);
156 free(softbusPidEnd);
157 free(sendData);
158 }
159
160 /**
161 * @tc.number : SUB_DSoftbus_Spec_DCTS_SessionServer_0400
162 * @tc.name : SessionId doesn’t exist,Failed to send Message
163 * @tc.desc : Test Transceiver data reliability
164 * @tc.type : RELI
165 * @tc.size : MediumTest
166 */
167 HWTEST_F(TransReliabilityTest, SUB_DSoftbus_Spec_DCTS_SessionServer_0400, TestSize.Level3)
168 {
169 int ret;
170 int sessionId = 0;
171 string data = "invalid session id";
172 ret = SendMessage(sessionId, data.c_str(), data.length());
173 EXPECT_EQ(SOFTBUS_TRANS_INVALID_SESSION_ID, ret);
174 }
175
176 /**
177 * @tc.number : SUB_DSoftbus_Spec_DCTS_SessionServer_0500
178 * @tc.name : CreateSessionServer repeatedly
179 * @tc.desc : Test session management reliability
180 * @tc.type : RELI
181 * @tc.size : MediumTest
182 */
183 HWTEST_F(TransReliabilityTest, SUB_DSoftbus_Spec_DCTS_SessionServer_0500, TestSize.Level3)
184 {
185 int ret;
186 char sessionNames[][SESSION_NAME_SIZE_MAX] = { "com.communication.demo1.1", "com.communication.demo1.2",
187 "com.communication.demo1.3", "com.communication.demo1.4", "com.communication.demo1.5",
188 "com.communication.demo1.6", "com.communication.demo1.7", "com.communication.demo1.8" };
189
190 for (int i = 0; i < MAX_SESSION_SERVER_NUM_CLIENT; i++) {
191 ret = CreateSessionServer(DEF_PKG_NAME, sessionNames[i], GetSessionListenser4Data());
192 EXPECT_EQ(SOFTBUS_OK, ret) << "CreateSS fail,i=" << i;
193 }
194
195 // repeat once, expect success
196 for (int i = 0; i < MAX_SESSION_SERVER_NUM_CLIENT; i++) {
197 ret = CreateSessionServer(DEF_PKG_NAME, sessionNames[i], GetSessionListenser4Data());
198 EXPECT_EQ(SOFTBUS_OK, ret) << "CreateSS success[repeat],i=" << i;
199 }
200
201 for (int i = 0; i < MAX_SESSION_SERVER_NUM_CLIENT; i++) {
202 ret = RemoveSessionServer(DEF_PKG_NAME, sessionNames[i]);
203 EXPECT_EQ(SOFTBUS_OK, ret) << "RemoveSS fail,i=" << i;
204 }
205 }
206
207 /**
208 * @tc.number : SUB_DSoftbus_Spec_DCTS_SessionServer_0600
209 * @tc.name : CreateSessionServer input pkg name null
210 * @tc.desc : Test session management reliability
211 * @tc.type : RELI
212 * @tc.size : MediumTest
213 */
214 HWTEST_F(TransReliabilityTest, SUB_DSoftbus_Spec_DCTS_SessionServer_0600, TestSize.Level3)
215 {
216 int ret;
217 ret = CreateSessionServer(NULL, SESSION_NAME_DATA, GetSessionListenser4Data());
218 EXPECT_EQ(EXPECT_INVALID_PARAM, ret) << "CreateSS[pkg name null]";
219 ret = RemoveSessionServer(DEF_PKG_NAME, SESSION_NAME_DATA);
220 EXPECT_EQ(SOFTBUS_OK, ret) << "RemoveSS fail[session listener only malloc]";
221 }
222
223 /**
224 * @tc.number : SUB_DSoftbus_Spec_DCTS_SessionServer_0700
225 * @tc.name : CreateSessionServer input session name null
226 * @tc.desc : Test session management reliability
227 * @tc.type : RELI
228 * @tc.size : MediumTest
229 */
230 HWTEST_F(TransReliabilityTest, SUB_DSoftbus_Spec_DCTS_SessionServer_0700, TestSize.Level3)
231 {
232 int ret;
233 ret = CreateSessionServer(DEF_PKG_NAME, NULL, GetSessionListenser4Data());
234 EXPECT_EQ(EXPECT_INVALID_PARAM, ret) << "CreateSS[session name null]";
235
236 ret = RemoveSessionServer(DEF_PKG_NAME, SESSION_NAME_DATA);
237 EXPECT_EQ(SOFTBUS_OK, ret) << "RemoveSS fail[session listener only malloc]";
238 }
239
240 /**
241 * @tc.number : SUB_DSoftbus_Spec_DCTS_SessionServer_0800
242 * @tc.name : CreateSessionServer input session listener null
243 * @tc.desc : Test session management reliability
244 * @tc.type : RELI
245 * @tc.size : MediumTest
246 */
247 HWTEST_F(TransReliabilityTest, SUB_DSoftbus_Spec_DCTS_SessionServer_0800, TestSize.Level3)
248 {
249 int ret;
250 ret = CreateSessionServer(DEF_PKG_NAME, SESSION_NAME_DATA, NULL);
251 EXPECT_EQ(EXPECT_INVALID_PARAM, ret) << "CreateSS[session listener null]";
252
253 ret = RemoveSessionServer(DEF_PKG_NAME, SESSION_NAME_DATA);
254 EXPECT_EQ(SOFTBUS_OK, ret) << "RemoveSS fail[session listener only malloc]";
255 }
256
257 /**
258 * @tc.number : SUB_DSoftbus_Spec_DCTS_SessionServer_0900
259 * @tc.name : CreateSessionServer input session listener only malloc
260 * @tc.desc : Test session management reliability
261 * @tc.type : RELI
262 * @tc.size : MediumTest
263 */
264 HWTEST_F(TransReliabilityTest, SUB_DSoftbus_Spec_DCTS_SessionServer_0900, TestSize.Level3)
265 {
266 int ret;
267 ISessionListener* listener = (ISessionListener*)malloc(sizeof(ISessionListener));
268 (void)memset_s(listener, sizeof(ISessionListener), 0, sizeof(ISessionListener));
269 ret = CreateSessionServer(DEF_PKG_NAME, SESSION_NAME_DATA, listener);
270 EXPECT_EQ(EXPECT_INVALID_PARAM, ret) << "CreateSS fail[session listener only malloc]";
271 ret = RemoveSessionServer(DEF_PKG_NAME, SESSION_NAME_DATA);
272 EXPECT_EQ(SOFTBUS_OK, ret) << "RemoveSS fail[session listener only malloc]";
273
274 free(listener);
275 }
276
277 /**
278 * @tc.number : SUB_DSoftbus_Spec_DCTS_SessionServer_1000
279 * @tc.name : CreateSessionServer input session listener only malloc
280 * @tc.desc : Test session management reliability
281 * @tc.type : RELI
282 * @tc.size : MediumTest
283 */
284 HWTEST_F(TransReliabilityTest, SUB_DSoftbus_Spec_DCTS_SessionServer_1000, TestSize.Level3)
285 {
286 int ret;
287 ISessionListener* listener = (ISessionListener*)malloc(sizeof(ISessionListener));
288
289 listener->OnBytesReceived = NULL;
290 listener->OnMessageReceived = NULL;
291 listener->OnSessionClosed = NULL;
292 listener->OnSessionOpened = NULL;
293 ret = CreateSessionServer(DEF_PKG_NAME, SESSION_NAME_DATA, listener);
294 EXPECT_EQ(EXPECT_INVALID_PARAM, ret) << "CreateSS success[session listener member=null]";
295 ret = RemoveSessionServer(DEF_PKG_NAME, SESSION_NAME_DATA);
296 EXPECT_EQ(SOFTBUS_OK, ret) << "RemoveSS fail[session listener only malloc]";
297
298 free(listener);
299 }
300
301 /**
302 * @tc.number : SUB_DSoftbus_Spec_DCTS_SessionServer_1100
303 * @tc.name : RemoveSessionServer input pkg name null
304 * @tc.desc : Test session management reliability
305 * @tc.type : RELI
306 * @tc.size : MediumTest
307 */
308 HWTEST_F(TransReliabilityTest, SUB_DSoftbus_Spec_DCTS_SessionServer_1100, TestSize.Level3)
309 {
310 int ret;
311 ret = RemoveSessionServer(NULL, SESSION_NAME_DATA);
312 EXPECT_EQ(SOFTBUS_INVALID_PARAM, ret) << "RemoveSS success[pkg name null]";
313
314 }
315
316 /**
317 * @tc.number : SUB_DSoftbus_Spec_DCTS_SessionServer_1200
318 * @tc.name : RemoveSessionServer input session name null
319 * @tc.desc : Test session management reliability
320 * @tc.type : RELI
321 * @tc.size : MediumTest
322 */
323 HWTEST_F(TransReliabilityTest, SUB_DSoftbus_Spec_DCTS_SessionServer_1200, TestSize.Level3)
324 {
325 int ret;
326
327 ret = RemoveSessionServer(DEF_PKG_NAME, NULL);
328 EXPECT_EQ(SOFTBUS_INVALID_PARAM, ret) << "RemoveSS success[session name null]";
329 }
330
331 /**
332 * @tc.number : SUB_DSoftbus_Spec_DCTS_SessionServer_1300
333 * @tc.name : RemoveSessionServer input all null
334 * @tc.desc : Test session management reliability
335 * @tc.type : RELI
336 * @tc.size : MediumTest
337 */
338 HWTEST_F(TransReliabilityTest, SUB_DSoftbus_Spec_DCTS_SessionServer_1300, TestSize.Level3)
339 {
340 int ret;
341 ret = RemoveSessionServer(NULL, NULL);
342 EXPECT_EQ(SOFTBUS_INVALID_PARAM, ret) << "RemoveSS success[all null]";
343 }
344
345 /**
346 * @tc.number : SUB_DSoftbus_Spec_DCTS_SessionServer_1400
347 * @tc.name : OpenSession, SessionServer do not exist
348 * @tc.desc : Test session management reliability
349 * @tc.type : RELI
350 * @tc.size : MediumTest
351 */
352 HWTEST_F(TransReliabilityTest, SUB_DSoftbus_Spec_DCTS_SessionServer_1400, TestSize.Level3)
353 {
354 int ret;
355 int sessionId;
356 ResetWaitFlag4Data();
357 sessionId = OpenSession(SESSION_NAME_DATA, SESSION_NAME_DATA, GetNetworkId(), DEF_GROUP_ID, GetSessionAttr4Data());
358 EXPECT_TRUE(sessionId < SESSION_ID_MIN) << "call OpenSession success,sid:" << sessionId;
359 SetCurrentSessionId4Data(sessionId);
360 ret = Wait4Session(5, SESSION_4DATA);
361 EXPECT_NE(SOFTBUS_OK, ret) << "Wait4Session success";
362 }
363
364 /**
365 * @tc.number : SUB_DSoftbus_Spec_DCTS_SessionServer_1500
366 * @tc.name : OpenSession Open the same one repeatedly
367 * @tc.desc : Test session management reliability
368 * @tc.type : RELI
369 * @tc.size : MediumTest
370 */
371 HWTEST_F(TransReliabilityTest, SUB_DSoftbus_Spec_DCTS_SessionServer_1500, TestSize.Level3)
372 {
373 int ret;
374 int sessionId;
375 ret = CreateSsAndOpenSession4Data();
376 EXPECT_EQ(SOFTBUS_OK, ret) << "CreateSsAndOpenSession4Data fail";
377 sessionId = GetCurrentSessionId4Data();
378
379 // open session repeat
380 int reSid;
381 ResetWaitFlag4Data();
382 reSid = OpenSession(SESSION_NAME_DATA, SESSION_NAME_DATA, GetNetworkId(), DEF_GROUP_ID, GetSessionAttr4Data());
383 EXPECT_EQ(sessionId, reSid) << "repeat open sid not match";
384
385 ret = CloseSessionAndRemoveSs4Data();
386 EXPECT_EQ(SOFTBUS_OK, ret) << "CloseSessionAndRemoveSs4Data fail";
387 }
388
389 /**
390 * @tc.number : SUB_DSoftbus_Spec_DCTS_SessionServer_1600
391 * @tc.name : OpenSession input my name null
392 * @tc.desc : Test session management reliability
393 * @tc.type : RELI
394 * @tc.size : MediumTest
395 */
396 HWTEST_F(TransReliabilityTest, SUB_DSoftbus_Spec_DCTS_SessionServer_1600, TestSize.Level3)
397 {
398 int ret;
399 ret = CreateSessionServer(DEF_PKG_NAME, SESSION_NAME_DATA, GetSessionListenser4Data());
400 EXPECT_EQ(SOFTBUS_OK, ret) << "CreateSessionServer fail";
401
402 int sessionId;
403 sessionId = OpenSession(NULL, SESSION_NAME_DATA, GetNetworkId(), DEF_GROUP_ID, GetSessionAttr4Data());
404 EXPECT_TRUE(sessionId < SESSION_ID_MIN) << "call opensession success[my name null]";
405
406 ret = RemoveSessionServer(DEF_PKG_NAME, SESSION_NAME_DATA);
407 EXPECT_EQ(SOFTBUS_OK, ret) << "RemoveSessionServer fail";
408 }
409
410 /**
411 * @tc.number : SUB_DSoftbus_Spec_DCTS_SessionServer_1700
412 * @tc.name : OpenSession input peer name null
413 * @tc.desc : Test session management reliability
414 * @tc.type : RELI
415 * @tc.size : MediumTest
416 */
417 HWTEST_F(TransReliabilityTest, SUB_DSoftbus_Spec_DCTS_SessionServer_1700, TestSize.Level3)
418 {
419 int ret;
420 ret = CreateSessionServer(DEF_PKG_NAME, SESSION_NAME_DATA, GetSessionListenser4Data());
421 EXPECT_EQ(SOFTBUS_OK, ret) << "CreateSessionServer fail";
422
423 int sessionId;
424 sessionId = OpenSession(SESSION_NAME_DATA, NULL, GetNetworkId(), DEF_GROUP_ID, GetSessionAttr4Data());
425 EXPECT_TRUE(sessionId < SESSION_ID_MIN) << "call opensession success[peer name null]";
426
427 ret = RemoveSessionServer(DEF_PKG_NAME, SESSION_NAME_DATA);
428 EXPECT_EQ(SOFTBUS_OK, ret) << "RemoveSessionServer fail";
429 }
430
431 /**
432 * @tc.number : SUB_DSoftbus_Spec_DCTS_SessionServer_1800
433 * @tc.name : OpenSession input net id null
434 * @tc.desc : Test session management reliability
435 * @tc.type : RELI
436 * @tc.size : MediumTest
437 */
438 HWTEST_F(TransReliabilityTest, SUB_DSoftbus_Spec_DCTS_SessionServer_1800, TestSize.Level3)
439 {
440 int ret;
441 ret = CreateSessionServer(DEF_PKG_NAME, SESSION_NAME_DATA, GetSessionListenser4Data());
442 EXPECT_EQ(SOFTBUS_OK, ret) << "CreateSessionServer fail";
443
444 int sessionId;
445 sessionId = OpenSession(SESSION_NAME_DATA, SESSION_NAME_DATA, NULL, DEF_GROUP_ID, GetSessionAttr4Data());
446 EXPECT_TRUE(sessionId < SESSION_ID_MIN) << "call opensession success[net id null]";
447
448 ret = RemoveSessionServer(DEF_PKG_NAME, SESSION_NAME_DATA);
449 EXPECT_EQ(SOFTBUS_OK, ret) << "RemoveSessionServer fail";
450 }
451
452 /**
453 * @tc.number : SUB_DSoftbus_Spec_DCTS_SessionServer_1900
454 * @tc.name : OpenSession input net id invalid
455 * @tc.desc : Test session management reliability
456 * @tc.type : RELI
457 * @tc.size : MediumTest
458 */
459 HWTEST_F(TransReliabilityTest, SUB_DSoftbus_Spec_DCTS_SessionServer_1900, TestSize.Level3)
460 {
461 int ret;
462 ret = CreateSessionServer(DEF_PKG_NAME, SESSION_NAME_DATA, GetSessionListenser4Data());
463 EXPECT_EQ(SOFTBUS_OK, ret) << "CreateSessionServer fail";
464
465 int sessionId;
466 string invalidNetId = "123456789012345678901234567890123456789012345678901234567890abcd";
467 sessionId =
468 OpenSession(SESSION_NAME_DATA, SESSION_NAME_DATA, invalidNetId.c_str(), DEF_GROUP_ID, GetSessionAttr4Data());
469 EXPECT_TRUE(sessionId < SESSION_ID_MIN) << "call opensession success[net id invalid]";
470
471 ret = RemoveSessionServer(DEF_PKG_NAME, SESSION_NAME_DATA);
472 EXPECT_EQ(SOFTBUS_OK, ret) << "RemoveSessionServer fail";
473 }
474
475 /**
476 * @tc.number : SUB_DSoftbus_Spec_DCTS_SessionServer_2000
477 * @tc.name : OpenSession input group id null
478 * @tc.desc : Test session management reliability
479 * @tc.type : RELI
480 * @tc.size : MediumTest
481 */
482 HWTEST_F(TransReliabilityTest, SUB_DSoftbus_Spec_DCTS_SessionServer_2000, TestSize.Level3)
483 {
484 int ret;
485 ret = CreateSessionServer(DEF_PKG_NAME, SESSION_NAME_DATA, GetSessionListenser4Data());
486 EXPECT_EQ(SOFTBUS_OK, ret) << "CreateSessionServer fail";
487
488 int sessionId;
489 sessionId = OpenSession(SESSION_NAME_DATA, SESSION_NAME_DATA, GetNetworkId(), NULL, GetSessionAttr4Data());
490 EXPECT_TRUE(sessionId < SESSION_ID_MIN) << "call opensession success[group id null]";
491
492 ret = RemoveSessionServer(DEF_PKG_NAME, SESSION_NAME_DATA);
493 EXPECT_EQ(SOFTBUS_OK, ret) << "RemoveSessionServer fail";
494 }
495
496 /**
497 * @tc.number : SUB_DSoftbus_Spec_DCTS_SessionServer_2100
498 * @tc.name : OpenSession input arrt null
499 * @tc.desc : Test session management reliability
500 * @tc.type : RELI
501 * @tc.size : MediumTest
502 */
503 HWTEST_F(TransReliabilityTest, SUB_DSoftbus_Spec_DCTS_SessionServer_2100, TestSize.Level3)
504 {
505 int ret;
506 ret = CreateSessionServer(DEF_PKG_NAME, SESSION_NAME_DATA, GetSessionListenser4Data());
507 EXPECT_EQ(SOFTBUS_OK, ret) << "CreateSessionServer fail";
508
509 int sessionId;
510 sessionId = OpenSession(SESSION_NAME_DATA, SESSION_NAME_DATA, GetNetworkId(), DEF_GROUP_ID, NULL);
511 EXPECT_TRUE(sessionId < SESSION_ID_MIN) << "call opensession success[arrt null]";
512
513 ret = RemoveSessionServer(DEF_PKG_NAME, SESSION_NAME_DATA);
514 EXPECT_EQ(SOFTBUS_OK, ret) << "RemoveSessionServer fail";
515 }
516
517 /**
518 * @tc.number : SUB_DSoftbus_Spec_DCTS_SessionServer_2200
519 * @tc.name : OpenSession input arrt invalid
520 * @tc.desc : Test session management reliability
521 * @tc.type : RELI
522 * @tc.size : MediumTest
523 */
524 HWTEST_F(TransReliabilityTest, SUB_DSoftbus_Spec_DCTS_SessionServer_2200, TestSize.Level3)
525 {
526 int ret;
527 ret = CreateSessionServer(DEF_PKG_NAME, SESSION_NAME_DATA, GetSessionListenser4Data());
528 EXPECT_EQ(SOFTBUS_OK, ret) << "CreateSessionServer fail";
529
530 int sessionId;
531 SessionAttribute sAttr;
532 sAttr.dataType = 50;
533 sessionId = OpenSession(SESSION_NAME_DATA, SESSION_NAME_DATA, GetNetworkId(), DEF_GROUP_ID, &sAttr);
534 EXPECT_TRUE(sessionId < SESSION_ID_MIN) << "call opensession success[arrt invalid]";
535
536 ret = RemoveSessionServer(DEF_PKG_NAME, SESSION_NAME_DATA);
537 EXPECT_EQ(SOFTBUS_OK, ret) << "RemoveSessionServer fail";
538 }
539
540 /**
541 * @tc.number : SUB_DSoftbus_Spec_DCTS_SessionServer_2300
542 * @tc.name : CloseSession repeatedly
543 * @tc.desc : Test session management reliability
544 * @tc.type : RELI
545 * @tc.size : MediumTest
546 */
547 HWTEST_F(TransReliabilityTest, SUB_DSoftbus_Spec_DCTS_SessionServer_2300, TestSize.Level3)
548 {
549 int ret;
550 int sessionId;
551 char* softbusPidStart;
552 char* softbusPidEnd;
553 softbusPidStart = GetSoftbusPid();
554 EXPECT_TRUE(softbusPidStart != NULL);
555
556 ret = CreateSsAndOpenSession4Data();
557 EXPECT_EQ(SOFTBUS_OK, ret) << "CreateSsAndOpenSession4Data fail";
558 sessionId = GetCurrentSessionId4Data();
559
560 ResetWaitFlag4Data();
561 CloseSession(sessionId);
562 ret = Wait4Session(3, SESSION_4DATA);
563 EXPECT_NE(SOFTBUS_OK, ret) << "CloseSession(first) hit callback, expect not";
564
565 // repeat,expect fail
566 ResetWaitFlag4Data();
567 CloseSession(sessionId);
568 ret = Wait4Session(3, SESSION_4DATA);
569 EXPECT_NE(SOFTBUS_OK, ret) << "CloseSession(repeat) hit callback, expect not";
570
571 ret = RemoveSessionServer(DEF_PKG_NAME, SESSION_NAME_DATA);
572 EXPECT_EQ(SOFTBUS_OK, ret) << "RemoveSessionServer fail";
573
574 softbusPidEnd = GetSoftbusPid();
575 EXPECT_TRUE(softbusPidEnd != NULL);
576 EXPECT_STREQ(softbusPidStart, softbusPidEnd);
577 free(softbusPidStart);
578 free(softbusPidEnd);
579 }
580
581 /**
582 * @tc.number : SUB_DSoftbus_Spec_DCTS_SessionServer_2400
583 * @tc.name : CloseSession not exist sessionId
584 * @tc.desc : Test session management reliability
585 * @tc.type : RELI
586 * @tc.size : MediumTest
587 */
588 HWTEST_F(TransReliabilityTest, SUB_DSoftbus_Spec_DCTS_SessionServer_2400, TestSize.Level3)
589 {
590 int ret;
591 int timeout = 3;
592 int sessionId = MAX_SESSION_NUM + 1;
593 ResetWaitFlag4Data();
594 CloseSession(sessionId);
595 ret = Wait4Session(timeout, SESSION_4DATA);
596 EXPECT_NE(SOFTBUS_OK, ret) << "CloseSession[sid > max] success";
597
598 sessionId = -1;
599 ResetWaitFlag4Data();
600 CloseSession(sessionId);
601 ret = Wait4Session(timeout, SESSION_4DATA);
602 EXPECT_NE(SOFTBUS_OK, ret) << "CloseSession[sid < 0] success";
603
604 sessionId = 10;
605 ResetWaitFlag4Data();
606 CloseSession(sessionId);
607 ret = Wait4Session(timeout, SESSION_4DATA);
608 EXPECT_NE(SOFTBUS_OK, ret) << "CloseSession[sid not open] success";
609 }
610
611 /**
612 * @tc.number : SUB_DSoftbus_Spec_DCTS_SessionServer_2500
613 * @tc.name : GetMySessionName input invalid sid -1
614 * @tc.desc : Test session management reliability
615 * @tc.type : RELI
616 * @tc.size : MediumTest
617 */
618 HWTEST_F(TransReliabilityTest, SUB_DSoftbus_Spec_DCTS_SessionServer_2500, TestSize.Level3)
619 {
620 int ret;
621 int sessionId;
622 ret = CreateSsAndOpenSession4Data();
623 ASSERT_EQ(SOFTBUS_OK, ret) << "CreateSsAndOpenSession4Data fail";
624 sessionId = GetCurrentSessionId4Data();
625
626 char mySname[SESSION_NAME_SIZE_MAX] = { 0 };
627 ret = GetMySessionName(-1, mySname, SESSION_NAME_SIZE_MAX);
628 EXPECT_EQ(EXPECT_INVALID_PARAM, ret) << "GetMySessionName invalid sid[-1]";
629
630 ret = CloseSessionAndRemoveSs4Data();
631 EXPECT_EQ(SOFTBUS_OK, ret) << "CloseSessionAndRemoveSs4Data fail";
632 }
633
634 /**
635 * @tc.number : SUB_DSoftbus_Spec_DCTS_SessionServer_2600
636 * @tc.name : GetMySessionName input invalid sid max+1
637 * @tc.desc : Test session management reliability
638 * @tc.type : RELI
639 * @tc.size : MediumTest
640 */
641 HWTEST_F(TransReliabilityTest, SUB_DSoftbus_Spec_DCTS_SessionServer_2600, TestSize.Level3)
642 {
643 int ret;
644 int sessionId;
645 ret = CreateSsAndOpenSession4Data();
646 ASSERT_EQ(SOFTBUS_OK, ret) << "CreateSsAndOpenSession4Data fail";
647 sessionId = GetCurrentSessionId4Data();
648
649 char mySname[SESSION_NAME_SIZE_MAX] = { 0 };
650 ret = GetMySessionName(MAX_SESSION_NUM + 1, mySname, SESSION_NAME_SIZE_MAX);
651 EXPECT_EQ(SOFTBUS_TRANS_SESSION_INFO_NOT_FOUND, ret) << "GetMySessionName invalid sid[max+1]";
652
653 ret = CloseSessionAndRemoveSs4Data();
654 EXPECT_EQ(SOFTBUS_OK, ret) << "CloseSessionAndRemoveSs4Data fail";
655 }
656
657 /**
658 * @tc.number : SUB_DSoftbus_Spec_DCTS_SessionServer_2700
659 * @tc.name : GetMySessionName input invalid sid not open
660 * @tc.desc : Test session management reliability
661 * @tc.type : RELI
662 * @tc.size : MediumTest
663 */
664 HWTEST_F(TransReliabilityTest, SUB_DSoftbus_Spec_DCTS_SessionServer_2700, TestSize.Level3)
665 {
666 int ret;
667 int sessionId;
668 ret = CreateSsAndOpenSession4Data();
669 ASSERT_EQ(SOFTBUS_OK, ret) << "CreateSsAndOpenSession4Data fail";
670 sessionId = GetCurrentSessionId4Data();
671
672 char mySname[SESSION_NAME_SIZE_MAX] = { 0 };
673 ret = GetMySessionName(sessionId + 1, mySname, SESSION_NAME_SIZE_MAX);
674 EXPECT_EQ(SOFTBUS_TRANS_SESSION_INFO_NOT_FOUND, ret) << "GetMySessionName invalid sid[not open]";
675
676 ret = CloseSessionAndRemoveSs4Data();
677 EXPECT_EQ(SOFTBUS_OK, ret) << "CloseSessionAndRemoveSs4Data fail";
678 }
679
680 /**
681 * @tc.number : SUB_DSoftbus_Spec_DCTS_SessionServer_2800
682 * @tc.name : GetMySessionName input MySessionName invalid sname null
683 * @tc.desc : Test session management reliability
684 * @tc.type : RELI
685 * @tc.size : MediumTest
686 */
687 HWTEST_F(TransReliabilityTest, SUB_DSoftbus_Spec_DCTS_SessionServer_2800, TestSize.Level3)
688 {
689 int ret;
690 int sessionId;
691 ret = CreateSsAndOpenSession4Data();
692 ASSERT_EQ(SOFTBUS_OK, ret) << "CreateSsAndOpenSession4Data fail";
693 sessionId = GetCurrentSessionId4Data();
694
695 ret = GetMySessionName(sessionId, NULL, SESSION_NAME_SIZE_MAX);
696 EXPECT_EQ(EXPECT_INVALID_PARAM, ret) << "GetMySessionName invalid sname[null]";
697
698 ret = CloseSessionAndRemoveSs4Data();
699 EXPECT_EQ(SOFTBUS_OK, ret) << "CloseSessionAndRemoveSs4Data fail";
700 }
701
702 /**
703 * @tc.number : SUB_DSoftbus_Spec_DCTS_SessionServer_2900
704 * @tc.name : GetMySessionName input MySessionName invalid len[max+1]
705 * @tc.desc : Test session management reliability
706 * @tc.type : RELI
707 * @tc.size : MediumTest
708 */
709 HWTEST_F(TransReliabilityTest, SUB_DSoftbus_Spec_DCTS_SessionServer_2900, TestSize.Level3)
710 {
711 int ret;
712 int sessionId;
713 ret = CreateSsAndOpenSession4Data();
714 ASSERT_EQ(SOFTBUS_OK, ret) << "CreateSsAndOpenSession4Data fail";
715 sessionId = GetCurrentSessionId4Data();
716
717 char mySname[SESSION_NAME_SIZE_MAX] = { 0 };
718 ret = GetMySessionName(sessionId, mySname, SESSION_NAME_SIZE_MAX + 1);
719 EXPECT_EQ(EXPECT_INVALID_PARAM, ret) << "GetMySessionName invalid len[max+1]";
720
721 ret = CloseSessionAndRemoveSs4Data();
722 EXPECT_EQ(SOFTBUS_OK, ret) << "CloseSessionAndRemoveSs4Data fail";
723 }
724
725 /**
726 * @tc.number : SUB_DSoftbus_Spec_DCTS_SessionServer_3000
727 * @tc.name : GetMySessionName input MySessionName len short than real
728 * @tc.desc : Test session management reliability
729 * @tc.type : RELI
730 * @tc.size : MediumTest
731 */
732 HWTEST_F(TransReliabilityTest, SUB_DSoftbus_Spec_DCTS_SessionServer_3000, TestSize.Level3)
733 {
734 int ret;
735 int sessionId;
736 ret = CreateSsAndOpenSession4Data();
737 ASSERT_EQ(SOFTBUS_OK, ret) << "CreateSsAndOpenSession4Data fail";
738 sessionId = GetCurrentSessionId4Data();
739 char mySnameShort[5];
740 ret = GetMySessionName(sessionId, mySnameShort, 5);
741 EXPECT_NE(SOFTBUS_OK, ret) << "GetMySessionName len short than real";
742
743 ret = CloseSessionAndRemoveSs4Data();
744 EXPECT_EQ(SOFTBUS_OK, ret) << "CloseSessionAndRemoveSs4Data fail";
745 }
746
747 /**
748 * @tc.number : SUB_DSoftbus_Spec_DCTS_SessionServer_3100
749 * @tc.name : GetPeersessionName input invalid sid -1
750 * @tc.desc : Test session management reliability
751 * @tc.type : RELI
752 * @tc.size : MediumTest
753 */
754 HWTEST_F(TransReliabilityTest, SUB_DSoftbus_Spec_DCTS_SessionServer_3100, TestSize.Level3)
755 {
756 int ret;
757 int sessionId;
758 ret = CreateSsAndOpenSession4Data();
759 ASSERT_EQ(SOFTBUS_OK, ret) << "CreateSsAndOpenSession4Data fail";
760 sessionId = GetCurrentSessionId4Data();
761
762 char peerSname[SESSION_NAME_SIZE_MAX] = { 0 };
763 ret = GetPeerSessionName(-1, peerSname, SESSION_NAME_SIZE_MAX);
764 EXPECT_EQ(EXPECT_INVALID_PARAM, ret) << "GetPeerSessionName invalid sid[-1]";
765
766 ret = CloseSessionAndRemoveSs4Data();
767 EXPECT_EQ(SOFTBUS_OK, ret) << "CloseSessionAndRemoveSs4Data fail";
768 }
769
770 /**
771 * @tc.number : SUB_DSoftbus_Spec_DCTS_SessionServer_3200
772 * @tc.name : GetPeersessionName input invalid sid max+1
773 * @tc.desc : Test session management reliability
774 * @tc.type : RELI
775 * @tc.size : MediumTest
776 */
777 HWTEST_F(TransReliabilityTest, SUB_DSoftbus_Spec_DCTS_SessionServer_3200, TestSize.Level3)
778 {
779 int ret;
780 int sessionId;
781 ret = CreateSsAndOpenSession4Data();
782 ASSERT_EQ(SOFTBUS_OK, ret) << "CreateSsAndOpenSession4Data fail";
783 sessionId = GetCurrentSessionId4Data();
784
785 char peerSname[SESSION_NAME_SIZE_MAX] = { 0 };
786 ret = GetPeerSessionName(MAX_SESSION_NUM + 1, peerSname, SESSION_NAME_SIZE_MAX);
787 EXPECT_EQ(SOFTBUS_TRANS_SESSION_INFO_NOT_FOUND, ret) << "GetPeerSessionName invalid sid[max+1]";
788
789 ret = CloseSessionAndRemoveSs4Data();
790 EXPECT_EQ(SOFTBUS_OK, ret) << "CloseSessionAndRemoveSs4Data fail";
791 }
792
793 /**
794 * @tc.number : SUB_DSoftbus_Spec_DCTS_SessionServer_3300
795 * @tc.name : GetPeersessionName input invalid sid not open
796 * @tc.desc : Test session management reliability
797 * @tc.type : RELI
798 * @tc.size : MediumTest
799 */
800 HWTEST_F(TransReliabilityTest, SUB_DSoftbus_Spec_DCTS_SessionServer_3300, TestSize.Level3)
801 {
802 int ret;
803 int sessionId;
804 ret = CreateSsAndOpenSession4Data();
805 ASSERT_EQ(SOFTBUS_OK, ret) << "CreateSsAndOpenSession4Data fail";
806 sessionId = GetCurrentSessionId4Data();
807
808 char peerSname[SESSION_NAME_SIZE_MAX] = { 0 };
809 ret = GetPeerSessionName(sessionId + 1, peerSname, SESSION_NAME_SIZE_MAX);
810 EXPECT_EQ(SOFTBUS_TRANS_SESSION_INFO_NOT_FOUND, ret) << "GetPeerSessionName invalid sid[not open]";
811
812 ret = CloseSessionAndRemoveSs4Data();
813 EXPECT_EQ(SOFTBUS_OK, ret) << "CloseSessionAndRemoveSs4Data fail";
814 }
815
816 /**
817 * @tc.number : SUB_DSoftbus_Spec_DCTS_SessionServer_3400
818 * @tc.name : GetPeersessionName input SessionName invalid sname[null]
819 * @tc.desc : Test session management reliability
820 * @tc.type : RELI
821 * @tc.size : MediumTest
822 */
823 HWTEST_F(TransReliabilityTest, SUB_DSoftbus_Spec_DCTS_SessionServer_3400, TestSize.Level3)
824 {
825 int ret;
826 int sessionId;
827 ret = CreateSsAndOpenSession4Data();
828 ASSERT_EQ(SOFTBUS_OK, ret) << "CreateSsAndOpenSession4Data fail";
829 sessionId = GetCurrentSessionId4Data();
830
831 ret = GetPeerSessionName(sessionId, NULL, SESSION_NAME_SIZE_MAX);
832 EXPECT_EQ(EXPECT_INVALID_PARAM, ret) << "GetPeerSessionName invalid sname[null]";
833
834 ret = CloseSessionAndRemoveSs4Data();
835 EXPECT_EQ(SOFTBUS_OK, ret) << "CloseSessionAndRemoveSs4Data fail";
836 }
837
838 /**
839 * @tc.number : SUB_DSoftbus_Spec_DCTS_SessionServer_3500
840 * @tc.name : GetPeersessionName input PeerSessionName invalid len[max+1]
841 * @tc.desc : Test session management reliability
842 * @tc.type : RELI
843 * @tc.size : MediumTest
844 */
845 HWTEST_F(TransReliabilityTest, SUB_DSoftbus_Spec_DCTS_SessionServer_3500, TestSize.Level3)
846 {
847 int ret;
848 int sessionId;
849 ret = CreateSsAndOpenSession4Data();
850 ASSERT_EQ(SOFTBUS_OK, ret) << "CreateSsAndOpenSession4Data fail";
851 sessionId = GetCurrentSessionId4Data();
852
853 char peerSname[SESSION_NAME_SIZE_MAX] = { 0 };
854 ret = GetPeerSessionName(sessionId, peerSname, SESSION_NAME_SIZE_MAX + 1);
855 EXPECT_EQ(EXPECT_INVALID_PARAM, ret) << "GetPeerSessionName invalid len[max+1]";
856
857 ret = CloseSessionAndRemoveSs4Data();
858 EXPECT_EQ(SOFTBUS_OK, ret) << "CloseSessionAndRemoveSs4Data fail";
859 }
860
861 /**
862 * @tc.number : SUB_DSoftbus_Spec_DCTS_SessionServer_3600
863 * @tc.name : GetPeersessionName input PeerSessionName len short than real
864 * @tc.desc : Test session management reliability
865 * @tc.type : RELI
866 * @tc.size : MediumTest
867 */
868 HWTEST_F(TransReliabilityTest, SUB_DSoftbus_Spec_DCTS_SessionServer_3600, TestSize.Level3)
869 {
870 int ret;
871 int sessionId;
872 ret = CreateSsAndOpenSession4Data();
873 ASSERT_EQ(SOFTBUS_OK, ret) << "CreateSsAndOpenSession4Data fail";
874 sessionId = GetCurrentSessionId4Data();
875
876 char peerSnameShort[5];
877 ret = GetPeerSessionName(sessionId, peerSnameShort, 5);
878 EXPECT_NE(SOFTBUS_OK, ret) << "GetPeerSessionName len short than real";
879
880 ret = CloseSessionAndRemoveSs4Data();
881 EXPECT_EQ(SOFTBUS_OK, ret) << "CloseSessionAndRemoveSs4Data fail";
882 }
883
884 /**
885 * @tc.number : SUB_DSoftbus_Spec_DCTS_SessionServer_3700
886 * @tc.name : GetPeerDeviceId input DeviceId invalid sid -1
887 * @tc.desc : 【G-DISTRIBUTED-0205】禁止修改Openharmony分布式软总线设备间传输通道管理协议。
888 * @tc.type : RELI
889 * @tc.size : MediumTest
890 */
891 HWTEST_F(TransReliabilityTest, SUB_DSoftbus_Spec_DCTS_SessionServer_3700, TestSize.Level3)
892 {
893 int ret;
894 int sessionId;
895 ret = CreateSsAndOpenSession4Data();
896 ASSERT_EQ(SOFTBUS_OK, ret) << "CreateSsAndOpenSession4Data fail";
897 sessionId = GetCurrentSessionId4Data();
898
899 char deviceId[SESSION_NAME_SIZE_MAX] = { 0 };
900 ret = GetPeerDeviceId(-1, deviceId, SESSION_NAME_SIZE_MAX);
901 EXPECT_EQ(EXPECT_INVALID_PARAM, ret) << "GetPeerDeviceId invalid sid[-1]";
902
903 ret = CloseSessionAndRemoveSs4Data();
904 EXPECT_EQ(SOFTBUS_OK, ret) << "CloseSessionAndRemoveSs4Data fail";
905 }
906
907 /**
908 * @tc.number : SUB_DSoftbus_Spec_DCTS_SessionServer_3800
909 * @tc.name : GetPeerDeviceId input DeviceId invalid sid[max+1]
910 * @tc.desc : Test session management reliability
911 * @tc.type : RELI
912 * @tc.size : MediumTest
913 */
914 HWTEST_F(TransReliabilityTest, SUB_DSoftbus_Spec_DCTS_SessionServer_3800, TestSize.Level3)
915 {
916 int ret;
917 int sessionId;
918 ret = CreateSsAndOpenSession4Data();
919 ASSERT_EQ(SOFTBUS_OK, ret) << "CreateSsAndOpenSession4Data fail";
920 sessionId = GetCurrentSessionId4Data();
921
922 char deviceId[SESSION_NAME_SIZE_MAX] = { 0 };
923 ret = GetPeerDeviceId(MAX_SESSION_NUM + 1, deviceId, SESSION_NAME_SIZE_MAX);
924 EXPECT_EQ(SOFTBUS_TRANS_SESSION_INFO_NOT_FOUND, ret) << "GetPeerDeviceId invalid sid[max+1]";
925
926 ret = CloseSessionAndRemoveSs4Data();
927 EXPECT_EQ(SOFTBUS_OK, ret) << "CloseSessionAndRemoveSs4Data fail";
928 }
929
930 /**
931 * @tc.number : SUB_DSoftbus_Spec_DCTS_SessionServer_3900
932 * @tc.name : GetPeerDeviceId input DeviceId invalid sid not open
933 * @tc.desc : 【G-DISTRIBUTED-0205】禁止修改Openharmony分布式软总线设备间传输通道管理协议。
934 * @tc.type : RELI
935 * @tc.size : MediumTest
936 */
937 HWTEST_F(TransReliabilityTest, SUB_DSoftbus_Spec_DCTS_SessionServer_3900, TestSize.Level3)
938 {
939 int ret;
940 int sessionId;
941 ret = CreateSsAndOpenSession4Data();
942 ASSERT_EQ(SOFTBUS_OK, ret) << "CreateSsAndOpenSession4Data fail";
943
944 char deviceId[SESSION_NAME_SIZE_MAX] = { 0 };
945 sessionId = GetCurrentSessionId4Data();
946 ret = GetPeerDeviceId(sessionId + 1, deviceId, SESSION_NAME_SIZE_MAX);
947 EXPECT_EQ(SOFTBUS_TRANS_SESSION_INFO_NOT_FOUND, ret) << "GetPeerDeviceId invalid sid[not open]";
948 ret = CloseSessionAndRemoveSs4Data();
949 EXPECT_EQ(SOFTBUS_OK, ret) << "CloseSessionAndRemoveSs4Data fail";
950 }
951
952 /**
953 * @tc.number : SUB_DSoftbus_Spec_DCTS_SessionServer_4000
954 * @tc.name : GetPeerDeviceId input DeviceId invalid sname[null]
955 * @tc.desc : 【G-DISTRIBUTED-0205】禁止修改Openharmony分布式软总线设备间传输通道管理协议。
956 * @tc.type : RELI
957 * @tc.size : MediumTest
958 */
959 HWTEST_F(TransReliabilityTest, SUB_DSoftbus_Spec_DCTS_SessionServer_4000, TestSize.Level3)
960 {
961 int ret;
962 int sessionId;
963 ret = CreateSsAndOpenSession4Data();
964 ASSERT_EQ(SOFTBUS_OK, ret) << "CreateSsAndOpenSession4Data fail";
965 sessionId = GetCurrentSessionId4Data();
966
967 ret = GetPeerDeviceId(sessionId, NULL, SESSION_NAME_SIZE_MAX);
968 EXPECT_EQ(EXPECT_INVALID_PARAM, ret) << "GetPeerDeviceId invalid sname[null]";
969
970 ret = CloseSessionAndRemoveSs4Data();
971 EXPECT_EQ(SOFTBUS_OK, ret) << "CloseSessionAndRemoveSs4Data fail";
972 }
973 /**
974 * @tc.number : SUB_DSoftbus_Spec_DCTS_SessionServer_4100
975 * @tc.name : GetPeerDeviceId input DeviceId invalid len[max+1]
976 * @tc.desc : Test session management reliability
977 * @tc.type : RELI
978 * @tc.size : MediumTest
979 */
980 HWTEST_F(TransReliabilityTest, SUB_DSoftbus_Spec_DCTS_SessionServer_4100, TestSize.Level3)
981 {
982 int ret;
983 int sessionId;
984 ret = CreateSsAndOpenSession4Data();
985 ASSERT_EQ(SOFTBUS_OK, ret) << "CreateSsAndOpenSession4Data fail";
986 sessionId = GetCurrentSessionId4Data();
987
988 char deviceId[SESSION_NAME_SIZE_MAX] = { 0 };
989 ret = GetPeerDeviceId(sessionId, deviceId, SESSION_NAME_SIZE_MAX + 1);
990 EXPECT_EQ(EXPECT_INVALID_PARAM, ret) << "GetPeerDeviceId invalid len[max+1]";
991
992 ret = CloseSessionAndRemoveSs4Data();
993 EXPECT_EQ(SOFTBUS_OK, ret) << "CloseSessionAndRemoveSs4Data fail";
994 }
995 /**
996 * @tc.number : SUB_DSoftbus_Spec_DCTS_SessionServer_4200
997 * @tc.name : GetPeerDeviceId input DeviceId len short than real
998 * @tc.desc : Test session management reliability
999 * @tc.type : RELI
1000 * @tc.size : MediumTest
1001 */
1002 HWTEST_F(TransReliabilityTest, SUB_DSoftbus_Spec_DCTS_SessionServer_4200, TestSize.Level3)
1003 {
1004 int ret;
1005 int sessionId;
1006 ret = CreateSsAndOpenSession4Data();
1007 ASSERT_EQ(SOFTBUS_OK, ret) << "CreateSsAndOpenSession4Data fail";
1008 sessionId = GetCurrentSessionId4Data();
1009
1010 char deviceIdShort[5];
1011 ret = GetPeerDeviceId(sessionId, deviceIdShort, 5);
1012 EXPECT_NE(SOFTBUS_OK, ret) << "GetPeerDeviceId len short than real";
1013
1014 ret = CloseSessionAndRemoveSs4Data();
1015 EXPECT_EQ(SOFTBUS_OK, ret) << "CloseSessionAndRemoveSs4Data fail";
1016 }
1017
1018 /**
1019 * @tc.number : SUB_DSoftbus_Spec_DCTS_SessionServer_4300
1020 * @tc.name : OpenSession, no Session Server exists on the peer
1021 * @tc.desc : Test session management reliability
1022 * @tc.type : RELI
1023 * @tc.size : MediumTest
1024 */
1025 HWTEST_F(TransReliabilityTest, SUB_DSoftbus_Spec_DCTS_SessionServer_4300, TestSize.Level3)
1026 {
1027 int ret;
1028 char* softbusPidStart;
1029 char* softbusPidEnd;
1030 softbusPidStart = GetSoftbusPid();
1031 EXPECT_TRUE(softbusPidStart != NULL);
1032
1033 int sessionId;
1034 string notExistSession = "Not Exist Session Name";
1035 ret = CreateSessionServer(DEF_PKG_NAME, notExistSession.c_str(), GetSessionListenser4Ctl());
1036 EXPECT_EQ(SOFTBUS_PERMISSION_DENIED, ret) << "CreateSS-ctrl fail";
1037 ret = CreateSessionServer(DEF_PKG_NAME, SESSION_NAME_DATA, GetSessionListenser4Data());
1038 EXPECT_EQ(SOFTBUS_OK, ret) << "CreateSS-data fail";
1039
1040 ResetWaitFlag4Data();
1041 sessionId =
1042 OpenSession(SESSION_NAME_DATA, notExistSession.c_str(), GetNetworkId(), DEF_GROUP_ID, GetSessionAttr4Data());
1043 EXPECT_TRUE(sessionId < SESSION_ID_MIN) << "call open session fail, expect success";
1044 ret = Wait4Session(OPEN_SESSION_TIMEOUT, SESSION_4DATA);
1045 EXPECT_NE(SOFTBUS_OK, ret) << "wait session cb success, expect fail";
1046
1047 int timeout = 5;
1048 ResetWaitFlag4Data();
1049 sessionId = OpenSession(SESSION_NAME_DATA, SESSION_NAME_DATA, GetNetworkId(), DEF_GROUP_ID, GetSessionAttr4Data());
1050 SetCurrentSessionId4Data(sessionId);
1051 EXPECT_TRUE(sessionId >= SESSION_ID_MIN) << "OpenSession normal[data] fail, expect success";
1052 ret = Wait4Session(timeout, SESSION_4DATA);
1053 EXPECT_EQ(SOFTBUS_OK, ret) << "wait session cb fail, expect success";
1054
1055 // clean
1056 CloseSession(sessionId);
1057 ret = RemoveSessionServer(DEF_PKG_NAME, notExistSession.c_str());
1058 EXPECT_EQ(SOFTBUS_PERMISSION_DENIED, ret) << "RemoveSS-notExist fail";
1059 ret = RemoveSessionServer(DEF_PKG_NAME, SESSION_NAME_DATA);
1060 EXPECT_EQ(SOFTBUS_OK, ret) << "RemoveSS-data fail";
1061 sleep(timeout);
1062
1063 softbusPidEnd = GetSoftbusPid();
1064 EXPECT_TRUE(softbusPidEnd != NULL);
1065 EXPECT_STREQ(softbusPidStart, softbusPidEnd);
1066 free(softbusPidStart);
1067 free(softbusPidEnd);
1068 }
1069
1070 /**
1071 * @tc.number : SUB_DSoftbus_Spec_DCTS_SessionServer_4400
1072 * @tc.name : CreateSessionServer, input sessionName Max success
1073 * @tc.desc : Test session management reliability
1074 * @tc.type : RELI
1075 * @tc.size : MediumTest
1076 */
1077 HWTEST_F(TransReliabilityTest, SUB_DSoftbus_Spec_DCTS_SessionServer_4400, TestSize.Level3)
1078 {
1079 int ret = CreateSessionServer(DEF_PKG_NAME, SESSIONNAME_MAX, GetSessionListenser4Ctl());
1080 EXPECT_EQ(SOFTBUS_OK, ret) << "CreateSS-ctrl fail";
1081 ret = RemoveSessionServer(DEF_PKG_NAME, SESSIONNAME_MAX);
1082 EXPECT_EQ(SOFTBUS_OK, ret) << "RemoveSS-ctrl fail";
1083 }
1084
1085 /**
1086 * @tc.number : SUB_DSoftbus_Spec_DCTS_SessionServer_4500
1087 * @tc.name : CreateSessionServer, input sessionName contains special char
1088 * @tc.desc : Test session management reliability
1089 * @tc.type : RELI
1090 * @tc.size : MediumTest
1091 */
1092 HWTEST_F(TransReliabilityTest, SUB_DSoftbus_Spec_DCTS_SessionServer_4500, TestSize.Level3)
1093 {
1094 string sessionName = "com.communication.demo.max.len.#@$%!";
1095 int ret = CreateSessionServer(DEF_PKG_NAME, sessionName.c_str(), GetSessionListenser4Ctl());
1096 EXPECT_EQ(SOFTBUS_OK, ret) << "CreateSS-ctrl fail";
1097 ret = RemoveSessionServer(DEF_PKG_NAME, sessionName.c_str());
1098 EXPECT_EQ(SOFTBUS_OK, ret) << "RemoveSS-ctrl fail";
1099 }
1100
1101 /**
1102 * @tc.number : SUB_DSoftbus_Spec_DCTS_SessionServer_4600
1103 * @tc.name : CreateSessionServer, input pkgName Max success
1104 * @tc.desc : Test session management reliability
1105 * @tc.type : RELI
1106 * @tc.size : MediumTest
1107 */
1108 HWTEST_F(TransReliabilityTest, SUB_DSoftbus_Spec_DCTS_SessionServer_4600, TestSize.Level3)
1109 {
1110 int ret = CreateSessionServer(PKGNAME_MAX, SESSION_NAME_CTL, GetSessionListenser4Ctl());
1111 EXPECT_EQ(SOFTBUS_OK, ret) << "CreateSS-ctrl fail";
1112 ret = RemoveSessionServer(PKGNAME_MAX, SESSION_NAME_CTL);
1113 EXPECT_EQ(SOFTBUS_OK, ret) << "RemoveSS-ctrl fail";
1114 }
1115
1116 /**
1117 * @tc.number : SUB_DSoftbus_Spec_DCTS_SessionServer_4700
1118 * @tc.name : CreateSessionServer, input pkgNameMax and sessionNameMax
1119 * @tc.desc : 【G-DISTRIBUTED-0205】禁止修改Openharmony分布式软总线设备间传输通道管理协议。
1120 * @tc.type : RELI
1121 * @tc.size : MediumTest
1122 */
1123 HWTEST_F(TransReliabilityTest, SUB_DSoftbus_Spec_DCTS_SessionServer_4700, TestSize.Level3)
1124 {
1125 int ret = CreateSessionServer(PKGNAME_MAX, SESSIONNAME_MAX, GetSessionListenser4Ctl());
1126 EXPECT_EQ(SOFTBUS_OK, ret) << "CreateSS-ctrl fail, pkgnamelen:"
1127 << strlen(PKGNAME_MAX) << ",sessionLen:" << strlen(SESSIONNAME_MAX);
1128 ret = RemoveSessionServer(PKGNAME_MAX, SESSIONNAME_MAX);
1129 EXPECT_EQ(SOFTBUS_OK, ret) << "RemoveSS-ctrl fail";
1130 }
1131
1132 /**
1133 * @tc.number : SUB_DSoftbus_Spec_DCTS_SessionServer_4800
1134 * @tc.name : CreateSessionServer, input pkgName Max+1 failed
1135 * @tc.desc : 【G-DISTRIBUTED-0205】禁止修改Openharmony分布式软总线设备间传输通道管理协议。
1136 * @tc.type : RELI
1137 * @tc.size : MediumTest
1138 */
1139 HWTEST_F(TransReliabilityTest, SUB_DSoftbus_Spec_DCTS_SessionServer_4800, TestSize.Level3)
1140 {
1141 int ret = CreateSessionServer(PKGNAME_MAX_OUT, SESSION_NAME_CTL, GetSessionListenser4Ctl());
1142 EXPECT_EQ(SOFTBUS_INVALID_PARAM, ret) << "CreateSS-ctrl success";
1143 ret = RemoveSessionServer(PKGNAME_MAX_OUT, SESSION_NAME_CTL);
1144 EXPECT_EQ(SOFTBUS_INVALID_PARAM, ret) << "RemoveSS-ctrl fail";
1145 }
1146
1147 /**
1148 * @tc.number : SUB_DSoftbus_Spec_DCTS_SessionServer_4900
1149 * @tc.name : CreateSessionServer, input sessionName Max+1 failed
1150 * @tc.desc : 【G-DISTRIBUTED-0205】禁止修改Openharmony分布式软总线设备间传输通道管理协议。
1151 * @tc.type : RELI
1152 * @tc.size : MediumTest
1153 */
1154 HWTEST_F(TransReliabilityTest, SUB_DSoftbus_Spec_DCTS_SessionServer_4900, TestSize.Level3)
1155 {
1156 int ret = CreateSessionServer(DEF_PKG_NAME, SESSIONNAME_MAX_OUT, GetSessionListenser4Ctl());
1157 EXPECT_EQ(SOFTBUS_INVALID_PARAM, ret) << "CreateSS-ctrl success";
1158 ret = RemoveSessionServer(DEF_PKG_NAME, SESSIONNAME_MAX_OUT);
1159 EXPECT_EQ(SOFTBUS_INVALID_PARAM, ret) << "RemoveSS-ctrl success";
1160 }
1161
1162 /**
1163 * @tc.number : SUB_DSoftbus_Spec_DCTS_SessionServer_5000
1164 * @tc.name : CreateSessionServer, input pkgName contains special char
1165 * @tc.desc : 【G-DISTRIBUTED-0205】禁止修改Openharmony分布式软总线设备间传输通道管理协议。
1166 * @tc.type : RELI
1167 * @tc.size : MediumTest
1168 */
1169 HWTEST_F(TransReliabilityTest, SUB_DSoftbus_Spec_DCTS_SessionServer_5000, TestSize.Level3)
1170 {
1171 int ret = CreateSessionServer(DEF_PKG_NAME, SESSIONNAME_MAX, GetSessionListenser4Ctl());
1172 EXPECT_EQ(SOFTBUS_OK, ret) << "CreateSS-ctrl fail";
1173 ret = RemoveSessionServer(DEF_PKG_NAME, SESSIONNAME_MAX);
1174 EXPECT_EQ(SOFTBUS_OK, ret) << "RemoveSS-ctrl fail";
1175 ret = CreateSessionServer(PKGNAME_MAX, SESSIONNAME_MAX, GetSessionListenser4Ctl());
1176 EXPECT_EQ(SOFTBUS_OK, ret) << "CreateSS-ctrl fail";
1177 ret = RemoveSessionServer(PKGNAME_MAX, SESSIONNAME_MAX);
1178 EXPECT_EQ(SOFTBUS_OK, ret) << "RemoveSS-ctrl fail";
1179 string pkgName = "com.communication.demo.max.len.#@$%!";
1180 ret = CreateSessionServer(pkgName.c_str(), SESSION_NAME_DATA, GetSessionListenser4Data());
1181 EXPECT_EQ(SOFTBUS_INVALID_PKGNAME, ret) << "CreateSS-ctrl success";
1182 ret = RemoveSessionServer(pkgName.c_str(), SESSION_NAME_DATA);
1183 EXPECT_EQ(SOFTBUS_OK, ret) << "RemoveSS-ctrl success";
1184 }
1185
1186 /**
1187 * @tc.number : SUB_DSoftbus_Spec_DCTS_SessionServer_5100
1188 * @tc.name : CreateSessionServer, input invalid sessionName failed
1189 * @tc.desc : 【G-DISTRIBUTED-0211】出于安全和兼容性考虑,不应修改安全相关逻辑,不应变更软总线依赖的安全和协议部件。
1190 * @tc.type : RELI
1191 * @tc.size : MediumTest
1192 */
1193 HWTEST_F(TransReliabilityTest, SUB_DSoftbus_Spec_DCTS_SessionServer_5100, TestSize.Level3)
1194 {
1195 string sessionName = "com.communication.test.demo";
1196 int ret = CreateSessionServer(DEF_PKG_NAME, sessionName.c_str(), GetSessionListenser4Ctl());
1197 EXPECT_EQ(SOFTBUS_PERMISSION_DENIED, ret) << "CreateSS-ctrl success";
1198 ret = RemoveSessionServer(DEF_PKG_NAME, sessionName.c_str());
1199 EXPECT_EQ(SOFTBUS_PERMISSION_DENIED, ret) << "RemoveSS-ctrl fail";
1200 }
1201
1202 /**
1203 * @tc.number : SUB_DSoftbus_Spec_DCTS_SessionServer_5200
1204 * @tc.name : GetNodeKeyInfoTestCase
1205 * @tc.desc : GetNodeKeyInfo Performance Testing
1206 * @tc.type : RELI
1207 * @tc.size : MediumTest
1208 */
1209
1210 HWTEST_F(TransReliabilityTest, SUB_DSoftbus_Spec_DCTS_SessionServer_5200, TestSize.Level3)
1211 {
1212 int ret;
1213 NodeBasicInfo info;
1214 char udid[UDID_BUF_LEN] = {0};
1215 (void)memset_s(&info, sizeof(NodeBasicInfo), 0, sizeof(NodeBasicInfo));
1216 GetLocalNodeDeviceInfo(DEF_PKG_NAME, &info);
1217 ret = GetNodeKeyInfo(DEF_PKG_NAME, info.networkId, NODE_KEY_UDID,
1218 (uint8_t *)udid, UDID_BUF_LEN);
1219 EXPECT_EQ(0, ret) << "GetNodeKeyInfoTestCase failed.";
1220 }