1 /*
2 * Copyright (c) 2024-2025 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 "UTTest_device_manager_service.h"
17
18 #include "accesstoken_kit.h"
19 #include "dm_constants.h"
20 #include "dm_device_info.h"
21 #include "dm_log.h"
22 #include "nativetoken_kit.h"
23 #include "token_setproc.h"
24 #include "softbus_common.h"
25 #include "softbus_error_code.h"
26 #include <cstring>
27 #include <utility>
28
29 using namespace OHOS::Security::AccessToken;
30 using namespace testing;
31 using namespace testing::ext;
32 namespace OHOS {
33 namespace DistributedHardware {
34 namespace {
35 constexpr const char* PARAM_KEY_TARGET_ID = "TARGET_ID";
36 constexpr int32_t NUM_5 = 5;
DeletePermission()37 void DeletePermission()
38 {
39 const int32_t permsNum = 1;
40 const int32_t indexZero = 0;
41 uint64_t tokenId;
42 const char *perms[permsNum];
43 perms[indexZero] = "ohos.permission";
44 NativeTokenInfoParams infoInstance = {
45 .dcapsNum = 0,
46 .permsNum = permsNum,
47 .aclsNum = 0,
48 .dcaps = NULL,
49 .perms = perms,
50 .acls = NULL,
51 .processName = "DeviceManagerServiceTest",
52 .aplStr = "system_core",
53 };
54 tokenId = GetAccessTokenId(&infoInstance);
55 SetSelfTokenID(tokenId);
56 OHOS::Security::AccessToken::AccessTokenKit::ReloadNativeTokenInfo();
57 }
58
SetSetDnPolicyPermission()59 void SetSetDnPolicyPermission()
60 {
61 const int32_t permsNum = 1;
62 const int32_t indexZero = 0;
63 uint64_t tokenId;
64 const char *perms[permsNum];
65 perms[indexZero] = "ohos.permission.ACCESS_SERVICE_DM";
66 NativeTokenInfoParams infoInstance = {
67 .dcapsNum = 0,
68 .permsNum = permsNum,
69 .aclsNum = 0,
70 .dcaps = NULL,
71 .perms = perms,
72 .acls = NULL,
73 .processName = "collaboration_service",
74 .aplStr = "system_core",
75 };
76 tokenId = GetAccessTokenId(&infoInstance);
77 SetSelfTokenID(tokenId);
78 OHOS::Security::AccessToken::AccessTokenKit::ReloadNativeTokenInfo();
79 }
80
81
82 /**
83 * @tc.name: GetTrustedDeviceList_201
84 * @tc.type: FUNC
85 */
86 HWTEST_F(DeviceManagerServiceTest, GetTrustedDeviceList_201, testing::ext::TestSize.Level1)
87 {
88 std::string pkgName = "pkgName";
89 EXPECT_CALL(*appManagerMock_, GetAppId()).Times(::testing::AtLeast(1)).WillOnce(Return("appId"));
90 DeviceManagerService::GetInstance().listener_ = std::make_shared<DeviceManagerServiceListener>();
91 DeviceManagerService::GetInstance().RegisterCallerAppId(pkgName);
92 DeletePermission();
93 const std::string extra;
94 std::vector<DmDeviceInfo> deviceList;
95 DeviceManagerService::GetInstance().softbusListener_ = nullptr;
96 int32_t ret = DeviceManagerService::GetInstance().GetTrustedDeviceList(pkgName, extra, deviceList);
97 EXPECT_EQ(ret, ERR_DM_POINT_NULL);
98 }
99
100 /**
101 * @tc.name: GetDeviceInfo_201
102 * @tc.type: FUNC
103 */
104 HWTEST_F(DeviceManagerServiceTest, GetDeviceInfo_201, testing::ext::TestSize.Level1)
105 {
106 DeletePermission();
107 std::string networkId = "123";
108 DmDeviceInfo deviceIndo;
109 int32_t ret = DeviceManagerService::GetInstance().GetDeviceInfo(networkId, deviceIndo);
110 EXPECT_EQ(ret, ERR_DM_NO_PERMISSION);
111 ret = DeviceManagerService::GetInstance().GetLocalDeviceInfo(deviceIndo);
112 EXPECT_EQ(ret, ERR_DM_POINT_NULL);
113 }
114
115 /**
116 * @tc.name: RegisterUiStateCallback_001
117 * @tc.type: FUNC
118 */
119 HWTEST_F(DeviceManagerServiceTest, RegisterUiStateCallback_201, testing::ext::TestSize.Level1)
120 {
121 DeletePermission();
122 std::string pkgName = "pkgName";
123 int32_t ret = DeviceManagerService::GetInstance().RegisterUiStateCallback(pkgName);
124 EXPECT_EQ(ret, ERR_DM_NO_PERMISSION);
125 }
126
127 /**
128 * @tc.name: UnRegisterUiStateCallback_001
129 * @tc.type: FUNC
130 */
131 HWTEST_F(DeviceManagerServiceTest, UnRegisterUiStateCallback_201, testing::ext::TestSize.Level1)
132 {
133 DeletePermission();
134 std::string pkgName = "pkgName";
135 int32_t ret = DeviceManagerService::GetInstance().UnRegisterUiStateCallback(pkgName);
136 EXPECT_EQ(ret, ERR_DM_NO_PERMISSION);
137 }
138
139 /**
140 * @tc.name: IsDMImplSoLoaded_001
141 * @tc.type: FUNC
142 */
143 HWTEST_F(DeviceManagerServiceTest, IsDMImplSoLoaded_201, testing::ext::TestSize.Level1)
144 {
145 std::string pkgName = "pkgName";
146 std::map<std::string, std::string> advertiseParam;
147 advertiseParam[PARAM_KEY_META_TYPE] = "1";
148 DeviceManagerService::GetInstance().StopAdvertising(pkgName, advertiseParam);
149 std::map<std::string, std::string> advertiseParam2;
150 advertiseParam[PARAM_KEY_PUBLISH_ID] = "12";
151 DeviceManagerService::GetInstance().StopAdvertising(pkgName, advertiseParam2);
152 PeerTargetId targetId;
153 targetId.deviceId = "123";
154 std::map<std::string, std::string> bindParam;
155 bindParam[PARAM_KEY_META_TYPE] = "1";
156 DeviceManagerService::GetInstance().BindTarget(pkgName, targetId, bindParam);
157 targetId.wifiIp = "192.168.1.1";
158 std::map<std::string, std::string> bindParam2;
159 DeviceManagerService::GetInstance().BindTarget(pkgName, targetId, bindParam2);
160 targetId.deviceId = "123";
161 std::map<std::string, std::string> unbindParam;
162 unbindParam[PARAM_KEY_META_TYPE] = "1";
163 DeviceManagerService::GetInstance().UnbindTarget(pkgName, targetId, unbindParam);
164 DeviceManagerService::GetInstance().IsDMServiceImplReady();
165 bool ret = DeviceManagerService::GetInstance().IsDMImplSoLoaded();
166 EXPECT_EQ(ret, true);
167 }
168
169 /**
170 * @tc.name: RegisterPinHolderCallback_201
171 * @tc.type: FUNC
172 */
173 HWTEST_F(DeviceManagerServiceTest, RegisterPinHolderCallback_201, testing::ext::TestSize.Level1)
174 {
175 std::string pkgName = "CollaborationFwk";
176 EXPECT_CALL(*permissionManagerMock_, CheckPermission()).WillOnce(Return(true));
177 EXPECT_CALL(*permissionManagerMock_, GetCallerProcessName(_)).WillOnce(Return(DM_OK));
178 EXPECT_CALL(*permissionManagerMock_, CheckProcessNameValidOnPinHolder(_)).WillOnce(Return(false));
179 int32_t ret = DeviceManagerService::GetInstance().RegisterPinHolderCallback(pkgName);
180 EXPECT_EQ(ret, ERR_DM_INPUT_PARA_INVALID);
181 }
182
183 /**
184 * @tc.name: CreatePinHolder_201
185 * @tc.type: FUNC
186 */
187 HWTEST_F(DeviceManagerServiceTest, CreatePinHolder_201, testing::ext::TestSize.Level1)
188 {
189 std::string pkgName = "CollaborationFwk";
190 PeerTargetId targetId;
191 DmPinType pinType = NUMBER_PIN_CODE;
192 std::string payload;
193 EXPECT_CALL(*permissionManagerMock_, CheckPermission()).WillOnce(Return(true));
194 EXPECT_CALL(*permissionManagerMock_, GetCallerProcessName(_)).WillOnce(Return(DM_OK));
195 EXPECT_CALL(*permissionManagerMock_, CheckProcessNameValidOnPinHolder(_)).Times(::testing::AtLeast(1)).
196 WillOnce(Return(false));
197 int32_t ret = DeviceManagerService::GetInstance().CreatePinHolder(pkgName, targetId, pinType, payload);
198 EXPECT_EQ(ret, ERR_DM_INPUT_PARA_INVALID);
199 }
200
201 /**
202 * @tc.name: GetDeviceSecurityLevel_201
203 * @tc.type: FUNC
204 */
205 HWTEST_F(DeviceManagerServiceTest, GetDeviceSecurityLevel_201, testing::ext::TestSize.Level1)
206 {
207 std::string pkgName = "pkgName";
208 std::string networkId = "123";
209 int32_t securityLevel;
210 DeviceManagerService::GetInstance().softbusListener_ = std::make_shared<SoftbusListener>();
211 EXPECT_CALL(*permissionManagerMock_, CheckPermission()).WillOnce(Return(true));
212 EXPECT_CALL(*softbusListenerMock_, GetDeviceSecurityLevel(_, _)).WillOnce(Return(ERR_DM_FAILED));
213 int32_t ret = DeviceManagerService::GetInstance().GetDeviceSecurityLevel(pkgName, networkId, securityLevel);
214 EXPECT_EQ(ret, ERR_DM_FAILED);
215 DeviceManagerService::GetInstance().softbusListener_ = nullptr;
216 }
217
218 /**
219 * @tc.name: CheckAccessControl_001
220 * @tc.type: FUNC
221 */
222 HWTEST_F(DeviceManagerServiceTest, CheckAccessControl_201, testing::ext::TestSize.Level1)
223 {
224 DmAccessCaller caller;
225 DmAccessCallee callee;
226 EXPECT_CALL(*permissionManagerMock_, CheckPermission()).WillOnce(Return(true));
227 EXPECT_CALL(*softbusListenerMock_, GetUdidByNetworkId(_, _)).WillOnce(Return(DM_OK)).WillOnce(Return(DM_OK));
228 EXPECT_CALL(*deviceManagerServiceImplMock_, CheckAccessControl(_, _, _, _)).WillOnce(Return(true));
229 bool ret = DeviceManagerService::GetInstance().CheckAccessControl(caller, callee);
230 EXPECT_EQ(ret, true);
231 }
232
233 /**
234 * @tc.name: CheckAccessControl_002
235 * @tc.type: FUNC
236 */
237 HWTEST_F(DeviceManagerServiceTest, CheckAccessControl_202, testing::ext::TestSize.Level1)
238 {
239 DmAccessCaller caller;
240 DmAccessCallee callee;
241 DeletePermission();
242 bool ret = DeviceManagerService::GetInstance().CheckAccessControl(caller, callee);
243 EXPECT_EQ(ret, false);
244 }
245
246 /**
247 * @tc.name: CheckIsSameAccount_201
248 * @tc.type: FUNC
249 */
250 HWTEST_F(DeviceManagerServiceTest, CheckIsSameAccount_201, testing::ext::TestSize.Level1)
251 {
252 DmAccessCaller caller;
253 DmAccessCallee callee;
254 EXPECT_CALL(*permissionManagerMock_, CheckPermission()).WillOnce(Return(true));
255 EXPECT_CALL(*softbusListenerMock_, GetUdidByNetworkId(_, _)).WillOnce(Return(DM_OK)).WillOnce(Return(DM_OK));
256 EXPECT_CALL(*deviceManagerServiceImplMock_, CheckIsSameAccount(_, _, _, _)).WillOnce(Return(true));
257 bool ret = DeviceManagerService::GetInstance().CheckIsSameAccount(caller, callee);
258 EXPECT_EQ(ret, true);
259 }
260
261 /**
262 * @tc.name: CheckIsSameAccount_202
263 * @tc.type: FUNC
264 */
265 HWTEST_F(DeviceManagerServiceTest, CheckIsSameAccount_202, testing::ext::TestSize.Level1)
266 {
267 DmAccessCaller caller;
268 DmAccessCallee callee;
269 DeletePermission();
270 bool ret = DeviceManagerService::GetInstance().CheckIsSameAccount(caller, callee);
271 EXPECT_EQ(ret, false);
272 }
273
274 /**
275 * @tc.name: InitAccountInfo_201
276 * @tc.type: FUNC
277 */
278 HWTEST_F(DeviceManagerServiceTest, InitAccountInfo_201, testing::ext::TestSize.Level1)
279 {
280 int32_t userId = 100;
281 std::string commonEventType = "usual.event.USER_SWITCHED";
282 std::map<std::string, int32_t> curUserDeviceMap;
283 DeviceManagerService::GetInstance().AccountCommonEventCallback(commonEventType, userId, 101);
284 commonEventType = "common.event.HWID_LOGIN";
285 DeviceManagerService::GetInstance().AccountCommonEventCallback(commonEventType, userId, 101);
286 commonEventType = "usual.event.USER_SWITCHED";
287 int32_t currentUserId = -1;
288 int32_t beforeUserId = 0;
289 DeviceManagerService::GetInstance().AccountCommonEventCallback(commonEventType, currentUserId, beforeUserId);
290 commonEventType = "common.event.HWID_LOGOUT";
291 currentUserId = 1;
292 beforeUserId = 1;
293 DMAccountInfo dmAccountInfo;
294 dmAccountInfo.accountId = "accountId";
295 dmAccountInfo.accountName = "accountName";
296 EXPECT_CALL(*multipleUserConnectorMock_, GetAccountInfoByUserId(_)).WillOnce(Return(dmAccountInfo));
297 DeviceManagerService::GetInstance().AccountCommonEventCallback(commonEventType, currentUserId, beforeUserId);
298 int32_t ret = DeviceManagerService::GetInstance().InitAccountInfo();
299 EXPECT_EQ(ret, DM_OK);
300 }
301
302 /**
303 * @tc.name: InitScreenLockEvent_001
304 * @tc.type: FUNC
305 */
306 HWTEST_F(DeviceManagerServiceTest, InitScreenLockEvent_201, testing::ext::TestSize.Level1)
307 {
308 int32_t ret = DeviceManagerService::GetInstance().InitScreenLockEvent();
309 EXPECT_EQ(ret, DM_OK);
310 }
311
312 /**
313 * @tc.name: SubscribeAccountCommonEvent_201
314 * @tc.type: FUNC
315 */
316 HWTEST_F(DeviceManagerServiceTest, SubscribeAccountCommonEvent_201, testing::ext::TestSize.Level1)
317 {
318 DeviceManagerService::GetInstance().SubscribeAccountCommonEvent();
319 DeviceManagerService::GetInstance().SubscribeScreenLockEvent();
320 std::string commonEventType = "usual.event.USER_SWITCHED";
321 DeviceManagerService::GetInstance().ScreenCommonEventCallback(commonEventType);
322 EXPECT_NE(DeviceManagerService::GetInstance().accountCommonEventManager_, nullptr);
323 }
324
325 /**
326 * @tc.name: SetDnPolicy_201
327 * @tc.type: FUNC
328 */
329 HWTEST_F(DeviceManagerServiceTest, SetDnPolicy_201, testing::ext::TestSize.Level1)
330 {
331 SetSetDnPolicyPermission();
332 std::string packName = "com.ohos.test";
333 std::map<std::string, std::string> policy;
334 policy[PARAM_KEY_POLICY_STRATEGY_FOR_BLE] = "100";
335 policy[PARAM_KEY_POLICY_TIME_OUT] = "10";
336 std::string processName = "collaboration_service";
337 EXPECT_CALL(*permissionManagerMock_, CheckPermission()).WillOnce(Return(true));
338 EXPECT_CALL(*permissionManagerMock_, GetCallerProcessName(_))
339 .WillOnce(DoAll(SetArgReferee<0>(processName), Return(DM_OK)));
340 EXPECT_CALL(*permissionManagerMock_, CheckProcessNameValidOnSetDnPolicy(_)).WillOnce(Return(true));
341 int32_t ret = DeviceManagerService::GetInstance().SetDnPolicy(packName, policy);
342 bool bRet = false;
343 if (ret == DM_OK || ret == ERR_DM_UNSUPPORTED_METHOD || ret == SOFTBUS_IPC_ERR) {
344 bRet = true;
345 }
346 ASSERT_EQ(bRet, true);
347 }
348
349 /**
350 * @tc.name: SetDnPolicy_202
351 * @tc.type: FUNC
352 */
353 HWTEST_F(DeviceManagerServiceTest, SetDnPolicy_202, testing::ext::TestSize.Level1)
354 {
355 SetSetDnPolicyPermission();
356 std::string packName;
357 std::map<std::string, std::string> policy;
358 policy[PARAM_KEY_POLICY_STRATEGY_FOR_BLE] = "100";
359 policy[PARAM_KEY_POLICY_TIME_OUT] = "10";
360 std::string processName = "collaboration_service";
361 EXPECT_CALL(*permissionManagerMock_, CheckPermission()).WillOnce(Return(true));
362 EXPECT_CALL(*permissionManagerMock_, GetCallerProcessName(_))
363 .WillOnce(DoAll(SetArgReferee<0>(processName), Return(DM_OK)));
364 EXPECT_CALL(*permissionManagerMock_, CheckProcessNameValidOnSetDnPolicy(_)).WillOnce(Return(true));
365 int32_t ret = DeviceManagerService::GetInstance().SetDnPolicy(packName, policy);
366 ASSERT_EQ(ret, ERR_DM_INPUT_PARA_INVALID);
367 }
368
369 /**
370 * @tc.name: SetDnPolicy_203
371 * @tc.type: FUNC
372 */
373 HWTEST_F(DeviceManagerServiceTest, SetDnPolicy_203, testing::ext::TestSize.Level1)
374 {
375 std::string packName = "com.ohos.test";
376 SetSetDnPolicyPermission();
377 std::map<std::string, std::string> policy;
378 policy[PARAM_KEY_POLICY_TIME_OUT] = "10";
379 std::string processName = "collaboration_service";
380 EXPECT_CALL(*permissionManagerMock_, CheckPermission()).WillOnce(Return(true));
381 EXPECT_CALL(*permissionManagerMock_, GetCallerProcessName(_))
382 .WillOnce(DoAll(SetArgReferee<0>(processName), Return(DM_OK)));
383 EXPECT_CALL(*permissionManagerMock_, CheckProcessNameValidOnSetDnPolicy(_)).WillOnce(Return(true));
384 int32_t ret = DeviceManagerService::GetInstance().SetDnPolicy(packName, policy);
385 ASSERT_EQ(ret, ERR_DM_INPUT_PARA_INVALID);
386 }
387
388 /**
389 * @tc.name: SetDnPolicy_204
390 * @tc.type: FUNC
391 */
392 HWTEST_F(DeviceManagerServiceTest, SetDnPolicy_204, testing::ext::TestSize.Level1)
393 {
394 SetSetDnPolicyPermission();
395 std::string packName = "com.ohos.test";
396 std::map<std::string, std::string> policy;
397 policy[PARAM_KEY_POLICY_STRATEGY_FOR_BLE] = "100";
398 std::string processName = "collaboration_service";
399 EXPECT_CALL(*permissionManagerMock_, CheckPermission()).WillOnce(Return(true));
400 EXPECT_CALL(*permissionManagerMock_, GetCallerProcessName(_))
401 .WillOnce(DoAll(SetArgReferee<0>(processName), Return(DM_OK)));
402 EXPECT_CALL(*permissionManagerMock_, CheckProcessNameValidOnSetDnPolicy(_)).WillOnce(Return(true));
403 int32_t ret = DeviceManagerService::GetInstance().SetDnPolicy(packName, policy);
404 ASSERT_EQ(ret, ERR_DM_INPUT_PARA_INVALID);
405 }
406
407 /**
408 * @tc.name: SetDnPolicy_205
409 * @tc.type: FUNC
410 */
411 HWTEST_F(DeviceManagerServiceTest, SetDnPolicy_205, testing::ext::TestSize.Level1)
412 {
413 SetSetDnPolicyPermission();
414 std::string packName = "com.ohos.test";
415 std::map<std::string, std::string> policy;
416 policy[PARAM_KEY_POLICY_STRATEGY_FOR_BLE] = "a100";
417 policy[PARAM_KEY_POLICY_TIME_OUT] = "10";
418 std::string processName = "collaboration_service";
419 EXPECT_CALL(*permissionManagerMock_, CheckPermission()).WillOnce(Return(true));
420 EXPECT_CALL(*permissionManagerMock_, GetCallerProcessName(_))
421 .WillOnce(DoAll(SetArgReferee<0>(processName), Return(DM_OK)));
422 EXPECT_CALL(*permissionManagerMock_, CheckProcessNameValidOnSetDnPolicy(_)).WillOnce(Return(true));
423 int32_t ret = DeviceManagerService::GetInstance().SetDnPolicy(packName, policy);
424 ASSERT_EQ(ret, ERR_DM_INPUT_PARA_INVALID);
425 }
426
427 /**
428 * @tc.name: SetDnPolicy_206
429 * @tc.type: FUNC
430 */
431 HWTEST_F(DeviceManagerServiceTest, SetDnPolicy_206, testing::ext::TestSize.Level1)
432 {
433 SetSetDnPolicyPermission();
434 std::string packName = "com.ohos.test";
435 std::map<std::string, std::string> policy;
436 policy[PARAM_KEY_POLICY_STRATEGY_FOR_BLE] = "100a";
437 policy[PARAM_KEY_POLICY_TIME_OUT] = "10";
438 std::string processName = "collaboration_service";
439 EXPECT_CALL(*permissionManagerMock_, CheckPermission()).WillOnce(Return(true));
440 EXPECT_CALL(*permissionManagerMock_, GetCallerProcessName(_))
441 .WillOnce(DoAll(SetArgReferee<0>(processName), Return(DM_OK)));
442 EXPECT_CALL(*permissionManagerMock_, CheckProcessNameValidOnSetDnPolicy(_)).WillOnce(Return(true));
443 int32_t ret = DeviceManagerService::GetInstance().SetDnPolicy(packName, policy);
444 ASSERT_EQ(ret, ERR_DM_INPUT_PARA_INVALID);
445 }
446
447 HWTEST_F(DeviceManagerServiceTest, GetDeviceScreenStatus_201, testing::ext::TestSize.Level1)
448 {
449 std::string pkgName = "com.ohos.screenStatusTest";
450 std::string networkId = "";
451 int32_t screenStatus = -1;
452 EXPECT_CALL(*permissionManagerMock_, CheckPermission()).WillOnce(Return(true));
453 int32_t ret = DeviceManagerService::GetInstance().GetDeviceScreenStatus(pkgName, networkId, screenStatus);
454 ASSERT_EQ(ret, ERR_DM_INPUT_PARA_INVALID);
455 }
456
457 HWTEST_F(DeviceManagerServiceTest, GetDeviceScreenStatus_202, testing::ext::TestSize.Level1)
458 {
459 std::string pkgName = "";
460 std::string networkId = "networkIdTest";
461 int32_t screenStatus = -1;
462 EXPECT_CALL(*permissionManagerMock_, CheckPermission()).WillRepeatedly(Return(true));
463 int32_t ret = DeviceManagerService::GetInstance().GetDeviceScreenStatus(pkgName, networkId, screenStatus);
464 ASSERT_EQ(ret, ERR_DM_INPUT_PARA_INVALID);
465
466 pkgName = "pkgName";
467 DeviceManagerService::GetInstance().softbusListener_ = std::make_shared<SoftbusListener>();
468 EXPECT_CALL(*softbusListenerMock_, GetDeviceScreenStatus(_, _)).WillOnce(Return(DM_OK));
469 ret = DeviceManagerService::GetInstance().GetDeviceScreenStatus(pkgName, networkId, screenStatus);
470 ASSERT_EQ(ret, DM_OK);
471 DeviceManagerService::GetInstance().softbusListener_ = nullptr;
472 }
473
474 /**
475 * @tc.name: GetTrustedDeviceList_204
476 * @tc.desc:Set the intFlag of GetTrustedDeviceList_004 to true; Return DM_OK
477 * @tc.type: FUNC
478 * @tc.require: AR000GHSJK
479 */
480 HWTEST_F(DeviceManagerServiceTest, GetTrustedDeviceList_204, testing::ext::TestSize.Level1)
481 {
482 std::string pkgName = "ohos_test";
483 std::string extra = "jdddd";
484 std::vector<DmDeviceInfo> deviceList;
485 DeviceManagerService::GetInstance().softbusListener_ = std::make_shared<SoftbusListener>();
486 DeviceManagerService::GetInstance().InitDMServiceListener();
487 EXPECT_CALL(*softbusListenerMock_, GetTrustedDeviceList(_)).WillOnce(Return(ERR_DM_FAILED));
488 int ret = DeviceManagerService::GetInstance().GetTrustedDeviceList(pkgName, extra, deviceList);
489 EXPECT_EQ(ret, ERR_DM_FAILED);
490 DeviceManagerService::GetInstance().UninitDMServiceListener();
491 DeviceManagerService::GetInstance().softbusListener_ = nullptr;
492 }
493
494 /**
495 * @tc.name: GetLocalDeviceInfo_203
496 * @tc.desc: The return value is ERR_DM_FAILED
497 * @tc.type: FUNC
498 * @tc.require: AR000GHSJK
499 */
500 HWTEST_F(DeviceManagerServiceTest, GetLocalDeviceInfo_203, testing::ext::TestSize.Level1)
501 {
502 DmDeviceInfo info;
503 DeviceManagerService::GetInstance().softbusListener_ = std::make_shared<SoftbusListener>();
504 EXPECT_CALL(*softbusListenerMock_, GetLocalDeviceInfo(_)).WillOnce(Return(ERR_DM_FAILED));
505 int32_t ret = DeviceManagerService::GetInstance().GetLocalDeviceInfo(info);
506 EXPECT_EQ(ret, ERR_DM_FAILED);
507 DeviceManagerService::GetInstance().softbusListener_ = nullptr;
508 }
509
510 /**
511 * @tc.name: GetLocalDeviceInfo_204
512 * @tc.desc: The return value is ERR_DM_FAILED
513 * @tc.type: FUNC
514 * @tc.require: AR000GHSJK
515 */
516 HWTEST_F(DeviceManagerServiceTest, GetLocalDeviceInfo_204, testing::ext::TestSize.Level1)
517 {
518 DmDeviceInfo info;
519 DeletePermission();
520 DeviceManagerService::GetInstance().softbusListener_ = std::make_shared<SoftbusListener>();
521 EXPECT_CALL(*softbusListenerMock_, GetLocalDeviceInfo(_)).Times(::testing::AtLeast(1)).WillOnce(Return(DM_OK));
522 int32_t ret = DeviceManagerService::GetInstance().GetLocalDeviceInfo(info);
523 EXPECT_EQ(ret, DM_OK);
524 DeviceManagerService::GetInstance().softbusListener_ = nullptr;
525 }
526
527 HWTEST_F(DeviceManagerServiceTest, BindTarget_201, testing::ext::TestSize.Level1)
528 {
529 std::string pkgName = "pkgName";
530 PeerTargetId targetId;
531 targetId.wifiIp = "wifi_Ip";
532 std::map<std::string, std::string> bindParam;
533 std::string key = PARAM_KEY_TARGET_ID;
534 std::string value = "186";
535 bindParam.insert(std::make_pair(key, value));
536 EXPECT_CALL(*permissionManagerMock_, CheckNewPermission()).WillOnce(Return(true));
537 int32_t ret = DeviceManagerService::GetInstance().BindTarget(pkgName, targetId, bindParam);
538 EXPECT_EQ(ret, DM_OK);
539
540 targetId.wifiIp = "178.168.1.2";
541 EXPECT_CALL(*permissionManagerMock_, CheckNewPermission()).WillOnce(Return(true));
542 EXPECT_CALL(*softbusListenerMock_, GetIPAddrTypeFromCache(_, _, _)).WillOnce(Return(DM_OK));
543 ret = DeviceManagerService::GetInstance().BindTarget(pkgName, targetId, bindParam);
544 EXPECT_EQ(ret, DM_OK);
545 }
546
547 HWTEST_F(DeviceManagerServiceTest, UnBindDevice_201, testing::ext::TestSize.Level1)
548 {
549 std::string pkgName = "com.ohos.test";
550 std::string deviceId = "123456";
551 DeviceManagerService::GetInstance().softbusListener_ = std::make_shared<SoftbusListener>();
552 EXPECT_CALL(*permissionManagerMock_, CheckNewPermission()).WillOnce(Return(true));
553 EXPECT_CALL(*kVAdapterManagerMock_, Get(_, _)).WillOnce(Return(DM_OK));
554 EXPECT_CALL(*softbusListenerMock_, GetUdidFromDp(_, _)).WillOnce(Return(DM_OK));
555 EXPECT_CALL(*deviceManagerServiceImplMock_, GetBindLevel(_, _, _, _)).WillOnce(Return(0));
556 int32_t ret = DeviceManagerService::GetInstance().UnBindDevice(pkgName, deviceId);
557 EXPECT_NE(ret, DM_OK);
558 DeviceManagerService::GetInstance().softbusListener_ = nullptr;
559 }
560
561 HWTEST_F(DeviceManagerServiceTest, UnBindDevice_202, testing::ext::TestSize.Level1)
562 {
563 std::string pkgName = "com.ohos.test";
564 std::string deviceId = "123456";
565 DeviceManagerService::GetInstance().softbusListener_ = std::make_shared<SoftbusListener>();
566 EXPECT_CALL(*permissionManagerMock_, CheckNewPermission()).WillOnce(Return(true));
567 EXPECT_CALL(*kVAdapterManagerMock_, Get(_, _)).WillOnce(Return(DM_OK));
568 EXPECT_CALL(*softbusListenerMock_, GetUdidFromDp(_, _)).WillOnce(Return(DM_OK));
569 EXPECT_CALL(*deviceManagerServiceImplMock_, GetBindLevel(_, _, _, _)).WillOnce(Return(0));
570 int32_t ret = DeviceManagerService::GetInstance().UnBindDevice(pkgName, deviceId);
571 EXPECT_NE(ret, ERR_DM_POINT_NULL);
572
573 EXPECT_CALL(*permissionManagerMock_, CheckNewPermission()).WillOnce(Return(true));
574 EXPECT_CALL(*kVAdapterManagerMock_, Get(_, _)).WillOnce(Return(DM_OK));
575 EXPECT_CALL(*softbusListenerMock_, GetUdidFromDp(_, _)).Times(::testing::AtLeast(1)).WillOnce(Return(DM_OK));
576 EXPECT_CALL(*deviceManagerServiceImplMock_, GetBindLevel(_, _, _, _)).WillOnce(Return(DM_IDENTICAL_ACCOUNT));
577 EXPECT_CALL(*deviceManagerServiceImplMock_, UnBindDevice(_, _, _)).WillOnce(Return(DM_OK));
578 ret = DeviceManagerService::GetInstance().UnBindDevice(pkgName, deviceId);
579 EXPECT_NE(ret, ERR_DM_POINT_NULL);
580
581 EXPECT_CALL(*permissionManagerMock_, CheckNewPermission()).WillOnce(Return(true));
582 EXPECT_CALL(*kVAdapterManagerMock_, Get(_, _)).WillOnce(Return(DM_OK));
583 EXPECT_CALL(*softbusListenerMock_, GetUdidFromDp(_, _)).Times(::testing::AtLeast(1)).WillOnce(Return(DM_OK));
584 EXPECT_CALL(*deviceManagerServiceImplMock_, GetBindLevel(_, _, _, _)).WillOnce(Return(DM_IDENTICAL_ACCOUNT));
585 EXPECT_CALL(*deviceManagerServiceImplMock_, UnBindDevice(_, _, _)).WillOnce(Return(ERR_DM_FAILED));
586 ret = DeviceManagerService::GetInstance().UnBindDevice(pkgName, deviceId);
587 EXPECT_NE(ret, ERR_DM_POINT_NULL);
588 DeviceManagerService::GetInstance().softbusListener_ = nullptr;
589 }
590
591 HWTEST_F(DeviceManagerServiceTest, LoadHardwareFwkService_201, testing::ext::TestSize.Level1)
592 {
593 DeviceManagerService::GetInstance().softbusListener_ = std::make_shared<SoftbusListener>();
594 std::vector<DmDeviceInfo> deviceList;
595 DmDeviceInfo dmDeviceInfo;
596 dmDeviceInfo.authForm = DmAuthForm::ACROSS_ACCOUNT;
597 dmDeviceInfo.extraData = "extraInfo";
598 deviceList.push_back(dmDeviceInfo);
599 std::unordered_map<std::string, DmAuthForm> udidMap;
600 udidMap.insert(std::make_pair("udid01", DmAuthForm::IDENTICAL_ACCOUNT));
601 udidMap.insert(std::make_pair("udid02", DmAuthForm::ACROSS_ACCOUNT));
602 EXPECT_CALL(*softbusListenerMock_, GetTrustedDeviceList(_))
603 .WillOnce(DoAll(SetArgReferee<0>(deviceList), Return(DM_OK)));
604 EXPECT_CALL(*deviceManagerServiceImplMock_, GetAppTrustDeviceIdList(_)).WillOnce(Return(udidMap));
605 EXPECT_CALL(*softbusListenerMock_, GetUdidByNetworkId(_, _))
606 .WillOnce(DoAll(SetArgReferee<1>("udid01"), Return(DM_OK)));
607 DeviceManagerService::GetInstance().LoadHardwareFwkService();
608 EXPECT_CALL(*softbusListenerMock_, GetTrustedDeviceList(_)).WillOnce(Return(ERR_DM_FAILED));
609 DeviceManagerService::GetInstance().LoadHardwareFwkService();
610 DeviceManagerService::GetInstance().softbusListener_ = nullptr;
611 EXPECT_EQ(DeviceManagerService::GetInstance().softbusListener_, nullptr);
612 }
613
614 /**
615 * @tc.name: UnAuthenticateDevice_201
616 * @tc.desc: Set intFlag for UnAuthenticateDevice to true and pkgName to com.ohos.test; set deviceId null ,The return
617 * value is SOFTBUS_IPC_ERR
618 * @tc.type: FUNC
619 * @tc.require: AR000GHSJK
620 */
621 HWTEST_F(DeviceManagerServiceTest, UnAuthenticateDevice_201, testing::ext::TestSize.Level1)
622 {
623 std::string pkgName = "com.ohos.test";
624 std::string networkId = "12345";
625 EXPECT_CALL(*permissionManagerMock_, CheckPermission()).WillOnce(Return(true));
626 EXPECT_CALL(*softbusListenerMock_, GetUdidByNetworkId(_, _)).WillOnce(Return(DM_OK));
627 EXPECT_CALL(*deviceManagerServiceImplMock_, GetBindLevel(_, _, _, _)).WillOnce(Return(0));
628 int ret = DeviceManagerService::GetInstance().UnAuthenticateDevice(pkgName, networkId);
629 EXPECT_EQ(ret, ERR_DM_FAILED);
630
631 EXPECT_CALL(*permissionManagerMock_, CheckPermission()).WillOnce(Return(true));
632 EXPECT_CALL(*softbusListenerMock_, GetUdidByNetworkId(_, _)).WillOnce(Return(DM_OK));
633 EXPECT_CALL(*deviceManagerServiceImplMock_, GetBindLevel(_, _, _, _)).WillOnce(Return(1));
634 EXPECT_CALL(*deviceManagerServiceImplMock_, UnAuthenticateDevice(_, _, _)).WillOnce(Return(ERR_DM_FAILED));
635 ret = DeviceManagerService::GetInstance().UnAuthenticateDevice(pkgName, networkId);
636 EXPECT_EQ(ret, ERR_DM_FAILED);
637
638 EXPECT_CALL(*permissionManagerMock_, CheckPermission()).WillOnce(Return(true));
639 EXPECT_CALL(*softbusListenerMock_, GetUdidByNetworkId(_, _)).WillOnce(Return(DM_OK));
640 EXPECT_CALL(*deviceManagerServiceImplMock_, GetBindLevel(_, _, _, _)).WillOnce(Return(1));
641 EXPECT_CALL(*deviceManagerServiceImplMock_, UnAuthenticateDevice(_, _, _)).WillOnce(Return(DM_OK));
642 ret = DeviceManagerService::GetInstance().UnAuthenticateDevice(pkgName, networkId);
643 EXPECT_EQ(ret, DM_OK);
644
645 int32_t userId = 123456;
646 std::string accountId = "accountId";
647 std::string accountName = "accountName";
648 std::multimap<std::string, int32_t> deviceMap;
649 deviceMap.insert(std::make_pair("accountId", userId));
650 deviceMap.insert(std::make_pair("accountName", 1));
651 EXPECT_CALL(*deviceManagerServiceImplMock_, GetDeviceIdAndUserId(_, _)).WillOnce(Return(deviceMap));
652 EXPECT_CALL(*cryptoMock_, GetAccountIdHash(_, _)).WillOnce(Return(DM_OK));
653 DeviceManagerService::GetInstance().HandleAccountLogout(userId, accountId, accountName);
654
655 EXPECT_CALL(*deviceManagerServiceImplMock_, GetDeviceIdAndUserId(_, _)).WillOnce(Return(deviceMap));
656 EXPECT_CALL(*cryptoMock_, GetAccountIdHash(_, _)).WillOnce(Return(ERR_DM_FAILED));
657 DeviceManagerService::GetInstance().HandleAccountLogout(userId, accountId, accountName);
658
659 int32_t removeId = 123;
660 deviceMap.insert(std::make_pair("removeId", removeId));
661 EXPECT_CALL(*deviceManagerServiceImplMock_, GetDeviceIdAndUserId(_)).WillOnce(Return(deviceMap));
662 DeviceManagerService::GetInstance().HandleUserRemoved(userId);
663 }
664
665 HWTEST_F(DeviceManagerServiceTest, BindDevice_205, testing::ext::TestSize.Level1)
666 {
667 std::string pkgName = "com.ohos.test";
668 int32_t authType = 1;
669 std::string deviceId = "1234";
670 std::string bindParam;
671 EXPECT_CALL(*permissionManagerMock_, CheckNewPermission()).WillOnce(Return(true));
672 EXPECT_CALL(*kVAdapterManagerMock_, Get(_, _)).Times(::testing::AtLeast(2)).WillRepeatedly(Return(DM_OK));
673 EXPECT_CALL(*softbusListenerMock_, GetTargetInfoFromCache(_, _, _)).WillOnce(Return(DM_OK));
674 int32_t ret = DeviceManagerService::GetInstance().BindDevice(pkgName, authType, deviceId, bindParam);
675 EXPECT_EQ(ret, DM_OK);
676
677 ProcessInfo processInfo;
678 processInfo.pkgName = "pkgName";
679 if (DeviceManagerService::GetInstance().discoveryMgr_ == nullptr) {
680 DeviceManagerService::GetInstance().InitDMServiceListener();
681 }
682 DeviceManagerService::GetInstance().ClearDiscoveryCache(processInfo);
683 DeviceManagerService::GetInstance().RemoveNotifyRecord(processInfo);
684 }
685
686 /**
687 * @tc.name: AuthenticateDevice_205
688 * @tc.desc: Set intFlag for GAuthenticateDevice to True and deviceId to null; Return ERR_DM_BIND_INPUT_PARA_INVALID
689 * @tc.type: FUNC
690 * @tc.require: AR000GHSJK
691 */
692 HWTEST_F(DeviceManagerServiceTest, AuthenticateDevice_205, testing::ext::TestSize.Level1)
693 {
694 std::string pkgName = "com.ohos.test";
695 std::string extra = "jdddd";
696 int32_t authType = 0;
697 std::string deviceId = " 2345";
698 EXPECT_CALL(*permissionManagerMock_, CheckPermission()).WillOnce(Return(true));
699 EXPECT_CALL(*kVAdapterManagerMock_, Get(_, _)).Times(::testing::AtLeast(1)).WillOnce(Return(DM_OK));
700 EXPECT_CALL(*softbusListenerMock_, GetTargetInfoFromCache(_, _, _)).WillOnce(Return(DM_OK));
701 int32_t ret = DeviceManagerService::GetInstance().AuthenticateDevice(pkgName, authType, deviceId, extra);
702 EXPECT_EQ(ret, DM_OK);
703
704 std::vector<std::string> peerUdids;
705 int32_t userId = 123456;
706 if (DeviceManagerService::GetInstance().softbusListener_ == nullptr) {
707 DeviceManagerService::GetInstance().softbusListener_ = std::make_shared<SoftbusListener>();
708 }
709 DeviceManagerService::GetInstance().SendUserRemovedBroadCast(peerUdids, userId);
710
711 std::vector<int32_t> foregroundUserIds;
712 std::vector<int32_t> backgroundUserIds;
713 bool isNeedResponse = false;
714 foregroundUserIds.push_back(1);
715 foregroundUserIds.push_back(101);
716 backgroundUserIds.push_back(102);
717 backgroundUserIds.push_back(12);
718 DeviceManagerService::GetInstance().SendUserIdsBroadCast(peerUdids, foregroundUserIds,
719 backgroundUserIds, isNeedResponse);
720
721 std::vector<UserIdInfo> remoteUserIdInfos;
722 UserIdInfo userIdInfo(true, 1);
723 remoteUserIdInfos.push_back(userIdInfo);
724 UserIdInfo userIdInfo1(true, 102);
725 remoteUserIdInfos.push_back(userIdInfo1);
726 UserIdInfo userIdInfo2(false, 103);
727 remoteUserIdInfos.push_back(userIdInfo2);
728 UserIdInfo userIdInfo3(false, 104);
729 remoteUserIdInfos.push_back(userIdInfo3);
730 std::string remoteUdid = "remoteDeviceId";
731 isNeedResponse = true;
732 EXPECT_CALL(*multipleUserConnectorMock_, GetForegroundUserIds(_))
733 .WillOnce(Return(ERR_DM_FAILED)).WillOnce(Return(ERR_DM_FAILED));
734 EXPECT_CALL(*multipleUserConnectorMock_, GetBackgroundUserIds(_)).WillOnce(Return(ERR_DM_FAILED));
735 DeviceManagerService::GetInstance().HandleUserIdsBroadCast(remoteUserIdInfos, remoteUdid, isNeedResponse);
736
737 std::vector<int32_t> foregroundUserVec;
738 foregroundUserVec.push_back(1);
739 foregroundUserVec.push_back(102);
740 EXPECT_CALL(*multipleUserConnectorMock_, GetForegroundUserIds(_))
741 .WillOnce(DoAll(SetArgReferee<0>(foregroundUserVec), Return(DM_OK))).WillOnce(Return(DM_OK));
742 EXPECT_CALL(*multipleUserConnectorMock_, GetBackgroundUserIds(_)).WillOnce(Return(DM_OK));
743 DeviceManagerService::GetInstance().HandleUserIdsBroadCast(remoteUserIdInfos, remoteUdid, isNeedResponse);
744 DeviceManagerService::GetInstance().softbusListener_ = nullptr;
745 }
746
747 HWTEST_F(DeviceManagerServiceTest, RegDevStateCallbackToService_201, testing::ext::TestSize.Level1)
748 {
749 std::string pkgName = "pkgName";
750 int32_t ret = DeviceManagerService::GetInstance().RegDevStateCallbackToService(pkgName);
751 EXPECT_EQ(ret, DM_OK);
752
753 std::string msg;
754 DeviceManagerService::GetInstance().HandleUserIdCheckSumChange(msg);
755 msg = R"(
756 {
757 "processType" : 1,
758 "g_authType" : 1,
759 "userId" : "123"
760 }))";
761 DeviceManagerService::GetInstance().HandleUserIdCheckSumChange(msg);
762
763 msg = R"(
764 {
765 "processType" : 1,
766 "g_authType" : 1,
767 "userId" : "123"
768 })";
769 DeviceManagerService::GetInstance().HandleUserIdCheckSumChange(msg);
770
771 msg = R"(
772 {
773 "networkId" : "networkId_001",
774 "g_authType" : 1,
775 "userId" : "123"
776 })";
777 DeviceManagerService::GetInstance().HandleUserIdCheckSumChange(msg);
778
779 JsonObject msgJsonObj;
780 msgJsonObj["networkId"] = "networkId_001";
781 msgJsonObj["discoverType"] = 0b0100;
782 msgJsonObj["ischange"] = true;
783 msg = msgJsonObj.Dump();
784 std::vector<int32_t> foregroundUserVec;
785 foregroundUserVec.push_back(101);
786 EXPECT_CALL(*multipleUserConnectorMock_, GetForegroundUserIds(_))
787 .WillOnce(DoAll(SetArgReferee<0>(foregroundUserVec), Return(DM_OK)));
788 EXPECT_CALL(*softbusCacheMock_, GetUdidFromCache(_, _)).WillOnce(DoAll(SetArgReferee<1>(""), Return(DM_OK)));
789 DeviceManagerService::GetInstance().HandleUserIdCheckSumChange(msg);
790
791 EXPECT_CALL(*multipleUserConnectorMock_, GetForegroundUserIds(_))
792 .WillOnce(DoAll(SetArgReferee<0>(foregroundUserVec), Return(DM_OK)));
793 EXPECT_CALL(*softbusCacheMock_, GetUdidFromCache(_, _)).WillOnce(DoAll(SetArgReferee<1>("udid01"), Return(DM_OK)));
794 DeviceManagerService::GetInstance().HandleUserIdCheckSumChange(msg);
795 Mock::VerifyAndClearExpectations(multipleUserConnectorMock_.get());
796
797 msgJsonObj["discoverType"] = 0;
798 msg = msgJsonObj.Dump();
799 DeviceManagerService::GetInstance().HandleUserIdCheckSumChange(msg);
800 }
801
802 HWTEST_F(DeviceManagerServiceTest, GetTrustedDeviceList_205, testing::ext::TestSize.Level1)
803 {
804 std::string pkgName;
805 std::string extra = "extra";
806 std::vector<DmDeviceInfo> deviceList;
807 EXPECT_CALL(*permissionManagerMock_, CheckPermission()).WillRepeatedly(Return(true));
808 int ret = DeviceManagerService::GetInstance().GetTrustedDeviceList(pkgName, extra, deviceList);
809 EXPECT_EQ(ret, ERR_DM_INPUT_PARA_INVALID);
810
811 pkgName = "jjdjk_pkgName";
812 DeviceManagerService::GetInstance().softbusListener_ = nullptr;
813 ret = DeviceManagerService::GetInstance().GetTrustedDeviceList(pkgName, extra, deviceList);
814 EXPECT_EQ(ret, ERR_DM_POINT_NULL);
815
816 DeviceManagerService::GetInstance().softbusListener_ = std::make_shared<SoftbusListener>();
817 DeviceManagerService::GetInstance().InitDMServiceListener();
818 EXPECT_CALL(*softbusListenerMock_, GetTrustedDeviceList(_)).WillOnce(Return(ERR_DM_FAILED));
819 ret = DeviceManagerService::GetInstance().GetTrustedDeviceList(pkgName, extra, deviceList);
820 EXPECT_EQ(ret, ERR_DM_FAILED);
821
822 std::vector<DmDeviceInfo> onlineDeviceList;
823 DmDeviceInfo dmDeviceInfo;
824 dmDeviceInfo.authForm = DmAuthForm::ACROSS_ACCOUNT;
825 dmDeviceInfo.networkType = 1;
826 onlineDeviceList.push_back(dmDeviceInfo);
827 std::unordered_map<std::string, DmAuthForm> udidMap;
828 udidMap.insert(std::make_pair("udid01", DmAuthForm::IDENTICAL_ACCOUNT));
829 udidMap.insert(std::make_pair("udid02", DmAuthForm::ACROSS_ACCOUNT));
830 EXPECT_CALL(*permissionManagerMock_, CheckPermission()).WillOnce(Return(true));
831 EXPECT_CALL(*softbusListenerMock_, GetTrustedDeviceList(_))
832 .WillOnce(DoAll(SetArgReferee<0>(onlineDeviceList), Return(DM_OK)));
833 EXPECT_CALL(*deviceManagerServiceImplMock_, GetAppTrustDeviceIdList(_)).WillOnce(Return(udidMap));
834 EXPECT_CALL(*softbusListenerMock_, GetUdidByNetworkId(_, _))
835 .WillOnce(DoAll(SetArgReferee<1>("udid01"), Return(DM_OK)));
836 ret = DeviceManagerService::GetInstance().GetTrustedDeviceList(pkgName, extra, deviceList);
837 EXPECT_EQ(ret, DM_OK);
838
839 pkgName = "ohos.deviceprofile";
840 EXPECT_CALL(*permissionManagerMock_, CheckPermission()).WillOnce(Return(true));
841 EXPECT_CALL(*softbusListenerMock_, GetTrustedDeviceList(_))
842 .WillOnce(DoAll(SetArgReferee<0>(onlineDeviceList), Return(DM_OK)));
843 EXPECT_CALL(*deviceManagerServiceImplMock_, GetAppTrustDeviceIdList(_)).WillOnce(Return(udidMap));
844 EXPECT_CALL(*softbusListenerMock_, GetUdidByNetworkId(_, _))
845 .WillOnce(DoAll(SetArgReferee<1>("udid02"), Return(DM_OK)));
846 ret = DeviceManagerService::GetInstance().GetTrustedDeviceList(pkgName, extra, deviceList);
847 EXPECT_EQ(ret, DM_OK);
848 DeviceManagerService::GetInstance().UninitDMServiceListener();
849 DeviceManagerService::GetInstance().softbusListener_ = nullptr;
850 }
851
852 HWTEST_F(DeviceManagerServiceTest, DmHiDumper_201, testing::ext::TestSize.Level1)
853 {
854 std::vector<std::string> args;
855 args.push_back(std::string("-getTrustlist"));
856 std::string result;
857 std::vector<DmDeviceInfo> deviceList;
858 DmDeviceInfo dmDeviceInfo;
859 dmDeviceInfo.authForm = DmAuthForm::ACROSS_ACCOUNT;
860 dmDeviceInfo.deviceTypeId = 0;
861 deviceList.push_back(dmDeviceInfo);
862 DeviceManagerService::GetInstance().softbusListener_ = std::make_shared<SoftbusListener>();
863 EXPECT_CALL(*softbusListenerMock_, GetTrustedDeviceList(_))
864 .WillOnce(DoAll(SetArgReferee<0>(deviceList), Return(DM_OK)));
865 int ret = DeviceManagerService::GetInstance().DmHiDumper(args, result);
866 EXPECT_EQ(ret, DM_OK);
867
868 EXPECT_CALL(*softbusListenerMock_, GetTrustedDeviceList(_))
869 .WillOnce(DoAll(SetArgReferee<0>(deviceList), Return(ERR_DM_FAILED)));
870 ret = DeviceManagerService::GetInstance().DmHiDumper(args, result);
871 EXPECT_EQ(ret, ERR_DM_FAILED);
872 }
873
874 HWTEST_F(DeviceManagerServiceTest, SetDnPolicy_207, testing::ext::TestSize.Level1)
875 {
876 SetSetDnPolicyPermission();
877 std::string packName = "com.ohos.test";
878 std::map<std::string, std::string> policy;
879 policy[PARAM_KEY_POLICY_STRATEGY_FOR_BLE] = "100a";
880 policy[PARAM_KEY_POLICY_TIME_OUT] = "10";
881 std::string processName = "collaboration_service";
882 EXPECT_CALL(*permissionManagerMock_, CheckPermission()).WillRepeatedly(Return(true));
883 EXPECT_CALL(*permissionManagerMock_, GetCallerProcessName(_))
884 .WillOnce(DoAll(SetArgReferee<0>(processName), Return(DM_OK)));
885 EXPECT_CALL(*permissionManagerMock_, CheckProcessNameValidOnSetDnPolicy(_)).WillOnce(Return(true));
886 int32_t ret = DeviceManagerService::GetInstance().SetDnPolicy(packName, policy);
887 ASSERT_EQ(ret, ERR_DM_INPUT_PARA_INVALID);
888
889 policy[PARAM_KEY_POLICY_STRATEGY_FOR_BLE] = "100";
890 policy[PARAM_KEY_POLICY_TIME_OUT] = "10a";
891 EXPECT_CALL(*permissionManagerMock_, GetCallerProcessName(_))
892 .WillOnce(DoAll(SetArgReferee<0>(processName), Return(DM_OK)));
893 EXPECT_CALL(*permissionManagerMock_, CheckProcessNameValidOnSetDnPolicy(_)).WillOnce(Return(true));
894 ret = DeviceManagerService::GetInstance().SetDnPolicy(packName, policy);
895 ASSERT_EQ(ret, ERR_DM_INPUT_PARA_INVALID);
896
897 EXPECT_CALL(*permissionManagerMock_, GetCallerProcessName(_))
898 .WillOnce(DoAll(SetArgReferee<0>(processName), Return(ERR_DM_FAILED)));
899 ret = DeviceManagerService::GetInstance().SetDnPolicy(packName, policy);
900 ASSERT_EQ(ret, ERR_DM_FAILED);
901
902 EXPECT_CALL(*permissionManagerMock_, GetCallerProcessName(_))
903 .WillOnce(DoAll(SetArgReferee<0>(processName), Return(DM_OK)));
904 EXPECT_CALL(*permissionManagerMock_, CheckProcessNameValidOnSetDnPolicy(_)).WillOnce(Return(false));
905 ret = DeviceManagerService::GetInstance().SetDnPolicy(packName, policy);
906 ASSERT_EQ(ret, ERR_DM_INPUT_PARA_INVALID);
907 }
908
909 HWTEST_F(DeviceManagerServiceTest, GetTrustedDeviceList_206, testing::ext::TestSize.Level1)
910 {
911 std::string pkgName;
912 std::vector<DmDeviceInfo> deviceList;
913 int ret = DeviceManagerService::GetInstance().GetTrustedDeviceList(pkgName, deviceList);
914 EXPECT_EQ(ret, ERR_DM_INPUT_PARA_INVALID);
915
916 pkgName = "jjdjk_pkgName";
917 DeviceManagerService::GetInstance().softbusListener_ = nullptr;
918 ret = DeviceManagerService::GetInstance().GetTrustedDeviceList(pkgName, deviceList);
919 EXPECT_EQ(ret, ERR_DM_POINT_NULL);
920
921 DeviceManagerService::GetInstance().softbusListener_ = std::make_shared<SoftbusListener>();
922 DeviceManagerService::GetInstance().InitDMServiceListener();
923 EXPECT_CALL(*softbusListenerMock_, GetTrustedDeviceList(_)).WillOnce(Return(ERR_DM_FAILED));
924 ret = DeviceManagerService::GetInstance().GetTrustedDeviceList(pkgName, deviceList);
925 EXPECT_EQ(ret, ERR_DM_FAILED);
926
927 std::vector<DmDeviceInfo> onlineDeviceList;
928 DmDeviceInfo dmDeviceInfo;
929 dmDeviceInfo.authForm = DmAuthForm::ACROSS_ACCOUNT;
930 dmDeviceInfo.networkType = 1;
931 onlineDeviceList.push_back(dmDeviceInfo);
932 std::unordered_map<std::string, DmAuthForm> udidMap;
933 udidMap.insert(std::make_pair("udid01", DmAuthForm::IDENTICAL_ACCOUNT));
934 udidMap.insert(std::make_pair("udid02", DmAuthForm::ACROSS_ACCOUNT));
935 EXPECT_CALL(*softbusListenerMock_, GetTrustedDeviceList(_))
936 .WillOnce(DoAll(SetArgReferee<0>(onlineDeviceList), Return(DM_OK)));
937 EXPECT_CALL(*deviceManagerServiceImplMock_, GetAppTrustDeviceIdList(_)).WillOnce(Return(udidMap));
938 EXPECT_CALL(*softbusListenerMock_, GetUdidByNetworkId(_, _))
939 .WillOnce(DoAll(SetArgReferee<1>("udid01"), Return(DM_OK)));
940 ret = DeviceManagerService::GetInstance().GetTrustedDeviceList(pkgName, deviceList);
941 EXPECT_EQ(ret, DM_OK);
942
943 pkgName = "ohos.deviceprofile";
944 EXPECT_CALL(*softbusListenerMock_, GetTrustedDeviceList(_))
945 .WillOnce(DoAll(SetArgReferee<0>(onlineDeviceList), Return(DM_OK)));
946 EXPECT_CALL(*deviceManagerServiceImplMock_, GetAppTrustDeviceIdList(_)).WillOnce(Return(udidMap));
947 EXPECT_CALL(*softbusListenerMock_, GetUdidByNetworkId(_, _))
948 .WillOnce(DoAll(SetArgReferee<1>("udid02"), Return(DM_OK)));
949 ret = DeviceManagerService::GetInstance().GetTrustedDeviceList(pkgName, deviceList);
950 EXPECT_EQ(ret, DM_OK);
951 DeviceManagerService::GetInstance().UninitDMServiceListener();
952 DeviceManagerService::GetInstance().softbusListener_ = nullptr;
953 }
954
955 HWTEST_F(DeviceManagerServiceTest, ParseCheckSumMsg_201, testing::ext::TestSize.Level1)
956 {
957 std::string msg;
958 std::string networkId;
959 uint32_t discoveryType = 0;
960 bool isChange = false;
961 JsonObject msgJsonObj;
962 msgJsonObj["networkId"] = "networkId001";
963 msgJsonObj["discoverType"] = 1;
964 msgJsonObj["ischange"] = false;
965 msg = msgJsonObj.Dump();
966 int ret = DeviceManagerService::GetInstance().ParseCheckSumMsg(msg, networkId, discoveryType, isChange);
967 EXPECT_EQ(ret, DM_OK);
968 }
969
970 HWTEST_F(DeviceManagerServiceTest, UnBindDevice_203, testing::ext::TestSize.Level1)
971 {
972 DeletePermission();
973 std::string pkgName;
974 std::string udidHash;
975 std::string extra;
976 int ret = DeviceManagerService::GetInstance().UnBindDevice(pkgName, udidHash, extra);
977 EXPECT_EQ(ret, ERR_DM_NO_PERMISSION);
978 }
979
980 HWTEST_F(DeviceManagerServiceTest, UnBindDevice_204, testing::ext::TestSize.Level1)
981 {
982 std::string pkgName;
983 std::string udidHash;
984 std::string extra;
985 EXPECT_CALL(*permissionManagerMock_, CheckNewPermission()).WillOnce(Return(true));
986 int ret = DeviceManagerService::GetInstance().UnBindDevice(pkgName, udidHash, extra);
987 EXPECT_EQ(ret, ERR_DM_INPUT_PARA_INVALID);
988
989 pkgName = "pkgName";
990 EXPECT_CALL(*permissionManagerMock_, CheckNewPermission()).WillOnce(Return(true));
991 ret = DeviceManagerService::GetInstance().UnBindDevice(pkgName, udidHash, extra);
992 EXPECT_EQ(ret, ERR_DM_INPUT_PARA_INVALID);
993
994 udidHash = "udidHash";
995 DeviceManagerService::GetInstance().softbusListener_ = std::make_shared<SoftbusListener>();
996 EXPECT_CALL(*permissionManagerMock_, CheckNewPermission()).WillOnce(Return(true));
997 EXPECT_CALL(*kVAdapterManagerMock_, Get(_, _)).WillOnce(Return(DM_OK));
998 EXPECT_CALL(*softbusListenerMock_, GetUdidFromDp(_, _)).WillOnce(Return(ERR_DM_FAILED));
999 ret = DeviceManagerService::GetInstance().UnBindDevice(pkgName, udidHash, extra);
1000 EXPECT_NE(ret, DM_OK);
1001
1002 EXPECT_CALL(*permissionManagerMock_, CheckNewPermission()).WillOnce(Return(true));
1003 EXPECT_CALL(*kVAdapterManagerMock_, Get(_, _)).WillOnce(Return(DM_OK));
1004 EXPECT_CALL(*softbusListenerMock_, GetUdidFromDp(_, _)).WillOnce(Return(DM_OK));
1005 EXPECT_CALL(*deviceManagerServiceImplMock_, GetBindLevel(_, _, _, _)).WillOnce(Return(0));
1006 ret = DeviceManagerService::GetInstance().UnBindDevice(pkgName, udidHash, extra);
1007 EXPECT_NE(ret, DM_OK);
1008
1009 EXPECT_CALL(*permissionManagerMock_, CheckNewPermission()).WillOnce(Return(true));
1010 EXPECT_CALL(*kVAdapterManagerMock_, Get(_, _)).WillOnce(Return(DM_OK));
1011 EXPECT_CALL(*softbusListenerMock_, GetUdidFromDp(_, _)).WillOnce(Return(DM_OK));
1012 EXPECT_CALL(*deviceManagerServiceImplMock_, GetBindLevel(_, _, _, _)).WillOnce(Return(1));
1013 EXPECT_CALL(*deviceManagerServiceImplMock_, UnBindDevice(_, _, _, _)).WillOnce(Return(ERR_DM_FAILED));
1014 ret = DeviceManagerService::GetInstance().UnBindDevice(pkgName, udidHash, extra);
1015 EXPECT_NE(ret, DM_OK);
1016
1017 EXPECT_CALL(*permissionManagerMock_, CheckNewPermission()).WillOnce(Return(true));
1018 EXPECT_CALL(*kVAdapterManagerMock_, Get(_, _)).WillOnce(Return(DM_OK));
1019 EXPECT_CALL(*softbusListenerMock_, GetUdidFromDp(_, _)).WillOnce(Return(DM_OK));
1020 EXPECT_CALL(*deviceManagerServiceImplMock_, GetBindLevel(_, _, _, _)).WillOnce(Return(1));
1021 EXPECT_CALL(*deviceManagerServiceImplMock_, UnBindDevice(_, _, _, _)).WillOnce(Return(DM_OK));
1022 ret = DeviceManagerService::GetInstance().UnBindDevice(pkgName, udidHash, extra);
1023 EXPECT_EQ(ret, DM_OK);
1024 DeviceManagerService::GetInstance().softbusListener_ = nullptr;
1025 }
1026
1027 HWTEST_F(DeviceManagerServiceTest, UnBindDevice_205, testing::ext::TestSize.Level1)
1028 {
1029 std::string pkgName = "pkgName";
1030 std::string udidHash = "udidHash";
1031 std::string extra = "extra";
1032 DeviceManagerService::GetInstance().softbusListener_ = std::make_shared<SoftbusListener>();
1033 EXPECT_CALL(*permissionManagerMock_, CheckNewPermission()).WillRepeatedly(Return(true));
1034 EXPECT_CALL(*kVAdapterManagerMock_, Get(_, _)).WillOnce(Return(DM_OK));
1035 EXPECT_CALL(*softbusListenerMock_, GetUdidFromDp(_, _)).WillOnce(Return(DM_OK));
1036 EXPECT_CALL(*deviceManagerServiceImplMock_, GetBindLevel(_, _, _, _)).WillOnce(Return(1));
1037 EXPECT_CALL(*deviceManagerServiceImplMock_, UnBindDevice(_, _, _, _)).WillOnce(Return(ERR_DM_FAILED));
1038 int32_t ret = DeviceManagerService::GetInstance().UnBindDevice(pkgName, udidHash, extra);
1039 EXPECT_NE(ret, DM_OK);
1040
1041 std::vector<UserIdInfo> remoteUserIdInfos;
1042 std::string remoteUdid;
1043 bool isNeedResponse = false;
1044 DeviceManagerService::GetInstance().HandleUserIdsBroadCast(remoteUserIdInfos, remoteUdid, isNeedResponse);
1045
1046 std::vector<std::string> peerUdids;
1047 int32_t userId = 123;
1048 uint64_t tokenId = 1;
1049 int32_t bindLevel = 1;
1050 uint64_t peerTokenId = 1;
1051 DeviceManagerService::GetInstance().SendUnBindBroadCast(peerUdids, userId, tokenId, bindLevel, peerTokenId);
1052 bindLevel = 3;
1053 DeviceManagerService::GetInstance().SendUnBindBroadCast(peerUdids, userId, tokenId, bindLevel, peerTokenId);
1054 bindLevel = 2;
1055 DeviceManagerService::GetInstance().SendUnBindBroadCast(peerUdids, userId, tokenId, bindLevel, peerTokenId);
1056 DeviceManagerService::GetInstance().softbusListener_ = nullptr;
1057 }
1058
1059 HWTEST_F(DeviceManagerServiceTest, SendAppUnBindBroadCast_201, testing::ext::TestSize.Level1)
1060 {
1061 std::vector<std::string> peerUdids;
1062 int32_t userId = 12;
1063 uint64_t tokenId = 23;
1064 uint64_t peerTokenId = 1;
1065 DeviceManagerService::GetInstance().softbusListener_ = std::make_shared<SoftbusListener>();
1066 DeviceManagerService::GetInstance().SendAppUnBindBroadCast(peerUdids, userId, tokenId, peerTokenId);
1067 EXPECT_NE(DeviceManagerService::GetInstance().softbusListener_, nullptr);
1068 DeviceManagerService::GetInstance().softbusListener_ = nullptr;
1069 }
1070
1071 HWTEST_F(DeviceManagerServiceTest, GetAnonyLocalUdid_201, testing::ext::TestSize.Level1)
1072 {
1073 DeletePermission();
1074 std::string pkgName;
1075 std::string anonyUdid;
1076 int32_t ret = DeviceManagerService::GetInstance().GetAnonyLocalUdid(pkgName, anonyUdid);
1077 EXPECT_EQ(ret, ERR_DM_NO_PERMISSION);
1078
1079 const char *peerUdid = "peerUdid";
1080 GroupInformation groupInfo;
1081 DeviceManagerService::GetInstance().HandleDeviceUnBind(peerUdid, groupInfo);
1082 }
1083
1084 HWTEST_F(DeviceManagerServiceTest, GetAnonyLocalUdid_202, testing::ext::TestSize.Level1)
1085 {
1086 std::string pkgName;
1087 std::string anonyUdid;
1088 EXPECT_CALL(*permissionManagerMock_, CheckPermission()).WillOnce(Return(true));
1089 int32_t ret = DeviceManagerService::GetInstance().GetAnonyLocalUdid(pkgName, anonyUdid);
1090 EXPECT_EQ(ret, DM_OK);
1091 }
1092
1093 HWTEST_F(DeviceManagerServiceTest, StopAuthenticateDevice_004, testing::ext::TestSize.Level1)
1094 {
1095 std::string pkgName = "pkgName_004";
1096 EXPECT_CALL(*deviceManagerServiceImplMock_, StopAuthenticateDevice(_)).WillOnce(Return(ERR_DM_FAILED));
1097 EXPECT_CALL(*permissionManagerMock_, CheckPermission()).WillOnce(Return(true));
1098 int32_t ret = DeviceManagerService::GetInstance().StopAuthenticateDevice(pkgName);
1099 EXPECT_EQ(ret, ERR_DM_FAILED);
1100 }
1101
1102 HWTEST_F(DeviceManagerServiceTest, IsDMServiceAdapterSoLoaded_201, testing::ext::TestSize.Level1)
1103 {
1104 DeviceManagerService::GetInstance().isAdapterResidentSoLoaded_ = false;
1105 bool ret = DeviceManagerService::GetInstance().IsDMServiceAdapterSoLoaded();
1106 EXPECT_FALSE(ret);
1107
1108 DeviceManagerService::GetInstance().isAdapterResidentSoLoaded_ = true;
1109 DeviceManagerService::GetInstance().dmServiceImplExtResident_ = nullptr;
1110 ret = DeviceManagerService::GetInstance().IsDMServiceAdapterSoLoaded();
1111 EXPECT_FALSE(ret);
1112
1113 DeviceManagerService::GetInstance().isAdapterResidentSoLoaded_ = false;
1114 DeviceManagerService::GetInstance().IsDMServiceAdapterResidentLoad();
1115 ret = DeviceManagerService::GetInstance().IsDMServiceAdapterSoLoaded();
1116 EXPECT_FALSE(ret);
1117
1118 DeviceManagerService::GetInstance().UnloadDMServiceAdapterResident();
1119 }
1120
1121 HWTEST_F(DeviceManagerServiceTest, LoadHardwareFwkService_202, testing::ext::TestSize.Level1)
1122 {
1123 DeviceManagerService::GetInstance().softbusListener_ = std::make_shared<SoftbusListener>();
1124 std::vector<DmDeviceInfo> deviceList;
1125 EXPECT_CALL(*softbusListenerMock_, GetTrustedDeviceList(_))
1126 .WillOnce(DoAll(SetArgReferee<0>(deviceList), Return(DM_OK)));
1127 DeviceManagerService::GetInstance().LoadHardwareFwkService();
1128 DeviceManagerService::GetInstance().softbusListener_ = nullptr;
1129 EXPECT_EQ(DeviceManagerService::GetInstance().softbusListener_, nullptr);
1130 }
1131
1132 HWTEST_F(DeviceManagerServiceTest, RegisterAuthenticationType_201, testing::ext::TestSize.Level1)
1133 {
1134 std::string pkgName;
1135 std::map<std::string, std::string> authParam;
1136 DeletePermission();
1137 int32_t ret = DeviceManagerService::GetInstance().RegisterAuthenticationType(pkgName, authParam);
1138 EXPECT_EQ(ret, ERR_DM_NO_PERMISSION);
1139
1140 std::string networkId;
1141 std::vector<int32_t> foregroundUserIds;
1142 std::vector<int32_t> backgroundUserIds;
1143 EXPECT_CALL(*softbusCacheMock_, GetUdidFromCache(_, _)).WillOnce(DoAll(SetArgReferee<1>(""), Return(DM_OK)));
1144 DeviceManagerService::GetInstance().ProcessCheckSumByBT(networkId, foregroundUserIds, backgroundUserIds);
1145
1146 EXPECT_CALL(*softbusCacheMock_, GetUdidFromCache(_, _)).WillOnce(DoAll(SetArgReferee<1>("udid01"), Return(DM_OK)));
1147 DeviceManagerService::GetInstance().ProcessCheckSumByBT(networkId, foregroundUserIds, backgroundUserIds);
1148
1149 foregroundUserIds.push_back(101);
1150 EXPECT_CALL(*softbusCacheMock_, GetUdidFromCache(_, _)).WillOnce(DoAll(SetArgReferee<1>("udid01"), Return(DM_OK)));
1151 DeviceManagerService::GetInstance().ProcessCheckSumByBT(networkId, foregroundUserIds, backgroundUserIds);
1152
1153 DeviceManagerService::GetInstance().localNetWorkId_ = "";
1154 networkId = "networkId001";
1155 std::string str = "deviceId";
1156 DmDeviceInfo deviceInfo;
1157 foregroundUserIds.push_back(102);
1158 memcpy_s(deviceInfo.networkId, DM_MAX_DEVICE_ID_LEN, str.c_str(), str.length());
1159 backgroundUserIds.push_back(201);
1160 backgroundUserIds.push_back(202);
1161 DeviceManagerService::GetInstance().ProcessCheckSumByWifi(networkId, foregroundUserIds, backgroundUserIds);
1162 }
1163
1164 HWTEST_F(DeviceManagerServiceTest, RegisterAuthenticationType_202, testing::ext::TestSize.Level1)
1165 {
1166 std::string pkgName;
1167
1168 std::map<std::string, std::string> authParam;
1169 EXPECT_CALL(*permissionManagerMock_, CheckPermission()).WillOnce(Return(true));
1170 int32_t ret = DeviceManagerService::GetInstance().RegisterAuthenticationType(pkgName, authParam);
1171 EXPECT_EQ(ret, ERR_DM_INPUT_PARA_INVALID);
1172
1173 pkgName = "pkgName";
1174 EXPECT_CALL(*permissionManagerMock_, CheckPermission()).WillOnce(Return(true));
1175 ret = DeviceManagerService::GetInstance().RegisterAuthenticationType(pkgName, authParam);
1176 EXPECT_EQ(ret, ERR_DM_INPUT_PARA_INVALID);
1177
1178 authParam.insert(std::make_pair(DM_AUTHENTICATION_TYPE, "authentication"));
1179 EXPECT_CALL(*permissionManagerMock_, CheckPermission()).WillOnce(Return(true));
1180 ret = DeviceManagerService::GetInstance().RegisterAuthenticationType(pkgName, authParam);
1181 EXPECT_EQ(ret, ERR_DM_INPUT_PARA_INVALID);
1182
1183 authParam[DM_AUTHENTICATION_TYPE] = "123456";
1184 EXPECT_CALL(*permissionManagerMock_, CheckPermission()).WillOnce(Return(true));
1185 ret = DeviceManagerService::GetInstance().RegisterAuthenticationType(pkgName, authParam);
1186 EXPECT_EQ(ret, ERR_DM_INPUT_PARA_INVALID);
1187
1188 std::string msg;
1189 JsonObject msgJsonObj;
1190 msgJsonObj["networkId"] = "networkId";
1191 msgJsonObj["discoverType"] = 123;
1192 msgJsonObj["ischange"] = false;
1193 msg = msgJsonObj.Dump();
1194 DeviceManagerService::GetInstance().HandleUserIdCheckSumChange(msg);
1195
1196 msgJsonObj["ischange"] = true;
1197 msg = msgJsonObj.Dump();
1198 std::vector<int32_t> foregroundUserIds;
1199 EXPECT_CALL(*multipleUserConnectorMock_, GetForegroundUserIds(_))
1200 .WillOnce(DoAll(SetArgReferee<0>(foregroundUserIds), Return(ERR_DM_INPUT_PARA_INVALID)));
1201 DeviceManagerService::GetInstance().HandleUserIdCheckSumChange(msg);
1202
1203 foregroundUserIds.push_back(101);
1204 std::vector<int32_t> backgroundUserIds;
1205 EXPECT_CALL(*multipleUserConnectorMock_, GetForegroundUserIds(_))
1206 .WillOnce(DoAll(SetArgReferee<0>(foregroundUserIds), Return(DM_OK)));
1207 EXPECT_CALL(*multipleUserConnectorMock_, GetBackgroundUserIds(_)).WillOnce(Return(ERR_DM_FAILED));
1208 EXPECT_CALL(*dMCommToolMock_, SendUserIds(_, _, _)).WillRepeatedly(Return(ERR_DM_FAILED));
1209 DeviceManagerService::GetInstance().HandleUserIdCheckSumChange(msg);
1210
1211 backgroundUserIds.push_back(102);
1212 msgJsonObj["discoverType"] = 1;
1213 msg = msgJsonObj.Dump();
1214 EXPECT_CALL(*multipleUserConnectorMock_, GetForegroundUserIds(_))
1215 .WillOnce(DoAll(SetArgReferee<0>(foregroundUserIds), Return(DM_OK)));
1216 EXPECT_CALL(*multipleUserConnectorMock_, GetBackgroundUserIds(_))
1217 .WillOnce(DoAll(SetArgReferee<0>(backgroundUserIds), Return(DM_OK)));
1218 DeviceManagerService::GetInstance().HandleUserIdCheckSumChange(msg);
1219 }
1220
1221 HWTEST_F(DeviceManagerServiceTest, GetDeviceProfileInfoList_201, testing::ext::TestSize.Level1)
1222 {
1223 DeletePermission();
1224 std::string pkgName;
1225 OHOS::DistributedHardware::DmDeviceProfileInfoFilterOptions filterOptions;
1226 int32_t ret = DeviceManagerService::GetInstance().GetDeviceProfileInfoList(pkgName, filterOptions);
1227 EXPECT_EQ(ret, ERR_DM_NO_PERMISSION);
1228 }
1229
1230 HWTEST_F(DeviceManagerServiceTest, GetDeviceProfileInfoList_202, testing::ext::TestSize.Level1)
1231 {
1232 std::string pkgName = "pkgName";
1233 OHOS::DistributedHardware::DmDeviceProfileInfoFilterOptions filterOptions;
1234 EXPECT_CALL(*permissionManagerMock_, CheckPermission()).WillOnce(Return(true));
1235 int32_t ret = DeviceManagerService::GetInstance().GetDeviceProfileInfoList(pkgName, filterOptions);
1236 EXPECT_EQ(ret, ERR_DM_UNSUPPORTED_METHOD);
1237 }
1238
1239 HWTEST_F(DeviceManagerServiceTest, GetDeviceIconInfo_201, testing::ext::TestSize.Level1)
1240 {
1241 DeletePermission();
1242 std::string pkgName;
1243 OHOS::DistributedHardware::DmDeviceIconInfoFilterOptions filterOptions;
1244 int32_t ret = DeviceManagerService::GetInstance().GetDeviceIconInfo(pkgName, filterOptions);
1245 EXPECT_EQ(ret, ERR_DM_NO_PERMISSION);
1246 }
1247
1248 HWTEST_F(DeviceManagerServiceTest, GetDeviceIconInfo_202, testing::ext::TestSize.Level1)
1249 {
1250 std::string pkgName = "pkgName";
1251 OHOS::DistributedHardware::DmDeviceIconInfoFilterOptions filterOptions;
1252 EXPECT_CALL(*permissionManagerMock_, CheckPermission()).WillOnce(Return(true));
1253 int32_t ret = DeviceManagerService::GetInstance().GetDeviceIconInfo(pkgName, filterOptions);
1254 EXPECT_EQ(ret, ERR_DM_UNSUPPORTED_METHOD);
1255 }
1256
1257 HWTEST_F(DeviceManagerServiceTest, PutDeviceProfileInfoList_201, testing::ext::TestSize.Level1)
1258 {
1259 DeletePermission();
1260 std::string pkgName = "pkgName";
1261 std::vector<DmDeviceProfileInfo> deviceProfileInfoList;
1262 int32_t ret = DeviceManagerService::GetInstance().PutDeviceProfileInfoList(pkgName, deviceProfileInfoList);
1263 EXPECT_EQ(ret, ERR_DM_NO_PERMISSION);
1264 }
1265
1266 HWTEST_F(DeviceManagerServiceTest, PutDeviceProfileInfoList_202, testing::ext::TestSize.Level1)
1267 {
1268 std::string pkgName = "pkgName";
1269 std::vector<DmDeviceProfileInfo> deviceProfileInfoList;
1270 EXPECT_CALL(*permissionManagerMock_, CheckPermission()).WillOnce(Return(true));
1271 EXPECT_CALL(*permissionManagerMock_, CheckProcessNameValidPutDeviceProfileInfoList(_)).WillOnce(Return(true));
1272 int32_t ret = DeviceManagerService::GetInstance().PutDeviceProfileInfoList(pkgName, deviceProfileInfoList);
1273 EXPECT_TRUE(ret == ERR_DM_UNSUPPORTED_METHOD || ret == ERR_DM_INPUT_PARA_INVALID);
1274 }
1275
1276 HWTEST_F(DeviceManagerServiceTest, SetLocalDisplayNameToSoftbus_201, testing::ext::TestSize.Level1)
1277 {
1278 std::string displayName = "displayName";
1279 DeviceManagerService::GetInstance().softbusListener_ = nullptr;
1280 int32_t ret = DeviceManagerService::GetInstance().SetLocalDisplayNameToSoftbus(displayName);
1281 EXPECT_EQ(ret, ERR_DM_POINT_NULL);
1282
1283 DeviceManagerService::GetInstance().softbusListener_ = std::make_shared<SoftbusListener>();
1284 EXPECT_CALL(*softbusListenerMock_, SetLocalDisplayName(_)).WillOnce(Return(DM_OK));
1285 ret = DeviceManagerService::GetInstance().SetLocalDisplayNameToSoftbus(displayName);
1286 EXPECT_EQ(ret, DM_OK);
1287
1288 EXPECT_CALL(*softbusListenerMock_, SetLocalDisplayName(_)).WillOnce(Return(ERR_DM_NO_PERMISSION));
1289 ret = DeviceManagerService::GetInstance().SetLocalDisplayNameToSoftbus(displayName);
1290 EXPECT_EQ(ret, ERR_DM_NO_PERMISSION);
1291 DeviceManagerService::GetInstance().softbusListener_ = nullptr;
1292 }
1293
1294 HWTEST_F(DeviceManagerServiceTest, GetLocalDisplayDeviceName_201, testing::ext::TestSize.Level1)
1295 {
1296 DeletePermission();
1297 std::string pkgName = "packName";
1298 int32_t maxNameLength = 1;
1299 std::string displayName = "displayName";
1300 int32_t ret = DeviceManagerService::GetInstance().GetLocalDisplayDeviceName(pkgName, maxNameLength, displayName);
1301 EXPECT_EQ(ret, ERR_DM_NO_PERMISSION);
1302 }
1303
1304 HWTEST_F(DeviceManagerServiceTest, GetLocalDisplayDeviceName_202, testing::ext::TestSize.Level1)
1305 {
1306 std::string pkgName = "packName";
1307 int32_t maxNameLength = 1;
1308 std::string displayName = "";
1309 std::string deviceName = "displayName";
1310 EXPECT_CALL(*deviceNameManagerMock_, GetLocalDisplayDeviceName(_, _))
1311 .WillOnce(DoAll(SetArgReferee<1>(deviceName), Return(0)));
1312 EXPECT_CALL(*permissionManagerMock_, CheckPermission()).WillOnce(Return(true));
1313 int32_t ret = DeviceManagerService::GetInstance().GetLocalDisplayDeviceName(pkgName, maxNameLength, displayName);
1314 EXPECT_EQ(ret, DM_OK);
1315 EXPECT_EQ(displayName, deviceName);
1316 }
1317
1318 HWTEST_F(DeviceManagerServiceTest, GetDeviceNamePrefixs_201, testing::ext::TestSize.Level1)
1319 {
1320 auto ret = DeviceManagerService::GetInstance().GetDeviceNamePrefixs();
1321 EXPECT_EQ(ret.empty(), true);
1322 }
1323
1324 HWTEST_F(DeviceManagerServiceTest, GetAllTrustedDeviceList_201, testing::ext::TestSize.Level1)
1325 {
1326 std::string pkgName = "";
1327 std::string extra = "extra";
1328 std::vector<DmDeviceInfo> deviceList;
1329 EXPECT_CALL(*permissionManagerMock_, CheckNewPermission()).WillRepeatedly(Return(true));
1330 int32_t ret = DeviceManagerService::GetInstance().GetAllTrustedDeviceList(pkgName, extra, deviceList);
1331 EXPECT_EQ(ret, ERR_DM_INPUT_PARA_INVALID);
1332
1333 pkgName = "pkgName";
1334 DeviceManagerService::GetInstance().softbusListener_ = std::make_shared<SoftbusListener>();
1335 EXPECT_CALL(*softbusListenerMock_, GetAllTrustedDeviceList(_, _, _)).WillOnce(Return(DM_OK));
1336 ret = DeviceManagerService::GetInstance().GetAllTrustedDeviceList(pkgName, extra, deviceList);
1337 EXPECT_EQ(ret, DM_OK);
1338
1339 EXPECT_CALL(*softbusListenerMock_, GetAllTrustedDeviceList(_, _, _)).WillOnce(Return(ERR_DM_INPUT_PARA_INVALID));
1340 ret = DeviceManagerService::GetInstance().GetAllTrustedDeviceList(pkgName, extra, deviceList);
1341 EXPECT_EQ(ret, ERR_DM_INPUT_PARA_INVALID);
1342 DeviceManagerService::GetInstance().softbusListener_ = nullptr;
1343 DeviceManagerService::GetInstance().hichainListener_ = nullptr;
1344 DeviceManagerService::GetInstance().InitHichainListener();
1345 }
1346
1347 HWTEST_F(DeviceManagerServiceTest, GetAllTrustedDeviceList_202, testing::ext::TestSize.Level1)
1348 {
1349 DeletePermission();
1350 std::string pkgName = "pkgName";
1351 std::string extra = "extra";
1352 std::vector<DmDeviceInfo> deviceList;
1353 int32_t ret = DeviceManagerService::GetInstance().GetAllTrustedDeviceList(pkgName, extra, deviceList);
1354 EXPECT_EQ(ret, ERR_DM_NO_PERMISSION);
1355
1356 int32_t actionId = 1;
1357 std::string bindParam = "bindParamData";
1358 DeviceManagerService::GetInstance().AddHmlInfoToBindParam(actionId, bindParam);
1359 }
1360
1361 HWTEST_F(DeviceManagerServiceTest, GetDeviceInfo_202, testing::ext::TestSize.Level1)
1362 {
1363 std::string networkId = "networkId";
1364 DmDeviceInfo deviceInfo;
1365 DeviceManagerService::GetInstance().softbusListener_ = std::make_shared<SoftbusListener>();
1366 EXPECT_CALL(*permissionManagerMock_, CheckNewPermission()).WillOnce(Return(true));
1367 EXPECT_CALL(*softbusListenerMock_, GetUdidByNetworkId(_, _))
1368 .WillOnce(DoAll(SetArgReferee<1>("peerDeviceId"), Return(DM_OK)));
1369 EXPECT_CALL(*softbusListenerMock_, GetDeviceInfo(_, _)).WillOnce(Return(DM_OK));
1370 int32_t ret = DeviceManagerService::GetInstance().GetDeviceInfo(networkId, deviceInfo);
1371 EXPECT_EQ(ret, DM_OK);
1372 EXPECT_CALL(*permissionManagerMock_, CheckNewPermission()).WillOnce(Return(true));
1373 EXPECT_CALL(*softbusListenerMock_, GetUdidByNetworkId(_, _))
1374 .WillOnce(DoAll(SetArgReferee<1>("peerDeviceId"), Return(DM_OK)));
1375 EXPECT_CALL(*softbusListenerMock_, GetDeviceInfo(_, _)).WillOnce(Return(ERR_DM_FAILED));
1376 ret = DeviceManagerService::GetInstance().GetDeviceInfo(networkId, deviceInfo);
1377 EXPECT_EQ(ret, ERR_DM_FAILED);
1378 EXPECT_CALL(*permissionManagerMock_, CheckNewPermission()).WillOnce(Return(true));
1379 EXPECT_CALL(*softbusListenerMock_, GetUdidByNetworkId(_, _))
1380 .WillOnce(DoAll(SetArgReferee<1>("peerDeviceId"), Return(DM_OK)));
1381 EXPECT_CALL(*softbusListenerMock_, GetDeviceInfo(_, _)).WillOnce(Return(DM_OK));
1382 ret = DeviceManagerService::GetInstance().GetDeviceInfo(networkId, deviceInfo);
1383 EXPECT_EQ(ret, DM_OK);
1384 EXPECT_CALL(*permissionManagerMock_, CheckNewPermission()).WillOnce(Return(true));
1385 EXPECT_CALL(*softbusListenerMock_, GetUdidByNetworkId(_, _))
1386 .WillOnce(DoAll(SetArgReferee<1>("peerDeviceId"), Return(DM_OK)));
1387 EXPECT_CALL(*softbusListenerMock_, GetDeviceInfo(_, _))
1388 .WillOnce(Return (DM_OK))
1389 .WillOnce(Return(DM_OK));
1390 ret = DeviceManagerService::GetInstance().GetDeviceInfo(networkId, deviceInfo);
1391 EXPECT_EQ(ret, DM_OK);
1392 EXPECT_CALL(*permissionManagerMock_, CheckNewPermission()).WillOnce(Return(true));
1393 EXPECT_CALL(*softbusListenerMock_, GetUdidByNetworkId(_, _))
1394 .WillOnce(DoAll(SetArgReferee<1>("peerDeviceId"), Return(DM_OK)));
1395 ret = DeviceManagerService::GetInstance().GetDeviceInfo(networkId, deviceInfo);
1396 EXPECT_EQ(ret, DM_OK);
1397 DeviceManagerService::GetInstance().softbusListener_ = nullptr;
1398 }
1399
1400 HWTEST_F(DeviceManagerServiceTest, InitDPLocalServiceInfo_201, testing::ext::TestSize.Level1)
1401 {
1402 DMLocalServiceInfo serviceInfo;
1403 DistributedDeviceProfile::LocalServiceInfo dpLocalServiceInfo;
1404 bool ret = DeviceManagerService::GetInstance().InitDPLocalServiceInfo(serviceInfo, dpLocalServiceInfo);
1405 EXPECT_TRUE(ret);
1406
1407 DeviceManagerService::GetInstance().InitServiceInfo(dpLocalServiceInfo, serviceInfo);
1408 std::vector<DistributedDeviceProfile::LocalServiceInfo> dpLocalServiceInfos;
1409 dpLocalServiceInfos.push_back(dpLocalServiceInfo);
1410 std::vector<DMLocalServiceInfo> serviceInfos;
1411 DeviceManagerService::GetInstance().InitServiceInfos(dpLocalServiceInfos, serviceInfos);
1412 }
1413
1414 HWTEST_F(DeviceManagerServiceTest, RegisterLocalServiceInfo_201, testing::ext::TestSize.Level1)
1415 {
1416 DMLocalServiceInfo serviceInfo;
1417 EXPECT_CALL(*permissionManagerMock_, CheckPermission()).WillOnce(Return(true));
1418 EXPECT_CALL(*deviceProfileConnectorMock_, PutLocalServiceInfo(_)).WillOnce(Return(DM_OK));
1419 int32_t ret = DeviceManagerService::GetInstance().RegisterLocalServiceInfo(serviceInfo);
1420 EXPECT_EQ(ret, DM_OK);
1421
1422 std::string localUdid = "U*******jkjk2";
1423 std::vector<std::string> deviceVec{"deviceInfo"};
1424 std::vector<int32_t> foregroundUserIds{10, 11};
1425 std::vector<int32_t> backgroundUserIds{1, 2};
1426 DeviceManagerService::GetInstance().InitDMServiceListener();
1427 DeviceManagerService::GetInstance().hichainListener_ = std::make_shared<HichainListener>();
1428 DeviceManagerService::GetInstance().UpdateAclAndDeleteGroup(localUdid, deviceVec,
1429 foregroundUserIds, backgroundUserIds);
1430
1431 std::string pkgName = "pkgName";
1432 DeviceManagerService::GetInstance().ClearPublishIdCache(pkgName);
1433 DeviceManagerService::GetInstance().hichainListener_ = nullptr;
1434 }
1435
1436 HWTEST_F(DeviceManagerServiceTest, UnRegisterLocalServiceInfo_201, testing::ext::TestSize.Level1)
1437 {
1438 std::string bundleName = "bund******98";
1439 int32_t pinExchangeType = 1;
1440 EXPECT_CALL(*permissionManagerMock_, CheckPermission()).WillOnce(Return(true));
1441 EXPECT_CALL(*deviceProfileConnectorMock_, DeleteLocalServiceInfo(_, _)).WillOnce(Return(DM_OK));
1442 int32_t ret = DeviceManagerService::GetInstance().UnRegisterLocalServiceInfo(bundleName, pinExchangeType);
1443 EXPECT_EQ(ret, DM_OK);
1444 }
1445
1446 HWTEST_F(DeviceManagerServiceTest, UpdateLocalServiceInfo_201, testing::ext::TestSize.Level1)
1447 {
1448 DMLocalServiceInfo serviceInfo;
1449 EXPECT_CALL(*permissionManagerMock_, CheckPermission()).WillOnce(Return(true));
1450 EXPECT_CALL(*deviceProfileConnectorMock_, UpdateLocalServiceInfo(_)).WillOnce(Return(DM_OK));
1451 int32_t ret = DeviceManagerService::GetInstance().UpdateLocalServiceInfo(serviceInfo);
1452 EXPECT_EQ(ret, DM_OK);
1453 }
1454
1455 HWTEST_F(DeviceManagerServiceTest, GetLocalServiceInfoByBundleNameAndPinExchangeType_201,
1456 testing::ext::TestSize.Level1)
1457 {
1458 std::string bundleName = "bund******98";
1459 int32_t pinExchangeType = 1;
1460 DMLocalServiceInfo serviceInfo;
1461 EXPECT_CALL(*permissionManagerMock_, CheckPermission()).WillOnce(Return(true));
1462 EXPECT_CALL(*deviceProfileConnectorMock_, GetLocalServiceInfoByBundleNameAndPinExchangeType(_, _, _))
1463 .WillOnce(Return(DM_OK));
1464 int32_t ret = DeviceManagerService::GetInstance().GetLocalServiceInfoByBundleNameAndPinExchangeType(bundleName,
1465 pinExchangeType, serviceInfo);
1466 EXPECT_EQ(ret, DM_OK);
1467 }
1468
1469 HWTEST_F(DeviceManagerServiceTest, InitDPLocalServiceInfo_001, testing::ext::TestSize.Level0)
1470 {
1471 DMLocalServiceInfo dmServiceInfo;
1472 dmServiceInfo.bundleName = "testbundle";
1473 dmServiceInfo.extraInfo = "testextra";
1474 DistributedDeviceProfile::LocalServiceInfo dpLocalServiceInfo;
1475 DeviceManagerService::GetInstance().InitDPLocalServiceInfo(dmServiceInfo, dpLocalServiceInfo);
1476 EXPECT_TRUE(dmServiceInfo.bundleName == dpLocalServiceInfo.GetBundleName());
1477 EXPECT_TRUE(dmServiceInfo.extraInfo == dpLocalServiceInfo.GetExtraInfo());
1478 }
1479
1480 HWTEST_F(DeviceManagerServiceTest, InitServiceInfo_001, testing::ext::TestSize.Level0)
1481 {
1482 DMLocalServiceInfo dmServiceInfo;
1483 DistributedDeviceProfile::LocalServiceInfo dpLocalServiceInfo;
1484 dpLocalServiceInfo.SetBundleName("testbundle");
1485 dpLocalServiceInfo.SetExtraInfo("testextra");
1486 DeviceManagerService::GetInstance().InitServiceInfo(dpLocalServiceInfo, dmServiceInfo);
1487 EXPECT_TRUE(dmServiceInfo.bundleName == dpLocalServiceInfo.GetBundleName());
1488 EXPECT_TRUE(dmServiceInfo.extraInfo == dpLocalServiceInfo.GetExtraInfo());
1489 }
1490
1491 HWTEST_F(DeviceManagerServiceTest, InitServiceInfos_001, testing::ext::TestSize.Level0)
1492 {
1493 std::vector<DMLocalServiceInfo> dmServiceInfos;
1494 std::vector<DistributedDeviceProfile::LocalServiceInfo> dpLocalServiceInfos;
1495 for (int k = 0; k < NUM_5; k++) {
1496 DistributedDeviceProfile::LocalServiceInfo dpLocalServiceInfo;
1497 dpLocalServiceInfo.SetBundleName(std::string("testbundle") + std::to_string(k));
1498 dpLocalServiceInfo.SetExtraInfo(std::string("testextra") + std::to_string(k));
1499 dpLocalServiceInfos.emplace_back(dpLocalServiceInfo);
1500 }
1501 DeviceManagerService::GetInstance().InitServiceInfos(dpLocalServiceInfos, dmServiceInfos);
1502 for (int k = 0; k < NUM_5; k++) {
1503 DMLocalServiceInfo &dmServiceInfo = dmServiceInfos[k];
1504 DistributedDeviceProfile::LocalServiceInfo &dpLocalServiceInfo = dpLocalServiceInfos[k];
1505 EXPECT_TRUE(dmServiceInfo.bundleName == dpLocalServiceInfo.GetBundleName());
1506 EXPECT_TRUE(dmServiceInfo.extraInfo == dpLocalServiceInfo.GetExtraInfo());
1507 }
1508 }
1509
1510 HWTEST_F(DeviceManagerServiceTest, RestoreLocalDeviceName_201, testing::ext::TestSize.Level1)
1511 {
1512 std::string pkgName = "pkgName";
1513 DeletePermission();
1514 int32_t ret = DeviceManagerService::GetInstance().RestoreLocalDeviceName(pkgName);
1515 EXPECT_EQ(ret, ERR_DM_NO_PERMISSION);
1516 }
1517
1518 HWTEST_F(DeviceManagerServiceTest, RestoreLocalDeviceName_202, testing::ext::TestSize.Level1)
1519 {
1520 std::string pkgName = "pkgName";
1521 EXPECT_CALL(*permissionManagerMock_, CheckPermission()).WillRepeatedly(Return(true));
1522 EXPECT_CALL(*permissionManagerMock_, GetCallerProcessName(_)).WillOnce(Return(ERR_DM_FAILED));
1523 int32_t ret = DeviceManagerService::GetInstance().RestoreLocalDeviceName(pkgName);
1524 EXPECT_EQ(ret, ERR_DM_FAILED);
1525
1526 EXPECT_CALL(*permissionManagerMock_, GetCallerProcessName(_)).WillOnce(Return(DM_OK));
1527 EXPECT_CALL(*permissionManagerMock_, CheckProcessNameValidModifyLocalDeviceName(_)).WillOnce(Return(false));
1528 ret = DeviceManagerService::GetInstance().RestoreLocalDeviceName(pkgName);
1529 EXPECT_EQ(ret, ERR_DM_NO_PERMISSION);
1530
1531 EXPECT_CALL(*permissionManagerMock_, GetCallerProcessName(_)).WillOnce(Return(DM_OK));
1532 EXPECT_CALL(*permissionManagerMock_, CheckProcessNameValidModifyLocalDeviceName(_)).WillOnce(Return(true));
1533 ret = DeviceManagerService::GetInstance().RestoreLocalDeviceName(pkgName);
1534 EXPECT_EQ(ret, DM_OK);
1535 }
1536
1537 HWTEST_F(DeviceManagerServiceTest, SetLocalDeviceName_201, testing::ext::TestSize.Level1)
1538 {
1539 std::string pkgName = "pkgName";
1540 std::string deviceName = "deviceName";
1541 DeletePermission();
1542 int32_t ret = DeviceManagerService::GetInstance().SetLocalDeviceName(pkgName, deviceName);
1543 EXPECT_EQ(ret, ERR_DM_NO_PERMISSION);
1544 }
1545
1546 HWTEST_F(DeviceManagerServiceTest, SetLocalDeviceName_202, testing::ext::TestSize.Level1)
1547 {
1548 std::string pkgName = "pkgName";
1549 std::string deviceName = "deviceName";
1550 EXPECT_CALL(*permissionManagerMock_, CheckPermission()).WillRepeatedly(Return(true));
1551 EXPECT_CALL(*permissionManagerMock_, GetCallerProcessName(_)).WillOnce(Return(ERR_DM_FAILED));
1552 int32_t ret = DeviceManagerService::GetInstance().SetLocalDeviceName(pkgName, deviceName);
1553 EXPECT_EQ(ret, ERR_DM_FAILED);
1554
1555 EXPECT_CALL(*permissionManagerMock_, GetCallerProcessName(_)).WillOnce(Return(DM_OK));
1556 EXPECT_CALL(*permissionManagerMock_, CheckProcessNameValidModifyLocalDeviceName(_)).WillOnce(Return(false));
1557 ret = DeviceManagerService::GetInstance().SetLocalDeviceName(pkgName, deviceName);
1558 EXPECT_EQ(ret, ERR_DM_NO_PERMISSION);
1559
1560 EXPECT_CALL(*permissionManagerMock_, GetCallerProcessName(_)).WillOnce(Return(DM_OK));
1561 EXPECT_CALL(*permissionManagerMock_, CheckProcessNameValidModifyLocalDeviceName(_)).WillOnce(Return(true));
1562 ret = DeviceManagerService::GetInstance().SetLocalDeviceName(pkgName, deviceName);
1563 EXPECT_NE(ret, DM_OK);
1564 }
1565
1566 HWTEST_F(DeviceManagerServiceTest, SetRemoteDeviceName_201, testing::ext::TestSize.Level1)
1567 {
1568 std::string pkgName = "pkgName";
1569 std::string deviceName = "deviceName";
1570 std::string deviceId = "d*********9";
1571 DeletePermission();
1572 int32_t ret = DeviceManagerService::GetInstance().SetRemoteDeviceName(pkgName, deviceId, deviceName);
1573 EXPECT_EQ(ret, ERR_DM_NO_PERMISSION);
1574 }
1575
1576 HWTEST_F(DeviceManagerServiceTest, SetRemoteDeviceName_202, testing::ext::TestSize.Level1)
1577 {
1578 std::string pkgName = "pkgName";
1579 std::string deviceName = "deviceName";
1580 std::string deviceId = "d*********9";
1581 EXPECT_CALL(*permissionManagerMock_, CheckPermission()).WillRepeatedly(Return(true));
1582 EXPECT_CALL(*permissionManagerMock_, GetCallerProcessName(_)).WillOnce(Return(ERR_DM_FAILED));
1583 int32_t ret = DeviceManagerService::GetInstance().SetRemoteDeviceName(pkgName, deviceId, deviceName);
1584 EXPECT_EQ(ret, ERR_DM_FAILED);
1585
1586 EXPECT_CALL(*permissionManagerMock_, GetCallerProcessName(_)).WillOnce(Return(DM_OK));
1587 EXPECT_CALL(*permissionManagerMock_, CheckProcessNameValidModifyRemoteDeviceName(_)).WillOnce(Return(false));
1588 ret = DeviceManagerService::GetInstance().SetRemoteDeviceName(pkgName, deviceId, deviceName);
1589 EXPECT_EQ(ret, ERR_DM_NO_PERMISSION);
1590
1591 EXPECT_CALL(*permissionManagerMock_, GetCallerProcessName(_)).WillOnce(Return(DM_OK));
1592 EXPECT_CALL(*permissionManagerMock_, CheckProcessNameValidModifyRemoteDeviceName(_)).WillOnce(Return(true));
1593 ret = DeviceManagerService::GetInstance().SetRemoteDeviceName(pkgName, deviceId, deviceName);
1594 EXPECT_NE(ret, DM_OK);
1595 }
1596
1597 HWTEST_F(DeviceManagerServiceTest, GetDeviceNetworkIdList_201, testing::ext::TestSize.Level1)
1598 {
1599 std::string pkgName = "pkgName";
1600 NetworkIdQueryFilter queryFilter;
1601 std::vector<std::string> networkIds{"uehd*****87"};
1602 DeletePermission();
1603 int32_t ret = DeviceManagerService::GetInstance().GetDeviceNetworkIdList(pkgName, queryFilter, networkIds);
1604 EXPECT_EQ(ret, ERR_DM_NO_PERMISSION);
1605
1606 int32_t stopUserId = 1;
1607 std::string stopEventUdid = "ud*********4";
1608 std::vector<std::string> acceptEventUdids{"acc**********7"};
1609 DeviceManagerService::GetInstance().InitDMServiceListener();
1610 DeviceManagerService::GetInstance().HandleUserStop(stopUserId, stopEventUdid, acceptEventUdids);
1611 DeviceManagerService::GetInstance().HandleUserStop(stopUserId, stopEventUdid);
1612
1613 std::string localUdid = "local*******76";
1614 std::vector<std::string> peerUdids;
1615 DeviceManagerService::GetInstance().NotifyRemoteLocalUserStop(localUdid, peerUdids, stopUserId);
1616 DeviceManagerService::GetInstance().softbusListener_ = std::make_shared<SoftbusListener>();
1617 DeviceManagerService::GetInstance().SendUserStopBroadCast(peerUdids, stopUserId);
1618 std::string remoteUdid = "re********7";
1619 DeviceManagerService::GetInstance().HandleUserStopBroadCast(stopUserId, remoteUdid);
1620
1621 std::map<std::string, std::string> wifiDevices;
1622 wifiDevices.insert(std::make_pair("wikjdmcsk", "deviceInfowifi"));
1623 EXPECT_CALL(*dMCommToolMock_, SendUserStop(_, _)).WillOnce(Return(ERR_DM_FAILED));
1624 DeviceManagerService::GetInstance().NotifyRemoteLocalUserStopByWifi(localUdid, wifiDevices, stopUserId);
1625
1626 EXPECT_CALL(*dMCommToolMock_, SendUserStop(_, _)).WillOnce(Return(DM_OK));
1627 DeviceManagerService::GetInstance().NotifyRemoteLocalUserStopByWifi(localUdid, wifiDevices, stopUserId);
1628 DeviceManagerService::GetInstance().UninitDMServiceListener();
1629 DeviceManagerService::GetInstance().softbusListener_ = nullptr;
1630 }
1631
1632 HWTEST_F(DeviceManagerServiceTest, GetDeviceNetworkIdList_202, testing::ext::TestSize.Level1)
1633 {
1634 std::string pkgName = "pkgName";
1635 NetworkIdQueryFilter queryFilter;
1636 std::vector<std::string> networkIds{"uehd*****87"};
1637 int32_t ret = DeviceManagerService::GetInstance().GetDeviceNetworkIdList(pkgName, queryFilter, networkIds);
1638 EXPECT_NE(ret, DM_OK);
1639
1640 int32_t stopUserId = 1;
1641 std::map<std::string, int32_t> deviceMap;
1642 DeviceManagerService::GetInstance().InitDMServiceListener();
1643 DeviceManagerService::GetInstance().HandleUserStopEvent(stopUserId);
1644
1645 std::vector<std::string> peerUdids;
1646 std::vector<std::string> bleUdids;
1647 std::map<std::string, std::string> wifiDevices;
1648 DeviceManagerService::GetInstance().DivideNotifyMethod(peerUdids, bleUdids, wifiDevices);
1649
1650 peerUdids.push_back("u********23");
1651 DeviceManagerService::GetInstance().softbusListener_ = nullptr;
1652 DeviceManagerService::GetInstance().DivideNotifyMethod(peerUdids, bleUdids, wifiDevices);
1653
1654 DeviceManagerService::GetInstance().softbusListener_ = std::make_shared<SoftbusListener>();
1655 EXPECT_CALL(*softbusCacheMock_, GetNetworkIdFromCache(_, _))
1656 .WillOnce(DoAll(SetArgReferee<1>(""), Return(DM_OK)));
1657 DeviceManagerService::GetInstance().DivideNotifyMethod(peerUdids, bleUdids, wifiDevices);
1658
1659 EXPECT_CALL(*softbusCacheMock_, GetNetworkIdFromCache(_, _))
1660 .WillOnce(DoAll(SetArgReferee<1>("net********8"), Return(DM_OK)));
1661 EXPECT_CALL(*softbusListenerMock_, GetNetworkTypeByNetworkId(_, _))
1662 .WillOnce(DoAll(SetArgReferee<1>(4), Return(ERR_DM_FAILED)));
1663 DeviceManagerService::GetInstance().DivideNotifyMethod(peerUdids, bleUdids, wifiDevices);
1664
1665 EXPECT_CALL(*softbusCacheMock_, GetNetworkIdFromCache(_, _))
1666 .WillOnce(DoAll(SetArgReferee<1>("net********8"), Return(DM_OK)));
1667 EXPECT_CALL(*softbusListenerMock_, GetNetworkTypeByNetworkId(_, _))
1668 .WillOnce(DoAll(SetArgReferee<1>(4), Return(DM_OK)));
1669 DeviceManagerService::GetInstance().DivideNotifyMethod(peerUdids, bleUdids, wifiDevices);
1670
1671 EXPECT_CALL(*softbusCacheMock_, GetNetworkIdFromCache(_, _))
1672 .WillOnce(DoAll(SetArgReferee<1>("net********8"), Return(DM_OK)));
1673 EXPECT_CALL(*softbusListenerMock_, GetNetworkTypeByNetworkId(_, _))
1674 .WillOnce(DoAll(SetArgReferee<1>(2), Return(DM_OK)));
1675 DeviceManagerService::GetInstance().DivideNotifyMethod(peerUdids, bleUdids, wifiDevices);
1676 DeviceManagerService::GetInstance().UninitDMServiceListener();
1677 }
1678
1679 HWTEST_F(DeviceManagerServiceTest, SendShareTypeUnBindBroadCast_001, testing::ext::TestSize.Level1)
1680 {
1681 const char *credId = "testCredId";
1682 int32_t localUserId = 1001;
1683 std::vector<std::string> peerUdids = {"peerUdid1", "peerUdid2"};
1684
1685 DeviceManagerService::GetInstance().SendShareTypeUnBindBroadCast(credId, localUserId, peerUdids);
1686 EXPECT_NE(DeviceManagerService::GetInstance().softbusListener_, nullptr);
1687 }
1688
1689 HWTEST_F(DeviceManagerServiceTest, HandleCredentialDeleted_002, testing::ext::TestSize.Level1)
1690 {
1691 EXPECT_CALL(*deviceManagerServiceImplMock_, HandleCredentialDeleted(_, _, _, _, _)).Times(0);
1692
1693 DeviceManagerService::GetInstance().HandleCredentialDeleted(nullptr, "credInfo");
1694 }
1695
1696 HWTEST_F(DeviceManagerServiceTest, HandleCredentialDeleted_004, testing::ext::TestSize.Level1)
1697 {
1698 EXPECT_CALL(*multipleUserConnectorMock_, GetCurrentAccountUserID()).Times(0);
1699 EXPECT_CALL(*softbusListenerMock_, SendAclChangedBroadcast(_)).Times(0);
1700
1701 DeviceManagerService::GetInstance().HandleCredentialDeleted("credId", "credInfo");
1702 }
1703
1704 HWTEST_F(DeviceManagerServiceTest, HandleCredentialDeleted_005, testing::ext::TestSize.Level1)
1705 {
1706 const char *credId = "testCredId";
1707 const char *credInfo = R"({"deviceId": "remoteUdid", "userId": 1})";
1708 std::string localUdid = "localUdid";
1709 std::string remoteUdid = "remoteUdid";
1710 bool isSendBroadCast = false;
1711
1712 EXPECT_CALL(*deviceManagerServiceImplMock_, HandleCredentialDeleted(StrEq(credId), StrEq(credInfo), _, _, _))
1713 .WillOnce(DoAll(SetArgReferee<3>(remoteUdid), SetArgReferee<4>(isSendBroadCast)));
1714
1715 DeviceManagerService::GetInstance().HandleCredentialDeleted(credId, credInfo);
1716 }
1717
1718 HWTEST_F(DeviceManagerServiceTest, HandleCredentialDeleted_006, testing::ext::TestSize.Level1)
1719 {
1720 const char *credId = "testCredId";
1721 const char *credInfo = R"({"deviceId": "remoteUdid", "userId": 1})";
1722 std::string localUdid = "localUdid";
1723 std::string remoteUdid = "remoteUdid";
1724 bool isSendBroadCast = true;
1725
1726 EXPECT_CALL(*deviceManagerServiceImplMock_, HandleCredentialDeleted(StrEq(credId), StrEq(credInfo), _, _, _))
1727 .WillOnce(DoAll(SetArgReferee<3>(remoteUdid), SetArgReferee<4>(isSendBroadCast)));
1728
1729 DeviceManagerService::GetInstance().HandleCredentialDeleted(credId, credInfo);
1730 }
1731
1732 HWTEST_F(DeviceManagerServiceTest, HandleShareUnbindBroadCast_001, testing::ext::TestSize.Level1)
1733 {
1734 std::string credId = "123456";
1735 int32_t userId = 1001;
1736 std::string localUdid = "localUdid";
1737 EXPECT_CALL(*deviceManagerServiceImplMock_, HandleShareUnbindBroadCast(_, _, _)).Times(1);
1738
1739 DeviceManagerService::GetInstance().HandleShareUnbindBroadCast(userId, credId);
1740 }
1741
1742 HWTEST_F(DeviceManagerServiceTest, HandleShareUnbindBroadCast_002, testing::ext::TestSize.Level1)
1743 {
1744 std::string credId = "";
1745 int32_t userId = 1001;
1746
1747 EXPECT_CALL(*deviceManagerServiceImplMock_, HandleShareUnbindBroadCast(_, _, _)).Times(0);
1748
1749 DeviceManagerService::GetInstance().HandleShareUnbindBroadCast(userId, credId);
1750 }
1751
1752 HWTEST_F(DeviceManagerServiceTest, HandleShareUnbindBroadCast_003, testing::ext::TestSize.Level1)
1753 {
1754 std::string credId = "123456";
1755 int32_t userId = 1001;
1756
1757 EXPECT_TRUE(DeviceManagerService::GetInstance().IsDMServiceImplReady());
1758
1759 DeviceManagerService::GetInstance().HandleShareUnbindBroadCast(userId, credId);
1760 }
1761
1762 HWTEST_F(DeviceManagerServiceTest, GetLocalDeviceName_201, testing::ext::TestSize.Level1)
1763 {
1764 std::string deviceName = "123";
1765 std::string displayName = "";
1766 EXPECT_CALL(*permissionManagerMock_, CheckReadLocalDeviceName()).WillOnce(Return(true));
1767 EXPECT_CALL(*deviceNameManagerMock_, GetLocalDisplayDeviceName(_, _))
1768 .WillOnce(DoAll(SetArgReferee<1>(deviceName), Return(0)));
1769 int32_t ret = DeviceManagerService::GetInstance().GetLocalDeviceName(displayName);
1770 EXPECT_EQ(ret, DM_OK);
1771 EXPECT_EQ(displayName, deviceName);
1772
1773 displayName = "";
1774 std::string marketName = "456";
1775 EXPECT_CALL(*permissionManagerMock_, CheckReadLocalDeviceName()).WillOnce(Return(false));
1776 EXPECT_CALL(*deviceNameManagerMock_, GetLocalMarketName()).WillOnce(Return(marketName));
1777 ret = DeviceManagerService::GetInstance().GetLocalDeviceName(displayName);
1778 EXPECT_EQ(ret, DM_OK);
1779 EXPECT_EQ(displayName, marketName);
1780 }
1781
1782 HWTEST_F(DeviceManagerServiceTest, ValidateUnBindDeviceParams_201, testing::ext::TestSize.Level1)
1783 {
1784 std::string pkgName = "";
1785 std::string deviceId = "";
1786 EXPECT_CALL(*permissionManagerMock_, CheckNewPermission()).WillOnce(Return(true));
1787 int32_t ret = DeviceManagerService::GetInstance().ValidateUnBindDeviceParams(pkgName, deviceId);
1788 EXPECT_EQ(ret, ERR_DM_INPUT_PARA_INVALID);
1789 }
1790
1791 HWTEST_F(DeviceManagerServiceTest, ValidateUnBindDeviceParams_202, testing::ext::TestSize.Level1)
1792 {
1793 std::string pkgName = "ohos.test.pkgName";
1794 std::string deviceId = "deviceId";
1795 DeletePermission();
1796 int32_t ret = DeviceManagerService::GetInstance().ValidateUnBindDeviceParams(pkgName, deviceId);
1797 EXPECT_EQ(ret, ERR_DM_NO_PERMISSION);
1798 }
1799
1800 HWTEST_F(DeviceManagerServiceTest, ValidateUnBindDeviceParams_203, testing::ext::TestSize.Level1)
1801 {
1802 std::string pkgName = "";
1803 std::string deviceId = "";
1804 std::string extra;
1805 EXPECT_CALL(*permissionManagerMock_, CheckNewPermission()).WillOnce(Return(true));
1806 int32_t ret = DeviceManagerService::GetInstance().ValidateUnBindDeviceParams(pkgName, deviceId, extra);
1807 EXPECT_EQ(ret, ERR_DM_INPUT_PARA_INVALID);
1808 }
1809
1810 HWTEST_F(DeviceManagerServiceTest, ValidateUnBindDeviceParams_204, testing::ext::TestSize.Level1)
1811 {
1812 std::string pkgName = "ohos.test.pkgName";
1813 std::string deviceId = "deviceId";
1814 std::string extra;
1815 DeletePermission();
1816 int32_t ret = DeviceManagerService::GetInstance().ValidateUnBindDeviceParams(pkgName, deviceId, extra);
1817 EXPECT_EQ(ret, ERR_DM_NO_PERMISSION);
1818 }
1819
1820 HWTEST_F(DeviceManagerServiceTest, SendUninstAppByWifi_001, testing::ext::TestSize.Level1)
1821 {
1822 int32_t userId = 1001;
1823 int32_t tokenId = 1002;
1824 std::string networkId = "networkId123";
1825 EXPECT_CALL(*dMCommToolMock_, SendUninstAppObj(_, _, _)).WillOnce(Return(DM_OK));
1826 int32_t ret = DeviceManagerService::GetInstance().SendUninstAppByWifi(userId, tokenId, networkId);
1827 EXPECT_EQ(ret, DM_OK);
1828 }
1829
1830 HWTEST_F(DeviceManagerServiceTest, SendUninstAppByWifi_002, testing::ext::TestSize.Level1)
1831 {
1832 int32_t userId = 1001;
1833 int32_t tokenId = 1002;
1834 std::string networkId = "networkId123";
1835 EXPECT_CALL(*dMCommToolMock_, SendUninstAppObj(_, _, _)).WillOnce(Return(ERR_DM_FAILED));
1836 int32_t ret = DeviceManagerService::GetInstance().SendUninstAppByWifi(userId, tokenId, networkId);
1837 EXPECT_EQ(ret, ERR_DM_FAILED);
1838 }
1839
1840 HWTEST_F(DeviceManagerServiceTest, GetNotifyRemoteUnBindAppWay_001, testing::ext::TestSize.Level1)
1841 {
1842 int32_t userId = 1001;
1843 int32_t tokenId = 11;
1844 std::map<std::string, std::string> wifiDevices;
1845 bool isBleWay = false;
1846 DeviceManagerService::GetInstance().softbusListener_ = std::make_shared<SoftbusListener>();
1847 DeviceManagerService::GetInstance().GetNotifyRemoteUnBindAppWay(userId, tokenId, wifiDevices, isBleWay);
1848 EXPECT_NE(DeviceManagerService::GetInstance().softbusListener_, nullptr);
1849 DeviceManagerService::GetInstance().softbusListener_ = nullptr;
1850 }
1851 HWTEST_F(DeviceManagerServiceTest, GetNotifyRemoteUnBindAppWay_002, testing::ext::TestSize.Level1)
1852 {
1853 int32_t userId = 1001;
1854 int32_t tokenId = 11;
1855 std::map<std::string, std::string> wifiDevices;
1856 bool isBleWay = false;
1857 DeviceManagerService::GetInstance().softbusListener_ = nullptr;
1858 DeviceManagerService::GetInstance().GetNotifyRemoteUnBindAppWay(userId, tokenId, wifiDevices, isBleWay);
1859 EXPECT_EQ(DeviceManagerService::GetInstance().softbusListener_, nullptr);
1860 }
1861
1862 #if !(defined(__LITEOS_M__) || defined(LITE_DEVICE))
1863 HWTEST_F(DeviceManagerServiceTest, ConvertUdidHashToAnoyDeviceId_001, testing::ext::TestSize.Level1)
1864 {
1865 std::string udidHash;
1866 std::string result;
1867 EXPECT_CALL(*appManagerMock_, GetAppId()).WillOnce(Return(""));
1868 int32_t ret = DeviceManagerService::GetInstance().ConvertUdidHashToAnoyDeviceId(udidHash, result);
1869 EXPECT_EQ(ret, ERR_DM_FAILED);
1870 EXPECT_CALL(*appManagerMock_, GetAppId()).WillOnce(Return("appId"));
1871 EXPECT_CALL(*cryptoMock_, ConvertUdidHashToAnoyAndSave(_, _, _)).WillOnce(Return(DM_OK));
1872 ret = DeviceManagerService::GetInstance().ConvertUdidHashToAnoyDeviceId(udidHash, result);
1873 EXPECT_EQ(ret, DM_OK);
1874 EXPECT_CALL(*appManagerMock_, GetAppId()).WillOnce(Return("appId"));
1875 EXPECT_CALL(*cryptoMock_, ConvertUdidHashToAnoyAndSave(_, _, _)).WillOnce(Return(ERR_DM_FAILED));
1876 ret = DeviceManagerService::GetInstance().ConvertUdidHashToAnoyDeviceId(udidHash, result);
1877 EXPECT_EQ(ret, ERR_DM_FAILED);
1878 }
1879
1880 HWTEST_F(DeviceManagerServiceTest, GetUdidHashByAnoyDeviceId_001, testing::ext::TestSize.Level1)
1881 {
1882 std::string udidHash;
1883 std::string anoyDeviceId = "anoyDeviceId";
1884 EXPECT_CALL(*kVAdapterManagerMock_, Get(_, _)).WillOnce(Return(DM_OK));
1885 int32_t ret = DeviceManagerService::GetInstance().GetUdidHashByAnoyDeviceId(anoyDeviceId, udidHash);
1886 EXPECT_EQ(ret, DM_OK);
1887 EXPECT_CALL(*kVAdapterManagerMock_, Get(_, _)).WillOnce(Return(ERR_DM_FAILED));
1888 ret = DeviceManagerService::GetInstance().GetUdidHashByAnoyDeviceId(anoyDeviceId, udidHash);
1889 EXPECT_EQ(ret, ERR_DM_FAILED);
1890 }
1891 #endif
1892 } // namespace
1893 } // namespace DistributedHardware
1894 } // namespace OHOS
1895