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 = ¶m01;
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 = ¶m01;
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 = ¶m01;
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 }