1 /*
2 * Copyright (c) 2022-2024 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 #include "device/device_manager_agent.h"
16
17 #include <atomic>
18 #include <exception>
19 #include <memory>
20 #include <unistd.h>
21
22 #include "gtest/gtest.h"
23
24 #include "device_manager_impl_mock.h"
25 #include "mountpoint/mount_point.h"
26 #include "network/softbus/softbus_agent.h"
27
28 namespace OHOS {
29 bool g_parameterVaule = true;
30 namespace system {
GetBoolParameter(const std::string & key,bool def)31 bool GetBoolParameter(const std::string& key, bool def)
32 {
33 return g_parameterVaule;
34 }
35 }
36 }
37
38 namespace OHOS {
39 namespace Storage {
40 namespace DistributedFile {
41 namespace Test {
42 using namespace testing;
43 using namespace testing::ext;
44 using namespace std;
45
46 DistributedHardware::DmDeviceInfo deviceInfo = {
47 .deviceId = "testdevid",
48 .deviceName = "testdevname",
49 .deviceTypeId = 1,
50 .networkId = "testNetWork",
51 .extraData = R"({"OS_TYPE":10})",
52 };
53
54 const std::string NETWORKID_ONE = "45656596896323231";
55 const std::string NETWORKID_TWO = "45656596896323232";
56 const std::string NETWORKID_THREE = "45656596896323233";
57 constexpr int32_t NETWORKTYPE_WITH_WIFI = 2;
58 constexpr int32_t NETWORKTYPE_NONE_WIFI = 4;
59
60 class DeviceManagerAgentTest : public testing::Test {
61 public:
62 static void SetUpTestCase(void);
63 static void TearDownTestCase(void);
64 void SetUp();
65 void TearDown();
66 static inline shared_ptr<DeviceManagerImplMock> deviceManagerImplMock_ = nullptr;
67 };
68
SetUpTestCase(void)69 void DeviceManagerAgentTest::SetUpTestCase(void)
70 {
71 // input testsuit setup step,setup invoked before all testcases
72 deviceManagerImplMock_ = make_shared<DeviceManagerImplMock>();
73 DeviceManagerImplMock::dfsDeviceManagerImpl = deviceManagerImplMock_;
74 EXPECT_CALL(*deviceManagerImplMock_, InitDeviceManager(_, _)).WillRepeatedly(Return(0));
75 EXPECT_CALL(*deviceManagerImplMock_, RegisterDevStateCallback(_, _, _)).WillRepeatedly(Return(0));
76 EXPECT_CALL(*deviceManagerImplMock_, UnRegisterDevStateCallback(_)).WillRepeatedly(Return(0));
77 EXPECT_CALL(*deviceManagerImplMock_, UnInitDeviceManager(_)).WillRepeatedly(Return(0));
78 EXPECT_CALL(*deviceManagerImplMock_, UnInitDeviceManager(_)).WillRepeatedly(Return(0));
79 EXPECT_CALL(*deviceManagerImplMock_, GetTrustedDeviceList(_, _, _)).WillRepeatedly(Return(0));
80 }
81
TearDownTestCase(void)82 void DeviceManagerAgentTest::TearDownTestCase(void)
83 {
84 // input testsuit teardown step,teardown invoked after all testcases
85 DeviceManagerImplMock::dfsDeviceManagerImpl = nullptr;
86 deviceManagerImplMock_ = nullptr;
87 }
88
SetUp(void)89 void DeviceManagerAgentTest::SetUp(void)
90 {
91 // input testcase setup step,setup invoked before each testcases
92 }
93
TearDown(void)94 void DeviceManagerAgentTest::TearDown(void)
95 {
96 // input testcase teardown step,teardown invoked after each testcases
97 }
98
99 /**
100 * @tc.name: DeviceManagerAgentTest_OnDeviceOnline_0100
101 * @tc.desc: Verify the OnDeviceOnline function.
102 * @tc.type: FUNC
103 * @tc.require: SR000H0387
104 */
105 HWTEST_F(DeviceManagerAgentTest, DeviceManagerAgentTest_OnDeviceOnline_0100, TestSize.Level1)
106 {
107 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_OnDeviceOnline_0100 start";
108 bool res = true;
109
110 try {
111 DeviceManagerAgent::GetInstance()->OnDeviceOnline(deviceInfo);
112 } catch (const exception &e) {
113 LOGE("Error:%{public}s", e.what());
114 res = false;
115 }
116
117 EXPECT_TRUE(res == true);
118 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_OnDeviceOnline_0100 end";
119 }
120
121 /**
122 * @tc.name: DeviceManagerAgentTest_OnDeviceOnline_0400
123 * @tc.desc: Verify the OnDeviceOnline function.
124 * @tc.type: FUNC
125 * @tc.require: SR000H0387
126 */
127 HWTEST_F(DeviceManagerAgentTest, DeviceManagerAgentTest_OnDeviceOnline_0400, TestSize.Level1)
128 {
129 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_OnDeviceOnline_0400 start";
130 bool res = true;
131
132 try {
133 auto smp = make_shared<MountPoint>(Utils::DfsuMountArgumentDescriptors::Alpha(100, "relativePath"));
134 auto agent1 = make_shared<SoftbusAgent>(smp);
135 (void)memcpy_s(deviceInfo.networkId, DM_MAX_DEVICE_NAME_LEN - 1,
136 NETWORKID_TWO.c_str(), NETWORKID_TWO.size());
137 DeviceManagerAgent::GetInstance()->cidNetTypeRecord_.insert({ NETWORKID_TWO, agent1 });
138 DeviceManagerAgent::GetInstance()->cidNetworkType_.insert({ NETWORKID_TWO, NETWORKTYPE_NONE_WIFI });
139 DeviceManagerAgent::GetInstance()->OnDeviceOnline(deviceInfo);
140 DeviceManagerAgent::GetInstance()->cidNetTypeRecord_.erase(NETWORKID_TWO);
141 DeviceManagerAgent::GetInstance()->cidNetworkType_.erase(NETWORKID_TWO);
142 } catch (const exception &e) {
143 GTEST_LOG_(INFO) << e.what();
144 res = false;
145 }
146
147 EXPECT_TRUE(res);
148 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_OnDeviceOnline_0400 end";
149 }
150
151 /**
152 * @tc.name: DeviceManagerAgentTest_OnDeviceOffline_0100
153 * @tc.desc: Verify the OnDeviceOffline function.
154 * @tc.type: FUNC
155 * @tc.require: SR000H0387
156 */
157 HWTEST_F(DeviceManagerAgentTest, DeviceManagerAgentTest_OnDeviceOffline_0100, TestSize.Level1)
158 {
159 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_OnDeviceOffline_0100 start";
160 bool res = true;
161
162 try {
163 DeviceManagerAgent::GetInstance()->OnDeviceOffline(deviceInfo);
164 } catch (const exception &e) {
165 LOGE("Error:%{public}s", e.what());
166 res = false;
167 }
168
169 EXPECT_TRUE(res == true);
170 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_OnDeviceOffline_0100 end";
171 }
172
173 /**
174 * @tc.name: DeviceManagerAgentTest_OnDeviceOffline_0200
175 * @tc.desc: Verify the OnDeviceOffline function.
176 * @tc.type: FUNC
177 * @tc.require: SR000H0387
178 */
179 HWTEST_F(DeviceManagerAgentTest, DeviceManagerAgentTest_OnDeviceOffline_0200, TestSize.Level1)
180 {
181 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_OnDeviceOffline_0200 start";
182 bool res = true;
183
184 try {
185 DeviceManagerAgent::GetInstance()->OnDeviceOnline(deviceInfo);
186 DeviceManagerAgent::GetInstance()->OnDeviceOffline(deviceInfo);
187 } catch (const exception &e) {
188 LOGE("Error:%{public}s", e.what());
189 res = false;
190 }
191
192 EXPECT_TRUE(res == true);
193 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_OnDeviceOffline_0200 end";
194 }
195
196 /**
197 * @tc.name: DeviceManagerAgentTest_OnDeviceChanged_0100
198 * @tc.desc: Verify the OnDeviceChanged function.
199 * @tc.type: FUNC
200 * @tc.require: SR000H0387
201 */
202 HWTEST_F(DeviceManagerAgentTest, DeviceManagerAgentTest_OnDeviceChanged_0100, TestSize.Level1)
203 {
204 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_OnDeviceChanged_0100 start";
205 bool res = true;
206
207 try {
208 DeviceManagerAgent::GetInstance()->OnDeviceChanged(deviceInfo);
209 } catch (const exception &e) {
210 LOGE("Error:%{public}s", e.what());
211 res = false;
212 }
213
214 EXPECT_TRUE(res == true);
215 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_OnDeviceChanged_0100 end";
216 }
217
218 /**
219 * @tc.name: DeviceManagerAgentTest_OnDeviceChanged_0200
220 * @tc.desc: Verify the OnDeviceChanged function.
221 * @tc.type: FUNC
222 * @tc.require: SR000H0387
223 */
224 HWTEST_F(DeviceManagerAgentTest, DeviceManagerAgentTest_OnDeviceChanged_0200, TestSize.Level1)
225 {
226 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_OnDeviceChanged_0200 start";
227 bool res = true;
228
229 try {
230 deviceInfo.networkType = -1;
231 DeviceManagerAgent::GetInstance()->OnDeviceChanged(deviceInfo);
232 deviceInfo.networkType = 1;
233 DeviceManagerAgent::GetInstance()->OnDeviceChanged(deviceInfo);
234 } catch (const exception &e) {
235 GTEST_LOG_(INFO) << e.what();
236 res = false;
237 }
238
239 EXPECT_TRUE(res);
240 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_OnDeviceChanged_0200 end";
241 }
242
243 /**
244 * @tc.name: DeviceManagerAgentTest_OnDeviceChanged_0300
245 * @tc.desc: Verify the OnDeviceChanged function.
246 * @tc.type: FUNC
247 * @tc.require: SR000H0387
248 */
249 HWTEST_F(DeviceManagerAgentTest, DeviceManagerAgentTest_OnDeviceChanged_0300, TestSize.Level1)
250 {
251 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_OnDeviceChanged_0300 start";
252 bool res = true;
253
254 try {
255 deviceInfo.networkType = NETWORKTYPE_NONE_WIFI;
256 auto smp = make_shared<MountPoint>(Utils::DfsuMountArgumentDescriptors::Alpha(100, "relativePath"));
257 auto agent1 = make_shared<SoftbusAgent>(smp);
258 (void)memcpy_s(deviceInfo.networkId, DM_MAX_DEVICE_NAME_LEN - 1,
259 NETWORKID_THREE.c_str(), NETWORKID_THREE.size());
260 std::vector<DmDeviceInfo> deviceList;
261 deviceList.push_back(deviceInfo);
262 EXPECT_CALL(*deviceManagerImplMock_, GetTrustedDeviceList(_, _, _))
263 .WillOnce(DoAll(SetArgReferee<2>(deviceList), Return(0)));
264 auto devicePtr = DeviceManagerAgent::GetInstance();
265 devicePtr->cidNetTypeRecord_.insert({ NETWORKID_THREE, agent1 });
266 devicePtr->OnDeviceChanged(deviceInfo);
267
268 devicePtr->cidNetworkType_.insert({ NETWORKID_THREE, NETWORKTYPE_NONE_WIFI });
269 EXPECT_CALL(*deviceManagerImplMock_, GetTrustedDeviceList(_, _, _))
270 .WillOnce(DoAll(SetArgReferee<2>(deviceList), Return(0)));
271 devicePtr->OnDeviceChanged(deviceInfo);
272
273 deviceInfo.networkType = NETWORKTYPE_WITH_WIFI;
274 EXPECT_CALL(*deviceManagerImplMock_, GetTrustedDeviceList(_, _, _))
275 .WillOnce(DoAll(SetArgReferee<2>(deviceList), Return(0)));
276 devicePtr->OnDeviceChanged(deviceInfo);
277 devicePtr->cidNetTypeRecord_.erase(NETWORKID_THREE);
278 devicePtr->cidNetworkType_.erase(NETWORKID_THREE);
279 } catch (const exception &e) {
280 GTEST_LOG_(INFO) << e.what();
281 res = false;
282 }
283
284 EXPECT_TRUE(res);
285 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_OnDeviceChanged_0300 end";
286 }
287
288 /**
289 * @tc.name: DeviceManagerAgentTest_OnDeviceChanged_0400
290 * @tc.desc: Verify the OnDeviceChanged function.
291 * @tc.type: FUNC
292 * @tc.require: SR000H0387
293 */
294 HWTEST_F(DeviceManagerAgentTest, DeviceManagerAgentTest_OnDeviceChanged_0400, TestSize.Level1)
295 {
296 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_OnDeviceChanged_0400 start";
297 bool res = true;
298
299 try {
300 deviceInfo.networkType = NETWORKTYPE_WITH_WIFI;
301 auto smp = make_shared<MountPoint>(Utils::DfsuMountArgumentDescriptors::Alpha(100, "relativePath"));
302 auto agent1 = make_shared<SoftbusAgent>(smp);
303 (void)memcpy_s(deviceInfo.networkId, DM_MAX_DEVICE_NAME_LEN - 1,
304 NETWORKID_TWO.c_str(), NETWORKID_TWO.size());
305 std::vector<DmDeviceInfo> deviceList;
306 deviceList.push_back(deviceInfo);
307 EXPECT_CALL(*deviceManagerImplMock_, GetTrustedDeviceList(_, _, _))
308 .WillOnce(DoAll(SetArgReferee<2>(deviceList), Return(0)));
309 auto devicePtr = DeviceManagerAgent::GetInstance();
310 devicePtr->cidNetTypeRecord_.insert({ NETWORKID_TWO, agent1 });
311 devicePtr->cidNetworkType_.insert({ NETWORKID_TWO, NETWORKTYPE_WITH_WIFI });
312 devicePtr->OnDeviceChanged(deviceInfo);
313
314 deviceInfo.networkType = NETWORKTYPE_NONE_WIFI;
315 EXPECT_CALL(*deviceManagerImplMock_, GetTrustedDeviceList(_, _, _))
316 .WillOnce(DoAll(SetArgReferee<2>(deviceList), Return(0))).WillOnce(Return(0));
317 devicePtr->OnDeviceChanged(deviceInfo);
318 devicePtr->cidNetTypeRecord_.erase(NETWORKID_TWO);
319 devicePtr->cidNetworkType_.erase(NETWORKID_TWO);
320 } catch (const exception &e) {
321 GTEST_LOG_(INFO) << e.what();
322 res = false;
323 }
324
325 EXPECT_TRUE(res);
326 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_OnDeviceChanged_0400 end";
327 }
328 /**
329 * @tc.name: DeviceManagerAgentTest_OnDeviceReady_0100
330 * @tc.desc: Verify the OnDeviceReady function.
331 * @tc.type: FUNC
332 * @tc.require: SR000H0387
333 */
334 HWTEST_F(DeviceManagerAgentTest, DeviceManagerAgentTest_OnDeviceReady_0100, TestSize.Level1)
335 {
336 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_OnDeviceReady_0100 start";
337 bool res = true;
338
339 try {
340 DeviceManagerAgent::GetInstance()->OnDeviceReady(deviceInfo);
341 } catch (const exception &e) {
342 LOGE("Error:%{public}s", e.what());
343 res = false;
344 }
345
346 EXPECT_TRUE(res == true);
347 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_OnDeviceReady_0100 end";
348 }
349
350 /**
351 * @tc.name: DeviceManagerAgentTest_OnDeviceReady_0200
352 * @tc.desc: Verify the OnDeviceReady function.
353 * @tc.type: FUNC
354 * @tc.require: IA6UD3
355 */
356 HWTEST_F(DeviceManagerAgentTest, DeviceManagerAgentTest_OnDeviceReady_0200, TestSize.Level1)
357 {
358 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_OnDeviceReady_0200 start";
359 bool res = true;
360
361 try {
362 (void)memcpy_s(deviceInfo.networkId, DM_MAX_DEVICE_NAME_LEN - 1,
363 NETWORKID_TWO.c_str(), NETWORKID_TWO.size());
364 std::vector<DmDeviceInfo> deviceList;
365 deviceList.push_back(deviceInfo);
366 EXPECT_CALL(*deviceManagerImplMock_, GetTrustedDeviceList(_, _, _))
367 .WillOnce(DoAll(SetArgReferee<2>(deviceList), Return(0)));
368 auto devicePtr = DeviceManagerAgent::GetInstance();
369 devicePtr->OnDeviceReady(deviceInfo);
370
371 auto smp = make_shared<MountPoint>(Utils::DfsuMountArgumentDescriptors::Alpha(100, "relativePath"));
372 auto agent1 = make_shared<SoftbusAgent>(smp);
373 devicePtr->cidNetTypeRecord_.insert({ NETWORKID_TWO, agent1 });
374 EXPECT_CALL(*deviceManagerImplMock_, GetTrustedDeviceList(_, _, _))
375 .WillOnce(DoAll(SetArgReferee<2>(deviceList), Return(0)));
376 devicePtr->OnDeviceReady(deviceInfo);
377
378 devicePtr->cidNetworkType_.insert({ NETWORKID_TWO, NETWORKTYPE_WITH_WIFI });
379 EXPECT_CALL(*deviceManagerImplMock_, GetTrustedDeviceList(_, _, _))
380 .WillOnce(DoAll(SetArgReferee<2>(deviceList), Return(0)));
381 devicePtr->OnDeviceReady(deviceInfo);
382 } catch (const exception &e) {
383 LOGE("Error:%{public}s", e.what());
384 res = false;
385 }
386
387 EXPECT_TRUE(res == true);
388 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_OnDeviceReady_0200 end";
389 }
390
391 /**
392 * @tc.name: DeviceManagerAgentTest_OnDeviceReady_0300
393 * @tc.desc: Verify the OnDeviceReady function.
394 * @tc.type: FUNC
395 * @tc.require: IA6UD3
396 */
397 HWTEST_F(DeviceManagerAgentTest, DeviceManagerAgentTest_OnDeviceReady_0300, TestSize.Level1)
398 {
399 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_OnDeviceReady_0300 start";
400 bool res = true;
401
402 try {
403 auto smp = make_shared<MountPoint>(Utils::DfsuMountArgumentDescriptors::Alpha(100, "relativePath"));
404 auto agent1 = make_shared<SoftbusAgent>(smp);
405 (void)memcpy_s(deviceInfo.networkId, DM_MAX_DEVICE_NAME_LEN - 1,
406 NETWORKID_THREE.c_str(), NETWORKID_THREE.size());
407 std::vector<DmDeviceInfo> deviceList;
408 deviceList.push_back(deviceInfo);
409 EXPECT_CALL(*deviceManagerImplMock_, GetTrustedDeviceList(_, _, _))
410 .WillOnce(DoAll(SetArgReferee<2>(deviceList), Return(0))).WillOnce(Return(0));
411 auto devicePtr = DeviceManagerAgent::GetInstance();
412 devicePtr->cidNetTypeRecord_.insert({ NETWORKID_THREE, agent1 });
413 devicePtr->cidNetworkType_.insert({ NETWORKID_THREE, NETWORKTYPE_NONE_WIFI });
414 devicePtr->OnDeviceReady(deviceInfo);
415 devicePtr->cidNetTypeRecord_.erase(NETWORKID_THREE);
416 devicePtr->cidNetworkType_.erase(NETWORKID_THREE);
417 } catch (const exception &e) {
418 GTEST_LOG_(INFO) << e.what();
419 res = false;
420 }
421
422 EXPECT_TRUE(res);
423 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_OnDeviceReady_0300 end";
424 }
425
426 /**
427 * @tc.name: DeviceManagerAgentTest_OnDeviceP2POnline_0100
428 * @tc.desc: Verify the OnDeviceP2POnline function.
429 * @tc.type: FUNC
430 * @tc.require: I7M6L1
431 */
432 HWTEST_F(DeviceManagerAgentTest, DeviceManagerAgentTest_OnDeviceP2POnline_0100, TestSize.Level1)
433 {
434 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_OnDeviceP2POnline_0100 start";
435 bool res = true;
436
437 try {
438 auto ret = DeviceManagerAgent::GetInstance()->OnDeviceP2POnline(deviceInfo);
439 EXPECT_EQ(ret, 1);
440 } catch (const exception &e) {
441 LOGE("Error:%{public}s", e.what());
442 res = false;
443 }
444
445 EXPECT_TRUE(res == true);
446 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_OnDeviceP2POnline_0100 end";
447 }
448
449 /**
450 * @tc.name: DeviceManagerAgentTest_OnDeviceP2POnline_0200
451 * @tc.desc: Verify the OnDeviceP2POnline function.
452 * @tc.type: FUNC
453 * @tc.require: I7M6L1
454 */
455 HWTEST_F(DeviceManagerAgentTest, DeviceManagerAgentTest_OnDeviceP2POnline_0200, TestSize.Level1)
456 {
457 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_OnDeviceP2POnline_0200 start";
458 bool res = true;
459
460 try {
461 std::vector<DmDeviceInfo> deviceList;
462 deviceList.push_back(deviceInfo);
463 EXPECT_CALL(*deviceManagerImplMock_, GetTrustedDeviceList(_, _, _))
464 .WillOnce(DoAll(SetArgReferee<2>(deviceList), Return(0)));
465 auto smp = make_shared<MountPoint>(Utils::DfsuMountArgumentDescriptors::Alpha(100, "relativePath"));
466 auto agent1 = make_shared<SoftbusAgent>(smp);
467 string testNetWorkId = deviceInfo.networkId;
468 auto devicePtr = DeviceManagerAgent::GetInstance();
469 devicePtr->cidNetTypeRecord_.insert({ testNetWorkId, agent1 });
470 auto ret = DeviceManagerAgent::GetInstance()->OnDeviceP2POnline(deviceInfo);
471 EXPECT_EQ(ret, 1);
472
473 EXPECT_CALL(*deviceManagerImplMock_, GetTrustedDeviceList(_, _, _))
474 .WillOnce(DoAll(SetArgReferee<2>(deviceList), Return(0))).WillRepeatedly(Return(0));
475 devicePtr->cidNetworkType_.insert({ testNetWorkId, NETWORKTYPE_NONE_WIFI });
476 ret = devicePtr->OnDeviceP2POnline(deviceInfo);
477 EXPECT_EQ(ret, 0);
478 devicePtr->cidNetTypeRecord_.erase(testNetWorkId);
479 devicePtr->cidNetworkType_.erase(testNetWorkId);
480 } catch (const exception &e) {
481 GTEST_LOG_(INFO) << e.what();
482 res = false;
483 }
484
485 EXPECT_TRUE(res);
486 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_OnDeviceP2POnline_0200 end";
487 }
488
489 /**
490 * @tc.name: DeviceManagerAgentTest_OnDeviceP2POffline_0100
491 * @tc.desc: Verify the OnDeviceP2POffline function.
492 * @tc.type: FUNC
493 * @tc.require: I7M6L1
494 */
495 HWTEST_F(DeviceManagerAgentTest, DeviceManagerAgentTest_OnDeviceP2POffline_0100, TestSize.Level1)
496 {
497 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_OnDeviceP2POffline_0100 start";
498 bool res = true;
499
500 try {
501 auto ret = DeviceManagerAgent::GetInstance()->OnDeviceP2POffline(deviceInfo);
502 EXPECT_EQ(ret, 1);
503 } catch (const exception &e) {
504 LOGE("Error:%{public}s", e.what());
505 res = false;
506 }
507
508 EXPECT_TRUE(res == true);
509 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_OnDeviceP2POffline_0100 end";
510 }
511
512 /**
513 * @tc.name: DeviceManagerAgentTest_OnDeviceP2POffline_0200
514 * @tc.desc: Verify the OnDeviceP2POffline function.
515 * @tc.type: FUNC
516 * @tc.require: I7M6L1
517 */
518 HWTEST_F(DeviceManagerAgentTest, DeviceManagerAgentTest_OnDeviceP2POffline_0200, TestSize.Level1)
519 {
520 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_OnDeviceP2POffline_0200 start";
521 bool res = true;
522
523 try {
524 DeviceManagerAgent::GetInstance()->OnDeviceP2POnline(deviceInfo);
525 DeviceManagerAgent::GetInstance()->OnDeviceP2POffline(deviceInfo);
526 } catch (const exception &e) {
527 LOGE("Error:%{public}s", e.what());
528 res = false;
529 }
530
531 EXPECT_TRUE(res == true);
532 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_OnDeviceP2POffline_0200 end";
533 }
534
535 /**
536 * @tc.name: DeviceManagerAgentTest_OnDeviceP2POffline_0300
537 * @tc.desc: Verify the OnDeviceP2POffline function.
538 * @tc.type: FUNC
539 * @tc.require: I7M6L1
540 */
541 HWTEST_F(DeviceManagerAgentTest, DeviceManagerAgentTest_OnDeviceP2POffline_0300, TestSize.Level1)
542 {
543 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_OnDeviceP2POffline_0300 start";
544 bool res = true;
545
546 try {
547 auto smp = make_shared<MountPoint>(Utils::DfsuMountArgumentDescriptors::Alpha(100, "relativePath"));
548 auto agent1 = make_shared<SoftbusAgent>(smp);
549 (void)memcpy_s(deviceInfo.networkId, DM_MAX_DEVICE_NAME_LEN - 1,
550 NETWORKID_TWO.c_str(), NETWORKID_TWO.size());
551 auto devicePtr = DeviceManagerAgent::GetInstance();
552 devicePtr->cidNetTypeRecord_.clear();
553 devicePtr->cidNetworkType_.clear();
554 devicePtr->cidNetTypeRecord_.insert({ NETWORKID_TWO, agent1 });
555 auto ret = devicePtr->OnDeviceP2POffline(deviceInfo);
556 EXPECT_EQ(ret, 1);
557 devicePtr->cidNetworkType_.insert({ NETWORKID_TWO, NETWORKTYPE_NONE_WIFI });
558 ret = devicePtr->OnDeviceP2POffline(deviceInfo);
559 EXPECT_EQ(ret, 0);
560 auto iter = devicePtr->cidNetTypeRecord_.find(NETWORKID_TWO);
561 if (iter != devicePtr->cidNetTypeRecord_.end()) {
562 res = false;
563 }
564
565 auto iterType = devicePtr->cidNetworkType_.find(NETWORKID_TWO);
566 if (iterType != devicePtr->cidNetworkType_.end()) {
567 res = false;
568 }
569 } catch (const exception &e) {
570 GTEST_LOG_(INFO) << e.what();
571 res = false;
572 }
573
574 EXPECT_TRUE(res);
575 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_OnDeviceP2POffline_0300 end";
576 }
577
578 /**
579 * @tc.name: DeviceManagerAgentTest_StopInstance_0100
580 * @tc.desc: Verify the StopInstance function.
581 * @tc.type: FUNC
582 * @tc.require: I7TDJK
583 */
584 HWTEST_F(DeviceManagerAgentTest, DeviceManagerAgentTest_StopInstance_0100, TestSize.Level1)
585 {
586 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_StopInstance_0100 start";
587 bool res = true;
588
589 try {
590 DeviceManagerAgent::GetInstance()->StopInstance();
591 } catch (const exception &e) {
592 LOGE("Error:%{public}s", e.what());
593 res = false;
594 }
595
596 EXPECT_TRUE(res == true);
597 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_StopInstance_0100 end";
598 }
599
600 /**
601 * @tc.name: DeviceManagerAgentTest_Stop_0100
602 * @tc.desc: Verify the Stop function.
603 * @tc.type: FUNC
604 * @tc.require: I7TDJK
605 */
606 HWTEST_F(DeviceManagerAgentTest, DeviceManagerAgentTest_Stop_0100, TestSize.Level1)
607 {
608 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_Stop_0100 start";
609 bool res = true;
610
611 try {
612 DeviceManagerAgent::GetInstance()->Start();
613 DeviceManagerAgent::GetInstance()->Stop();
614 } catch (const exception &e) {
615 LOGE("Error:%{public}s", e.what());
616 res = false;
617 }
618
619 EXPECT_TRUE(res == true);
620 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_Stop_0100 end";
621 }
622
623 /**
624 * @tc.name: DeviceManagerAgentTest_JoinGroup_0100
625 * @tc.desc: Verify the JoinGroup function.
626 * @tc.type: FUNC
627 * @tc.require: I7TDJK
628 */
629 HWTEST_F(DeviceManagerAgentTest, DeviceManagerAgentTest_JoinGroup_0100, TestSize.Level1)
630 {
631 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_JoinGroup_0100 start";
632 bool res = true;
633
634 try {
635
636 auto smp = make_shared<MountPoint>(Utils::DfsuMountArgumentDescriptors::Alpha(100, "relativePath"));
637 DeviceManagerAgent::GetInstance()->JoinGroup(smp);
638 GTEST_LOG_(INFO) << smp->GetID();
639 auto it = DeviceManagerAgent::GetInstance()->mpToNetworks_.find(smp->GetID());
640 if (it == DeviceManagerAgent::GetInstance()->mpToNetworks_.end()) {
641 EXPECT_TRUE(false);
642 } else {
643 EXPECT_TRUE(true);
644 }
645 DeviceManagerAgent::GetInstance()->QuitGroup(smp);
646 it = DeviceManagerAgent::GetInstance()->mpToNetworks_.find(smp->GetID());
647 if (it == DeviceManagerAgent::GetInstance()->mpToNetworks_.end()) {
648 EXPECT_TRUE(true);
649 } else {
650 EXPECT_TRUE(false);
651 }
652 } catch (const exception &e) {
653 GTEST_LOG_(INFO) << e.what();
654 res = false;
655 }
656
657 EXPECT_TRUE(res == true);
658 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_JoinGroup_0100 end";
659 }
660
661 /**
662 * @tc.name: DeviceManagerAgentTest_JoinGroup_0200
663 * @tc.desc: Verify the JoinGroup function.
664 * @tc.type: FUNC
665 * @tc.require: I7TDJK
666 */
667 HWTEST_F(DeviceManagerAgentTest, DeviceManagerAgentTest_JoinGroup_0200, TestSize.Level1)
668 {
669 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_JoinGroup_0200 start";
670 bool res = true;
671
672 try {
673 weak_ptr<MountPoint> nullwmp;
674 DeviceManagerAgent::GetInstance()->JoinGroup(nullwmp);
675 } catch (const exception &e) {
676 EXPECT_EQ(string(e.what()), "Failed to join group: Received empty mountpoint");
677 res = false;
678 }
679
680 EXPECT_FALSE(res);
681 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_JoinGroup_0200 end";
682 }
683
684 /**
685 * @tc.name: DeviceManagerAgentTest_JoinGroup_0100
686 * @tc.desc: Verify the JoinGroup function.
687 * @tc.type: FUNC
688 * @tc.require: I7TDJK
689 */
690 HWTEST_F(DeviceManagerAgentTest, DeviceManagerAgentTest_JoinGroup_0300, TestSize.Level1)
691 {
692 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_JoinGroup_0300 start";
693 bool res = true;
694
695 try {
696 auto smp = make_shared<MountPoint>(Utils::DfsuMountArgumentDescriptors::Alpha(100, "relativePath"));
697 DeviceManagerAgent::GetInstance()->JoinGroup(smp);
698 DeviceManagerAgent::GetInstance()->JoinGroup(smp);
699 DeviceManagerAgent::GetInstance()->QuitGroup(smp);
700 } catch (const exception &e) {
701 EXPECT_EQ(string(e.what()), "Failed to join group: Mountpoint existed");
702 res = false;
703 }
704
705 EXPECT_FALSE(res);
706 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_JoinGroup_0300 end";
707 }
708
709 /**
710 * @tc.name: DeviceManagerAgentTest_QuitGroup_0100
711 * @tc.desc: Verify the QuitGroup function.
712 * @tc.type: FUNC
713 * @tc.require: I7TDJK
714 */
715 HWTEST_F(DeviceManagerAgentTest, DeviceManagerAgentTest_QuitGroup_0100, TestSize.Level1)
716 {
717 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_QuitGroup_0100 start";
718 bool res = true;
719
720 try {
721 auto smp = make_shared<MountPoint>(Utils::DfsuMountArgumentDescriptors::Alpha(100, "relativePath"));
722 DeviceManagerAgent::GetInstance()->QuitGroup(smp);
723 } catch (const exception &e) {
724 EXPECT_EQ(string(e.what()), "Failed to quit group: Mountpoint didn't exist ");
725 res = false;
726 }
727
728 EXPECT_TRUE(res != true);
729 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_QuitGroup_0100 end";
730 }
731
732 /**
733 * @tc.name: DeviceManagerAgentTest_QuitGroup_0200
734 * @tc.desc: Verify the QuitGroup function.
735 * @tc.type: FUNC
736 * @tc.require: I7TDJK
737 */
738 HWTEST_F(DeviceManagerAgentTest, DeviceManagerAgentTest_QuitGroup_0200, TestSize.Level1)
739 {
740 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_QuitGroup_0200 start";
741 bool res = true;
742
743 try {
744 weak_ptr<MountPoint> nullwmp;
745 DeviceManagerAgent::GetInstance()->QuitGroup(nullwmp);
746 } catch (const exception &e) {
747 EXPECT_EQ(string(e.what()), "Failed to quit group: Received empty mountpoint");
748 res = false;
749 }
750
751 EXPECT_FALSE(res);
752 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_QuitGroup_0200 end";
753 }
754
755 /**
756 * @tc.name: DeviceManagerAgentTest_OfflineAllDevice_0100
757 * @tc.desc: Verify the OfflineAllDevice function.
758 * @tc.type: FUNC
759 * @tc.require: I7TDJK
760 */
761 HWTEST_F(DeviceManagerAgentTest, DeviceManagerAgentTest_OfflineAllDevice_0100, TestSize.Level1)
762 {
763 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_OfflineAllDevice_0100 start";
764 bool res = true;
765
766 try {
767 DeviceManagerAgent::GetInstance()->OfflineAllDevice();
768 } catch (const exception &e) {
769 LOGE("Error:%{public}s", e.what());
770 res = false;
771 }
772
773 EXPECT_TRUE(res == true);
774 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_OfflineAllDevice_0100 end";
775 }
776
777 /**
778 * @tc.name: DeviceManagerAgentTest_OfflineAllDevice_0200
779 * @tc.desc: Verify the OfflineAllDevice function.
780 * @tc.type: FUNC
781 * @tc.require: I7TDJK
782 */
783 HWTEST_F(DeviceManagerAgentTest, DeviceManagerAgentTest_OfflineAllDevice_0200, TestSize.Level1)
784 {
785 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_OfflineAllDevice_0200 start";
786 bool res = true;
787
788 try {
789 auto smp = make_shared<MountPoint>(Utils::DfsuMountArgumentDescriptors::Alpha(100, "relativePath"));
790 auto agent1 = make_shared<SoftbusAgent>(smp);
791 DeviceManagerAgent::GetInstance()->cidNetTypeRecord_.insert({ "test1", agent1 });
792 DeviceManagerAgent::GetInstance()->cidNetTypeRecord_.insert({ "test2", nullptr });
793
794 DeviceManagerAgent::GetInstance()->OfflineAllDevice();
795 DeviceManagerAgent::GetInstance()->cidNetTypeRecord_.erase("test1");
796 DeviceManagerAgent::GetInstance()->cidNetTypeRecord_.erase("test2");
797 } catch (const exception &e) {
798 GTEST_LOG_(INFO) << e.what();
799 res = false;
800 }
801
802 EXPECT_TRUE(res == true);
803 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_OfflineAllDevice_0200 end";
804 }
805
806 /**
807 * @tc.name: DeviceManagerAgentTest_ReconnectOnlineDevices_0100
808 * @tc.desc: Verify the ReconnectOnlineDevices function.
809 * @tc.type: FUNC
810 * @tc.require: I7TDJK
811 */
812 HWTEST_F(DeviceManagerAgentTest, DeviceManagerAgentTest_ReconnectOnlineDevices_0100, TestSize.Level1)
813 {
814 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_ReconnectOnlineDevices_0100 start";
815 bool res = true;
816
817 try {
818 DeviceManagerAgent::GetInstance()->ReconnectOnlineDevices();
819 } catch (const exception &e) {
820 GTEST_LOG_(INFO) << e.what();
821 res = false;
822 }
823
824 EXPECT_TRUE(res == true);
825 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_ReconnectOnlineDevices_0100 end";
826 }
827
828 /**
829 * @tc.name: DeviceManagerAgentTest_ReconnectOnlineDevices_0200
830 * @tc.desc: Verify the ReconnectOnlineDevices function.
831 * @tc.type: FUNC
832 * @tc.require: I7TDJK
833 */
834 HWTEST_F(DeviceManagerAgentTest, DeviceManagerAgentTest_ReconnectOnlineDevices_0200, TestSize.Level1)
835 {
836 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_ReconnectOnlineDevices_0200 start";
837 bool res = true;
838
839 try {
840 auto smp = make_shared<MountPoint>(Utils::DfsuMountArgumentDescriptors::Alpha(100, "relativePath"));
841 auto agent1 = make_shared<SoftbusAgent>(smp);
842 DeviceManagerAgent::GetInstance()->cidNetTypeRecord_.insert({ "test1", agent1 });
843 DeviceManagerAgent::GetInstance()->cidNetTypeRecord_.insert({ "test2", nullptr });
844 DeviceManagerAgent::GetInstance()->ReconnectOnlineDevices();
845 DeviceManagerAgent::GetInstance()->cidNetTypeRecord_.erase("test1");
846 DeviceManagerAgent::GetInstance()->cidNetTypeRecord_.erase("test2");
847 } catch (const exception &e) {
848 GTEST_LOG_(INFO) << e.what();
849 res = false;
850 }
851
852 EXPECT_TRUE(res == true);
853 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_ReconnectOnlineDevices_0200 end";
854 }
855
856 /**
857 * @tc.name: DeviceManagerAgentTest_FindNetworkBaseTrustRelation_0100
858 * @tc.desc: Verify the FindNetworkBaseTrustRelation function.
859 * @tc.type: FUNC
860 * @tc.require: I7TDJK
861 */
862 HWTEST_F(DeviceManagerAgentTest, DeviceManagerAgentTest_FindNetworkBaseTrustRelation_0100, TestSize.Level1)
863 {
864 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_FindNetworkBaseTrustRelation_0100 start";
865 bool res = true;
866
867 try {
868 auto rltPtr = DeviceManagerAgent::GetInstance()->FindNetworkBaseTrustRelation(true);
869 EXPECT_EQ(rltPtr, nullptr);
870 rltPtr = DeviceManagerAgent::GetInstance()->FindNetworkBaseTrustRelation(false);
871 EXPECT_EQ(rltPtr, nullptr);
872 } catch (const exception &e) {
873 LOGE("Error:%{public}s", e.what());
874 res = false;
875 }
876
877 EXPECT_TRUE(res == true);
878 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_FindNetworkBaseTrustRelation_0100 end";
879 }
880
881 /**
882 * @tc.name: DeviceManagerAgentTest_FindNetworkBaseTrustRelation_0200
883 * @tc.desc: Verify the FindNetworkBaseTrustRelation function.
884 * @tc.type: FUNC
885 * @tc.require: I7TDJK
886 */
887 HWTEST_F(DeviceManagerAgentTest, DeviceManagerAgentTest_FindNetworkBaseTrustRelation_0200, TestSize.Level1)
888 {
889 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_FindNetworkBaseTrustRelation_0200 start";
890 bool res = true;
891
892 try {
893 auto smp = make_shared<MountPoint>(Utils::DfsuMountArgumentDescriptors::Alpha(100, "relativePath"));
894 DeviceManagerAgent::GetInstance()->JoinGroup(smp);
895 auto rltPtr = DeviceManagerAgent::GetInstance()->FindNetworkBaseTrustRelation(true);
896 EXPECT_EQ(rltPtr, nullptr);
897 rltPtr = DeviceManagerAgent::GetInstance()->FindNetworkBaseTrustRelation(false);
898 EXPECT_NE(rltPtr, nullptr);
899 DeviceManagerAgent::GetInstance()->QuitGroup(smp);
900
901 } catch (const exception &e) {
902 LOGE("Error:%{public}s", e.what());
903 res = false;
904 }
905
906 EXPECT_TRUE(res == true);
907 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_FindNetworkBaseTrustRelation_0200 end";
908 }
909
910 /**
911 * @tc.name: DeviceManagerAgentTest_FindNetworkBaseTrustRelation_0300
912 * @tc.desc: Verify the FindNetworkBaseTrustRelation function.
913 * @tc.type: FUNC
914 * @tc.require: I7TDJK
915 */
916 HWTEST_F(DeviceManagerAgentTest, DeviceManagerAgentTest_FindNetworkBaseTrustRelation_0300, TestSize.Level1)
917 {
918 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_FindNetworkBaseTrustRelation_0300 start";
919 bool res = true;
920
921 try {
922 auto nonmp = make_shared<MountPoint>(Utils::DfsuMountArgumentDescriptors::Alpha(101, "non_account"));
923 DeviceManagerAgent::GetInstance()->JoinGroup(nonmp);
924 auto id = nonmp->GetID() + 1;
925 DeviceManagerAgent::GetInstance()->mpToNetworks_.insert({ id, nullptr });
926 shared_ptr<SoftbusAgent> agent = nullptr;
927 auto rltPtr = DeviceManagerAgent::GetInstance()->FindNetworkBaseTrustRelation(true);
928 EXPECT_NE(rltPtr, nullptr);
929 rltPtr = DeviceManagerAgent::GetInstance()->FindNetworkBaseTrustRelation(false);
930 EXPECT_EQ(rltPtr, nullptr);
931 DeviceManagerAgent::GetInstance()->QuitGroup(nonmp);
932 DeviceManagerAgent::GetInstance()->mpToNetworks_.erase(id);
933 } catch (const exception &e) {
934 LOGE("Error:%{public}s", e.what());
935 res = false;
936 }
937
938 EXPECT_TRUE(res == true);
939 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_FindNetworkBaseTrustRelation_0300 end";
940 }
941
942 /**
943 * @tc.name: DeviceManagerAgentTest_GetNetworkType_0100
944 * @tc.desc: Verify the GetNetworkType function.
945 * @tc.type: FUNC
946 * @tc.require: I7TDJK
947 */
948 HWTEST_F(DeviceManagerAgentTest, DeviceManagerAgentTest_GetNetworkType_0100, TestSize.Level1)
949 {
950 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_GetNetworkType_0100 start";
951 bool res = true;
952
953 try {
954 int ret = DeviceManagerAgent::GetInstance()->GetNetworkType(NETWORKID_ONE);
955 EXPECT_EQ(ret, 0);
956 ret = DeviceManagerAgent::GetInstance()->GetNetworkType(NETWORKID_TWO);
957 EXPECT_EQ(ret, NETWORKTYPE_WITH_WIFI);
958 ret = DeviceManagerAgent::GetInstance()->GetNetworkType(NETWORKID_THREE);
959 EXPECT_EQ(ret, NETWORKTYPE_NONE_WIFI);
960 } catch (const exception &e) {
961 LOGE("Error:%{public}s", e.what());
962 res = false;
963 }
964
965 EXPECT_TRUE(res == true);
966 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_GetNetworkType_0100 end";
967 }
968
969 /**
970 * @tc.name: DeviceManagerAgentTest_IsWifiNetworkType_0100
971 * @tc.desc: Verify the IsWifiNetworkType function.
972 * @tc.type: FUNC
973 * @tc.require: I7TDJK
974 */
975 HWTEST_F(DeviceManagerAgentTest, DeviceManagerAgentTest_IsWifiNetworkType_0100, TestSize.Level1)
976 {
977 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_IsWifiNetworkType_0100 start";
978 bool res = true;
979
980 try {
981 int ret = DeviceManagerAgent::GetInstance()->IsWifiNetworkType(-1);
982 EXPECT_FALSE(ret);
983 ret = DeviceManagerAgent::GetInstance()->IsWifiNetworkType(1);
984 EXPECT_FALSE(ret);
985 ret = DeviceManagerAgent::GetInstance()->IsWifiNetworkType(3);
986 EXPECT_TRUE(ret);
987 } catch (const exception &e) {
988 LOGE("Error:%{public}s", e.what());
989 res = false;
990 }
991
992 EXPECT_TRUE(res == true);
993 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_IsWifiNetworkType_0100 end";
994 }
995
996 /**
997 * @tc.name: DeviceManagerAgentTest_CheckIsAccountless_0100
998 * @tc.desc: Verify the CheckIsAccountless function.
999 * @tc.type: FUNC
1000 * @tc.require: I7TDJK
1001 */
1002 HWTEST_F(DeviceManagerAgentTest, DeviceManagerAgentTest_CheckIsAccountless_0100, TestSize.Level1)
1003 {
1004 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_CheckIsAccountless_0100 start";
1005 bool res = true;
1006
1007 try {
1008 GroupInfo group{};
1009 g_parameterVaule = false;
1010 auto ret = DeviceManagerAgent::GetInstance()->CheckIsAccountless(group);
1011 EXPECT_TRUE(ret);
1012 } catch (const exception &e) {
1013 GTEST_LOG_(INFO) << e.what();
1014 res = false;
1015 }
1016
1017 EXPECT_TRUE(res);
1018 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_CheckIsAccountless_0100 end";
1019 }
1020
1021 /**
1022 * @tc.name: DeviceManagerAgentTest_CheckIsAccountless_0200
1023 * @tc.desc: Verify the CheckIsAccountless function.
1024 * @tc.type: FUNC
1025 * @tc.require: I7TDJK
1026 */
1027 HWTEST_F(DeviceManagerAgentTest, DeviceManagerAgentTest_CheckIsAccountless_0200, TestSize.Level1)
1028 {
1029 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_CheckIsAccountless_0200 start";
1030 bool res = true;
1031
1032 try {
1033 GroupInfo group{};
1034 g_parameterVaule = true;
1035 auto ret = DeviceManagerAgent::GetInstance()->CheckIsAccountless(group);
1036 EXPECT_FALSE(ret);
1037 } catch (const exception &e) {
1038 GTEST_LOG_(INFO) << e.what();
1039 res = false;
1040 }
1041
1042 EXPECT_TRUE(res);
1043 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_CheckIsAccountless_0200 end";
1044 }
1045
1046 /**
1047 * @tc.name: DeviceManagerAgentTest_InitDeviceInfos_0100
1048 * @tc.desc: Verify the InitDeviceInfos function.
1049 * @tc.type: FUNC
1050 * @tc.require: I7TDJK
1051 */
1052 HWTEST_F(DeviceManagerAgentTest, DeviceManagerAgentTest_InitDeviceInfos_0100, TestSize.Level1)
1053 {
1054 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_InitDeviceInfos_0100 start";
1055 bool res = true;
1056
1057 try {
1058 std::vector<DmDeviceInfo> deviceList;
1059 deviceList.push_back(deviceInfo);
1060 EXPECT_CALL(*deviceManagerImplMock_, GetTrustedDeviceList(_, _, _))
1061 .WillOnce(DoAll(SetArgReferee<2>(deviceList), Return(0)))
1062 .WillOnce(DoAll(SetArgReferee<2>(deviceList), Return(0)));
1063 DeviceManagerAgent::GetInstance()->InitDeviceInfos();
1064 } catch (const exception &e) {
1065 GTEST_LOG_(INFO) << e.what();
1066 res = false;
1067 }
1068
1069 EXPECT_TRUE(res == true);
1070 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_InitDeviceInfos_0100 end";
1071 }
1072
1073 /**
1074 * @tc.name: DeviceManagerAgentTest_InitDeviceInfos_0200
1075 * @tc.desc: Verify the InitDeviceInfos function.
1076 * @tc.type: FUNC
1077 * @tc.require: I7TDJK
1078 */
1079 HWTEST_F(DeviceManagerAgentTest, DeviceManagerAgentTest_InitDeviceInfos_0200, TestSize.Level1)
1080 {
1081 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_InitDeviceInfos_0200 start";
1082 bool res = true;
1083
1084 try {
1085 EXPECT_CALL(*deviceManagerImplMock_, GetTrustedDeviceList(_, _, _)).WillOnce(Return(-1));
1086 DeviceManagerAgent::GetInstance()->InitDeviceInfos();
1087 } catch (const exception &e) {
1088 GTEST_LOG_(INFO) << e.what();
1089 res = false;
1090 }
1091
1092 EXPECT_FALSE(res);
1093 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_InitDeviceInfos_0200 end";
1094 }
1095
1096 /**
1097 * @tc.name: DeviceManagerAgentTest_InitDeviceInfos_0300
1098 * @tc.desc: Verify the InitDeviceInfos function.
1099 * @tc.type: FUNC
1100 * @tc.require: I7TDJK
1101 */
1102 HWTEST_F(DeviceManagerAgentTest, DeviceManagerAgentTest_InitDeviceInfos_0300, TestSize.Level1)
1103 {
1104 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_InitDeviceInfos_0300 start";
1105 bool res = true;
1106
1107 try {
1108 std::vector<DmDeviceInfo> deviceList;
1109 deviceList.push_back(deviceInfo);
1110 EXPECT_CALL(*deviceManagerImplMock_, GetTrustedDeviceList(_, _, _))
1111 .WillOnce(DoAll(SetArgReferee<2>(deviceList), Return(0))).WillOnce(Return(0));
1112 DeviceManagerAgent::GetInstance()->InitDeviceInfos();
1113 } catch (const exception &e) {
1114 GTEST_LOG_(INFO) << e.what();
1115 res = false;
1116 }
1117
1118 EXPECT_TRUE(res);
1119 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_InitDeviceInfos_0300 end";
1120 }
1121
1122 /**
1123 * @tc.name: DeviceManagerAgentTest_InitLocalNodeInfo_0100
1124 * @tc.desc: Verify the InitLocalNodeInfo function.
1125 * @tc.type: FUNC
1126 * @tc.require: I7TDJK
1127 */
1128 HWTEST_F(DeviceManagerAgentTest, DeviceManagerAgentTest_InitLocalNodeInfo_0100, TestSize.Level1)
1129 {
1130 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_InitLocalNodeInfo_0100 start";
1131 bool res = true;
1132
1133 try {
1134 EXPECT_CALL(*deviceManagerImplMock_, GetLocalDeviceInfo(_, _)).WillOnce(Return(0));
1135 DeviceManagerAgent::GetInstance()->InitLocalNodeInfo();
1136 } catch (const exception &e) {
1137 LOGE("Error:%{public}s", e.what());
1138 res = false;
1139 }
1140
1141 EXPECT_TRUE(res == true);
1142 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_InitLocalNodeInfo_0100 end";
1143 }
1144
1145 /**
1146 * @tc.name: DeviceManagerAgentTest_InitLocalNodeInfo_0100
1147 * @tc.desc: Verify the InitLocalNodeInfo function.
1148 * @tc.type: FUNC
1149 * @tc.require: I7TDJK
1150 */
1151 HWTEST_F(DeviceManagerAgentTest, DeviceManagerAgentTest_InitLocalNodeInfo_0200, TestSize.Level1)
1152 {
1153 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_InitLocalNodeInfo_0200 start";
1154 bool res = true;
1155
1156 try {
1157 EXPECT_CALL(*deviceManagerImplMock_, GetLocalDeviceInfo(_, _)).WillOnce(Return(-1));
1158 DeviceManagerAgent::GetInstance()->InitLocalNodeInfo();
1159 } catch (const exception &e) {
1160 GTEST_LOG_(INFO) << e.what();
1161 res = false;
1162 }
1163
1164 EXPECT_FALSE(res);
1165 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_InitLocalNodeInfo_0200 end";
1166 }
1167
1168 /**
1169 * @tc.name: DeviceManagerAgentTest_OnRemoteDied_0100
1170 * @tc.desc: Verify the OnRemoteDied function.
1171 * @tc.type: FUNC
1172 * @tc.require: I7TDJK
1173 */
1174 HWTEST_F(DeviceManagerAgentTest, DeviceManagerAgentTest_OnRemoteDied_0100, TestSize.Level1)
1175 {
1176 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_OnRemoteDied_0100 start";
1177 bool res = true;
1178
1179 try {
1180 DeviceManagerAgent::GetInstance()->OnRemoteDied();
1181 } catch (const exception &e) {
1182 LOGE("Error:%{public}s", e.what());
1183 res = false;
1184 }
1185
1186 EXPECT_TRUE(res == true);
1187 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_OnRemoteDied_0100 end";
1188 }
1189
1190 /**
1191 * @tc.name: DeviceManagerAgentTest_GetLocalDeviceInfo_0100
1192 * @tc.desc: Verify the GetLocalDeviceInfo function.
1193 * @tc.type: FUNC
1194 * @tc.require: I7TDJK
1195 */
1196 HWTEST_F(DeviceManagerAgentTest, DeviceManagerAgentTest_GetLocalDeviceInfo_0100, TestSize.Level1)
1197 {
1198 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_GetLocalDeviceInfo_0100 start";
1199 bool res = true;
1200
1201 try {
1202 DeviceManagerAgent::GetInstance()->GetLocalDeviceInfo();
1203 } catch (const exception &e) {
1204 LOGE("Error:%{public}s", e.what());
1205 res = false;
1206 }
1207
1208 EXPECT_TRUE(res == true);
1209 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_GetLocalDeviceInfo_0100 end";
1210 }
1211
1212 /**
1213 * @tc.name: DeviceManagerAgentTest_GetRemoteDevicesInfo_0100
1214 * @tc.desc: Verify the GetRemoteDevicesInfo function.
1215 * @tc.type: FUNC
1216 * @tc.require: I7TDJK
1217 */
1218 HWTEST_F(DeviceManagerAgentTest, DeviceManagerAgentTest_GetRemoteDevicesInfo_0100, TestSize.Level1)
1219 {
1220 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_GetRemoteDevicesInfo_0100 start";
1221 bool res = true;
1222
1223 try {
1224 std::vector<DmDeviceInfo> deviceList;
1225 deviceList.push_back(deviceInfo);
1226 EXPECT_CALL(*deviceManagerImplMock_, GetTrustedDeviceList(_, _, _))
1227 .WillOnce(DoAll(SetArgReferee<2>(deviceList), Return(0)));
1228 auto info = DeviceManagerAgent::GetInstance()->GetRemoteDevicesInfo();
1229 EXPECT_NE(info.size(), 0);
1230 } catch (const exception &e) {
1231 GTEST_LOG_(INFO) << e.what();
1232 res = false;
1233 }
1234
1235 EXPECT_TRUE(res == true);
1236 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_GetRemoteDevicesInfo_0100 end";
1237 }
1238
1239 /**
1240 * @tc.name: DeviceManagerAgentTest_GetRemoteDevicesInfo_0200
1241 * @tc.desc: Verify the GetRemoteDevicesInfo function.
1242 * @tc.type: FUNC
1243 * @tc.require: I7TDJK
1244 */
1245 HWTEST_F(DeviceManagerAgentTest, DeviceManagerAgentTest_GetRemoteDevicesInfo_0200, TestSize.Level1)
1246 {
1247 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_GetRemoteDevicesInfo_0200 start";
1248 bool res = true;
1249
1250 try {
1251 EXPECT_CALL(*deviceManagerImplMock_, GetTrustedDeviceList(_, _, _)).WillOnce(Return(-1));
1252 auto info = DeviceManagerAgent::GetInstance()->GetRemoteDevicesInfo();
1253 EXPECT_NE(info.size(), 0);
1254 } catch (const exception &e) {
1255 GTEST_LOG_(INFO) << e.what();
1256 res = false;
1257 }
1258
1259 EXPECT_FALSE(res);
1260 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_GetRemoteDevicesInfo_0200 end";
1261 }
1262
1263 /**
1264 * @tc.name: DeviceManagerAgentTest_RegisterToExternalDm_0100
1265 * @tc.desc: Verify the RegisterToExternalDm function.
1266 * @tc.type: FUNC
1267 * @tc.require: I7TDJK
1268 */
1269 HWTEST_F(DeviceManagerAgentTest, DeviceManagerAgentTest_RegisterToExternalDm_0100, TestSize.Level1)
1270 {
1271 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_RegisterToExternalDm_0100 start";
1272 bool res = true;
1273
1274 try {
1275 EXPECT_CALL(*deviceManagerImplMock_, InitDeviceManager(_, _)).WillOnce(Return(-1));
1276 DeviceManagerAgent::GetInstance()->RegisterToExternalDm();
1277 } catch (const exception &e) {
1278 string errMsg = e.what();
1279 EXPECT_NE(errMsg.find("Failed to InitDeviceManager"), string::npos);
1280 res = false;
1281 }
1282
1283 EXPECT_FALSE(res);
1284 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_RegisterToExternalDm_0100 end";
1285 }
1286
1287 /**
1288 * @tc.name: DeviceManagerAgentTest_RegisterToExternalDm_0100
1289 * @tc.desc: Verify the RegisterToExternalDm function.
1290 * @tc.type: FUNC
1291 * @tc.require: I7TDJK
1292 */
1293 HWTEST_F(DeviceManagerAgentTest, DeviceManagerAgentTest_RegisterToExternalDm_0200, TestSize.Level1)
1294 {
1295 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_RegisterToExternalDm_0200 start";
1296 bool res = true;
1297
1298 try {
1299 EXPECT_CALL(*deviceManagerImplMock_, InitDeviceManager(_, _)).WillOnce(Return(0));
1300 EXPECT_CALL(*deviceManagerImplMock_, RegisterDevStateCallback(_, _, _)).WillOnce(Return(-1));
1301 DeviceManagerAgent::GetInstance()->RegisterToExternalDm();
1302 } catch (const exception &e) {
1303 string errMsg = e.what();
1304 EXPECT_NE(errMsg.find("Failed to RegisterDevStateCallback"), string::npos);
1305 res = false;
1306 }
1307
1308 EXPECT_FALSE(res);
1309 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_RegisterToExternalDm_0200 end";
1310 }
1311
1312 /**
1313 * @tc.name: DeviceManagerAgentTest_RegisterToExternalDm_0300
1314 * @tc.desc: Verify the RegisterToExternalDm function.
1315 * @tc.type: FUNC
1316 * @tc.require: I7TDJK
1317 */
1318 HWTEST_F(DeviceManagerAgentTest, DeviceManagerAgentTest_RegisterToExternalDm_0300, TestSize.Level1)
1319 {
1320 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_RegisterToExternalDm_0300 start";
1321 bool res = true;
1322
1323 try {
1324 EXPECT_CALL(*deviceManagerImplMock_, InitDeviceManager(_, _)).WillOnce(Return(0));
1325 EXPECT_CALL(*deviceManagerImplMock_, RegisterDevStateCallback(_, _, _)).WillOnce(Return(0));
1326 DeviceManagerAgent::GetInstance()->RegisterToExternalDm();
1327 } catch (const exception &e) {
1328 GTEST_LOG_(INFO) << e.what();
1329 res = false;
1330 }
1331
1332 EXPECT_TRUE(res);
1333 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_RegisterToExternalDm_0300 end";
1334 }
1335
1336 /**
1337 * @tc.name: DeviceManagerAgentTest_UnregisterFromExternalDm_0100
1338 * @tc.desc: Verify the UnregisterFromExternalDm function.
1339 * @tc.type: FUNC
1340 * @tc.require: I7TDJK
1341 */
1342 HWTEST_F(DeviceManagerAgentTest, DeviceManagerAgentTest_UnregisterFromExternalDm_0100, TestSize.Level1)
1343 {
1344 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_UnregisterFromExternalDm_0100 start";
1345 bool res = true;
1346
1347 try {
1348 EXPECT_CALL(*deviceManagerImplMock_, UnRegisterDevStateCallback(_)).WillOnce(Return(-1));
1349 DeviceManagerAgent::GetInstance()->UnregisterFromExternalDm();
1350 } catch (const exception &e) {
1351 string errMsg = e.what();
1352 EXPECT_NE(errMsg.find("Failed to UnRegisterDevStateCallback"), string::npos);
1353 res = false;
1354 }
1355
1356 EXPECT_FALSE(res);
1357 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_UnregisterFromExternalDm_0100 end";
1358 }
1359
1360 /**
1361 * @tc.name: DeviceManagerAgentTest_UnregisterFromExternalDm_0200
1362 * @tc.desc: Verify the UnregisterFromExternalDm function.
1363 * @tc.type: FUNC
1364 * @tc.require: I7TDJK
1365 */
1366 HWTEST_F(DeviceManagerAgentTest, DeviceManagerAgentTest_UnregisterFromExternalDm_0200, TestSize.Level1)
1367 {
1368 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_UnregisterFromExternalDm_0200 start";
1369 bool res = true;
1370
1371 try {
1372 EXPECT_CALL(*deviceManagerImplMock_, UnRegisterDevStateCallback(_)).WillOnce(Return(0));
1373 EXPECT_CALL(*deviceManagerImplMock_, UnInitDeviceManager(_)).WillOnce(Return(-1));
1374 DeviceManagerAgent::GetInstance()->UnregisterFromExternalDm();
1375 } catch (const exception &e) {
1376 string errMsg = e.what();
1377 EXPECT_NE(errMsg.find("Failed to UnInitDeviceManager"), string::npos);
1378 res = false;
1379 }
1380
1381 EXPECT_FALSE(res);
1382 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_UnregisterFromExternalDm_0200 end";
1383 }
1384
1385 /**
1386 * @tc.name: DeviceManagerAgentTest_UnregisterFromExternalDm_0300
1387 * @tc.desc: Verify the UnregisterFromExternalDm function.
1388 * @tc.type: FUNC
1389 * @tc.require: I7TDJK
1390 */
1391 HWTEST_F(DeviceManagerAgentTest, DeviceManagerAgentTest_UnregisterFromExternalDm_0300, TestSize.Level1)
1392 {
1393 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_UnregisterFromExternalDm_0300 start";
1394 bool res = true;
1395
1396 try {
1397 EXPECT_CALL(*deviceManagerImplMock_, UnRegisterDevStateCallback(_)).WillOnce(Return(0));
1398 EXPECT_CALL(*deviceManagerImplMock_, UnInitDeviceManager(_)).WillOnce(Return(0));
1399 DeviceManagerAgent::GetInstance()->UnregisterFromExternalDm();
1400 } catch (const exception &e) {
1401 GTEST_LOG_(INFO) << e.what();
1402 res = false;
1403 }
1404
1405 EXPECT_TRUE(res);
1406 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_UnregisterFromExternalDm_0300 end";
1407 }
1408
1409 /**
1410 * @tc.name: DeviceManagerAgentTest_QueryRelatedGroups_0100
1411 * @tc.desc: Verify the QueryRelatedGroups function.
1412 * @tc.type: FUNC
1413 * @tc.require: I7TDJK
1414 */
1415 HWTEST_F(DeviceManagerAgentTest, DeviceManagerAgentTest_QueryRelatedGroups_0100, TestSize.Level1)
1416 {
1417 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_QueryRelatedGroups_0100 start";
1418 bool res = true;
1419
1420 try {
1421 DeviceManagerAgent::GetInstance()->QueryRelatedGroups("100", "100");
1422 } catch (const exception &e) {
1423 LOGE("Error:%{public}s", e.what());
1424 res = false;
1425 }
1426
1427 EXPECT_TRUE(res == true);
1428 GTEST_LOG_(INFO) << "DeviceManagerAgentTest_QueryRelatedGroups_0100 end";
1429 }
1430 } // namespace Test
1431 } // namespace DistributedFile
1432 } // namespace Storage
1433 } // namespace OHOS
1434