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