• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2022-2023 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 <securec.h>
19 #define private public
20 #include "dcamera_softbus_adapter.h"
21 #undef private
22 
23 #include "data_buffer.h"
24 #include "dcamera_softbus_session.h"
25 #include "dcamera_hisysevent_adapter.h"
26 #include "distributed_camera_constants.h"
27 #include "distributed_camera_errno.h"
28 #include "session_bus_center.h"
29 #include "session.h"
30 
31 using namespace testing::ext;
32 
33 namespace OHOS {
34 namespace DistributedHardware {
35 class DCameraSoftbusAdapterTest : public testing::Test {
36 public:
37     static void SetUpTestCase(void);
38     static void TearDownTestCase(void);
39     void SetUp();
40     void TearDown();
41 };
42 
43 namespace {
44 const std::string TEST_DEVICE_ID = "bb536a637105409e904d4da83790a4a7";
45 const std::string TEST_CAMERA_DH_ID_0 = "camera_0";
46 }
47 
SetUpTestCase(void)48 void DCameraSoftbusAdapterTest::SetUpTestCase(void)
49 {
50 }
51 
TearDownTestCase(void)52 void DCameraSoftbusAdapterTest::TearDownTestCase(void)
53 {
54 }
55 
SetUp(void)56 void DCameraSoftbusAdapterTest::SetUp(void)
57 {
58 }
59 
TearDown(void)60 void DCameraSoftbusAdapterTest::TearDown(void)
61 {
62 }
63 
64 /**
65  * @tc.name: dcamera_softbus_adapter_test_001
66  * @tc.desc: Verify the CreateSoftbusSessionServer function.
67  * @tc.type: FUNC
68  * @tc.require:
69  */
70 HWTEST_F(DCameraSoftbusAdapterTest, dcamera_softbus_adapter_test_001, TestSize.Level1)
71 {
72     std::string sessionName = "sourcetest01";
73     DCAMERA_CHANNEL_ROLE role = DCAMERA_CHANNLE_ROLE_SOURCE;
74     int32_t ret = DCameraSoftbusAdapter::GetInstance().CreateSoftbusSessionServer(sessionName, role);
75     EXPECT_EQ(DCAMERA_OK, ret);
76 }
77 
78 /**
79  * @tc.name: dcamera_softbus_adapter_test_002
80  * @tc.desc: Verify the DestroySoftbusSessionServer function.
81  * @tc.type: FUNC
82  * @tc.require:
83  */
84 HWTEST_F(DCameraSoftbusAdapterTest, dcamera_softbus_adapter_test_002, TestSize.Level1)
85 {
86     std::string sessionName = "sourcetest02";
87     DCAMERA_CHANNEL_ROLE role = DCAMERA_CHANNLE_ROLE_SOURCE;
88     int32_t ret = DCameraSoftbusAdapter::GetInstance().CreateSoftbusSessionServer(sessionName, role);
89     ret = DCameraSoftbusAdapter::GetInstance().DestroySoftbusSessionServer(sessionName);
90     EXPECT_EQ(DCAMERA_OK, ret);
91 }
92 
93 /**
94  * @tc.name: dcamera_softbus_adapter_test_003
95  * @tc.desc: Verify the DestroySoftbusSessionServer function.
96  * @tc.type: FUNC
97  * @tc.require:
98  */
99 HWTEST_F(DCameraSoftbusAdapterTest, dcamera_softbus_adapter_test_003, TestSize.Level1)
100 {
101     std::string sessionName = "sourcetest03";
102     DCAMERA_CHANNEL_ROLE role = DCAMERA_CHANNLE_ROLE_SOURCE;
103     int32_t ret = DCameraSoftbusAdapter::GetInstance().CreateSoftbusSessionServer(sessionName, role);
104     std::string mySessName = "sourcetest03";
105     std::string peerSessName = "sinktest02";
106     int32_t sessionMode = 0;
107     std::string peerDevId = TEST_DEVICE_ID;
108     ret = DCameraSoftbusAdapter::GetInstance().OpenSoftbusSession(mySessName, peerSessName, sessionMode, peerDevId);
109     DCameraSoftbusAdapter::GetInstance().DestroySoftbusSessionServer(sessionName);
110     EXPECT_EQ(DCAMERA_OK, ret);
111 }
112 
113 /**
114  * @tc.name: dcamera_softbus_adapter_test_004
115  * @tc.desc: Verify the DestroySoftbusSessionServer function.
116  * @tc.type: FUNC
117  * @tc.require:
118  */
119 
120 HWTEST_F(DCameraSoftbusAdapterTest, dcamera_softbus_adapter_test_004, TestSize.Level1)
121 {
122     std::string sessionName = "sourcetest04";
123     DCAMERA_CHANNEL_ROLE role = DCAMERA_CHANNLE_ROLE_SOURCE;
124     int32_t ret = DCameraSoftbusAdapter::GetInstance().CreateSoftbusSessionServer(sessionName, role);
125     std::string mySessName = "sourcetest04";
126     std::string peerSessName = "sinktest02";
127     int32_t sessionMode = 0;
128     std::string peerDevId = TEST_DEVICE_ID;
129     DCameraSoftbusAdapter::GetInstance().OpenSoftbusSession(mySessName, peerSessName, sessionMode, peerDevId);
130     int32_t sessionId = 1;
131     ret = DCameraSoftbusAdapter::GetInstance().CloseSoftbusSession(sessionId);
132     DCameraSoftbusAdapter::GetInstance().DestroySoftbusSessionServer(sessionName);
133     EXPECT_EQ(DCAMERA_OK, ret);
134 }
135 
136 /**
137  * @tc.name: dcamera_softbus_adapter_test_005
138  * @tc.desc: Verify the SendSofbusBytes function.
139  * @tc.type: FUNC
140  * @tc.require:
141  */
142 HWTEST_F(DCameraSoftbusAdapterTest, dcamera_softbus_adapter_test_005, TestSize.Level1)
143 {
144     std::string sessionName = "sourcetest03";
145     DCAMERA_CHANNEL_ROLE role = DCAMERA_CHANNLE_ROLE_SOURCE;
146     int32_t ret = DCameraSoftbusAdapter::GetInstance().CreateSoftbusSessionServer(sessionName, role);
147     std::string mySessName = "sourcetest03";
148     std::string peerSessName = "sinktest02";
149     int32_t sessionMode = 0;
150     std::string peerDevId = TEST_DEVICE_ID;
151     DCameraSoftbusAdapter::GetInstance().OpenSoftbusSession(mySessName, peerSessName, sessionMode, peerDevId);
152     size_t capacity = 1;
153     std::shared_ptr<DataBuffer> dataBuffer = std::make_shared<DataBuffer>(capacity);
154     int32_t sessionId = 2;
155     ret = DCameraSoftbusAdapter::GetInstance().SendSofbusBytes(sessionId, dataBuffer);
156     DCameraSoftbusAdapter::GetInstance().DestroySoftbusSessionServer(sessionName);
157     EXPECT_EQ(DCAMERA_OK, ret);
158 }
159 
160 /**
161  * @tc.name: dcamera_softbus_adapter_test_006
162  * @tc.desc: Verify the SendSofbusStream function.
163  * @tc.type: FUNC
164  * @tc.require:
165  */
166 HWTEST_F(DCameraSoftbusAdapterTest, dcamera_softbus_adapter_test_006, TestSize.Level1)
167 {
168     std::string sessionName = "sourcetest03";
169     DCAMERA_CHANNEL_ROLE role = DCAMERA_CHANNLE_ROLE_SOURCE;
170     int32_t ret = DCameraSoftbusAdapter::GetInstance().CreateSoftbusSessionServer(sessionName, role);
171     std::string mySessName = "sourcetest03";
172     std::string peerSessName = "sinktest02";
173     int32_t sessionMode = 0;
174     std::string peerDevId = TEST_DEVICE_ID;
175     DCameraSoftbusAdapter::GetInstance().OpenSoftbusSession(mySessName, peerSessName, sessionMode, peerDevId);
176     size_t capacity = 1;
177     std::shared_ptr<DataBuffer> dataBuffer = std::make_shared<DataBuffer>(capacity);
178     int32_t sessionId = 2;
179     ret = DCameraSoftbusAdapter::GetInstance().SendSofbusStream(sessionId, dataBuffer);
180     dataBuffer->SetInt64(TIME_STAMP_US, 1);
181     ret = DCameraSoftbusAdapter::GetInstance().SendSofbusStream(sessionId, dataBuffer);
182     DCameraSoftbusAdapter::GetInstance().DestroySoftbusSessionServer(sessionName);
183     EXPECT_EQ(DCAMERA_OK, ret);
184 }
185 
186 /**
187  * @tc.name: dcamera_softbus_adapter_test_007
188  * @tc.desc: Verify the GetLocalNetworkId function.
189  * @tc.type: FUNC
190  * @tc.require:
191  */
192 HWTEST_F(DCameraSoftbusAdapterTest, dcamera_softbus_adapter_test_007, TestSize.Level1)
193 {
194     std::string devId = TEST_DEVICE_ID;
195     int32_t ret = DCameraSoftbusAdapter::GetInstance().GetLocalNetworkId(devId);
196     EXPECT_EQ(DCAMERA_OK, ret);
197 }
198 
199 /**
200  * @tc.name: dcamera_softbus_adapter_test_008
201  * @tc.desc: Verify the OnSourceSessionOpened function.
202  * @tc.type: FUNC
203  * @tc.require:
204  */
205 HWTEST_F(DCameraSoftbusAdapterTest, dcamera_softbus_adapter_test_008, TestSize.Level1)
206 {
207     std::string sessionName = "sourcetest03";
208     DCAMERA_CHANNEL_ROLE role = DCAMERA_CHANNLE_ROLE_SOURCE;
209     int32_t ret = DCameraSoftbusAdapter::GetInstance().CreateSoftbusSessionServer(sessionName, role);
210     std::string mySessName = "sourcetest03";
211     std::string peerSessName = "sinktest02";
212     int32_t sessionMode = 0;
213     std::string peerDevId = TEST_DEVICE_ID;
214     DCameraSoftbusAdapter::GetInstance().OpenSoftbusSession(mySessName, peerSessName, sessionMode, peerDevId);
215     int32_t sessionId = 2;
216     int32_t result = 0;
217     std::shared_ptr<DCameraSoftbusSession> session = std::make_shared<DCameraSoftbusSession>();
218     DCameraSoftbusAdapter::GetInstance().sourceSessions_.emplace(peerDevId + mySessName, session);
219     ret = DCameraSoftbusAdapter::GetInstance().OnSourceSessionOpened(sessionId, result);
220     DCameraSoftbusAdapter::GetInstance().DestroySoftbusSessionServer(sessionName);
221     EXPECT_EQ(DCAMERA_NOT_FOUND, ret);
222 }
223 
224 /**
225  * @tc.name: dcamera_softbus_adapter_test_009
226  * @tc.desc: Verify the OnSourceSessionClosed function.
227  * @tc.type: FUNC
228  * @tc.require:
229  */
230 HWTEST_F(DCameraSoftbusAdapterTest, dcamera_softbus_adapter_test_009, TestSize.Level1)
231 {
232     std::string sessionName = "sourcetest03";
233     DCAMERA_CHANNEL_ROLE role = DCAMERA_CHANNLE_ROLE_SOURCE;
234     int32_t ret = DCameraSoftbusAdapter::GetInstance().CreateSoftbusSessionServer(sessionName, role);
235     std::string mySessName = "sourcetest03";
236     std::string peerSessName = "sinktest02";
237     int32_t sessionMode = 0;
238     std::string peerDevId = TEST_DEVICE_ID;
239     DCameraSoftbusAdapter::GetInstance().OpenSoftbusSession(mySessName, peerSessName, sessionMode, peerDevId);
240     int32_t sessionId = 2;
241     int32_t result = 0;
242     DCameraSoftbusAdapter::GetInstance().OnSourceSessionOpened(sessionId, result);
243 
244     DCameraSoftbusAdapter::GetInstance().OnSourceSessionClosed(sessionId);
245     ret = DCameraSoftbusAdapter::GetInstance().DestroySoftbusSessionServer(sessionName);
246     EXPECT_EQ(DCAMERA_OK, ret);
247 }
248 
249 /**
250  * @tc.name: dcamera_softbus_adapter_test_010
251  * @tc.desc: Verify the OnSourceBytesReceived function.
252  * @tc.type: FUNC
253  * @tc.require:
254  */
255 HWTEST_F(DCameraSoftbusAdapterTest, dcamera_softbus_adapter_test_010, TestSize.Level1)
256 {
257     std::string sessionName = "sourcetest03";
258     DCAMERA_CHANNEL_ROLE role = DCAMERA_CHANNLE_ROLE_SOURCE;
259     int32_t ret = DCameraSoftbusAdapter::GetInstance().CreateSoftbusSessionServer(sessionName, role);
260     std::string mySessName = "sourcetest03";
261     std::string peerSessName = "sinktest02";
262     int32_t sessionMode = 0;
263     std::string peerDevId = TEST_DEVICE_ID;
264     DCameraSoftbusAdapter::GetInstance().OpenSoftbusSession(mySessName, peerSessName, sessionMode, peerDevId);
265     int32_t sessionId = 2;
266     int32_t result = 0;
267     ret = DCameraSoftbusAdapter::GetInstance().OnSourceSessionOpened(sessionId, result);
268     const void *data = "testdata";
269     uint32_t dataLen = 8;
270     DCameraSoftbusAdapter::GetInstance().OnSourceBytesReceived(sessionId, data, dataLen);
271     DCameraSoftbusAdapter::GetInstance().OnSourceSessionClosed(sessionId);
272     ret = DCameraSoftbusAdapter::GetInstance().DestroySoftbusSessionServer(sessionName);
273     EXPECT_EQ(DCAMERA_OK, ret);
274 }
275 
276 /**
277  * @tc.name: dcamera_softbus_adapter_test_011
278  * @tc.desc: Verify the OnSourceBytesReceived function.
279  * @tc.type: FUNC
280  * @tc.require:
281  */
282 HWTEST_F(DCameraSoftbusAdapterTest, dcamera_softbus_adapter_test_011, TestSize.Level1)
283 {
284     std::string sessionName = "sourcetest03";
285     DCAMERA_CHANNEL_ROLE role = DCAMERA_CHANNLE_ROLE_SOURCE;
286     int32_t ret = DCameraSoftbusAdapter::GetInstance().CreateSoftbusSessionServer(sessionName, role);
287     std::string mySessName = "sourcetest03";
288     std::string peerSessName = "sinktest02";
289     int32_t sessionMode = 0;
290     std::string peerDevId = TEST_DEVICE_ID;
291     DCameraSoftbusAdapter::GetInstance().OpenSoftbusSession(mySessName, peerSessName, sessionMode, peerDevId);
292     int32_t sessionId = 2;
293     int32_t result = 0;
294     ret = DCameraSoftbusAdapter::GetInstance().OnSourceSessionOpened(sessionId, result);
295     const void *data = "testdata";
296     uint32_t dataLen = 8;
297     DCameraSoftbusAdapter::GetInstance().OnSourceMessageReceived(sessionId, data, dataLen);
298     DCameraSoftbusAdapter::GetInstance().OnSourceSessionClosed(sessionId);
299     ret = DCameraSoftbusAdapter::GetInstance().DestroySoftbusSessionServer(sessionName);
300     EXPECT_EQ(DCAMERA_OK, ret);
301 }
302 
303 /**
304  * @tc.name: dcamera_softbus_adapter_test_012
305  * @tc.desc: Verify the OnSourceBytesReceived function.
306  * @tc.type: FUNC
307  * @tc.require:
308  */
309 HWTEST_F(DCameraSoftbusAdapterTest, dcamera_softbus_adapter_test_012, TestSize.Level1)
310 {
311     std::string sessionName = "sourcetest03";
312     DCAMERA_CHANNEL_ROLE role = DCAMERA_CHANNLE_ROLE_SOURCE;
313     int32_t ret = DCameraSoftbusAdapter::GetInstance().CreateSoftbusSessionServer(sessionName, role);
314     std::string mySessName = "sourcetest03";
315     std::string peerSessName = "sinktest02";
316     int32_t sessionMode = 0;
317     std::string peerDevId = TEST_DEVICE_ID;
318     DCameraSoftbusAdapter::GetInstance().OpenSoftbusSession(mySessName, peerSessName, sessionMode, peerDevId);
319     int32_t sessionId = 2;
320     int32_t result = 0;
321     ret = DCameraSoftbusAdapter::GetInstance().OnSourceSessionOpened(sessionId, result);
322     std::string buff01 = "testbuffer01";
323     StreamData test01;
324     test01.buf = const_cast<char *>(buff01.c_str());
325     test01.bufLen = buff01.size();
326     StreamData test02;
327     std::string buff02 = "testbuffer01";
328     test02.buf = const_cast<char *>(buff02.c_str());
329     test02.bufLen = buff02.size();
330     StreamFrameInfo param01;
331     StreamData *data = &test01;
332     StreamData *ext = &test02;
333     StreamFrameInfo *param = &param01;
334     DCameraSoftbusAdapter::GetInstance().OnSourceStreamReceived(sessionId, data, ext, param);
335     data = nullptr;
336     DCameraSoftbusAdapter::GetInstance().OnSourceStreamReceived(sessionId, data, ext, param);
337     StreamData test03;
338     test01.buf = const_cast<char *>(buff01.c_str());
339     test01.bufLen = 0;
340     data = &test03;
341     DCameraSoftbusAdapter::GetInstance().OnSourceStreamReceived(sessionId, data, ext, param);
342     DCameraSoftbusAdapter::GetInstance().OnSourceSessionClosed(sessionId);
343     ret = DCameraSoftbusAdapter::GetInstance().DestroySoftbusSessionServer(sessionName);
344     EXPECT_EQ(DCAMERA_OK, ret);
345 }
346 
347 /**
348  * @tc.name: dcamera_softbus_adapter_test_012
349  * @tc.desc: Verify the OnSinkSessionOpened function.
350  * @tc.type: FUNC
351  * @tc.require:
352  */
353 HWTEST_F(DCameraSoftbusAdapterTest, dcamera_softbus_adapter_test_013, TestSize.Level1)
354 {
355     std::string sessionName = "sourcetest013";
356     DCAMERA_CHANNEL_ROLE role = DCAMERA_CHANNLE_ROLE_SOURCE;
357     int32_t ret = DCameraSoftbusAdapter::GetInstance().CreateSoftbusSessionServer(sessionName, role);
358     std::string mySessName = "sourcetest013";
359     std::string peerSessName = "sinktest012";
360     int32_t sessionMode = 0;
361     std::string peerDevId = TEST_DEVICE_ID;
362     DCameraSoftbusAdapter::GetInstance().OpenSoftbusSession(mySessName, peerSessName, sessionMode, peerDevId);
363     int32_t sessionId = 2;
364     int32_t result = 0;
365     std::shared_ptr<DCameraSoftbusSession> session = std::make_shared<DCameraSoftbusSession>();
366     DCameraSoftbusAdapter::GetInstance().sinkSessions_.emplace(peerDevId + mySessName, session);
367     ret = DCameraSoftbusAdapter::GetInstance().OnSinkSessionOpened(sessionId, result);
368     DCameraSoftbusAdapter::GetInstance().DestroySoftbusSessionServer(sessionName);
369     EXPECT_EQ(DCAMERA_NOT_FOUND, ret);
370 }
371 /**
372  * @tc.name: dcamera_softbus_adapter_test_014
373  * @tc.desc: Verify the OnSinkSessionClosed function.
374  * @tc.type: FUNC
375  * @tc.require:
376  */
377 HWTEST_F(DCameraSoftbusAdapterTest, dcamera_softbus_adapter_test_014, TestSize.Level1)
378 {
379     std::string sessionName = "sourcetest013";
380     DCAMERA_CHANNEL_ROLE role = DCAMERA_CHANNLE_ROLE_SOURCE;
381     int32_t ret = DCameraSoftbusAdapter::GetInstance().CreateSoftbusSessionServer(sessionName, role);
382     std::string mySessName = "sourcetest013";
383     std::string peerSessName = "sinktest012";
384     int32_t sessionMode = 0;
385     std::string peerDevId = TEST_DEVICE_ID;
386     DCameraSoftbusAdapter::GetInstance().OpenSoftbusSession(mySessName, peerSessName, sessionMode, peerDevId);
387     int32_t sessionId = 2;
388     int32_t result = 0;
389     DCameraSoftbusAdapter::GetInstance().OnSinkSessionOpened(sessionId, result);
390 
391     DCameraSoftbusAdapter::GetInstance().OnSinkSessionClosed(sessionId);
392     ret = DCameraSoftbusAdapter::GetInstance().DestroySoftbusSessionServer(sessionName);
393     EXPECT_EQ(DCAMERA_OK, ret);
394 }
395 
396 /**
397  * @tc.name: dcamera_softbus_adapter_test_015
398  * @tc.desc: Verify the OnSinkBytesReceived function.
399  * @tc.type: FUNC
400  * @tc.require:
401  */
402 HWTEST_F(DCameraSoftbusAdapterTest, dcamera_softbus_adapter_test_015, TestSize.Level1)
403 {
404     std::string sessionName = "sourcetest013";
405     DCAMERA_CHANNEL_ROLE role = DCAMERA_CHANNLE_ROLE_SOURCE;
406     int32_t ret = DCameraSoftbusAdapter::GetInstance().CreateSoftbusSessionServer(sessionName, role);
407     std::string mySessName = "sourcetest013";
408     std::string peerSessName = "sinktest012";
409     int32_t sessionMode = 0;
410     std::string peerDevId = TEST_DEVICE_ID;
411     DCameraSoftbusAdapter::GetInstance().OpenSoftbusSession(mySessName, peerSessName, sessionMode, peerDevId);
412     int32_t sessionId = 2;
413     int32_t result = 0;
414     ret = DCameraSoftbusAdapter::GetInstance().OnSinkSessionOpened(sessionId, result);
415     const void *data = "testdata";
416     uint32_t dataLen = 8;
417     DCameraSoftbusAdapter::GetInstance().OnSinkBytesReceived(sessionId, data, dataLen);
418     DCameraSoftbusAdapter::GetInstance().OnSinkSessionClosed(sessionId);
419     ret = DCameraSoftbusAdapter::GetInstance().DestroySoftbusSessionServer(sessionName);
420     EXPECT_EQ(DCAMERA_OK, ret);
421 }
422 
423 /**
424  * @tc.name: dcamera_softbus_adapter_test_016
425  * @tc.desc: Verify the OnSinkMessageReceived function.
426  * @tc.type: FUNC
427  * @tc.require:
428  */
429 HWTEST_F(DCameraSoftbusAdapterTest, dcamera_softbus_adapter_test_016, TestSize.Level1)
430 {
431     std::string sessionName = "sourcetest013";
432     DCAMERA_CHANNEL_ROLE role = DCAMERA_CHANNLE_ROLE_SOURCE;
433     int32_t ret = DCameraSoftbusAdapter::GetInstance().CreateSoftbusSessionServer(sessionName, role);
434     std::string mySessName = "sourcetest013";
435     std::string peerSessName = "sinktest012";
436     int32_t sessionMode = 0;
437     std::string peerDevId = TEST_DEVICE_ID;
438     DCameraSoftbusAdapter::GetInstance().OpenSoftbusSession(mySessName, peerSessName, sessionMode, peerDevId);
439     int32_t sessionId = 2;
440     int32_t result = 0;
441     ret = DCameraSoftbusAdapter::GetInstance().OnSinkSessionOpened(sessionId, result);
442     const void *data = "testdata";
443     uint32_t dataLen = 8;
444     DCameraSoftbusAdapter::GetInstance().OnSinkMessageReceived(sessionId, data, dataLen);
445     DCameraSoftbusAdapter::GetInstance().OnSinkSessionClosed(sessionId);
446     ret = DCameraSoftbusAdapter::GetInstance().DestroySoftbusSessionServer(sessionName);
447     EXPECT_EQ(DCAMERA_OK, ret);
448 }
449 
450 /**
451  * @tc.name: dcamera_softbus_adapter_test_017
452  * @tc.desc: Verify the OnSinkStreamReceived function.
453  * @tc.type: FUNC
454  * @tc.require:
455  */
456 HWTEST_F(DCameraSoftbusAdapterTest, dcamera_softbus_adapter_test_017, TestSize.Level1)
457 {
458     std::string sessionName = "sourcetest013";
459     DCAMERA_CHANNEL_ROLE role = DCAMERA_CHANNLE_ROLE_SOURCE;
460     int32_t ret = DCameraSoftbusAdapter::GetInstance().CreateSoftbusSessionServer(sessionName, role);
461     std::string mySessName = "sourcetest013";
462     std::string peerSessName = "sinktest012";
463     int32_t sessionMode = 0;
464     std::string peerDevId = TEST_DEVICE_ID;
465     DCameraSoftbusAdapter::GetInstance().OpenSoftbusSession(mySessName, peerSessName, sessionMode, peerDevId);
466     int32_t sessionId = 2;
467     int32_t result = 0;
468     ret = DCameraSoftbusAdapter::GetInstance().OnSinkSessionOpened(sessionId, result);
469     std::string buff01 = "testbuffer01";
470     StreamData test01;
471     test01.buf = const_cast<char *>(buff01.c_str());
472     test01.bufLen = buff01.size();
473     StreamData test02;
474     std::string buff02 = "testbuffer01";
475     test02.buf = const_cast<char *>(buff02.c_str());
476     test02.bufLen = buff02.size();
477     StreamFrameInfo param01;
478     const StreamData *data = &test01;
479     const StreamData *ext = &test02;
480     const StreamFrameInfo *param = &param01;
481     DCameraSoftbusAdapter::GetInstance().OnSinkStreamReceived(sessionId, data, ext, param);
482     DCameraSoftbusAdapter::GetInstance().OnSinkSessionClosed(sessionId);
483     ret = DCameraSoftbusAdapter::GetInstance().DestroySoftbusSessionServer(sessionName);
484     EXPECT_EQ(DCAMERA_OK, ret);
485 }
486 
487 /**
488  * @tc.name: dcamera_softbus_adapter_test_018
489  * @tc.desc: Verify the DCameraSoftbusSourceGetSession function.
490  * @tc.type: FUNC
491  * @tc.require:
492  */
493 HWTEST_F(DCameraSoftbusAdapterTest, dcamera_softbus_adapter_test_018, TestSize.Level1)
494 {
495     std::string sessionName = "sourcetest013";
496     DCAMERA_CHANNEL_ROLE role = DCAMERA_CHANNLE_ROLE_SOURCE;
497     int32_t ret = DCameraSoftbusAdapter::GetInstance().CreateSoftbusSessionServer(sessionName, role);
498     std::string mySessName = "sourcetest013";
499     std::string peerSessName = "sinktest012";
500     int32_t sessionMode = 0;
501     std::string peerDevId = TEST_DEVICE_ID;
502     DCameraSoftbusAdapter::GetInstance().OpenSoftbusSession(mySessName, peerSessName, sessionMode, peerDevId);
503     int32_t sessionId = 2;
504     std::shared_ptr<DCameraSoftbusSession> session = std::make_shared<DCameraSoftbusSession>();
505     int32_t result = 0;
506     ret = DCameraSoftbusAdapter::GetInstance().OnSourceSessionOpened(sessionId, result);
507     ret = DCameraSoftbusAdapter::GetInstance().DCameraSoftbusSourceGetSession(sessionId, session);
508 
509     DCameraSoftbusAdapter::GetInstance().DestroySoftbusSessionServer(sessionName);
510     EXPECT_EQ(DCAMERA_NOT_FOUND, ret);
511 }
512 
513 /**
514  * @tc.name: dcamera_softbus_adapter_test_019
515  * @tc.desc: Verify the DCameraSoftbusSinkGetSession function.
516  * @tc.type: FUNC
517  * @tc.require:
518  */
519 HWTEST_F(DCameraSoftbusAdapterTest, dcamera_softbus_adapter_test_019, TestSize.Level1)
520 {
521     std::string sessionName = "sourcetest013";
522     DCAMERA_CHANNEL_ROLE role = DCAMERA_CHANNLE_ROLE_SOURCE;
523     int32_t ret = DCameraSoftbusAdapter::GetInstance().CreateSoftbusSessionServer(sessionName, role);
524     std::string mySessName = "sourcetest013";
525     std::string peerSessName = "sinktest012";
526     int32_t sessionMode = 0;
527     std::string peerDevId = TEST_DEVICE_ID;
528     DCameraSoftbusAdapter::GetInstance().OpenSoftbusSession(mySessName, peerSessName, sessionMode, peerDevId);
529     int32_t sessionId = 2;
530     int32_t result = 0;
531     std::shared_ptr<DCameraSoftbusSession> session = std::make_shared<DCameraSoftbusSession>();
532     ret = DCameraSoftbusAdapter::GetInstance().OnSinkSessionOpened(sessionId, result);
533     ret = DCameraSoftbusAdapter::GetInstance().DCameraSoftbusSinkGetSession(sessionId, session);
534 
535     DCameraSoftbusAdapter::GetInstance().DestroySoftbusSessionServer(sessionName);
536     EXPECT_EQ(DCAMERA_NOT_FOUND, ret);
537 }
538 
539 /**
540  * @tc.name: dcamera_softbus_adapter_test_020
541  * @tc.desc: Verify the DCameraSoftbusGetSessionById function.
542  * @tc.type: FUNC
543  * @tc.require:
544  */
545 HWTEST_F(DCameraSoftbusAdapterTest, dcamera_softbus_adapter_test_020, TestSize.Level1)
546 {
547     std::string sessionName = "sourcetest013";
548     DCAMERA_CHANNEL_ROLE role = DCAMERA_CHANNLE_ROLE_SOURCE;
549     int32_t ret = DCameraSoftbusAdapter::GetInstance().CreateSoftbusSessionServer(sessionName, role);
550     std::string mySessName = "sourcetest013";
551     std::string peerSessName = "sinktest012";
552     int32_t sessionMode = 0;
553     std::string peerDevId = TEST_DEVICE_ID;
554     DCameraSoftbusAdapter::GetInstance().OpenSoftbusSession(mySessName, peerSessName, sessionMode, peerDevId);
555     int32_t sessionId = 2;
556     int32_t result = 0;
557     std::shared_ptr<DCameraSoftbusSession> session = std::make_shared<DCameraSoftbusSession>();
558     ret = DCameraSoftbusAdapter::GetInstance().OnSinkSessionOpened(sessionId, result);
559     ret = DCameraSoftbusAdapter::GetInstance().DCameraSoftbusGetSessionById(sessionId, session);
560 
561     DCameraSoftbusAdapter::GetInstance().DestroySoftbusSessionServer(sessionName);
562     EXPECT_EQ(DCAMERA_NOT_FOUND, ret);
563 }
564 
565 /**
566  * @tc.name: dcamera_softbus_adapter_test_021
567  * @tc.desc: Verify the OpenSoftbusSession function.
568  * @tc.type: FUNC
569  * @tc.require:
570  */
571 HWTEST_F(DCameraSoftbusAdapterTest, dcamera_softbus_adapter_test_021, TestSize.Level1)
572 {
573     std::string sessionName = "sourcetest03";
574     DCAMERA_CHANNEL_ROLE role = DCAMERA_CHANNLE_ROLE_SOURCE;
575     int32_t ret = DCameraSoftbusAdapter::GetInstance().CreateSoftbusSessionServer(sessionName, role);
576     std::string mySessName = "sourcetest03";
577     std::string peerSessName = "sinktest02";
578     int32_t sessionMode = 1;
579     std::string peerDevId = TEST_DEVICE_ID;
580     ret = DCameraSoftbusAdapter::GetInstance().OpenSoftbusSession(mySessName, peerSessName, sessionMode, peerDevId);
581     DCameraSoftbusAdapter::GetInstance().DestroySoftbusSessionServer(sessionName);
582     EXPECT_EQ(DCAMERA_OK, ret);
583 }
584 
585 /**
586  * @tc.name: dcamera_softbus_adapter_test_022
587  * @tc.desc: Verify the OpenSoftbusSession function.
588  * @tc.type: FUNC
589  * @tc.require:
590  */
591 HWTEST_F(DCameraSoftbusAdapterTest, dcamera_softbus_adapter_test_022, TestSize.Level1)
592 {
593     std::string sessionName = "sourcetest03";
594     DCAMERA_CHANNEL_ROLE role = DCAMERA_CHANNLE_ROLE_SOURCE;
595     int32_t ret = DCameraSoftbusAdapter::GetInstance().CreateSoftbusSessionServer(sessionName, role);
596     std::string mySessName = "sourcetest03";
597     std::string peerSessName = "sinktest02";
598     int32_t sessionMode = 2;
599     std::string peerDevId = TEST_DEVICE_ID;
600     ret = DCameraSoftbusAdapter::GetInstance().OpenSoftbusSession(mySessName, peerSessName, sessionMode, peerDevId);
601 
602     DCameraSoftbusAdapter::GetInstance().DestroySoftbusSessionServer(sessionName);
603     EXPECT_EQ(DCAMERA_OK, ret);
604 }
605 
606 /**
607  * @tc.name: dcamera_softbus_adapter_test_023
608  * @tc.desc: Verify the DCameraSoftbusGetSessionById function.
609  * @tc.type: FUNC
610  * @tc.require:
611  */
612 HWTEST_F(DCameraSoftbusAdapterTest, dcamera_softbus_adapter_test_023, TestSize.Level1)
613 {
614     std::string sessionName = "sourcetest013";
615     DCAMERA_CHANNEL_ROLE role = DCAMERA_CHANNLE_ROLE_SOURCE;
616     int32_t ret = DCameraSoftbusAdapter::GetInstance().CreateSoftbusSessionServer(sessionName, role);
617     std::string mySessName = "sourcetest013";
618     std::string peerSessName = "sinktest012";
619     int32_t sessionMode = 0;
620     std::string peerDevId = TEST_DEVICE_ID;
621     DCameraSoftbusAdapter::GetInstance().OpenSoftbusSession(mySessName, peerSessName, sessionMode, peerDevId);
622     int32_t sessionId = -1;
623     int32_t result = 0;
624     std::shared_ptr<DCameraSoftbusSession> session = std::make_shared<DCameraSoftbusSession>();
625     ret = DCameraSoftbusAdapter::GetInstance().OnSinkSessionOpened(sessionId, result);
626     ret = DCameraSoftbusAdapter::GetInstance().DCameraSoftbusGetSessionById(sessionId, session);
627 
628     DCameraSoftbusAdapter::GetInstance().DestroySoftbusSessionServer(sessionName);
629     EXPECT_EQ(DCAMERA_NOT_FOUND, ret);
630 }
631 
632 /**
633  * @tc.name: dcamera_softbus_adapter_test_024
634  * @tc.desc: Verify the CreateSoftbusSessionServer function.
635  * @tc.type: FUNC
636  * @tc.require:
637  */
638 HWTEST_F(DCameraSoftbusAdapterTest, dcamera_softbus_adapter_test_024, TestSize.Level1)
639 {
640     DCAMERA_CHANNEL_ROLE role = DCAMERA_CHANNLE_ROLE_SOURCE;
641     std::string sessionName = "sourcetest024";
642     int32_t ret = DCameraSoftbusAdapter::GetInstance().CreateSoftbusSessionServer(sessionName, role);
643     EXPECT_EQ(DCAMERA_MEMORY_OPT_ERROR, ret);
644 }
645 
646 /**
647  * @tc.name: dcamera_softbus_adapter_test_025
648  * @tc.desc: Verify the DestroySoftbusSessionServer function.
649  * @tc.type: FUNC
650  * @tc.require:
651  */
652 HWTEST_F(DCameraSoftbusAdapterTest, dcamera_softbus_adapter_test_025, TestSize.Level1)
653 {
654     DCAMERA_CHANNEL_ROLE role = DCAMERA_CHANNLE_ROLE_SOURCE;
655     std::string sessionName = "sourcetest025";
656     int32_t ret = DCameraSoftbusAdapter::GetInstance().CreateSoftbusSessionServer(sessionName, role);
657     sessionName = "sourcetest0025";
658     DCameraSoftbusAdapter::GetInstance().DestroySoftbusSessionServer(sessionName);
659     sessionName = "sourcetest025";
660     DCameraSoftbusAdapter::GetInstance().sessionTotal_[sessionName] = 0;
661     DCameraSoftbusAdapter::GetInstance().DestroySoftbusSessionServer(sessionName);
662     EXPECT_EQ(DCAMERA_OK, ret);
663 }
664 
665 /**
666  * @tc.name: dcamera_softbus_adapter_test_026
667  * @tc.desc: Verify the DestroySoftbusSessionServer function.
668  * @tc.type: FUNC
669  * @tc.require:
670  */
671 HWTEST_F(DCameraSoftbusAdapterTest, dcamera_softbus_adapter_test_026, TestSize.Level1)
672 {
673     std::string sessionName = "sourcetest026";
674     DCAMERA_CHANNEL_ROLE role = DCAMERA_CHANNLE_ROLE_SOURCE;
675     int32_t ret = DCameraSoftbusAdapter::GetInstance().CreateSoftbusSessionServer(sessionName, role);
676     std::string mySessName = "sourcetest026";
677     std::string peerSessName = "sinktest0026";
678     int32_t sessionMode = 0;
679     std::string peerDevId = TEST_DEVICE_ID;
680     ret = DCameraSoftbusAdapter::GetInstance().OpenSoftbusSession(mySessName, peerSessName, sessionMode, peerDevId);
681     sessionMode = 1;
682     ret = DCameraSoftbusAdapter::GetInstance().OpenSoftbusSession(mySessName, peerSessName, sessionMode, peerDevId);
683     sessionMode = 2;
684     ret = DCameraSoftbusAdapter::GetInstance().OpenSoftbusSession(mySessName, peerSessName, sessionMode, peerDevId);
685     sessionMode = 3;
686     ret = DCameraSoftbusAdapter::GetInstance().OpenSoftbusSession(mySessName, peerSessName, sessionMode, peerDevId);
687     DCameraSoftbusAdapter::GetInstance().DestroySoftbusSessionServer(sessionName);
688     EXPECT_EQ(DCAMERA_BAD_VALUE, ret);
689 }
690 
691 /**
692  * @tc.name: dcamera_softbus_adapter_test_027
693  * @tc.desc: Verify the DCameraSoftbusSourceGetSession function.
694  * @tc.type: FUNC
695  * @tc.require:
696  */
697 HWTEST_F(DCameraSoftbusAdapterTest, dcamera_softbus_adapter_test_027, TestSize.Level1)
698 {
699     std::string sessionName = "sourcetest027";
700     DCAMERA_CHANNEL_ROLE role = DCAMERA_CHANNLE_ROLE_SOURCE;
701     int32_t ret = DCameraSoftbusAdapter::GetInstance().CreateSoftbusSessionServer(sessionName, role);
702     std::string mySessName = "sourcetest027";
703     std::string peerSessName = "sinktest0027";
704     int32_t sessionMode = 0;
705     std::string peerDevId = TEST_DEVICE_ID;
706     DCameraSoftbusAdapter::GetInstance().OpenSoftbusSession(mySessName, peerSessName, sessionMode, peerDevId);
707     int32_t sessionId = 27;
708     std::shared_ptr<DCameraSoftbusSession> session = std::make_shared<DCameraSoftbusSession>();
709     int32_t result = 0;
710     ret = DCameraSoftbusAdapter::GetInstance().OnSourceSessionOpened(sessionId, result);
711     ret = DCameraSoftbusAdapter::GetInstance().DCameraSoftbusSourceGetSession(sessionId, session);
712     EXPECT_EQ(DCAMERA_MEMORY_OPT_ERROR, ret);
713     mySessName = "sourcetest0027";
714     DCameraSoftbusAdapter::GetInstance().OpenSoftbusSession(mySessName, peerSessName, sessionMode, peerDevId);
715     ret = DCameraSoftbusAdapter::GetInstance().DCameraSoftbusSourceGetSession(sessionId, session);
716     EXPECT_EQ(DCAMERA_MEMORY_OPT_ERROR, ret);
717     sessionId = 2;
718     DCameraSoftbusAdapter::GetInstance().sourceSessions_.clear();
719     ret = DCameraSoftbusAdapter::GetInstance().DCameraSoftbusSourceGetSession(sessionId, session);
720     DCameraSoftbusAdapter::GetInstance().DestroySoftbusSessionServer(sessionName);
721     EXPECT_EQ(DCAMERA_NOT_FOUND, ret);
722 }
723 
724 /**
725  * @tc.name: dcamera_softbus_adapter_test_028
726  * @tc.desc: Verify the OnSourceBytesReceived function.
727  * @tc.type: FUNC
728  * @tc.require:
729  */
730 HWTEST_F(DCameraSoftbusAdapterTest, dcamera_softbus_adapter_test_028, TestSize.Level1)
731 {
732     int32_t sessionId = 2;
733     const void *data = "testdata";
734     uint32_t dataLen = 0;
735     std::string sessionName = "sourcetest028";
736     DCameraSoftbusAdapter::GetInstance().OnSourceBytesReceived(sessionId, data, dataLen);
737     dataLen = DCAMERA_MAX_RECV_DATA_LEN + 1;
738     DCameraSoftbusAdapter::GetInstance().OnSourceBytesReceived(sessionId, data, dataLen);
739     dataLen = 8;
740     data = nullptr;
741     DCameraSoftbusAdapter::GetInstance().OnSourceBytesReceived(sessionId, data, dataLen);
742     int32_t ret = DCameraSoftbusAdapter::GetInstance().CloseSoftbusSession(sessionId);
743     EXPECT_EQ(DCAMERA_OK, ret);
744 }
745 
746 /**
747  * @tc.name: dcamera_softbus_adapter_test_029
748  * @tc.desc: Verify the OnSinkBytesReceived function.
749  * @tc.type: FUNC
750  * @tc.require:
751  */
752 HWTEST_F(DCameraSoftbusAdapterTest, dcamera_softbus_adapter_test_029, TestSize.Level1)
753 {
754     int32_t sessionId = 2;
755     const void *data = "testdata";
756     uint32_t dataLen = 0;
757     std::string sessionName = "sourcetest029";
758     DCameraSoftbusAdapter::GetInstance().OnSinkBytesReceived(sessionId, data, dataLen);
759     dataLen = DCAMERA_MAX_RECV_DATA_LEN + 1;
760     DCameraSoftbusAdapter::GetInstance().OnSinkBytesReceived(sessionId, data, dataLen);
761     data = nullptr;
762     dataLen = 8;
763     DCameraSoftbusAdapter::GetInstance().OnSinkBytesReceived(sessionId, data, dataLen);
764     int32_t ret = DCameraSoftbusAdapter::GetInstance().DestroySoftbusSessionServer(sessionName);
765     EXPECT_EQ(DCAMERA_OK, ret);
766 }
767 
768 /**
769  * @tc.name: dcamera_softbus_adapter_test_030
770  * @tc.desc: Verify the OnSinkBytesReceived function.
771  * @tc.type: FUNC
772  * @tc.require:
773  */
774 HWTEST_F(DCameraSoftbusAdapterTest, dcamera_softbus_adapter_test_030, TestSize.Level1)
775 {
776     std::string sessionName = "sourcetest030";
777     int32_t sessionId = 2;
778     std::string buff01 = "testbuffer030";
779     StreamData test02;
780     std::string buff02 = "testbuffer030";
781     test02.buf = const_cast<char *>(buff02.c_str());
782     test02.bufLen = buff02.size();
783     StreamFrameInfo param01;
784     StreamData *data = nullptr;
785     StreamData *ext = &test02;
786     StreamFrameInfo *param = &param01;
787     DCameraSoftbusAdapter::GetInstance().OnSinkStreamReceived(sessionId, data, ext, param);
788     data = &test02;
789     data->bufLen = 0;
790     DCameraSoftbusAdapter::GetInstance().OnSinkStreamReceived(sessionId, data, ext, param);
791     data->bufLen = DCAMERA_MAX_RECV_DATA_LEN + 1;
792     DCameraSoftbusAdapter::GetInstance().OnSinkStreamReceived(sessionId, data, ext, param);
793     int32_t ret = DCameraSoftbusAdapter::GetInstance().DestroySoftbusSessionServer(sessionName);
794     EXPECT_EQ(DCAMERA_OK, ret);
795 }
796 
797 /**
798  * @tc.name: dcamera_softbus_adapter_test_031
799  * @tc.desc: Verify the CreateSoftbusSessionServer function.
800  * @tc.type: FUNC
801  * @tc.require:
802  */
803 HWTEST_F(DCameraSoftbusAdapterTest, dcamera_softbus_adapter_test_031, TestSize.Level1)
804 {
805     std::string sessionName = "sourcetest31";
806     DCAMERA_CHANNEL_ROLE role = DCAMERA_CHANNLE_ROLE_SOURCE;
807     DCameraSoftbusAdapter::GetInstance().sessionTotal_[sessionName] = 1;
808     int32_t ret = DCameraSoftbusAdapter::GetInstance().CreateSoftbusSessionServer(sessionName, role);
809     EXPECT_EQ(DCAMERA_OK, ret);
810 }
811 
812 /**
813  * @tc.name: dcamera_softbus_adapter_test_032
814  * @tc.desc: Verify the CreateSoftbusSessionServer function.
815  * @tc.type: FUNC
816  * @tc.require:
817  */
818 HWTEST_F(DCameraSoftbusAdapterTest, dcamera_softbus_adapter_test_032, TestSize.Level1)
819 {
820     size_t capacity = 1;
821     std::shared_ptr<DataBuffer> dataBuffer = std::make_shared<DataBuffer>(capacity);
822     std::string buff01 = R"({
823         "type": 0,
824         "index": 1,
825         "pts": 1,
826         "encodeT": 1,
827         "sendT": 1,
828         "ver": "test",
829     })";
830     StreamData test01;
831     test01.buf = const_cast<char *>(buff01.c_str());
832     test01.bufLen = buff01.size();
833     StreamData *data = &test01;
834     int32_t ret = DCameraSoftbusAdapter::GetInstance().HandleSourceStreamExt(dataBuffer, data);
835     EXPECT_EQ(DCAMERA_BAD_VALUE, ret);
836 
837     test01.bufLen = 0;
838     ret = DCameraSoftbusAdapter::GetInstance().HandleSourceStreamExt(dataBuffer, data);
839     EXPECT_EQ(DCAMERA_BAD_VALUE, ret);
840 
841     test01.bufLen = DCAMERA_MAX_RECV_EXT_LEN + 1;
842     ret = DCameraSoftbusAdapter::GetInstance().HandleSourceStreamExt(dataBuffer, data);
843     EXPECT_EQ(DCAMERA_BAD_VALUE, ret);
844 }
845 }
846 }