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