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(true, ret);
235 }
236 
237 /**
238  * @tc.name: SoftBusAdapter_StartWatchDataChange_001
239  * @tc.desc: test SoftBusAdapter StartWatchDataChange.
240  * @tc.type: FUNC
241  */
242 HWTEST_F(NativeCommunicatorTest, SoftBusAdapter_StartWatchDataChange_001, TestSize.Level1)
243 {
244     PipeInfo pipeInfo = { "pipInfo001" };
245     SoftBusAdapter softBusAdapter;
246     MockAppDataChangeListener listener;
247     auto ret = softBusAdapter.StartWatchDataChange(&listener, pipeInfo);
248     EXPECT_EQ(Status::SUCCESS, ret);
249 }
250 
251 /**
252  * @tc.name: SoftBusAdapter_StartWatchDataChange_002
253  * @tc.desc: test SoftBusAdapter StartWatchDataChange. insert the same observer
254  * @tc.type: FUNC
255  */
256 HWTEST_F(NativeCommunicatorTest, SoftBusAdapter_StartWatchDataChange_002, TestSize.Level1)
257 {
258     PipeInfo pipeInfo = { "pipInfo002" };
259     SoftBusAdapter softBusAdapter;
260     MockAppDataChangeListener listener;
261     auto ret = softBusAdapter.StartWatchDataChange(&listener, pipeInfo);
262     ret = softBusAdapter.StartWatchDataChange(&listener, pipeInfo);
263     EXPECT_EQ(Status::ERROR, ret);
264 }
265 
266 /**
267  * @tc.name: SoftBusAdapter_StartWatchDataChange_003
268  * @tc.desc: test SoftBusAdapter StartWatchDataChange. observer is nullptr
269  * @tc.type: FUNC
270  */
271 HWTEST_F(NativeCommunicatorTest, SoftBusAdapter_StartWatchDataChange_003, TestSize.Level1)
272 {
273     PipeInfo pipeInfo = { "pipInfo002" };
274     SoftBusAdapter softBusAdapter;
275     auto ret = softBusAdapter.StartWatchDataChange(nullptr, pipeInfo);
276     EXPECT_EQ(Status::INVALID_ARGUMENT, ret);
277 }
278 
279 /**
280  * @tc.name: SoftBusAdapter_StopWatchDataChange_001
281  * @tc.desc: test SoftBusAdapter StartWatchDataChange.
282  * @tc.type: FUNC
283  */
284 HWTEST_F(NativeCommunicatorTest, SoftBusAdapter_StopWatchDataChange_001, TestSize.Level1)
285 {
286     PipeInfo pipeInfo = { "pipInfo001" };
287     SoftBusAdapter softBusAdapter;
288     MockAppDataChangeListener listener;
289     auto ret = softBusAdapter.StartWatchDataChange(&listener, pipeInfo);
290     EXPECT_EQ(Status::SUCCESS, ret);
291     softBusAdapter.StopWatchDataChange(&listener, pipeInfo);
292     EXPECT_EQ(Status::SUCCESS, ret);
293 }
294 
295 /**
296  * @tc.name: SoftBusAdapter_StopWatchDataChange_002
297  * @tc.desc: test SoftBusAdapter StartWatchDataChange.
298  * @tc.type: FUNC
299  */
300 HWTEST_F(NativeCommunicatorTest, SoftBusAdapter_StopWatchDataChange_002, TestSize.Level1)
301 {
302     PipeInfo pipeInfo = { "pipInfo001" };
303     SoftBusAdapter softBusAdapter;
304     auto ret = softBusAdapter.StopWatchDataChange(nullptr, pipeInfo);
305     EXPECT_EQ(Status::ERROR, ret);
306 }
307 
308 /**
309  * @tc.name: SoftBusAdapter_ToBeAnonymous_001
310  * @tc.desc: test SoftBusAdapter ToBeAnonymous.
311  * @tc.type: FUNC
312  */
313 HWTEST_F(NativeCommunicatorTest, SoftBusAdapter_ToBeAnonymous_001, TestSize.Level1)
314 {
315     std::string name = "na";
316     SoftBusAdapter softBusAdapter;
317     auto ret = softBusAdapter.ToBeAnonymous(name);
318     EXPECT_EQ(DEFAULT_ANONYMOUS, ret);
319 }
320 
321 /**
322  * @tc.name: SoftBusAdapter_ToBeAnonymous_002
323  * @tc.desc: test SoftBusAdapter ToBeAnonymous.
324  * @tc.type: FUNC
325  */
326 HWTEST_F(NativeCommunicatorTest, SoftBusAdapter_ToBeAnonymous_002, TestSize.Level1)
327 {
328     std::string name = "name";
329     SoftBusAdapter softBusAdapter;
330     auto ret = softBusAdapter.ToBeAnonymous(name);
331     EXPECT_EQ(name.substr(0, HEAD_SIZE) + REPLACE_CHAIN, ret);
332 }
333 
334 /**
335  * @tc.name: SoftBusAdapter_GetLocalBasicInfo_001
336  * @tc.desc: test SoftBusAdapter GetLocalBasicInfo.
337  * @tc.type: FUNC
338  */
339 HWTEST_F(NativeCommunicatorTest, SoftBusAdapter_GetLocalBasicInfo_001, TestSize.Level1)
340 {
341     SoftBusAdapter softBusAdapter;
342     auto ret = softBusAdapter.GetLocalBasicInfo();
343     EXPECT_EQ(true, ret.deviceId.empty());
344     EXPECT_EQ(true, ret.deviceName.empty());
345     EXPECT_EQ(true, ret.deviceType.empty());
346 }
347 
348 /**
349  * @tc.name: SoftBusAdapter_GetRemoteNodesBasicInfo_002
350  * @tc.desc: test SoftBusAdapter GetRemoteNodesBasicInfo.
351  * @tc.type: FUNC
352  */
353 HWTEST_F(NativeCommunicatorTest, SoftBusAdapter_GetLocalBasicInfo_002, TestSize.Level1)
354 {
355     SoftBusAdapter softBusAdapter;
356     auto ret = softBusAdapter.GetRemoteNodesBasicInfo();
357     EXPECT_EQ(false, ret.empty());
358 }
359 
360 /**
361  * @tc.name: SoftBusAdapter_UpdateRelationship_001
362  * @tc.desc: test SoftBusAdapter UpdateRelationship.
363  * @tc.type: FUNC
364  */
365 HWTEST_F(NativeCommunicatorTest, SoftBusAdapter_UpdateRelationship_001, TestSize.Level1)
366 {
367     std::string networdId01 = "networdId01";
368     SoftBusAdapter softBusAdapter;
369     softBusAdapter.UpdateRelationship(networdId01, DeviceChangeType::DEVICE_ONLINE);
370     auto ret = softBusAdapter.ToNodeID("");
371     EXPECT_EQ(networdId01, ret);
372     softBusAdapter.UpdateRelationship(networdId01, DeviceChangeType::DEVICE_OFFLINE);
373 }
374 
375 /**
376  * @tc.name: SoftBusAdapter_UpdateRelationship_002
377  * @tc.desc: test SoftBusAdapter UpdateRelationship.
378  * @tc.type: FUNC
379  */
380 HWTEST_F(NativeCommunicatorTest, SoftBusAdapter_UpdateRelationship_002, TestSize.Level1)
381 {
382     std::string networdId01 = "networdId01";
383     std::string networdId02 = "networdId02";
384     SoftBusAdapter softBusAdapter;
385     softBusAdapter.UpdateRelationship(networdId01, DeviceChangeType::DEVICE_ONLINE);
386     softBusAdapter.UpdateRelationship(networdId02, DeviceChangeType::DEVICE_ONLINE);
387     softBusAdapter.UpdateRelationship(networdId02, DeviceChangeType::DEVICE_OFFLINE);
388     auto ret = softBusAdapter.ToNodeID("");
389     EXPECT_EQ(networdId01, ret);
390     softBusAdapter.UpdateRelationship(networdId01, DeviceChangeType::DEVICE_OFFLINE);
391 }
392 
393 /**
394  * @tc.name: SoftBusAdapter_UpdateRelationship_003
395  * @tc.desc: test SoftBusAdapter UpdateRelationship.
396  * @tc.type: FUNC
397  */
398 HWTEST_F(NativeCommunicatorTest, SoftBusAdapter_UpdateRelationship_003, TestSize.Level1)
399 {
400     std::string networdId01 = "networdId01";
401     std::string networdId02 = "networdId02";
402     SoftBusAdapter softBusAdapter;
403     softBusAdapter.UpdateRelationship(networdId01, DeviceChangeType::DEVICE_ONLINE);
404     softBusAdapter.UpdateRelationship(networdId01, DeviceChangeType::DEVICE_ONLINE);
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_004
412  * @tc.desc: test SoftBusAdapter UpdateRelationship.
413  * @tc.type: FUNC
414  */
415 HWTEST_F(NativeCommunicatorTest, SoftBusAdapter_UpdateRelationship_004, 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(networdId02, DeviceChangeType::DEVICE_OFFLINE);
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_005
429  * @tc.desc: test SoftBusAdapter UpdateRelationship. The input parameter is an incorrect DeviceChangeType
430  * @tc.type: FUNC
431  */
432 HWTEST_F(NativeCommunicatorTest, SoftBusAdapter_UpdateRelationship_005, 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, static_cast<DeviceChangeType>(-1));
439     auto ret = softBusAdapter.ToNodeID("");
440     EXPECT_EQ(networdId01, ret);
441     softBusAdapter.UpdateRelationship(networdId01, DeviceChangeType::DEVICE_OFFLINE);
442 }
443 
444 /**
445  * @tc.name: SoftBusAdapter_RemoveSessionServerAdapter_001
446  * @tc.desc: test SoftBusAdapter RemoveSessionServerAdapter.
447  * @tc.type: FUNC
448  */
449 HWTEST_F(NativeCommunicatorTest, SoftBusAdapter_RemoveSessionServerAdapter_001, TestSize.Level1)
450 {
451     std::string sessionName = "sessionName01";
452     SoftBusAdapter softBusAdapter;
453     auto ret = softBusAdapter.RemoveSessionServerAdapter(sessionName);
454     EXPECT_EQ(SUCCESS, ret);
455 }
456 
457 /**
458  * @tc.name: SoftBusAdapter_GetDeviceList_001
459  * @tc.desc: test SoftBusAdapter GetLocalDevice.
460  * @tc.type: FUNC
461  */
462 HWTEST_F(NativeCommunicatorTest, SoftBusAdapter_GetDeviceList_001, TestSize.Level1)
463 {
464     SoftBusAdapter softBusAdapter;
465     auto ret = softBusAdapter.GetDeviceList();
466     EXPECT_EQ(true, ret.empty());
467 }
468 
469 /**
470  * @tc.name: SoftBusAdapter_GetLocalDevice_001
471  * @tc.desc: test SoftBusAdapter GetLocalDevice.
472  * @tc.type: FUNC
473  */
474 HWTEST_F(NativeCommunicatorTest, SoftBusAdapter_GetLocalDevice_001, TestSize.Level1)
475 {
476     SoftBusAdapter softBusAdapter;
477     auto ret = softBusAdapter.GetLocalDevice();
478     EXPECT_EQ(true, ret.deviceId.empty());
479     EXPECT_EQ(true, ret.deviceName.empty());
480     EXPECT_EQ(true, ret.deviceType.empty());
481 }
482 
483 /**
484  * @tc.name: SoftBusAdapter_SendData_001
485  * @tc.desc: test SoftBusAdapter SendData.
486  * @tc.type: FUNC
487  */
488 HWTEST_F(NativeCommunicatorTest, SoftBusAdapter_SendData_001, TestSize.Level1)
489 {
490     PipeInfo pipeInfo = {"INVALID_SESSION_NAME"};
491     DeviceId deviceId = {"devideId01"};
492     uint32_t size = 1;
493     uint8_t tmpNum = 1;
494     uint8_t *ptr = &tmpNum;
495     const DataInfo dataInfo = { const_cast<uint8_t *>(ptr), size };
496     MessageInfo messageInfo = {MessageType::DEFAULT};
497     SoftBusAdapter softBusAdapter;
498     auto ret = softBusAdapter.SendData(pipeInfo, deviceId, dataInfo, size, messageInfo);
499     EXPECT_EQ(Status::ERROR, ret);
500 }
501 
502 /**
503  * @tc.name: AppDataListenerWrap_OnServerBind_001
504  * @tc.desc: test AppDataListenerWrap OnServerBind.
505  * @tc.type: FUNC
506  */
507 HWTEST_F(NativeCommunicatorTest, AppDataListenerWrap_OnServerBind_001, TestSize.Level1)
508 {
509     AppDataListenerWrap::SetDataHandler(&softBusAdapter_);
510     int32_t socket = 9999;
511     std::string name = "OnServiceBind_001";
512     std::string networkId = "1234567890";
513     std::string pkgName = "ohos.objectstore";
514     PeerSocketInfo mockInfo = {
515         .name = name.data(),
516         .networkId = networkId.data(),
517         .pkgName = pkgName.data(),
518         .dataType = DATA_TYPE_BYTES
519     };
520     AppDataListenerWrap::OnServerBind(socket, mockInfo);
521     PeerSocketInfo info;
522     auto ret = softBusAdapter_.GetPeerSocketInfo(socket, info);
523     EXPECT_TRUE(ret);
524     EXPECT_EQ(mockInfo.name, info.name);
525     AppDataListenerWrap::OnServerShutdown(socket, SHUTDOWN_REASON_LOCAL);
526     ret = softBusAdapter_.GetPeerSocketInfo(socket, info);
527     EXPECT_FALSE(ret);
528 }
529 
530 /**
531  * @tc.name: AppDataListenerWrap_OnServerBytesReceived_001
532  * @tc.desc: test AppDataListenerWrap OnServerBytesReceived.
533  * @tc.type: FUNC
534  */
535 HWTEST_F(NativeCommunicatorTest, AppDataListenerWrap_OnServerBytesReceived_001, TestSize.Level1)
536 {
537     PipeInfo pipeInfo = { "OnServerBytesReceived_001" };
538     SoftBusAdapter softBusAdapter;
539     MockAppDataChangeListener observer;
540     auto ret = softBusAdapter.StartWatchDataChange(&observer, pipeInfo);
541     EXPECT_EQ(Status::SUCCESS, ret);
542     int socket = 1;
543     std::string data = "";
544     AppDataListenerWrap::OnServerBytesReceived(socket, reinterpret_cast<const void *>(data.c_str()), data.size());
545     EXPECT_EQ(data, observer.data);
546 }
547 
548 /**
549  * @tc.name: DevManager_GetUuidByNodeId_001
550  * @tc.desc: test DevManager GetUuidByNodeId.
551  * @tc.type: FUNC
552  */
553 HWTEST_F(NativeCommunicatorTest, DevManager_GetUuidByNodeId_001, TestSize.Level1)
554 {
555     std::string nodeId = "nodeId01";
556     auto ret = DevManager::GetInstance()->GetUuidByNodeId(nodeId);
557     EXPECT_EQ(true, ret.empty());
558 }
559 
560 /**
561 * @tc.name: DevManager_GetLocalDevice
562 * @tc.desc: test DevManager GetLocalDevice.
563 * @tc.type: FUNC
564  */
565 HWTEST_F(NativeCommunicatorTest, DevManager_GetLocalDevice_001, TestSize.Level1)
566 {
567     DevManager *devManager = DevManager::GetInstance();
568     EXPECT_TRUE(devManager != nullptr);
569     DevManager::DetailInfo detailInfo = devManager->GetLocalDevice();
570     EXPECT_EQ(detailInfo.networkId, "");
571 }
572 }
573