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 #include <gmock/gmock.h>
18 #include <string>
19 #include <thread>
20
21 #include "auto_launch_export.h"
22 #include "objectstore_errors.h"
23 #include "ipc_skeleton.h"
24 #include "accesstoken_kit.h"
25 #include "nativetoken_kit.h"
26 #include "token_setproc.h"
27 #include "app_types.h"
28 #include "softbus_adapter.h"
29 #include "dev_manager.h"
30 #include "app_device_status_change_listener.h"
31 #include "app_data_change_listener.h"
32 #include "mock_app_device_change_listener.h"
33 #include "mock_app_data_change_listener.h"
34
35 using namespace testing::ext;
36 using namespace OHOS::Security::AccessToken;
37 using namespace OHOS::ObjectStore;
38
39 namespace {
40 constexpr int32_t HEAD_SIZE = 3;
41 constexpr const char *REPLACE_CHAIN = "***";
42 constexpr const char *DEFAULT_ANONYMOUS = "******";
43
44 class NativeCommunicatorTest : public testing::Test {
45 public:
46 static void SetUpTestCase(void);
47 static void TearDownTestCase(void);
48 void SetUp();
49 void TearDown();
50 public:
51 SoftBusAdapter softBusAdapter_;
52 };
53
SetUpTestCase(void)54 void NativeCommunicatorTest::SetUpTestCase(void)
55 {
56 // input testsuit setup step,setup invoked before all testcases
57 }
58
TearDownTestCase(void)59 void NativeCommunicatorTest::TearDownTestCase(void)
60 {
61 // input testsuit teardown step,teardown invoked after all testcases
62 }
63
SetUp(void)64 void NativeCommunicatorTest::SetUp(void)
65 {
66 // input testcase setup step,setup invoked before each testcases
67 }
68
TearDown(void)69 void NativeCommunicatorTest::TearDown(void)
70 {
71 // input testcase teardown step,teardown invoked after each testcases
72 }
73
74 /**
75 * @tc.name: SoftBusAdapter_StartWatchDeviceChange_001
76 * @tc.desc: test SoftBusAdapter StartWatchDeviceChange. insert a normal observer
77 * @tc.type: FUNC
78 */
79 HWTEST_F(NativeCommunicatorTest, StartWatchDeviceChange_001, TestSize.Level1)
80 {
81 PipeInfo pipeInfo = { "pipInfo001" };
82 SoftBusAdapter softBusAdapter;
83 MockAppDeviceStatusChangeListener listener;
84 auto ret = softBusAdapter.StartWatchDeviceChange(&listener, pipeInfo);
85 EXPECT_EQ(Status::SUCCESS, ret);
86 }
87
88 /**
89 * @tc.name: SoftBusAdapter_StartWatchDeviceChange_002
90 * @tc.desc: test SoftBusAdapter StartWatchDeviceChange. inserted observer is null
91 * @tc.type: FUNC
92 */
93 HWTEST_F(NativeCommunicatorTest, SoftBusAdapter_StartWatchDeviceChange_002, TestSize.Level1)
94 {
95 PipeInfo pipeInfo = { "pipInfo002" };
96 SoftBusAdapter softBusAdapter;
97 auto ret = softBusAdapter.StartWatchDeviceChange(nullptr, pipeInfo);
98 EXPECT_EQ(Status::ERROR, ret);
99 }
100
101 /**
102 * @tc.name: SoftBusAdapter_StartWatchDeviceChange_003
103 * @tc.desc: test SoftBusAdapter StartWatchDeviceChange. insert the same observer
104 * @tc.type: FUNC
105 */
106 HWTEST_F(NativeCommunicatorTest, SoftBusAdapter_StartWatchDeviceChange_003, TestSize.Level1)
107 {
108 PipeInfo pipeInfo = { "pipInfo003" };
109 SoftBusAdapter softBusAdapter;
110 MockAppDeviceStatusChangeListener listener;
111 auto ret = softBusAdapter.StartWatchDeviceChange(&listener, pipeInfo);
112 EXPECT_EQ(Status::SUCCESS, ret);
113 ret = softBusAdapter.StartWatchDeviceChange(&listener, pipeInfo);
114 EXPECT_EQ(Status::ERROR, ret);
115 }
116
117 /**
118 * @tc.name: SoftBusAdapter_StopWatchDeviceChange_001
119 * @tc.desc: test SoftBusAdapter StopWatchDeviceChange.
120 * @tc.type: FUNC
121 */
122 HWTEST_F(NativeCommunicatorTest, SoftBusAdapter_StopWatchDeviceChange_001, TestSize.Level1)
123 {
124 PipeInfo pipeInfo = { "pipInfo001" };
125 SoftBusAdapter softBusAdapter;
126 MockAppDeviceStatusChangeListener listener;
127 auto ret = softBusAdapter.StartWatchDeviceChange(&listener, pipeInfo);
128 EXPECT_EQ(Status::SUCCESS, ret);
129 ret = softBusAdapter.StopWatchDeviceChange(&listener, pipeInfo);
130 EXPECT_EQ(Status::SUCCESS, ret);
131 }
132
133 /**
134 * @tc.name: SoftBusAdapter_StopWatchDeviceChange_002
135 * @tc.desc: test SoftBusAdapter StopWatchDeviceChange.
136 * @tc.type: FUNC
137 */
138 HWTEST_F(NativeCommunicatorTest, SoftBusAdapter_StopWatchDeviceChange_002, TestSize.Level1)
139 {
140 PipeInfo pipeInfo = { "pipInfo002" };
141 SoftBusAdapter softBusAdapter;
142 MockAppDeviceStatusChangeListener listener;
143 auto ret = softBusAdapter.StartWatchDeviceChange(&listener, pipeInfo);
144 EXPECT_EQ(Status::SUCCESS, ret);
145 ret = softBusAdapter.StopWatchDeviceChange(nullptr, pipeInfo);
146 EXPECT_EQ(Status::ERROR, ret);
147 }
148
149 /**
150 * @tc.name: SoftBusAdapter_StopWatchDeviceChange_003
151 * @tc.desc: test SoftBusAdapter StopWatchDeviceChange.
152 * @tc.type: FUNC
153 */
154 HWTEST_F(NativeCommunicatorTest, SoftBusAdapter_StopWatchDeviceChange_003, TestSize.Level1)
155 {
156 PipeInfo pipeInfo = { "pipInfo003" };
157 SoftBusAdapter softBusAdapter;
158 MockAppDeviceStatusChangeListener listener1;
159 MockAppDeviceStatusChangeListener listener2;
160 auto ret = softBusAdapter.StartWatchDeviceChange(&listener1, pipeInfo);
161 EXPECT_EQ(Status::SUCCESS, ret);
162 ret = softBusAdapter.StopWatchDeviceChange(&listener2, pipeInfo);
163 EXPECT_EQ(Status::ERROR, ret);
164 }
165
166 /**
167 * @tc.name: SoftBusAdapter_NotifyAll_001
168 * @tc.desc: test SoftBusAdapter NotifyAll. input parameter of GetChangeLevelType is low
169 * @tc.type: FUNC
170 */
171 HWTEST_F(NativeCommunicatorTest, SoftBusAdapter_NotifyAll_001, TestSize.Level1)
172 {
173 OHOS::ObjectStore::DeviceInfo deviceInfo = { "001", "localLow", "phoneLow" };
174 PipeInfo pipeInfo = { "pipInfo001" };
175 SoftBusAdapter softBusAdapter;
176 MockAppDeviceStatusChangeListenerLow listener;
177 auto ret = softBusAdapter.StartWatchDeviceChange(&listener, pipeInfo);
178 EXPECT_EQ(Status::SUCCESS, ret);
179
180 softBusAdapter.NotifyAll(deviceInfo, DeviceChangeType::DEVICE_ONLINE);
181 listener.Wait();
182 EXPECT_EQ(listener.Compare(deviceInfo), true);
183 }
184
185 /**
186 * @tc.name: SoftBusAdapter_NotifyAll_002
187 * @tc.desc: test SoftBusAdapter NotifyAll. input parameter of GetChangeLevelType is high
188 * @tc.type: FUNC
189 */
190 HWTEST_F(NativeCommunicatorTest, SoftBusAdapter_NotifyAll_002, TestSize.Level1)
191 {
192 OHOS::ObjectStore::DeviceInfo deviceInfo = { "001", "localHigh", "phoneHigh" };
193 PipeInfo pipeInfo = { "pipInfo001" };
194 SoftBusAdapter softBusAdapter;
195 MockAppDeviceStatusChangeListenerHigh listener;
196 auto ret = softBusAdapter.StartWatchDeviceChange(&listener, pipeInfo);
197 EXPECT_EQ(Status::SUCCESS, ret);
198
199 softBusAdapter.NotifyAll(deviceInfo, DeviceChangeType::DEVICE_ONLINE);
200 listener.Wait();
201 EXPECT_EQ(listener.Compare(deviceInfo), true);
202 }
203
204 /**
205 * @tc.name: SoftBusAdapter_NotifyAll_003
206 * @tc.desc: test SoftBusAdapter NotifyAll. input parameter of GetChangeLevelType is min
207 * @tc.type: FUNC
208 */
209 HWTEST_F(NativeCommunicatorTest, SoftBusAdapter_NotifyAll_003, TestSize.Level1)
210 {
211 OHOS::ObjectStore::DeviceInfo deviceInfo = { "001", "localMin", "phoneMin" };
212 PipeInfo pipeInfo = { "pipInfo001" };
213 SoftBusAdapter softBusAdapter;
214 MockAppDeviceStatusChangeListenerMin listener;
215 auto ret = softBusAdapter.StartWatchDeviceChange(&listener, pipeInfo);
216 EXPECT_EQ(Status::SUCCESS, ret);
217
218 softBusAdapter.NotifyAll(deviceInfo, DeviceChangeType::DEVICE_ONLINE);
219 listener.Wait();
220 EXPECT_EQ(listener.Compare(deviceInfo), true);
221 }
222
223 /**
224 * @tc.name: SoftBusAdapter_IsSameStartedOnPeer_001
225 * @tc.desc: test SoftBusAdapter NotifyAll.
226 * @tc.type: FUNC
227 */
228 HWTEST_F(NativeCommunicatorTest, SoftBusAdapter_IsSameStartedOnPeer_001, TestSize.Level1)
229 {
230 PipeInfo pipeInfo = { "pipInfo001" };
231 DeviceId deviceId = { "deviceId01" };
232 SoftBusAdapter softBusAdapter;
233 auto ret = softBusAdapter.IsSameStartedOnPeer(pipeInfo, deviceId);
234 EXPECT_EQ(false, ret);
235 }
236
237 /**
238 * @tc.name: SoftBusAdapter_IsSameStartedOnPeer_002
239 * @tc.desc: test SoftBusAdapter IsSameStartedOnPeer.
240 * @tc.type: FUNC
241 */
242 HWTEST_F(NativeCommunicatorTest, SoftBusAdapter_IsSameStartedOnPeer_002, TestSize.Level1)
243 {
244 PipeInfo pipeInfo = { "pipInfo002" };
245 DeviceId deviceId = { "deviceId02" };
246 SoftBusAdapter softBusAdapter;
247 std::string sessionName = "pipInfo002deviceId02";
248 softBusAdapter.InsertSession(sessionName);
249 auto ret = softBusAdapter.IsSameStartedOnPeer(pipeInfo, deviceId);
250 EXPECT_EQ(true, ret);
251 softBusAdapter.DeleteSession(sessionName);
252 }
253
254 /**
255 * @tc.name: SoftBusAdapter_StartWatchDataChange_001
256 * @tc.desc: test SoftBusAdapter StartWatchDataChange.
257 * @tc.type: FUNC
258 */
259 HWTEST_F(NativeCommunicatorTest, SoftBusAdapter_StartWatchDataChange_001, TestSize.Level1)
260 {
261 PipeInfo pipeInfo = { "pipInfo001" };
262 SoftBusAdapter softBusAdapter;
263 MockAppDataChangeListener listener;
264 auto ret = softBusAdapter.StartWatchDataChange(&listener, pipeInfo);
265 EXPECT_EQ(Status::SUCCESS, ret);
266 }
267
268 /**
269 * @tc.name: SoftBusAdapter_StartWatchDataChange_002
270 * @tc.desc: test SoftBusAdapter StartWatchDataChange. insert the same observer
271 * @tc.type: FUNC
272 */
273 HWTEST_F(NativeCommunicatorTest, SoftBusAdapter_StartWatchDataChange_002, TestSize.Level1)
274 {
275 PipeInfo pipeInfo = { "pipInfo002" };
276 SoftBusAdapter softBusAdapter;
277 MockAppDataChangeListener listener;
278 auto ret = softBusAdapter.StartWatchDataChange(&listener, pipeInfo);
279 ret = softBusAdapter.StartWatchDataChange(&listener, pipeInfo);
280 EXPECT_EQ(Status::ERROR, ret);
281 }
282
283 /**
284 * @tc.name: SoftBusAdapter_StartWatchDataChange_003
285 * @tc.desc: test SoftBusAdapter StartWatchDataChange. observer is nullptr
286 * @tc.type: FUNC
287 */
288 HWTEST_F(NativeCommunicatorTest, SoftBusAdapter_StartWatchDataChange_003, TestSize.Level1)
289 {
290 PipeInfo pipeInfo = { "pipInfo002" };
291 SoftBusAdapter softBusAdapter;
292 auto ret = softBusAdapter.StartWatchDataChange(nullptr, pipeInfo);
293 EXPECT_EQ(Status::INVALID_ARGUMENT, ret);
294 }
295
296 /**
297 * @tc.name: SoftBusAdapter_StopWatchDataChange_001
298 * @tc.desc: test SoftBusAdapter StartWatchDataChange.
299 * @tc.type: FUNC
300 */
301 HWTEST_F(NativeCommunicatorTest, SoftBusAdapter_StopWatchDataChange_001, TestSize.Level1)
302 {
303 PipeInfo pipeInfo = { "pipInfo001" };
304 SoftBusAdapter softBusAdapter;
305 MockAppDataChangeListener listener;
306 auto ret = softBusAdapter.StartWatchDataChange(&listener, pipeInfo);
307 EXPECT_EQ(Status::SUCCESS, ret);
308 softBusAdapter.StopWatchDataChange(&listener, pipeInfo);
309 EXPECT_EQ(Status::SUCCESS, ret);
310 }
311
312 /**
313 * @tc.name: SoftBusAdapter_StopWatchDataChange_002
314 * @tc.desc: test SoftBusAdapter StartWatchDataChange.
315 * @tc.type: FUNC
316 */
317 HWTEST_F(NativeCommunicatorTest, SoftBusAdapter_StopWatchDataChange_002, TestSize.Level1)
318 {
319 PipeInfo pipeInfo = { "pipInfo001" };
320 SoftBusAdapter softBusAdapter;
321 auto ret = softBusAdapter.StopWatchDataChange(nullptr, pipeInfo);
322 EXPECT_EQ(Status::ERROR, ret);
323 }
324
325 /**
326 * @tc.name: SoftBusAdapter_ToBeAnonymous_001
327 * @tc.desc: test SoftBusAdapter ToBeAnonymous.
328 * @tc.type: FUNC
329 */
330 HWTEST_F(NativeCommunicatorTest, SoftBusAdapter_ToBeAnonymous_001, TestSize.Level1)
331 {
332 std::string name = "na";
333 SoftBusAdapter softBusAdapter;
334 auto ret = softBusAdapter.ToBeAnonymous(name);
335 EXPECT_EQ(DEFAULT_ANONYMOUS, ret);
336 }
337
338 /**
339 * @tc.name: SoftBusAdapter_ToBeAnonymous_002
340 * @tc.desc: test SoftBusAdapter ToBeAnonymous.
341 * @tc.type: FUNC
342 */
343 HWTEST_F(NativeCommunicatorTest, SoftBusAdapter_ToBeAnonymous_002, TestSize.Level1)
344 {
345 std::string name = "name";
346 SoftBusAdapter softBusAdapter;
347 auto ret = softBusAdapter.ToBeAnonymous(name);
348 EXPECT_EQ(name.substr(0, HEAD_SIZE) + REPLACE_CHAIN, ret);
349 }
350
351 /**
352 * @tc.name: SoftBusAdapter_GetLocalBasicInfo_001
353 * @tc.desc: test SoftBusAdapter GetLocalBasicInfo.
354 * @tc.type: FUNC
355 */
356 HWTEST_F(NativeCommunicatorTest, SoftBusAdapter_GetLocalBasicInfo_001, TestSize.Level1)
357 {
358 SoftBusAdapter softBusAdapter;
359 auto ret = softBusAdapter.GetLocalBasicInfo();
360 EXPECT_EQ(true, ret.deviceId.empty());
361 EXPECT_EQ(true, ret.deviceName.empty());
362 EXPECT_EQ(true, ret.deviceType.empty());
363 }
364
365 /**
366 * @tc.name: SoftBusAdapter_GetRemoteNodesBasicInfo_002
367 * @tc.desc: test SoftBusAdapter GetRemoteNodesBasicInfo.
368 * @tc.type: FUNC
369 */
370 HWTEST_F(NativeCommunicatorTest, SoftBusAdapter_GetLocalBasicInfo_002, TestSize.Level1)
371 {
372 SoftBusAdapter softBusAdapter;
373 auto ret = softBusAdapter.GetRemoteNodesBasicInfo();
374 EXPECT_EQ(false, ret.empty());
375 }
376
377 /**
378 * @tc.name: SoftBusAdapter_UpdateRelationship_001
379 * @tc.desc: test SoftBusAdapter UpdateRelationship.
380 * @tc.type: FUNC
381 */
382 HWTEST_F(NativeCommunicatorTest, SoftBusAdapter_UpdateRelationship_001, TestSize.Level1)
383 {
384 std::string networdId01 = "networdId01";
385 SoftBusAdapter softBusAdapter;
386 softBusAdapter.UpdateRelationship(networdId01, DeviceChangeType::DEVICE_ONLINE);
387 auto ret = softBusAdapter.ToNodeID("");
388 EXPECT_EQ(networdId01, ret);
389 softBusAdapter.UpdateRelationship(networdId01, DeviceChangeType::DEVICE_OFFLINE);
390 }
391
392 /**
393 * @tc.name: SoftBusAdapter_UpdateRelationship_002
394 * @tc.desc: test SoftBusAdapter UpdateRelationship.
395 * @tc.type: FUNC
396 */
397 HWTEST_F(NativeCommunicatorTest, SoftBusAdapter_UpdateRelationship_002, TestSize.Level1)
398 {
399 std::string networdId01 = "networdId01";
400 std::string networdId02 = "networdId02";
401 SoftBusAdapter softBusAdapter;
402 softBusAdapter.UpdateRelationship(networdId01, DeviceChangeType::DEVICE_ONLINE);
403 softBusAdapter.UpdateRelationship(networdId02, DeviceChangeType::DEVICE_ONLINE);
404 softBusAdapter.UpdateRelationship(networdId02, DeviceChangeType::DEVICE_OFFLINE);
405 auto ret = softBusAdapter.ToNodeID("");
406 EXPECT_EQ(networdId01, ret);
407 softBusAdapter.UpdateRelationship(networdId01, DeviceChangeType::DEVICE_OFFLINE);
408 }
409
410 /**
411 * @tc.name: SoftBusAdapter_UpdateRelationship_003
412 * @tc.desc: test SoftBusAdapter UpdateRelationship.
413 * @tc.type: FUNC
414 */
415 HWTEST_F(NativeCommunicatorTest, SoftBusAdapter_UpdateRelationship_003, TestSize.Level1)
416 {
417 std::string networdId01 = "networdId01";
418 std::string networdId02 = "networdId02";
419 SoftBusAdapter softBusAdapter;
420 softBusAdapter.UpdateRelationship(networdId01, DeviceChangeType::DEVICE_ONLINE);
421 softBusAdapter.UpdateRelationship(networdId01, DeviceChangeType::DEVICE_ONLINE);
422 auto ret = softBusAdapter.ToNodeID("");
423 EXPECT_EQ(networdId01, ret);
424 softBusAdapter.UpdateRelationship(networdId01, DeviceChangeType::DEVICE_OFFLINE);
425 }
426
427 /**
428 * @tc.name: SoftBusAdapter_UpdateRelationship_004
429 * @tc.desc: test SoftBusAdapter UpdateRelationship.
430 * @tc.type: FUNC
431 */
432 HWTEST_F(NativeCommunicatorTest, SoftBusAdapter_UpdateRelationship_004, TestSize.Level1)
433 {
434 std::string networdId01 = "networdId01";
435 std::string networdId02 = "networdId02";
436 SoftBusAdapter softBusAdapter;
437 softBusAdapter.UpdateRelationship(networdId01, DeviceChangeType::DEVICE_ONLINE);
438 softBusAdapter.UpdateRelationship(networdId02, DeviceChangeType::DEVICE_OFFLINE);
439 auto ret = softBusAdapter.ToNodeID("");
440 EXPECT_EQ(networdId01, ret);
441 softBusAdapter.UpdateRelationship(networdId01, DeviceChangeType::DEVICE_OFFLINE);
442 }
443
444 /**
445 * @tc.name: SoftBusAdapter_UpdateRelationship_005
446 * @tc.desc: test SoftBusAdapter UpdateRelationship. The input parameter is an incorrect DeviceChangeType
447 * @tc.type: FUNC
448 */
449 HWTEST_F(NativeCommunicatorTest, SoftBusAdapter_UpdateRelationship_005, TestSize.Level1)
450 {
451 std::string networdId01 = "networdId01";
452 std::string networdId02 = "networdId02";
453 SoftBusAdapter softBusAdapter;
454 softBusAdapter.UpdateRelationship(networdId01, DeviceChangeType::DEVICE_ONLINE);
455 softBusAdapter.UpdateRelationship(networdId02, static_cast<DeviceChangeType>(-1));
456 auto ret = softBusAdapter.ToNodeID("");
457 EXPECT_EQ(networdId01, ret);
458 softBusAdapter.UpdateRelationship(networdId01, DeviceChangeType::DEVICE_OFFLINE);
459 }
460
461 /**
462 * @tc.name: SoftBusAdapter_RemoveSessionServerAdapter_001
463 * @tc.desc: test SoftBusAdapter RemoveSessionServerAdapter.
464 * @tc.type: FUNC
465 */
466 HWTEST_F(NativeCommunicatorTest, SoftBusAdapter_RemoveSessionServerAdapter_001, TestSize.Level1)
467 {
468 std::string sessionName = "sessionName01";
469 SoftBusAdapter softBusAdapter;
470 auto ret = softBusAdapter.RemoveSessionServerAdapter(sessionName);
471 EXPECT_EQ(SUCCESS, ret);
472 }
473
474 /**
475 * @tc.name: SoftBusAdapter_GetDeviceList_001
476 * @tc.desc: test SoftBusAdapter GetLocalDevice.
477 * @tc.type: FUNC
478 */
479 HWTEST_F(NativeCommunicatorTest, SoftBusAdapter_GetDeviceList_001, TestSize.Level1)
480 {
481 SoftBusAdapter softBusAdapter;
482 auto ret = softBusAdapter.GetDeviceList();
483 EXPECT_EQ(false, ret.empty());
484 }
485
486 /**
487 * @tc.name: SoftBusAdapter_GetLocalDevice_001
488 * @tc.desc: test SoftBusAdapter GetLocalDevice.
489 * @tc.type: FUNC
490 */
491 HWTEST_F(NativeCommunicatorTest, SoftBusAdapter_GetLocalDevice_001, TestSize.Level1)
492 {
493 SoftBusAdapter softBusAdapter;
494 auto ret = softBusAdapter.GetLocalDevice();
495 EXPECT_EQ(true, ret.deviceId.empty());
496 EXPECT_EQ(true, ret.deviceName.empty());
497 EXPECT_EQ(true, ret.deviceType.empty());
498 }
499
500 /**
501 * @tc.name: SoftBusAdapter_SendData_001
502 * @tc.desc: test SoftBusAdapter SendData.
503 * @tc.type: FUNC
504 */
505 HWTEST_F(NativeCommunicatorTest, SoftBusAdapter_SendData_001, TestSize.Level1)
506 {
507 PipeInfo pipeInfo = {};
508 DeviceId deviceId = {"devideId01"};
509 uint32_t size = 1;
510 uint8_t tmpNum = 1;
511 uint8_t *ptr = &tmpNum;
512 const DataInfo dataInfo = { const_cast<uint8_t *>(ptr), size };
513 MessageInfo messageInfo = {MessageType::DEFAULT};
514 SoftBusAdapter softBusAdapter;
515 auto ret = softBusAdapter.SendData(pipeInfo, deviceId, dataInfo, size, messageInfo);
516 EXPECT_EQ(Status::SUCCESS, ret);
517 }
518
519 /**
520 * @tc.name: AppDataListenerWrap_OnSessionOpened_001
521 * @tc.desc: test AppDataListenerWrap OnSessionOpened.
522 * @tc.type: FUNC
523 */
524 HWTEST_F(NativeCommunicatorTest, AppDataListenerWrap_OnSessionOpened_001, TestSize.Level1)
525 {
526 int sessionId = 1;
527 int result = 0;
528 AppDataListenerWrap::SetDataHandler(&softBusAdapter_);
529 auto ret = AppDataListenerWrap::OnSessionOpened(sessionId, result);
530 EXPECT_EQ(0, ret);
531 AppDataListenerWrap::OnSessionClosed(sessionId);
532 }
533
534 /**
535 * @tc.name: AppDataListenerWrap_OnSessionOpened_002
536 * @tc.desc: test AppDataListenerWrap OnSessionOpened.
537 * @tc.type: FUNC
538 */
539 HWTEST_F(NativeCommunicatorTest, AppDataListenerWrap_OnSessionOpened_002, TestSize.Level1)
540 {
541 int sessionId = 1;
542 int result = 1;
543 AppDataListenerWrap::SetDataHandler(&softBusAdapter_);
544 auto ret = AppDataListenerWrap::OnSessionOpened(sessionId, result);
545 EXPECT_EQ(1, ret);
546 AppDataListenerWrap::OnSessionClosed(sessionId);
547 }
548
549 /**
550 * @tc.name: AppDataListenerWrap_OnMessageReceived_001
551 * @tc.desc: test AppDataListenerWrap OnMessageReceived.
552 * @tc.type: FUNC
553 */
554 HWTEST_F(NativeCommunicatorTest, AppDataListenerWrap_OnMessageReceived_001, TestSize.Level1)
555 {
556 PipeInfo pipeInfo = { "" };
557 SoftBusAdapter softBusAdapter;
558 MockAppDataChangeListener observer;
559 auto ret = softBusAdapter.StartWatchDataChange(&observer, pipeInfo);
560 EXPECT_EQ(Status::SUCCESS, ret);
561 int sessionId = 1;
562 AppDataListenerWrap::SetDataHandler(&softBusAdapter);
563 std::string data = "OnMessageReceived";
564 AppDataListenerWrap::OnMessageReceived(sessionId, reinterpret_cast<const void *>(data.c_str()), data.size());
565 EXPECT_EQ(data, observer.data);
566 }
567
568 /**
569 * @tc.name: AppDataListenerWrap_OnBytesReceived_001
570 * @tc.desc: test AppDataListenerWrap OnBytesReceived.
571 * @tc.type: FUNC
572 */
573 HWTEST_F(NativeCommunicatorTest, AppDataListenerWrap_OnBytesReceived_001, TestSize.Level1)
574 {
575 PipeInfo pipeInfo = { "" };
576 SoftBusAdapter softBusAdapter;
577 MockAppDataChangeListener observer;
578 auto ret = softBusAdapter.StartWatchDataChange(&observer, pipeInfo);
579 EXPECT_EQ(Status::SUCCESS, ret);
580 int sessionId = 1;
581 AppDataListenerWrap::SetDataHandler(&softBusAdapter);
582 std::string data = "OnBytesReceived";
583 AppDataListenerWrap::OnBytesReceived(sessionId, reinterpret_cast<const void *>(data.c_str()), data.size());
584 EXPECT_EQ(data, observer.data);
585 }
586
587 /**
588 * @tc.name: DevManager_GetUuidByNodeId_001
589 * @tc.desc: test DevManager GetUuidByNodeId.
590 * @tc.type: FUNC
591 */
592 HWTEST_F(NativeCommunicatorTest, DevManager_GetUuidByNodeId_001, TestSize.Level1)
593 {
594 std::string nodeId = "nodeId01";
595 auto ret = DevManager::GetInstance()->GetUuidByNodeId(nodeId);
596 EXPECT_EQ(true, ret.empty());
597 }
598 }