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