From 67025b7c973baf143fdd51d198ac309d093b4f4e Mon Sep 17 00:00:00 2001 From: BrainL Date: Sat, 4 Jan 2025 11:26:32 +0800 Subject: [PATCH 1/2] add UT Signed-off-by: BrainL --- .../UTTest_dm_auth_manager_first.cpp | 24 ++ .../UTTest_dm_auth_manager_third.cpp | 69 +++++ .../UTTest_dm_deviceprofile_connector.cpp | 239 ++++++++++++++++++ test/unittest/UTTest_device_manager_impl.cpp | 18 ++ .../UTTest_device_manager_service.cpp | 72 ++++++ .../UTTest_device_manager_service_impl.cpp | 94 +++++++ 6 files changed, 516 insertions(+) diff --git a/test/commonunittest/UTTest_dm_auth_manager_first.cpp b/test/commonunittest/UTTest_dm_auth_manager_first.cpp index 1aed027b8..50162b6b9 100644 --- a/test/commonunittest/UTTest_dm_auth_manager_first.cpp +++ b/test/commonunittest/UTTest_dm_auth_manager_first.cpp @@ -565,6 +565,30 @@ HWTEST_F(DmAuthManagerTest, GenerateGroupName_001, testing::ext::TestSize.Level0 ASSERT_TRUE(ret.empty()); } +HWTEST_F(DmAuthManagerTest, UnBindDevice_001, testing::ext::TestSize.Level0) +{ + std::string pkgName; + std::string udid = "UnBindDevice_001"; + int32_t bindLevel = DEVICE; + std::string extra = "extraTest"; + int32_t ret = authManager_->UnBindDevice(pkgName, udid, bindLevel, extra); + EXPECT_NE(ret, DM_OK); + + pkgName = "com.ohos.test"; + authManager_->isAuthenticateDevice_ = false; + ret = authManager_->UnBindDevice(pkgName, udid, bindLevel, extra); + EXPECT_NE(ret, DM_OK); + + authManager_->authRequestState_ = nullptr; + authManager_->authResponseContext_ = nullptr; + ret = authManager_->UnBindDevice(pkgName, udid, bindLevel, extra); + EXPECT_NE(ret, DM_OK); + + bindLevel = 0; + ret = authManager_->UnBindDevice(pkgName, udid, bindLevel, extra); + EXPECT_NE(ret, DM_OK); +} + HWTEST_F(DmAuthManagerTest, GenerateGroupName_002, testing::ext::TestSize.Level0) { authManager_->authResponseContext_->targetPkgName = "targetPkgNameTest"; diff --git a/test/commonunittest/UTTest_dm_auth_manager_third.cpp b/test/commonunittest/UTTest_dm_auth_manager_third.cpp index 847a93c0f..9218de28f 100644 --- a/test/commonunittest/UTTest_dm_auth_manager_third.cpp +++ b/test/commonunittest/UTTest_dm_auth_manager_third.cpp @@ -271,6 +271,75 @@ HWTEST_F(DmAuthManagerTest, ShowStartAuthDialog001, testing::ext::TestSize.Level ASSERT_EQ(authManager_->authResponseContext_->targetDeviceName, DmDialogManager::GetInstance().targetDeviceName_); } +HWTEST_F(DmAuthManagerTest, DeleteAcl001, testing::ext::TestSize.Level0) +{ + std::string pkgName = "pkgName"; + std::string localUdid = "localUdid"; + std::string remoteUdid = "remoteUdid"; + std::string extra = "extraTest"; + int32_t sessionId = 0; + int32_t bindLevel = APP; + g_bindType = INVALIED_TYPE; + int32_t ret = authManager_->DeleteAcl(pkgName, localUdid, remoteUdid, bindLevel, extra); + EXPECT_EQ(ret, ERR_DM_FAILED); +} + +HWTEST_F(DmAuthManagerTest, DeleteAccessControlList001, testing::ext::TestSize.Level0) +{ + DmOfflineParam offlineParam; + offlineParam.leftAclNumber = 1; + std::string pkgName = "pkgName"; + std::string localDeviceId = "localDeviceId"; + std::string remoteDeviceId = "remoteDeviceId"; + int32_t bindLevel = APP; + std::string extra = ""; + auto ret = DeviceProfileConnector::GetInstance().DeleteAccessControlList(pkgName, localDeviceId, + remoteDeviceId, bindLevel, extra); + EXPECT_EQ(0, ret.leftAclNumber); +} + +HWTEST_F(DmAuthManagerTest, DeleteAccessControlList002, testing::ext::TestSize.Level0) +{ + DmOfflineParam offlineParam; + offlineParam.leftAclNumber = 1; + std::string pkgName = "pkgName"; + std::string localDeviceId = "localDeviceId"; + std::string remoteDeviceId = "remoteDeviceId"; + int32_t bindLevel = APP; + std::string extra = "extratest"; + auto ret = DeviceProfileConnector::GetInstance().DeleteAccessControlList(pkgName, localDeviceId, + remoteDeviceId, bindLevel, extra); + EXPECT_EQ(0, ret.leftAclNumber); +} + +HWTEST_F(DmAuthManagerTest, DeleteAccessControlList003, testing::ext::TestSize.Level0) +{ + DmOfflineParam offlineParam; + offlineParam.leftAclNumber = 1; + std::string pkgName = "pkgName"; + std::string localDeviceId = "localDeviceId"; + std::string remoteDeviceId = "remoteDeviceId"; + int32_t bindLevel = SERVICE; + std::string extra = "extratest"; + auto ret = DeviceProfileConnector::GetInstance().DeleteAccessControlList(pkgName, localDeviceId, + remoteDeviceId, bindLevel, extra); + EXPECT_EQ(0, ret.leftAclNumber); +} + +HWTEST_F(DmAuthManagerTest, DeleteAccessControlList004, testing::ext::TestSize.Level0) +{ + DmOfflineParam offlineParam; + offlineParam.leftAclNumber = 1; + std::string pkgName = "pkgName"; + std::string localDeviceId = "localDeviceId"; + std::string remoteDeviceId = "remoteDeviceId"; + int32_t bindLevel = DEVICE; + std::string extra = ""; + auto ret = DeviceProfileConnector::GetInstance().DeleteAccessControlList(pkgName, localDeviceId, + remoteDeviceId, bindLevel, extra); + EXPECT_EQ(0, ret.leftAclNumber); +} + HWTEST_F(DmAuthManagerTest, OnUserOperation001, testing::ext::TestSize.Level0) { int32_t action = USER_OPERATION_TYPE_AUTH_CONFIRM_TIMEOUT; diff --git a/test/commonunittest/UTTest_dm_deviceprofile_connector.cpp b/test/commonunittest/UTTest_dm_deviceprofile_connector.cpp index 1b5cf8ef2..cfd1b672f 100644 --- a/test/commonunittest/UTTest_dm_deviceprofile_connector.cpp +++ b/test/commonunittest/UTTest_dm_deviceprofile_connector.cpp @@ -803,6 +803,41 @@ HWTEST_F(DeviceProfileConnectorTest, SyncAclByBindType_004, testing::ext::TestSi EXPECT_EQ(ret.empty(), true); } +HWTEST_F(DeviceProfileConnectorTest, GetParamBindTypeVec_001, testing::ext::TestSize.Level0) +{ + DistributedDeviceProfile::AccessControlProfile profiles; + profiles.SetBindType(DM_IDENTICAL_ACCOUNT); + std::string requestDeviceId = "requestDeviceId"; + std::string trustUdid = "trustUdid"; + std::vector bindTypeVec; + DeviceProfileConnector::GetInstance().GetParamBindTypeVec(profiles, requestDeviceId, bindTypeVec, trustUdid); + EXPECT_EQ(bindTypeVec, std::vector({IDENTICAL_ACCOUNT_TYPE})); +} + +HWTEST_F(DeviceProfileConnectorTest, GetParamBindTypeVec_002, testing::ext::TestSize.Level0) +{ + DistributedDeviceProfile::AccessControlProfile profiles; + profiles.SetBindType(DM_POINT_TO_POINT); + profiles.SetBindLevel(DEVICE); + std::string requestDeviceId = "requestDeviceId"; + std::string trustUdid = "trustUdid"; + std::vector bindTypeVec; + DeviceProfileConnector::GetInstance().GetParamBindTypeVec(profiles, requestDeviceId, bindTypeVec, trustUdid); + EXPECT_EQ(bindTypeVec, std::vector({DEVICE_PEER_TO_PEER_TYPE})); +} + +HWTEST_F(DeviceProfileConnectorTest, GetParamBindTypeVec_003, testing::ext::TestSize.Level0) +{ + DistributedDeviceProfile::AccessControlProfile profiles; + profiles.SetBindType(DM_ACROSS_ACCOUNT); + profiles.SetBindLevel(DEVICE); + std::string requestDeviceId = "requestDeviceId"; + std::string trustUdid = "trustUdid"; + std::vector bindTypeVec; + DeviceProfileConnector::GetInstance().GetParamBindTypeVec(profiles, requestDeviceId, bindTypeVec, trustUdid); + EXPECT_EQ(bindTypeVec, std::vector({DEVICE_ACROSS_ACCOUNT_TYPE})); +} + HWTEST_F(DeviceProfileConnectorTest, GetProcessInfoFromAclByUserId_001, testing::ext::TestSize.Level0) { std::string localDeviceId = "localDeviceId"; @@ -875,6 +910,65 @@ HWTEST_F(DeviceProfileConnectorTest, UpdateAccessControlList_004, testing::ext:: EXPECT_EQ(ret, DM_OK); } +HWTEST_F(DeviceProfileConnectorTest, ProcessBindType_001, testing::ext::TestSize.Level0) +{ + DistributedDeviceProfile::AccessControlProfile profiles; + profiles.SetBindType(DM_IDENTICAL_ACCOUNT); + vector sinkBindType; + vector bindTypeIndex; + string localDeviceId = "localDeviceId"; + string targetDeviceId = "targetDeviceId"; + uint32_t index = 0; + DeviceProfileConnector::GetInstance().ProcessBindType(profiles, localDeviceId, + sinkBindType, bindTypeIndex, index, targetDeviceId); + EXPECT_EQ(sinkBindType, vector({IDENTICAL_ACCOUNT_TYPE})); + EXPECT_EQ(bindTypeIndex, vector({0})); +} + +HWTEST_F(DeviceProfileConnectorTest, ProcessBindType_002, testing::ext::TestSize.Level0) +{ + DistributedDeviceProfile::AccessControlProfile profiles; + profiles.SetBindType(DM_IDENTICAL_ACCOUNT); + uint32_t index = 0; + string localDeviceId = "localDeviceId"; + string targetDeviceId = "targetDeviceId"; + std::vector sinkBindType; + std::vector bindTypeIndex; + DeviceProfileConnector::GetInstance().ProcessBindType(profiles, localDeviceId, sinkBindType, bindTypeIndex, index, targetDeviceId); + EXPECT_EQ(sinkBindType, vector({IDENTICAL_ACCOUNT_TYPE})); + EXPECT_EQ(bindTypeIndex, vector({0})); +} + +HWTEST_F(DeviceProfileConnectorTest, ProcessBindType_003, testing::ext::TestSize.Level0) +{ + DistributedDeviceProfile::AccessControlProfile profiles; + profiles.SetBindType(DM_POINT_TO_POINT); + profiles.SetBindLevel(DEVICE); + std::string targetDeviceId = "targetDeviceId"; + std::string localDeviceId = "localDeviceId"; + uint32_t index = 0; + std::vector sinkBindType; + std::vector bindTypeIndex; + DeviceProfileConnector::GetInstance().ProcessBindType(profiles, localDeviceId, sinkBindType, bindTypeIndex, index, targetDeviceId); + EXPECT_EQ(sinkBindType, vector({DEVICE_PEER_TO_PEER_TYPE})); + EXPECT_EQ(bindTypeIndex, vector({0})); +} + +HWTEST_F(DeviceProfileConnectorTest, ProcessBindType_004, testing::ext::TestSize.Level0) +{ + DistributedDeviceProfile::AccessControlProfile profiles; + profiles.SetBindType(DM_ACROSS_ACCOUNT); + profiles.SetBindLevel(DEVICE); + std::string targetDeviceId = "targetDeviceId"; + std::string localDeviceId = "localDeviceId"; + uint32_t index = 0; + std::vector sinkBindType; + std::vector bindTypeIndex; + DeviceProfileConnector::GetInstance().ProcessBindType(profiles, localDeviceId, sinkBindType, bindTypeIndex, index, targetDeviceId); + EXPECT_EQ(sinkBindType, vector({DEVICE_ACROSS_ACCOUNT_TYPE})); + EXPECT_EQ(bindTypeIndex, vector({0})); +} + HWTEST_F(DeviceProfileConnectorTest, CheckIdenticalAccount_001, testing::ext::TestSize.Level0) { int32_t userId = 0; @@ -1131,6 +1225,32 @@ HWTEST_F(DeviceProfileConnectorTest, DeleteAppBindLevel_001, testing::ext::TestS EXPECT_EQ(offlineParam.bindType, APP); } +HWTEST_F(DeviceProfileConnectorTest, DeleteAppBindLevel_002, testing::ext::TestSize.Level0) +{ + DmOfflineParam offlineParam; + std::string pkgName = "bundleName1"; + std::vector profiles; + std::string localUdid = "remoteDeviceId"; + std::string remoteUdid="localDeviceId"; + std::string extra = "bundleName2"; + GetAccessControlProfiles(profiles); + DeviceProfileConnector::GetInstance().DeleteAppBindLevel(offlineParam, pkgName, profiles, localUdid, remoteUdid, extra); + EXPECT_EQ(offlineParam.bindType, APP); +} + +HWTEST_F(DeviceProfileConnectorTest, DeleteAppBindLevel_003, testing::ext::TestSize.Level0) +{ + DmOfflineParam offlineParam; + std::string pkgName = "bundleName2"; + std::vector profiles; + std::string localUdid = "localDeviceId"; + std::string remoteUdid="remoteDeviceId"; + std::string extra = "bundleName1"; + GetAccessControlProfiles(profiles); + DeviceProfileConnector::GetInstance().DeleteAppBindLevel(offlineParam, pkgName, profiles, localUdid, remoteUdid, extra); + EXPECT_EQ(offlineParam.bindType, APP); +} + HWTEST_F(DeviceProfileConnectorTest, DeleteDeviceBindLevel_001, testing::ext::TestSize.Level0) { DmOfflineParam offlineParam; @@ -1645,6 +1765,42 @@ HWTEST_F(DeviceProfileConnectorTest, CheckSrcDevIdInAclForDevBind_005, testing:: remoteFrontUserIds); } +HWTEST_F(DeviceProfileConnectorTest, DeleteAccessControlList_001, testing::ext::TestSize.Level0) +{ + std::string pkgName = "bundleName"; + std::string localDeviceId = "localDeviceId"; + std::string remoteDeviceId = "remoteDeviceId"; + std::string extra = "extraTest"; + int32_t bindLevel = INVALIED_TYPE; + DmOfflineParam offlineParam = DeviceProfileConnector::GetInstance() + .DeleteAccessControlList(pkgName, localDeviceId, remoteDeviceId, bindLevel, extra); + EXPECT_EQ(offlineParam.bindType, INVALIED_TYPE); +} + +HWTEST_F(DeviceProfileConnectorTest, DeleteAccessControlList_002, testing::ext::TestSize.Level0) +{ + std::string pkgName = "bundleName"; + std::string localDeviceId = "localDeviceId"; + std::string remoteDeviceId = "remoteDeviceId"; + std::string extra = "extraTest"; + int32_t bindLevel = SERVICE; + DmOfflineParam offlineParam = DeviceProfileConnector::GetInstance() + .DeleteAccessControlList(pkgName, localDeviceId, remoteDeviceId, bindLevel, extra); + EXPECT_EQ(offlineParam.bindType, SERVICE); +} + +HWTEST_F(DeviceProfileConnectorTest, DeleteAccessControlList_003, testing::ext::TestSize.Level0) +{ + std::string pkgName = "bundleName"; + std::string localDeviceId = "localDeviceId"; + std::string remoteDeviceId = "remoteDeviceId"; + std::string extra = "extraTest"; + int32_t bindLevel = DEVICE; + DmOfflineParam offlineParam = DeviceProfileConnector::GetInstance() + .DeleteAccessControlList(pkgName, localDeviceId, remoteDeviceId, bindLevel, extra); + EXPECT_EQ(offlineParam.bindType, DEVICE); +} + HWTEST_F(DeviceProfileConnectorTest, CheckAccessControl_002, testing::ext::TestSize.Level0) { int32_t userId = 123456; @@ -1702,6 +1858,89 @@ HWTEST_F(DeviceProfileConnectorTest, HandleAppUnBindEvent_002, testing::ext::Tes EXPECT_EQ("bundleName", res.pkgName); } +HWTEST_F(DeviceProfileConnectorTest, HandleAppUnBindEvent_003, testing::ext::TestSize.Level0) +{ + int32_t remoteUserId = 0; + int32_t tokenId = 0; + std::string remoteUdid = "remoteDeviceId"; + std::string localUdid = "localDeviceId"; + std::string pkgName = ""; + int32_t peerTokenId = 1001; + ProcessInfo res; + res = DeviceProfileConnector::GetInstance().HandleAppUnBindEvent(remoteUserId, remoteUdid, tokenId, localUdid, peerTokenId); + EXPECT_EQ(pkgName, res.pkgName); +} + +HWTEST_F(DeviceProfileConnectorTest, HandleAppUnBindEvent_004, testing::ext::TestSize.Level0) +{ + int32_t remoteUserId = 123456; + int32_t tokenId = 1001; + std::string remoteUdid = "remoteDeviceId"; + std::string localUdid = "localDeviceId"; + std::string pkgName = ""; + int32_t peerTokenId = 1001; + ProcessInfo res; + res = DeviceProfileConnector::GetInstance().HandleAppUnBindEvent(remoteUserId, remoteUdid, tokenId, localUdid, peerTokenId); + EXPECT_EQ("bundleName", res.pkgName); +} + +HWTEST_F(DeviceProfileConnectorTest, GetTokenIdByNameAndDeviceId_001, testing::ext::TestSize.Level0) +{ + std::string pkgName = "bundleName1"; + std::string requestDeviceId = "remoteDeviceId"; + auto ret = DeviceProfileConnector::GetInstance().GetTokenIdByNameAndDeviceId(pkgName, requestDeviceId); + EXPECT_EQ(ret, 0); +} + +HWTEST_F(DeviceProfileConnectorTest, GetTokenIdByNameAndDeviceId_002, testing::ext::TestSize.Level0) +{ + std::vector profiles; + std::string pkgName = "bundleName2"; + std::string requestDeviceId = "localDeviceId"; + GetAccessControlProfiles(profiles); + auto ret = DeviceProfileConnector::GetInstance().GetTokenIdByNameAndDeviceId(pkgName, requestDeviceId); + EXPECT_EQ(ret, 0); +} + +HWTEST_F(DeviceProfileConnectorTest, GetTokenIdByNameAndDeviceId_003, testing::ext::TestSize.Level0) +{ + std::vector profiles; + std::string pkgName = "bundleName8"; + std::string requestDeviceId = "localDeviceId9"; + GetAccessControlProfiles(profiles); + auto ret = DeviceProfileConnector::GetInstance().GetTokenIdByNameAndDeviceId(pkgName, requestDeviceId); + EXPECT_EQ(ret, 0); +} + +HWTEST_F(DeviceProfileConnectorTest, GetTokenIdByNameAndDeviceId_004, testing::ext::TestSize.Level0) +{ + std::vector profiles; + std::string pkgName = "bundleName2"; + std::string requestDeviceId = "localDeviceId9"; + GetAccessControlProfiles(profiles); + auto ret = DeviceProfileConnector::GetInstance().GetTokenIdByNameAndDeviceId(pkgName, requestDeviceId); + EXPECT_EQ(ret, 0); +} + +HWTEST_F(DeviceProfileConnectorTest, GetTokenIdByNameAndDeviceId_005, testing::ext::TestSize.Level0) +{ + std::vector profiles; + std::string pkgName; + std::string requestDeviceId; + GetAccessControlProfiles(profiles); + auto ret = DeviceProfileConnector::GetInstance().GetTokenIdByNameAndDeviceId(pkgName, requestDeviceId); + EXPECT_EQ(ret, 0); +} + +HWTEST_F(DeviceProfileConnectorTest, GetTokenIdByNameAndDeviceId_006, testing::ext::TestSize.Level0) +{ + std::vector profiles; + std::string pkgName = "bundleName1"; + std::string requestDeviceId = "remoteDeviceId7"; + auto ret = DeviceProfileConnector::GetInstance().GetTokenIdByNameAndDeviceId(pkgName, requestDeviceId); + EXPECT_EQ(ret, 0); +} + HWTEST_F(DeviceProfileConnectorTest, GetAclProfileByUserId_001, testing::ext::TestSize.Level0) { std::string localUdid = "deviceId"; diff --git a/test/unittest/UTTest_device_manager_impl.cpp b/test/unittest/UTTest_device_manager_impl.cpp index c2e18b5a0..c846464ec 100644 --- a/test/unittest/UTTest_device_manager_impl.cpp +++ b/test/unittest/UTTest_device_manager_impl.cpp @@ -571,6 +571,24 @@ HWTEST_F(DeviceManagerImplTest, UnBindDevice_104, testing::ext::TestSize.Level0) DeviceManager::GetInstance().UnInitDeviceManager(packName); } +HWTEST_F(DeviceManagerImplTest, UnBindDevice_105, testing::ext::TestSize.Level0) +{ + std::string packName ; + std::string deviceId = "deviceId"; + std::string extra = "extra"; + int32_t ret = DeviceManager::GetInstance().UnBindDevice(packName, deviceId, extra); + ASSERT_EQ(ret, ERR_DM_INPUT_PARA_INVALID); +} + +HWTEST_F(DeviceManagerImplTest, UnBindDevice_106, testing::ext::TestSize.Level0) +{ + std::string packName = "com.ohos.test"; + std::string deviceId; + std::string extra = "extra"; + int32_t ret = DeviceManager::GetInstance().UnBindDevice(packName, deviceId, extra); + ASSERT_EQ(ret, ERR_DM_INPUT_PARA_INVALID); +} + /** * @tc.name: BindDevice_101 * @tc.desc: 1. set packName null diff --git a/test/unittest/UTTest_device_manager_service.cpp b/test/unittest/UTTest_device_manager_service.cpp index ebd1bc0c7..3fb74f247 100644 --- a/test/unittest/UTTest_device_manager_service.cpp +++ b/test/unittest/UTTest_device_manager_service.cpp @@ -1252,6 +1252,44 @@ HWTEST_F(DeviceManagerServiceTest, UnBindDevice_004, testing::ext::TestSize.Leve EXPECT_EQ(ret, ERR_DM_NO_PERMISSION); } +HWTEST_F(DeviceManagerServiceTest, UnBindDevice_005, testing::ext::TestSize.Level0) +{ + std::string pkgName = "com.ohos.test"; + std::string deviceId = "1234"; + std::string extra = "extra"; + EXPECT_CALL(*softbusCacheMock_, GetUdidByUdidHash(_, _)).WillOnce(Return(ERR_DM_FAILED)); + int32_t ret = DeviceManagerService::GetInstance().UnBindDevice(pkgName, deviceId, extra); + EXPECT_EQ(ret, ERR_DM_FAILED); +} + +HWTEST_F(DeviceManagerServiceTest, UnBindDevice_006, testing::ext::TestSize.Level0) +{ + std::string pkgName = "com.ohos.test"; + std::string deviceId; + std::string extra = "extra"; + int32_t ret = DeviceManagerService::GetInstance().UnBindDevice(pkgName, deviceId, extra); + EXPECT_EQ(ret, ERR_DM_INPUT_PARA_INVALID); +} + +HWTEST_F(DeviceManagerServiceTest, UnBindDevice_007, testing::ext::TestSize.Level0) +{ + std::string pkgName; + std::string deviceId = "1234"; + std::string extra = "extra"; + int32_t ret = DeviceManagerService::GetInstance().UnBindDevice(pkgName, deviceId, extra); + EXPECT_EQ(ret, ERR_DM_INPUT_PARA_INVALID); +} + +HWTEST_F(DeviceManagerServiceTest, UnBindDevice_008, testing::ext::TestSize.Level0) +{ + std::string pkgName = "com.ohos.test"; + std::string deviceId = "1234"; + std::string extra = "extra"; + DeletePermission(); + int32_t ret = DeviceManagerService::GetInstance().UnBindDevice(pkgName, deviceId, extra); + EXPECT_EQ(ret, ERR_DM_NO_PERMISSION); +} + HWTEST_F(DeviceManagerServiceTest, OnSessionOpened_001, testing::ext::TestSize.Level0) { DeviceManagerService::GetInstance().isImplsoLoaded_ = false; @@ -2167,6 +2205,28 @@ HWTEST_F(DeviceManagerServiceTest, SetDnPolicy_003, testing::ext::TestSize.Level EXPECT_EQ(ret, ERR_DM_INPUT_PARA_INVALID); } +HWTEST_F(DeviceManagerServiceTest, SetDnPolicy_004, testing::ext::TestSize.Level0) +{ + std::string pkgName = "openharmony123"; + std::map policy; + std::vector peerUdids; + int32_t userId = 1; + uint64_t peerTokenId = 3; + uint64_t tokenId = 87; + DeviceManagerService::GetInstance().SendUnBindBroadCast(peerUdids, userId, tokenId, DEVICE, peerTokenId); + DeviceManagerService::GetInstance().SendUnBindBroadCast(peerUdids, userId, tokenId, APP, peerTokenId); + DeviceManagerService::GetInstance().SendUnBindBroadCast(peerUdids, userId, tokenId, 2, peerTokenId); + DeviceManagerService::GetInstance().SendDeviceUnBindBroadCast(peerUdids, userId); + DeviceManagerService::GetInstance().softbusListener_ = std::make_shared(); + DeviceManagerService::GetInstance().SendDeviceUnBindBroadCast(peerUdids, userId); + DeviceManagerService::GetInstance().softbusListener_ = nullptr; + std::string processName = "collaboration_service"; + EXPECT_CALL(*permissionManagerMock_, GetCallerProcessName(_)) + .WillOnce(DoAll(SetArgReferee<0>(processName), Return(DM_OK))); + int ret = DeviceManagerService::GetInstance().SetDnPolicy(pkgName, policy); + EXPECT_EQ(ret, ERR_DM_INPUT_PARA_INVALID); +} + HWTEST_F(DeviceManagerServiceTest, DestroyPinHolder_003, testing::ext::TestSize.Level0) { std::string pkgName = ""; @@ -2189,6 +2249,18 @@ HWTEST_F(DeviceManagerServiceTest, SendAppUnBindBroadCast_001, testing::ext::Tes DeviceManagerService::GetInstance().softbusListener_ = nullptr; } +HWTEST_F(DeviceManagerServiceTest, SendAppUnBindBroadCast_002, testing::ext::TestSize.Level0) +{ + std::vector peerUdids; + int32_t userId = 12; + uint64_t peerTokenId = 3; + uint64_t tokenId = 23; + DeviceManagerService::GetInstance().softbusListener_ = std::make_shared(); + DeviceManagerService::GetInstance().SendAppUnBindBroadCast(peerUdids, userId, tokenId, peerTokenId); + EXPECT_NE(DeviceManagerService::GetInstance().softbusListener_, nullptr); + DeviceManagerService::GetInstance().softbusListener_ = nullptr; +} + HWTEST_F(DeviceManagerServiceTest, SendServiceUnBindBroadCast_001, testing::ext::TestSize.Level0) { std::vector peerUdids; diff --git a/test/unittest/UTTest_device_manager_service_impl.cpp b/test/unittest/UTTest_device_manager_service_impl.cpp index 1a85404c2..4fa99450b 100644 --- a/test/unittest/UTTest_device_manager_service_impl.cpp +++ b/test/unittest/UTTest_device_manager_service_impl.cpp @@ -1387,6 +1387,37 @@ HWTEST_F(DeviceManagerServiceImplTest, UnBindDevice_104, testing::ext::TestSize. EXPECT_NE(ret, ERR_DM_INPUT_PARA_INVALID); } +HWTEST_F(DeviceManagerServiceImplTest, UnBindDevice_105, testing::ext::TestSize.Level0) +{ + std::string pkgName = "pkgname"; + std::string udid; + int32_t bindLevel = 0; + std::string extra = "extra"; + int32_t ret = deviceManagerServiceImpl_->UnBindDevice(pkgName, udid, bindLevel, extra); + EXPECT_EQ(ret, ERR_DM_INPUT_PARA_INVALID); +} + +HWTEST_F(DeviceManagerServiceImplTest, UnBindDevice_106, testing::ext::TestSize.Level0) +{ + std::string pkgName; + std::string udid = "123"; + int32_t bindLevel = 0; + std::string extra = "extra"; + int32_t ret = deviceManagerServiceImpl_->UnBindDevice(pkgName, udid, bindLevel, extra); + EXPECT_EQ(ret, ERR_DM_INPUT_PARA_INVALID); +} + +HWTEST_F(DeviceManagerServiceImplTest, UnBindDevice_107, testing::ext::TestSize.Level0) +{ + std::string pkgName; + std::string udid; + int32_t bindLevel = 0; + std::string extra = "extra"; + int32_t ret = deviceManagerServiceImpl_->UnBindDevice(pkgName, udid, bindLevel, extra); + deviceManagerServiceImpl_->HandleDeviceNotTrust(udid); + EXPECT_EQ(ret, ERR_DM_INPUT_PARA_INVALID); +} + HWTEST_F(DeviceManagerServiceImplTest, GetBindLevel_101, testing::ext::TestSize.Level0) { std::string pkgName = "pkgname"; @@ -1760,6 +1791,69 @@ HWTEST_F(DeviceManagerServiceImplTest, SaveOnlineDeviceInfo_001, testing::ext::T deviceManagerServiceImpl_->HandleRemoteUserRemoved(userId, remoteUdid); } +HWTEST_F(DeviceManagerServiceImplTest, SaveOnlineDeviceInfo_002, testing::ext::TestSize.Level0) +{ + std::vector deviceList; + DmDeviceInfo dmDeviceInfo; + dmDeviceInfo.authForm = DmAuthForm::ACROSS_ACCOUNT; + dmDeviceInfo.networkType = 1; + deviceList.push_back(dmDeviceInfo); + + if (deviceManagerServiceImpl_->deviceStateMgr_ == nullptr) { + deviceManagerServiceImpl_->Initialize(listener_); + } + EXPECT_CALL(*softbusConnectorMock_, GetUdidByNetworkId(_, _)).Times(::testing::AtLeast(1)).WillOnce(Return(DM_OK)); + int32_t ret = deviceManagerServiceImpl_->SaveOnlineDeviceInfo(deviceList); + EXPECT_EQ(ret, DM_OK); + + int32_t remoteUserId = 1; + std::string remoteUdid = "remoteDeviceId"; + int32_t tokenId = 0; + int32_t peerTokenId = 3; + ProcessInfo processInfo; + EXPECT_CALL(*deviceProfileConnectorMock_, HandleAppUnBindEvent(_, _, _, _)).WillOnce(Return(processInfo)); + deviceManagerServiceImpl_->HandleAppUnBindEvent(remoteUserId, remoteUdid, tokenId, peerTokenId); + + processInfo.pkgName = "pkgName"; + if (deviceManagerServiceImpl_->softbusConnector_ == nullptr) { + deviceManagerServiceImpl_->Initialize(listener_); + } + EXPECT_CALL(*deviceProfileConnectorMock_, HandleAppUnBindEvent(_, _, _, _)).WillOnce(Return(processInfo)); + deviceManagerServiceImpl_->HandleAppUnBindEvent(remoteUserId, remoteUdid, tokenId, peerTokenId); + + EXPECT_CALL(*deviceProfileConnectorMock_, HandleDevUnBindEvent(_, _, _)).WillOnce(Return(DM_INVALIED_BINDTYPE)); + deviceManagerServiceImpl_->HandleDevUnBindEvent(remoteUserId, remoteUdid); + + EXPECT_CALL(*deviceProfileConnectorMock_, HandleDevUnBindEvent(_, _, _)).WillOnce(Return(DM_IDENTICAL_ACCOUNT)); + if (deviceManagerServiceImpl_->authMgr_ == nullptr) { + deviceManagerServiceImpl_->Initialize(listener_); + } + deviceManagerServiceImpl_->HandleDevUnBindEvent(remoteUserId, remoteUdid); + + int32_t userId = 123456; + remoteUdid = "remoteDeviceId"; + if (deviceManagerServiceImpl_->hiChainConnector_ == nullptr) { + deviceManagerServiceImpl_->Initialize(listener_); + } + deviceManagerServiceImpl_->HandleRemoteUserRemoved(userId, remoteUdid); +} + +HWTEST_F(DeviceManagerServiceImplTest, GetTokenIdByNameAndDeviceId_001, testing::ext::TestSize.Level0) +{ + std::string pkgName = ""; + std::string requestDeviceId = "deviceId"; + auto ret = deviceManagerServiceImpl_->GetTokenIdByNameAndDeviceId(pkgName, requestDeviceId); + EXPECT_EQ(ret, ERR_DM_INPUT_PARA_INVALID); +} + +HWTEST_F(DeviceManagerServiceImplTest, GetTokenIdByNameAndDeviceId_002, testing::ext::TestSize.Level0) +{ + std::string pkgName = "pkgName"; + std::string requestDeviceId = ""; + auto ret = deviceManagerServiceImpl_->GetTokenIdByNameAndDeviceId(pkgName, requestDeviceId); + EXPECT_EQ(ret, ERR_DM_INPUT_PARA_INVALID); +} + HWTEST_F(DeviceManagerServiceImplTest, GetDeviceIdAndBindLevel_001, testing::ext::TestSize.Level0) { int32_t userId = 123456; -- Gitee From c1c1e2a258b945412f6d2dd044567e7ea8be89b1 Mon Sep 17 00:00:00 2001 From: BrainL Date: Mon, 6 Jan 2025 10:49:02 +0800 Subject: [PATCH 2/2] format UT Signed-off-by: BrainL --- .../UTTest_dm_deviceprofile_connector.cpp | 33 +- .../UTTest_device_manager_service.cpp | 11 - .../UTTest_device_manager_service_two.cpp | 1889 +++++++++-------- 3 files changed, 968 insertions(+), 965 deletions(-) diff --git a/test/commonunittest/UTTest_dm_deviceprofile_connector.cpp b/test/commonunittest/UTTest_dm_deviceprofile_connector.cpp index cfd1b672f..9c1e32971 100644 --- a/test/commonunittest/UTTest_dm_deviceprofile_connector.cpp +++ b/test/commonunittest/UTTest_dm_deviceprofile_connector.cpp @@ -934,7 +934,8 @@ HWTEST_F(DeviceProfileConnectorTest, ProcessBindType_002, testing::ext::TestSize string targetDeviceId = "targetDeviceId"; std::vector sinkBindType; std::vector bindTypeIndex; - DeviceProfileConnector::GetInstance().ProcessBindType(profiles, localDeviceId, sinkBindType, bindTypeIndex, index, targetDeviceId); + DeviceProfileConnector::GetInstance().ProcessBindType(profiles, + localDeviceId, sinkBindType, bindTypeIndex, index, targetDeviceId); EXPECT_EQ(sinkBindType, vector({IDENTICAL_ACCOUNT_TYPE})); EXPECT_EQ(bindTypeIndex, vector({0})); } @@ -949,7 +950,8 @@ HWTEST_F(DeviceProfileConnectorTest, ProcessBindType_003, testing::ext::TestSize uint32_t index = 0; std::vector sinkBindType; std::vector bindTypeIndex; - DeviceProfileConnector::GetInstance().ProcessBindType(profiles, localDeviceId, sinkBindType, bindTypeIndex, index, targetDeviceId); + DeviceProfileConnector::GetInstance().ProcessBindType(profiles, + localDeviceId, sinkBindType, bindTypeIndex, index, targetDeviceId); EXPECT_EQ(sinkBindType, vector({DEVICE_PEER_TO_PEER_TYPE})); EXPECT_EQ(bindTypeIndex, vector({0})); } @@ -964,7 +966,8 @@ HWTEST_F(DeviceProfileConnectorTest, ProcessBindType_004, testing::ext::TestSize uint32_t index = 0; std::vector sinkBindType; std::vector bindTypeIndex; - DeviceProfileConnector::GetInstance().ProcessBindType(profiles, localDeviceId, sinkBindType, bindTypeIndex, index, targetDeviceId); + DeviceProfileConnector::GetInstance().ProcessBindType(profiles, + localDeviceId, sinkBindType, bindTypeIndex, index, targetDeviceId); EXPECT_EQ(sinkBindType, vector({DEVICE_ACROSS_ACCOUNT_TYPE})); EXPECT_EQ(bindTypeIndex, vector({0})); } @@ -1234,7 +1237,8 @@ HWTEST_F(DeviceProfileConnectorTest, DeleteAppBindLevel_002, testing::ext::TestS std::string remoteUdid="localDeviceId"; std::string extra = "bundleName2"; GetAccessControlProfiles(profiles); - DeviceProfileConnector::GetInstance().DeleteAppBindLevel(offlineParam, pkgName, profiles, localUdid, remoteUdid, extra); + DeviceProfileConnector::GetInstance().DeleteAppBindLevel(offlineParam, + pkgName, profiles, localUdid, remoteUdid, extra); EXPECT_EQ(offlineParam.bindType, APP); } @@ -1247,7 +1251,8 @@ HWTEST_F(DeviceProfileConnectorTest, DeleteAppBindLevel_003, testing::ext::TestS std::string remoteUdid="remoteDeviceId"; std::string extra = "bundleName1"; GetAccessControlProfiles(profiles); - DeviceProfileConnector::GetInstance().DeleteAppBindLevel(offlineParam, pkgName, profiles, localUdid, remoteUdid, extra); + DeviceProfileConnector::GetInstance().DeleteAppBindLevel(offlineParam, + pkgName, profiles, localUdid, remoteUdid, extra); EXPECT_EQ(offlineParam.bindType, APP); } @@ -1867,7 +1872,8 @@ HWTEST_F(DeviceProfileConnectorTest, HandleAppUnBindEvent_003, testing::ext::Tes std::string pkgName = ""; int32_t peerTokenId = 1001; ProcessInfo res; - res = DeviceProfileConnector::GetInstance().HandleAppUnBindEvent(remoteUserId, remoteUdid, tokenId, localUdid, peerTokenId); + res = DeviceProfileConnector::GetInstance().HandleAppUnBindEvent(remoteUserId, + remoteUdid, tokenId, localUdid, peerTokenId); EXPECT_EQ(pkgName, res.pkgName); } @@ -1880,12 +1886,13 @@ HWTEST_F(DeviceProfileConnectorTest, HandleAppUnBindEvent_004, testing::ext::Tes std::string pkgName = ""; int32_t peerTokenId = 1001; ProcessInfo res; - res = DeviceProfileConnector::GetInstance().HandleAppUnBindEvent(remoteUserId, remoteUdid, tokenId, localUdid, peerTokenId); + res = DeviceProfileConnector::GetInstance().HandleAppUnBindEvent(remoteUserId, + remoteUdid, tokenId, localUdid, peerTokenId); EXPECT_EQ("bundleName", res.pkgName); } HWTEST_F(DeviceProfileConnectorTest, GetTokenIdByNameAndDeviceId_001, testing::ext::TestSize.Level0) -{ +{ std::string pkgName = "bundleName1"; std::string requestDeviceId = "remoteDeviceId"; auto ret = DeviceProfileConnector::GetInstance().GetTokenIdByNameAndDeviceId(pkgName, requestDeviceId); @@ -1893,7 +1900,7 @@ HWTEST_F(DeviceProfileConnectorTest, GetTokenIdByNameAndDeviceId_001, testing::e } HWTEST_F(DeviceProfileConnectorTest, GetTokenIdByNameAndDeviceId_002, testing::ext::TestSize.Level0) -{ +{ std::vector profiles; std::string pkgName = "bundleName2"; std::string requestDeviceId = "localDeviceId"; @@ -1903,7 +1910,7 @@ HWTEST_F(DeviceProfileConnectorTest, GetTokenIdByNameAndDeviceId_002, testing::e } HWTEST_F(DeviceProfileConnectorTest, GetTokenIdByNameAndDeviceId_003, testing::ext::TestSize.Level0) -{ +{ std::vector profiles; std::string pkgName = "bundleName8"; std::string requestDeviceId = "localDeviceId9"; @@ -1913,7 +1920,7 @@ HWTEST_F(DeviceProfileConnectorTest, GetTokenIdByNameAndDeviceId_003, testing::e } HWTEST_F(DeviceProfileConnectorTest, GetTokenIdByNameAndDeviceId_004, testing::ext::TestSize.Level0) -{ +{ std::vector profiles; std::string pkgName = "bundleName2"; std::string requestDeviceId = "localDeviceId9"; @@ -1923,7 +1930,7 @@ HWTEST_F(DeviceProfileConnectorTest, GetTokenIdByNameAndDeviceId_004, testing::e } HWTEST_F(DeviceProfileConnectorTest, GetTokenIdByNameAndDeviceId_005, testing::ext::TestSize.Level0) -{ +{ std::vector profiles; std::string pkgName; std::string requestDeviceId; @@ -1933,7 +1940,7 @@ HWTEST_F(DeviceProfileConnectorTest, GetTokenIdByNameAndDeviceId_005, testing::e } HWTEST_F(DeviceProfileConnectorTest, GetTokenIdByNameAndDeviceId_006, testing::ext::TestSize.Level0) -{ +{ std::vector profiles; std::string pkgName = "bundleName1"; std::string requestDeviceId = "remoteDeviceId7"; diff --git a/test/unittest/UTTest_device_manager_service.cpp b/test/unittest/UTTest_device_manager_service.cpp index 3fb74f247..2ff940014 100644 --- a/test/unittest/UTTest_device_manager_service.cpp +++ b/test/unittest/UTTest_device_manager_service.cpp @@ -2610,14 +2610,6 @@ HWTEST_F(DeviceManagerServiceTest, GetEncryptedUuidByNetworkId_004, testing::ext EXPECT_EQ(ret, DM_OK); } -HWTEST_F(DeviceManagerServiceTest, StopAuthenticateDevice_004, testing::ext::TestSize.Level0) -{ - std::string pkgName = "pkgName_004"; - EXPECT_CALL(*deviceManagerServiceImplMock_, StopAuthenticateDevice(_)).WillOnce(Return(ERR_DM_FAILED)); - int32_t ret = DeviceManagerService::GetInstance().StopAuthenticateDevice(pkgName); - EXPECT_EQ(ret, ERR_DM_FAILED); -} - #if !(defined(__LITEOS_M__) || defined(LITE_DEVICE)) HWTEST_F(DeviceManagerServiceTest, ConvertUdidHashToAnoyDeviceId_001, testing::ext::TestSize.Level0) { @@ -2626,12 +2618,10 @@ HWTEST_F(DeviceManagerServiceTest, ConvertUdidHashToAnoyDeviceId_001, testing::e EXPECT_CALL(*appManagerMock_, GetAppId()).WillOnce(Return("")); int32_t ret = DeviceManagerService::GetInstance().ConvertUdidHashToAnoyDeviceId(udidHash, result); EXPECT_EQ(ret, ERR_DM_FAILED); - EXPECT_CALL(*appManagerMock_, GetAppId()).WillOnce(Return("appId")); EXPECT_CALL(*cryptoMock_, ConvertUdidHashToAnoyAndSave(_, _, _)).WillOnce(Return(DM_OK)); ret = DeviceManagerService::GetInstance().ConvertUdidHashToAnoyDeviceId(udidHash, result); EXPECT_EQ(ret, DM_OK); - EXPECT_CALL(*appManagerMock_, GetAppId()).WillOnce(Return("appId")); EXPECT_CALL(*cryptoMock_, ConvertUdidHashToAnoyAndSave(_, _, _)).WillOnce(Return(ERR_DM_FAILED)); ret = DeviceManagerService::GetInstance().ConvertUdidHashToAnoyDeviceId(udidHash, result); @@ -2644,7 +2634,6 @@ HWTEST_F(DeviceManagerServiceTest, GetUdidHashByAnoyDeviceId_001, testing::ext:: std::string anoyDeviceId = "anoyDeviceId"; int32_t ret = DeviceManagerService::GetInstance().GetUdidHashByAnoyDeviceId(anoyDeviceId, udidHash); EXPECT_EQ(ret, DM_OK); - EXPECT_CALL(*kVAdapterManagerMock_, Get(_, _)).WillOnce(Return(ERR_DM_FAILED)); ret = DeviceManagerService::GetInstance().GetUdidHashByAnoyDeviceId(anoyDeviceId, udidHash); EXPECT_EQ(ret, ERR_DM_FAILED); diff --git a/test/unittest/UTTest_device_manager_service_two.cpp b/test/unittest/UTTest_device_manager_service_two.cpp index 65f8ca1cc..4029b1ee9 100644 --- a/test/unittest/UTTest_device_manager_service_two.cpp +++ b/test/unittest/UTTest_device_manager_service_two.cpp @@ -1,941 +1,948 @@ -/* - * Copyright (c) 2024 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "UTTest_device_manager_service.h" - -#include "accesstoken_kit.h" -#include "dm_constants.h" -#include "dm_device_info.h" -#include "dm_log.h" -#include "nativetoken_kit.h" -#include "token_setproc.h" -#include "softbus_common.h" -#include "softbus_error_code.h" - -using namespace OHOS::Security::AccessToken; -using namespace testing; -using namespace testing::ext; -namespace OHOS { -namespace DistributedHardware { -namespace { -void DeletePermission() -{ - const int32_t permsNum = 1; - const int32_t indexZero = 0; - uint64_t tokenId; - const char *perms[permsNum]; - perms[indexZero] = "ohos.permission"; - NativeTokenInfoParams infoInstance = { - .dcapsNum = 0, - .permsNum = permsNum, - .aclsNum = 0, - .dcaps = NULL, - .perms = perms, - .acls = NULL, - .processName = "DeviceManagerServiceTest", - .aplStr = "system_core", - }; - tokenId = GetAccessTokenId(&infoInstance); - SetSelfTokenID(tokenId); - OHOS::Security::AccessToken::AccessTokenKit::ReloadNativeTokenInfo(); -} - -void SetSetDnPolicyPermission() -{ - const int32_t permsNum = 1; - const int32_t indexZero = 0; - uint64_t tokenId; - const char *perms[permsNum]; - perms[indexZero] = "ohos.permission.ACCESS_SERVICE_DM"; - NativeTokenInfoParams infoInstance = { - .dcapsNum = 0, - .permsNum = permsNum, - .aclsNum = 0, - .dcaps = NULL, - .perms = perms, - .acls = NULL, - .processName = "collaboration_service", - .aplStr = "system_core", - }; - tokenId = GetAccessTokenId(&infoInstance); - SetSelfTokenID(tokenId); - OHOS::Security::AccessToken::AccessTokenKit::ReloadNativeTokenInfo(); -} - -/** - * @tc.name: GetTrustedDeviceList_201 - * @tc.type: FUNC - */ -HWTEST_F(DeviceManagerServiceTest, GetTrustedDeviceList_201, testing::ext::TestSize.Level0) -{ - std::string pkgName = "pkgName"; - EXPECT_CALL(*appManagerMock_, GetAppId()).Times(::testing::AtLeast(1)).WillOnce(Return("appId")); - DeviceManagerService::GetInstance().listener_ = std::make_shared(); - DeviceManagerService::GetInstance().RegisterCallerAppId(pkgName); - DeletePermission(); - const std::string extra; - std::vector deviceList; - DeviceManagerService::GetInstance().softbusListener_ = nullptr; - int32_t ret = DeviceManagerService::GetInstance().GetTrustedDeviceList(pkgName, extra, deviceList); - EXPECT_EQ(ret, ERR_DM_POINT_NULL); -} - -/** - * @tc.name: GetDeviceInfo_201 - * @tc.type: FUNC - */ -HWTEST_F(DeviceManagerServiceTest, GetDeviceInfo_201, testing::ext::TestSize.Level0) -{ - DeletePermission(); - std::string networkId = "123"; - DmDeviceInfo deviceIndo; - int32_t ret = DeviceManagerService::GetInstance().GetDeviceInfo(networkId, deviceIndo); - EXPECT_EQ(ret, ERR_DM_NO_PERMISSION); - ret = DeviceManagerService::GetInstance().GetLocalDeviceInfo(deviceIndo); - EXPECT_EQ(ret, ERR_DM_POINT_NULL); -} - -/** - * @tc.name: RegisterUiStateCallback_001 - * @tc.type: FUNC - */ -HWTEST_F(DeviceManagerServiceTest, RegisterUiStateCallback_201, testing::ext::TestSize.Level0) -{ - DeletePermission(); - std::string pkgName = "pkgName"; - int32_t ret = DeviceManagerService::GetInstance().RegisterUiStateCallback(pkgName); - EXPECT_EQ(ret, ERR_DM_NO_PERMISSION); -} - -/** - * @tc.name: UnRegisterUiStateCallback_001 - * @tc.type: FUNC - */ -HWTEST_F(DeviceManagerServiceTest, UnRegisterUiStateCallback_201, testing::ext::TestSize.Level0) -{ - DeletePermission(); - std::string pkgName = "pkgName"; - int32_t ret = DeviceManagerService::GetInstance().UnRegisterUiStateCallback(pkgName); - EXPECT_EQ(ret, ERR_DM_NO_PERMISSION); -} - -/** - * @tc.name: IsDMImplSoLoaded_001 - * @tc.type: FUNC - */ -HWTEST_F(DeviceManagerServiceTest, IsDMImplSoLoaded_201, testing::ext::TestSize.Level0) -{ - std::string pkgName = "pkgName"; - std::map advertiseParam; - advertiseParam[PARAM_KEY_META_TYPE] = "1"; - DeviceManagerService::GetInstance().StopAdvertising(pkgName, advertiseParam); - std::map advertiseParam2; - advertiseParam[PARAM_KEY_PUBLISH_ID] = "12"; - DeviceManagerService::GetInstance().StopAdvertising(pkgName, advertiseParam2); - PeerTargetId targetId; - targetId.deviceId = "123"; - std::map bindParam; - bindParam[PARAM_KEY_META_TYPE] = "1"; - DeviceManagerService::GetInstance().BindTarget(pkgName, targetId, bindParam); - targetId.wifiIp = "192.168.1.1"; - std::map bindParam2; - DeviceManagerService::GetInstance().BindTarget(pkgName, targetId, bindParam2); - targetId.deviceId = "123"; - std::map unbindParam; - unbindParam[PARAM_KEY_META_TYPE] = "1"; - DeviceManagerService::GetInstance().UnbindTarget(pkgName, targetId, unbindParam); - DeviceManagerService::GetInstance().IsDMServiceImplReady(); - bool ret = DeviceManagerService::GetInstance().IsDMImplSoLoaded(); - EXPECT_EQ(ret, true); -} - -/** - * @tc.name: RegisterPinHolderCallback_201 - * @tc.type: FUNC - */ -HWTEST_F(DeviceManagerServiceTest, RegisterPinHolderCallback_201, testing::ext::TestSize.Level0) -{ - std::string pkgName = "CollaborationFwk"; - EXPECT_CALL(*permissionManagerMock_, CheckInterfacePermission(_)).WillOnce(Return(false)); - int32_t ret = DeviceManagerService::GetInstance().RegisterPinHolderCallback(pkgName); - EXPECT_EQ(ret, ERR_DM_INPUT_PARA_INVALID); -} - -/** - * @tc.name: CreatePinHolder_201 - * @tc.type: FUNC - */ -HWTEST_F(DeviceManagerServiceTest, CreatePinHolder_201, testing::ext::TestSize.Level0) -{ - std::string pkgName = "CollaborationFwk"; - PeerTargetId targetId; - DmPinType pinType = NUMBER_PIN_CODE; - std::string payload; - EXPECT_CALL(*permissionManagerMock_, CheckInterfacePermission(_)). - Times(::testing::AtLeast(1)).WillOnce(Return(false)); - int32_t ret = DeviceManagerService::GetInstance().CreatePinHolder(pkgName, targetId, pinType, payload); - EXPECT_EQ(ret, ERR_DM_INPUT_PARA_INVALID); -} - -/** - * @tc.name: GetDeviceSecurityLevel_201 - * @tc.type: FUNC - */ -HWTEST_F(DeviceManagerServiceTest, GetDeviceSecurityLevel_201, testing::ext::TestSize.Level0) -{ - std::string pkgName = "pkgName"; - std::string networkId = "123"; - int32_t securityLevel; - DeviceManagerService::GetInstance().softbusListener_ = std::make_shared(); - EXPECT_CALL(*softbusListenerMock_, GetDeviceSecurityLevel(_, _)).WillOnce(Return(ERR_DM_FAILED)); - int32_t ret = DeviceManagerService::GetInstance().GetDeviceSecurityLevel(pkgName, networkId, securityLevel); - EXPECT_EQ(ret, ERR_DM_FAILED); - DeviceManagerService::GetInstance().softbusListener_ = nullptr; -} - -/** - * @tc.name: CheckAccessControl_001 - * @tc.type: FUNC - */ -HWTEST_F(DeviceManagerServiceTest, CheckAccessControl_201, testing::ext::TestSize.Level0) -{ - DmAccessCaller caller; - DmAccessCallee callee; - EXPECT_CALL(*softbusListenerMock_, GetUdidByNetworkId(_, _)).WillOnce(Return(DM_OK)).WillOnce(Return(DM_OK)); - bool ret = DeviceManagerService::GetInstance().CheckAccessControl(caller, callee); - EXPECT_EQ(ret, true); -} - -/** - * @tc.name: CheckAccessControl_002 - * @tc.type: FUNC - */ -HWTEST_F(DeviceManagerServiceTest, CheckAccessControl_202, testing::ext::TestSize.Level0) -{ - DmAccessCaller caller; - DmAccessCallee callee; - DeletePermission(); - bool ret = DeviceManagerService::GetInstance().CheckAccessControl(caller, callee); - EXPECT_EQ(ret, false); -} - -/** - * @tc.name: CheckIsSameAccount_201 - * @tc.type: FUNC - */ -HWTEST_F(DeviceManagerServiceTest, CheckIsSameAccount_201, testing::ext::TestSize.Level0) -{ - DmAccessCaller caller; - DmAccessCallee callee; - EXPECT_CALL(*softbusListenerMock_, GetUdidByNetworkId(_, _)).WillOnce(Return(DM_OK)).WillOnce(Return(DM_OK)); - bool ret = DeviceManagerService::GetInstance().CheckIsSameAccount(caller, callee); - EXPECT_EQ(ret, true); -} - -/** - * @tc.name: CheckIsSameAccount_202 - * @tc.type: FUNC - */ -HWTEST_F(DeviceManagerServiceTest, CheckIsSameAccount_202, testing::ext::TestSize.Level0) -{ - DmAccessCaller caller; - DmAccessCallee callee; - DeletePermission(); - bool ret = DeviceManagerService::GetInstance().CheckIsSameAccount(caller, callee); - EXPECT_EQ(ret, false); -} - -/** - * @tc.name: InitAccountInfo_201 - * @tc.type: FUNC - */ -HWTEST_F(DeviceManagerServiceTest, InitAccountInfo_201, testing::ext::TestSize.Level0) -{ - int32_t userId = 100; - std::string commonEventType = "usual.event.USER_SWITCHED"; - std::map curUserDeviceMap; - EXPECT_CALL(*deviceManagerServiceImplMock_, GetDeviceIdAndBindLevel(_)) - .WillOnce(Return(curUserDeviceMap)).WillOnce(Return(curUserDeviceMap)); - DeviceManagerService::GetInstance().AccountCommonEventCallback(commonEventType, userId, 101); - commonEventType = "common.event.HWID_LOGIN"; - DeviceManagerService::GetInstance().AccountCommonEventCallback(commonEventType, userId, 101); - commonEventType = "usual.event.USER_SWITCHED"; - int32_t currentUserId = -1; - int32_t beforeUserId = 0; - DeviceManagerService::GetInstance().AccountCommonEventCallback(commonEventType, currentUserId, beforeUserId); - commonEventType = "common.event.HWID_LOGOUT"; - currentUserId = 1; - beforeUserId = 1; - DMAccountInfo dmAccountInfo; - dmAccountInfo.accountId = "accountId"; - dmAccountInfo.accountName = "accountName"; - EXPECT_CALL(*multipleUserConnectorMock_, GetAccountInfoByUserId(_)).WillOnce(Return(dmAccountInfo)); - DeviceManagerService::GetInstance().AccountCommonEventCallback(commonEventType, currentUserId, beforeUserId); - int32_t ret = DeviceManagerService::GetInstance().InitAccountInfo(); - EXPECT_EQ(ret, DM_OK); -} - -/** - * @tc.name: InitScreenLockEvent_001 - * @tc.type: FUNC - */ -HWTEST_F(DeviceManagerServiceTest, InitScreenLockEvent_201, testing::ext::TestSize.Level0) -{ - int32_t ret = DeviceManagerService::GetInstance().InitScreenLockEvent(); - EXPECT_EQ(ret, DM_OK); -} - -/** - * @tc.name: SubscribeAccountCommonEvent_201 - * @tc.type: FUNC - */ -HWTEST_F(DeviceManagerServiceTest, SubscribeAccountCommonEvent_201, testing::ext::TestSize.Level0) -{ - DeviceManagerService::GetInstance().SubscribeAccountCommonEvent(); - DeviceManagerService::GetInstance().SubscribeScreenLockEvent(); - std::string commonEventType = "usual.event.USER_SWITCHED"; - DeviceManagerService::GetInstance().ScreenCommonEventCallback(commonEventType); - EXPECT_NE(DeviceManagerService::GetInstance().accountCommonEventManager_, nullptr); -} - -/** - * @tc.name: SetDnPolicy_201 - * @tc.type: FUNC - */ -HWTEST_F(DeviceManagerServiceTest, SetDnPolicy_201, testing::ext::TestSize.Level0) -{ - SetSetDnPolicyPermission(); - std::string packName = "com.ohos.test"; - std::map policy; - policy[PARAM_KEY_POLICY_STRATEGY_FOR_BLE] = "100"; - policy[PARAM_KEY_POLICY_TIME_OUT] = "10"; - EXPECT_CALL(*permissionManagerMock_, CheckInterfacePermission(_)).WillOnce(Return(true)); - int32_t ret = DeviceManagerService::GetInstance().SetDnPolicy(packName, policy); - bool bRet = false; - if (ret == DM_OK || ret == ERR_DM_UNSUPPORTED_METHOD || ret == SOFTBUS_IPC_ERR) { - bRet = true; - } - ASSERT_EQ(bRet, true); -} - -/** - * @tc.name: SetDnPolicy_202 - * @tc.type: FUNC - */ -HWTEST_F(DeviceManagerServiceTest, SetDnPolicy_202, testing::ext::TestSize.Level0) -{ - SetSetDnPolicyPermission(); - std::string packName; - std::map policy; - policy[PARAM_KEY_POLICY_STRATEGY_FOR_BLE] = "100"; - policy[PARAM_KEY_POLICY_TIME_OUT] = "10"; - std::string processName = "collaboration_service"; - EXPECT_CALL(*permissionManagerMock_, CheckInterfacePermission(_)).WillOnce(Return(false)); - int32_t ret = DeviceManagerService::GetInstance().SetDnPolicy(packName, policy); - ASSERT_EQ(ret, ERR_DM_INPUT_PARA_INVALID); -} - -/** - * @tc.name: SetDnPolicy_203 - * @tc.type: FUNC - */ -HWTEST_F(DeviceManagerServiceTest, SetDnPolicy_203, testing::ext::TestSize.Level0) -{ - std::string packName = "com.ohos.test"; - SetSetDnPolicyPermission(); - std::map policy; - policy[PARAM_KEY_POLICY_TIME_OUT] = "10"; - std::string processName = "collaboration_service"; - EXPECT_CALL(*permissionManagerMock_, CheckInterfacePermission(_)).WillOnce(Return(false)); - int32_t ret = DeviceManagerService::GetInstance().SetDnPolicy(packName, policy); - ASSERT_EQ(ret, ERR_DM_INPUT_PARA_INVALID); -} - -/** - * @tc.name: SetDnPolicy_204 - * @tc.type: FUNC - */ -HWTEST_F(DeviceManagerServiceTest, SetDnPolicy_204, testing::ext::TestSize.Level0) -{ - SetSetDnPolicyPermission(); - std::string packName = "com.ohos.test"; - std::map policy; - policy[PARAM_KEY_POLICY_STRATEGY_FOR_BLE] = "100"; - std::string processName = "collaboration_service"; - EXPECT_CALL(*permissionManagerMock_, CheckInterfacePermission(_)).WillOnce(Return(false)); - int32_t ret = DeviceManagerService::GetInstance().SetDnPolicy(packName, policy); - ASSERT_EQ(ret, ERR_DM_INPUT_PARA_INVALID); -} - -/** - * @tc.name: SetDnPolicy_205 - * @tc.type: FUNC - */ -HWTEST_F(DeviceManagerServiceTest, SetDnPolicy_205, testing::ext::TestSize.Level0) -{ - SetSetDnPolicyPermission(); - std::string packName = "com.ohos.test"; - std::map policy; - policy[PARAM_KEY_POLICY_STRATEGY_FOR_BLE] = "a100"; - policy[PARAM_KEY_POLICY_TIME_OUT] = "10"; - std::string processName = "collaboration_service"; - EXPECT_CALL(*permissionManagerMock_, CheckInterfacePermission(_)).WillOnce(Return(false)); - int32_t ret = DeviceManagerService::GetInstance().SetDnPolicy(packName, policy); - ASSERT_EQ(ret, ERR_DM_INPUT_PARA_INVALID); -} - -/** - * @tc.name: SetDnPolicy_206 - * @tc.type: FUNC - */ -HWTEST_F(DeviceManagerServiceTest, SetDnPolicy_206, testing::ext::TestSize.Level0) -{ - SetSetDnPolicyPermission(); - std::string packName = "com.ohos.test"; - std::map policy; - policy[PARAM_KEY_POLICY_STRATEGY_FOR_BLE] = "100a"; - policy[PARAM_KEY_POLICY_TIME_OUT] = "10"; - std::string processName = "collaboration_service"; - EXPECT_CALL(*permissionManagerMock_, CheckInterfacePermission(_)).WillOnce(Return(false)); - int32_t ret = DeviceManagerService::GetInstance().SetDnPolicy(packName, policy); - ASSERT_EQ(ret, ERR_DM_INPUT_PARA_INVALID); -} - -HWTEST_F(DeviceManagerServiceTest, GetDeviceScreenStatus_201, testing::ext::TestSize.Level0) -{ - std::string pkgName = "com.ohos.screenStatusTest"; - std::string networkId = ""; - int32_t screenStatus = -1; - int32_t ret = DeviceManagerService::GetInstance().GetDeviceScreenStatus(pkgName, networkId, screenStatus); - ASSERT_EQ(ret, ERR_DM_INPUT_PARA_INVALID); -} - -HWTEST_F(DeviceManagerServiceTest, GetDeviceScreenStatus_202, testing::ext::TestSize.Level0) -{ - std::string pkgName = ""; - std::string networkId = "networkIdTest"; - int32_t screenStatus = -1; - int32_t ret = DeviceManagerService::GetInstance().GetDeviceScreenStatus(pkgName, networkId, screenStatus); - ASSERT_EQ(ret, ERR_DM_INPUT_PARA_INVALID); - - pkgName = "pkgName"; - DeviceManagerService::GetInstance().softbusListener_ = std::make_shared(); - EXPECT_CALL(*softbusListenerMock_, GetDeviceScreenStatus(_, _)).WillOnce(Return(DM_OK)); - ret = DeviceManagerService::GetInstance().GetDeviceScreenStatus(pkgName, networkId, screenStatus); - ASSERT_EQ(ret, DM_OK); - DeviceManagerService::GetInstance().softbusListener_ = nullptr; -} - -/** - * @tc.name: GetTrustedDeviceList_204 - * @tc.desc:Set the intFlag of GetTrustedDeviceList_004 to true; Return DM_OK - * @tc.type: FUNC - * @tc.require: AR000GHSJK - */ -HWTEST_F(DeviceManagerServiceTest, GetTrustedDeviceList_204, testing::ext::TestSize.Level0) -{ - std::string pkgName = "ohos_test"; - std::string extra = "jdddd"; - std::vector deviceList; - DeviceManagerService::GetInstance().softbusListener_ = std::make_shared(); - DeviceManagerService::GetInstance().InitDMServiceListener(); - EXPECT_CALL(*softbusListenerMock_, GetTrustedDeviceList(_)).WillOnce(Return(ERR_DM_FAILED)); - int ret = DeviceManagerService::GetInstance().GetTrustedDeviceList(pkgName, extra, deviceList); - EXPECT_EQ(ret, ERR_DM_FAILED); - DeviceManagerService::GetInstance().UninitDMServiceListener(); - DeviceManagerService::GetInstance().softbusListener_ = nullptr; -} - -/** - * @tc.name: GetLocalDeviceInfo_203 - * @tc.desc: The return value is ERR_DM_FAILED - * @tc.type: FUNC - * @tc.require: AR000GHSJK - */ -HWTEST_F(DeviceManagerServiceTest, GetLocalDeviceInfo_203, testing::ext::TestSize.Level0) -{ - DmDeviceInfo info; - DeviceManagerService::GetInstance().softbusListener_ = std::make_shared(); - EXPECT_CALL(*softbusListenerMock_, GetLocalDeviceInfo(_)).WillOnce(Return(ERR_DM_FAILED)); - int32_t ret = DeviceManagerService::GetInstance().GetLocalDeviceInfo(info); - EXPECT_EQ(ret, ERR_DM_FAILED); - DeviceManagerService::GetInstance().softbusListener_ = nullptr; -} - -/** - * @tc.name: GetLocalDeviceInfo_204 - * @tc.desc: The return value is ERR_DM_FAILED - * @tc.type: FUNC - * @tc.require: AR000GHSJK - */ -HWTEST_F(DeviceManagerServiceTest, GetLocalDeviceInfo_204, testing::ext::TestSize.Level0) -{ - DmDeviceInfo info; - DeletePermission(); - DeviceManagerService::GetInstance().softbusListener_ = std::make_shared(); - EXPECT_CALL(*softbusListenerMock_, GetLocalDeviceInfo(_)).Times(::testing::AtLeast(1)).WillOnce(Return(DM_OK)); - int32_t ret = DeviceManagerService::GetInstance().GetLocalDeviceInfo(info); - EXPECT_EQ(ret, DM_OK); - DeviceManagerService::GetInstance().softbusListener_ = nullptr; -} - -HWTEST_F(DeviceManagerServiceTest, BindTarget_201, testing::ext::TestSize.Level0) -{ - std::string pkgName = "pkgName"; - PeerTargetId targetId; - targetId.wifiIp = "wifi_Ip"; - std::map bindParam; - std::string key = PARAM_KEY_TARGET_ID; - std::string value = "186"; - bindParam.insert(std::make_pair(key, value)); - int32_t ret = DeviceManagerService::GetInstance().BindTarget(pkgName, targetId, bindParam); - EXPECT_EQ(ret, ERR_DM_INPUT_PARA_INVALID); - - targetId.wifiIp = "178.168.1.2"; - EXPECT_CALL(*softbusListenerMock_, GetIPAddrTypeFromCache(_, _, _)).WillOnce(Return(DM_OK)); - ret = DeviceManagerService::GetInstance().BindTarget(pkgName, targetId, bindParam); - EXPECT_EQ(ret, ERR_DM_INPUT_PARA_INVALID); -} - -HWTEST_F(DeviceManagerServiceTest, SetLocalDeviceName_201, testing::ext::TestSize.Level0) -{ - std::string localDeviceName = "localDeviceName_201"; - std::string localDisplayName = "localDisplayName_201"; - DeviceManagerService::GetInstance().softbusListener_ = nullptr; - int32_t ret = DeviceManagerService::GetInstance().SetLocalDeviceName(localDeviceName, localDisplayName); - EXPECT_EQ(ret, ERR_DM_POINT_NULL); - - DeviceManagerService::GetInstance().softbusListener_ = std::make_shared(); - EXPECT_CALL(*softbusListenerMock_, SetLocalDeviceName(_, _)).WillOnce(Return(DM_OK)); - ret = DeviceManagerService::GetInstance().SetLocalDeviceName(localDeviceName, localDisplayName); - EXPECT_EQ(ret, DM_OK); - - EXPECT_CALL(*softbusListenerMock_, SetLocalDeviceName(_, _)).WillOnce(Return(ERR_DM_FAILED)); - ret = DeviceManagerService::GetInstance().SetLocalDeviceName(localDeviceName, localDisplayName); - EXPECT_EQ(ret, ERR_DM_FAILED); - DeviceManagerService::GetInstance().softbusListener_ = nullptr; -} - -HWTEST_F(DeviceManagerServiceTest, UnBindDevice_201, testing::ext::TestSize.Level0) -{ - std::string pkgName = "com.ohos.test"; - std::string deviceId = "123456"; - EXPECT_CALL(*kVAdapterManagerMock_, Get(_, _)).WillOnce(Return(DM_OK)); - EXPECT_CALL(*softbusCacheMock_, GetUdidByUdidHash(_, _)).WillOnce(Return(DM_OK)); - EXPECT_CALL(*deviceManagerServiceImplMock_, GetBindLevel(_, _, _, _)).WillOnce(Return(0)); - int32_t ret = DeviceManagerService::GetInstance().UnBindDevice(pkgName, deviceId); - EXPECT_EQ(ret, ERR_DM_FAILED); -} - -HWTEST_F(DeviceManagerServiceTest, UnBindDevice_202, testing::ext::TestSize.Level0) -{ - std::string pkgName = "com.ohos.test"; - std::string deviceId = "123456"; - EXPECT_CALL(*kVAdapterManagerMock_, Get(_, _)).WillOnce(Return(DM_OK)); - EXPECT_CALL(*softbusCacheMock_, GetUdidByUdidHash(_, _)).WillOnce(Return(DM_OK)); - EXPECT_CALL(*deviceManagerServiceImplMock_, GetBindLevel(_, _, _, _)).WillOnce(Return(0)); - int32_t ret = DeviceManagerService::GetInstance().UnBindDevice(pkgName, deviceId); - EXPECT_EQ(ret, ERR_DM_FAILED); - - EXPECT_CALL(*kVAdapterManagerMock_, Get(_, _)).WillOnce(Return(DM_OK)); - EXPECT_CALL(*softbusCacheMock_, GetUdidByUdidHash(_, _)).Times(::testing::AtLeast(1)).WillOnce(Return(DM_OK)); - EXPECT_CALL(*deviceManagerServiceImplMock_, GetBindLevel(_, _, _, _)).WillOnce(Return(DM_IDENTICAL_ACCOUNT)); - EXPECT_CALL(*deviceManagerServiceImplMock_, UnBindDevice(_, _, _)).WillOnce(Return(DM_OK)); - ret = DeviceManagerService::GetInstance().UnBindDevice(pkgName, deviceId); - EXPECT_EQ(ret, DM_OK); - - EXPECT_CALL(*kVAdapterManagerMock_, Get(_, _)).WillOnce(Return(DM_OK)); - EXPECT_CALL(*softbusCacheMock_, GetUdidByUdidHash(_, _)).Times(::testing::AtLeast(1)).WillOnce(Return(DM_OK)); - EXPECT_CALL(*deviceManagerServiceImplMock_, GetBindLevel(_, _, _, _)).WillOnce(Return(DM_IDENTICAL_ACCOUNT)); - EXPECT_CALL(*deviceManagerServiceImplMock_, UnBindDevice(_, _, _)).WillOnce(Return(ERR_DM_FAILED)); - ret = DeviceManagerService::GetInstance().UnBindDevice(pkgName, deviceId); - EXPECT_EQ(ret, ERR_DM_FAILED); -} - -HWTEST_F(DeviceManagerServiceTest, LoadHardwareFwkService_201, testing::ext::TestSize.Level0) -{ - DeviceManagerService::GetInstance().softbusListener_ = std::make_shared(); - EXPECT_CALL(*softbusListenerMock_, GetTrustedDeviceList(_)).WillOnce(Return(DM_OK)); - DeviceManagerService::GetInstance().LoadHardwareFwkService(); - EXPECT_CALL(*softbusListenerMock_, GetTrustedDeviceList(_)).WillOnce(Return(ERR_DM_FAILED)); - DeviceManagerService::GetInstance().LoadHardwareFwkService(); - DeviceManagerService::GetInstance().softbusListener_ = nullptr; - EXPECT_EQ(DeviceManagerService::GetInstance().softbusListener_, nullptr); -} - -/** - * @tc.name: UnAuthenticateDevice_201 - * @tc.desc: Set intFlag for UnAuthenticateDevice to true and pkgName to com.ohos.test; set deviceId null ,The return - * value is SOFTBUS_IPC_ERR - * @tc.type: FUNC - * @tc.require: AR000GHSJK - */ -HWTEST_F(DeviceManagerServiceTest, UnAuthenticateDevice_201, testing::ext::TestSize.Level0) -{ - std::string pkgName = "com.ohos.test"; - std::string networkId = "12345"; - EXPECT_CALL(*softbusListenerMock_, GetUdidByNetworkId(_, _)).WillOnce(Return(DM_OK)); - EXPECT_CALL(*deviceManagerServiceImplMock_, GetBindLevel(_, _, _, _)).WillOnce(Return(0)); - int ret = DeviceManagerService::GetInstance().UnAuthenticateDevice(pkgName, networkId); - EXPECT_EQ(ret, ERR_DM_FAILED); - - EXPECT_CALL(*softbusListenerMock_, GetUdidByNetworkId(_, _)).WillOnce(Return(DM_OK)); - EXPECT_CALL(*deviceManagerServiceImplMock_, GetBindLevel(_, _, _, _)).WillOnce(Return(1)); - EXPECT_CALL(*deviceManagerServiceImplMock_, UnAuthenticateDevice(_, _, _)).WillOnce(Return(ERR_DM_FAILED)); - ret = DeviceManagerService::GetInstance().UnAuthenticateDevice(pkgName, networkId); - EXPECT_EQ(ret, ERR_DM_FAILED); - - EXPECT_CALL(*softbusListenerMock_, GetUdidByNetworkId(_, _)).WillOnce(Return(DM_OK)); - EXPECT_CALL(*deviceManagerServiceImplMock_, GetBindLevel(_, _, _, _)).WillOnce(Return(1)); - EXPECT_CALL(*deviceManagerServiceImplMock_, UnAuthenticateDevice(_, _, _)).WillOnce(Return(DM_OK)); - ret = DeviceManagerService::GetInstance().UnAuthenticateDevice(pkgName, networkId); - EXPECT_EQ(ret, DM_OK); - - int32_t userId = 123456; - std::string accountId = "accountId"; - std::string accountName = "accountName"; - std::multimap deviceMap; - deviceMap.insert(std::make_pair("accountId", userId)); - deviceMap.insert(std::make_pair("accountName", 1)); - EXPECT_CALL(*deviceManagerServiceImplMock_, GetDeviceIdAndUserId(_, _)).WillOnce(Return(deviceMap)); - EXPECT_CALL(*cryptoMock_, GetAccountIdHash(_, _)).WillOnce(Return(DM_OK)); - DeviceManagerService::GetInstance().HandleAccountLogout(userId, accountId, accountName); - - EXPECT_CALL(*deviceManagerServiceImplMock_, GetDeviceIdAndUserId(_, _)).WillOnce(Return(deviceMap)); - EXPECT_CALL(*cryptoMock_, GetAccountIdHash(_, _)).WillOnce(Return(ERR_DM_FAILED)); - DeviceManagerService::GetInstance().HandleAccountLogout(userId, accountId, accountName); - - int32_t curUserId = 0; - int32_t preUserId = 1; - std::map curUserDeviceMap; - curUserDeviceMap["curUserId"] = userId; - curUserDeviceMap["preUserId"] = userId; - std::map preUserDeviceMap; - preUserDeviceMap["accountId"] = userId; - preUserDeviceMap["accountName"] = 1; - EXPECT_CALL(*deviceManagerServiceImplMock_, - GetDeviceIdAndBindLevel(_)).WillOnce(Return(curUserDeviceMap)).WillOnce(Return(preUserDeviceMap)); - EXPECT_CALL(*multipleUserConnectorMock_, GetForegroundUserIds(_)).WillOnce(Return(ERR_DM_FAILED)); - EXPECT_CALL(*multipleUserConnectorMock_, GetBackgroundUserIds(_)).WillOnce(Return(ERR_DM_FAILED)); - DeviceManagerService::GetInstance().HandleUserSwitched(curUserId, preUserId); - - int32_t removeId = 123; - deviceMap.insert(std::make_pair("removeId", removeId)); - EXPECT_CALL(*deviceManagerServiceImplMock_, GetDeviceIdAndUserId(_)).WillOnce(Return(deviceMap)); - DeviceManagerService::GetInstance().HandleUserRemoved(userId); -} - -HWTEST_F(DeviceManagerServiceTest, BindDevice_205, testing::ext::TestSize.Level0) -{ - std::string pkgName = "com.ohos.test"; - int32_t authType = 1; - std::string deviceId = "1234"; - std::string bindParam; - EXPECT_CALL(*kVAdapterManagerMock_, Get(_, _)).WillOnce(Return(DM_OK)); - EXPECT_CALL(*softbusListenerMock_, GetTargetInfoFromCache(_, _, _)).WillOnce(Return(DM_OK)); - int32_t ret = DeviceManagerService::GetInstance().BindDevice(pkgName, authType, deviceId, bindParam); - EXPECT_EQ(ret, ERR_DM_INPUT_PARA_INVALID); - - ProcessInfo processInfo; - processInfo.pkgName = "pkgName"; - if (DeviceManagerService::GetInstance().discoveryMgr_ == nullptr) { - DeviceManagerService::GetInstance().InitDMServiceListener(); - } - DeviceManagerService::GetInstance().ClearDiscoveryCache(processInfo); - DeviceManagerService::GetInstance().RemoveNotifyRecord(processInfo); - - std::vector foregroundUserIds; - std::vector backgroundUserIds; - std::string remoteUdid = "remoteUdid"; - if (DeviceManagerService::GetInstance().softbusListener_ == nullptr) { - DeviceManagerService::GetInstance().softbusListener_ = std::make_shared(); - } - - EXPECT_CALL(*multipleUserConnectorMock_, GetForegroundUserIds(_)).WillOnce(Return(ERR_DM_FAILED)); - DeviceManagerService::GetInstance().ProcessSyncUserIds(foregroundUserIds, backgroundUserIds, remoteUdid); - DeviceManagerService::GetInstance().softbusListener_ = nullptr; -} - -/** - * @tc.name: AuthenticateDevice_205 - * @tc.desc: Set intFlag for GAuthenticateDevice to True and deviceId to null; Return ERR_DM_BIND_INPUT_PARA_INVALID - * @tc.type: FUNC - * @tc.require: AR000GHSJK - */ -HWTEST_F(DeviceManagerServiceTest, AuthenticateDevice_205, testing::ext::TestSize.Level0) -{ - std::string pkgName = "com.ohos.test"; - std::string extra = "jdddd"; - int32_t authType = 0; - std::string deviceId = " 2345"; - EXPECT_CALL(*kVAdapterManagerMock_, Get(_, _)).Times(::testing::AtLeast(1)).WillOnce(Return(DM_OK)); - EXPECT_CALL(*softbusListenerMock_, GetTargetInfoFromCache(_, _, _)).WillOnce(Return(DM_OK)); - int32_t ret = DeviceManagerService::GetInstance().AuthenticateDevice(pkgName, authType, deviceId, extra); - EXPECT_EQ(ret, ERR_DM_INPUT_PARA_INVALID); - - std::vector peerUdids; - int32_t userId = 123456; - if (DeviceManagerService::GetInstance().softbusListener_ == nullptr) { - DeviceManagerService::GetInstance().softbusListener_ = std::make_shared(); - } - DeviceManagerService::GetInstance().SendUserRemovedBroadCast(peerUdids, userId); - - std::vector foregroundUserIds; - std::vector backgroundUserIds; - bool isNeedResponse = false; - foregroundUserIds.push_back(1); - foregroundUserIds.push_back(101); - backgroundUserIds.push_back(102); - backgroundUserIds.push_back(12); - DeviceManagerService::GetInstance().SendUserIdsBroadCast(peerUdids, foregroundUserIds, - backgroundUserIds, isNeedResponse); - - std::vector remoteUserIdInfos; - UserIdInfo userIdInfo(true, 1); - remoteUserIdInfos.push_back(userIdInfo); - UserIdInfo userIdInfo1(true, 102); - remoteUserIdInfos.push_back(userIdInfo1); - UserIdInfo userIdInfo2(false, 103); - remoteUserIdInfos.push_back(userIdInfo2); - UserIdInfo userIdInfo3(false, 104); - remoteUserIdInfos.push_back(userIdInfo3); - std::string remoteUdid = "remoteDeviceId"; - isNeedResponse = true; - EXPECT_CALL(*multipleUserConnectorMock_, GetForegroundUserIds(_)) - .WillOnce(Return(ERR_DM_FAILED)).WillOnce(Return(ERR_DM_FAILED)); - EXPECT_CALL(*multipleUserConnectorMock_, GetBackgroundUserIds(_)).WillOnce(Return(ERR_DM_FAILED)); - DeviceManagerService::GetInstance().HandleUserIdsBroadCast(remoteUserIdInfos, remoteUdid, isNeedResponse); - - std::vector foregroundUserVec; - foregroundUserVec.push_back(1); - foregroundUserVec.push_back(102); - EXPECT_CALL(*multipleUserConnectorMock_, GetForegroundUserIds(_)) - .WillOnce(DoAll(SetArgReferee<0>(foregroundUserVec), Return(DM_OK))).WillOnce(Return(DM_OK)); - EXPECT_CALL(*multipleUserConnectorMock_, GetBackgroundUserIds(_)).WillOnce(Return(DM_OK)); - DeviceManagerService::GetInstance().HandleUserIdsBroadCast(remoteUserIdInfos, remoteUdid, isNeedResponse); - DeviceManagerService::GetInstance().softbusListener_ = nullptr; -} - -HWTEST_F(DeviceManagerServiceTest, RegDevStateCallbackToService_201, testing::ext::TestSize.Level0) -{ - std::string pkgName = "pkgName"; - int32_t ret = DeviceManagerService::GetInstance().RegDevStateCallbackToService(pkgName); - EXPECT_EQ(ret, DM_OK); - - std::string msg; - DeviceManagerService::GetInstance().HandleUserIdCheckSumChange(msg); - msg = R"( - { - "processType" : 1, - "g_authType" : 1, - "userId" : "123" - }))"; - DeviceManagerService::GetInstance().HandleUserIdCheckSumChange(msg); - - msg = R"( - { - "processType" : 1, - "g_authType" : 1, - "userId" : "123" - })"; - DeviceManagerService::GetInstance().HandleUserIdCheckSumChange(msg); - - msg = R"( - { - "networkId" : "networkId_001", - "g_authType" : 1, - "userId" : "123" - })"; - DeviceManagerService::GetInstance().HandleUserIdCheckSumChange(msg); - - nlohmann::json msgJsonObj; - msgJsonObj["networkId"] = "networkId_001"; - msgJsonObj["discoverType"] = 0; - msg = msgJsonObj.dump(); - EXPECT_CALL(*softbusCacheMock_, GetUdidFromCache(_, _)).WillOnce(DoAll(SetArgReferee<1>(""), Return(DM_OK))); - DeviceManagerService::GetInstance().HandleUserIdCheckSumChange(msg); - - EXPECT_CALL(*softbusCacheMock_, GetUdidFromCache(_, _)).WillOnce(DoAll(SetArgReferee<1>("udid01"), Return(DM_OK))) - .WillOnce(DoAll(SetArgReferee<1>("udid01"), Return(DM_OK))); - DeviceManagerService::GetInstance().HandleUserIdCheckSumChange(msg); - - msgJsonObj["discoverType"] = 1; - msg = msgJsonObj.dump(); - DeviceManagerService::GetInstance().HandleUserIdCheckSumChange(msg); -} - -HWTEST_F(DeviceManagerServiceTest, GetTrustedDeviceList_205, testing::ext::TestSize.Level0) -{ - std::string pkgName; - std::string extra = "extra"; - std::vector deviceList; - int ret = DeviceManagerService::GetInstance().GetTrustedDeviceList(pkgName, extra, deviceList); - EXPECT_EQ(ret, ERR_DM_INPUT_PARA_INVALID); - - pkgName = "jjdjk_pkgName"; - DeviceManagerService::GetInstance().softbusListener_ = nullptr; - ret = DeviceManagerService::GetInstance().GetTrustedDeviceList(pkgName, extra, deviceList); - EXPECT_EQ(ret, ERR_DM_POINT_NULL); - - DeviceManagerService::GetInstance().softbusListener_ = std::make_shared(); - DeviceManagerService::GetInstance().InitDMServiceListener(); - EXPECT_CALL(*softbusListenerMock_, GetTrustedDeviceList(_)).WillOnce(Return(ERR_DM_FAILED)); - ret = DeviceManagerService::GetInstance().GetTrustedDeviceList(pkgName, extra, deviceList); - EXPECT_EQ(ret, ERR_DM_FAILED); - - std::vector onlineDeviceList; - DmDeviceInfo dmDeviceInfo; - dmDeviceInfo.authForm = DmAuthForm::ACROSS_ACCOUNT; - dmDeviceInfo.networkType = 1; - onlineDeviceList.push_back(dmDeviceInfo); - std::unordered_map udidMap; - udidMap.insert(std::make_pair("udid01", DmAuthForm::IDENTICAL_ACCOUNT)); - udidMap.insert(std::make_pair("udid02", DmAuthForm::ACROSS_ACCOUNT)); - EXPECT_CALL(*softbusListenerMock_, GetTrustedDeviceList(_)) - .WillOnce(DoAll(SetArgReferee<0>(onlineDeviceList), Return(DM_OK))); - EXPECT_CALL(*deviceManagerServiceImplMock_, GetAppTrustDeviceIdList(_)).WillOnce(Return(udidMap)); - EXPECT_CALL(*softbusListenerMock_, GetUdidByNetworkId(_, _)) - .WillOnce(DoAll(SetArgReferee<1>("udid01"), Return(DM_OK))); - ret = DeviceManagerService::GetInstance().GetTrustedDeviceList(pkgName, extra, deviceList); - EXPECT_EQ(ret, DM_OK); - - pkgName = "ohos.deviceprofile"; - EXPECT_CALL(*softbusListenerMock_, GetTrustedDeviceList(_)) - .WillOnce(DoAll(SetArgReferee<0>(onlineDeviceList), Return(DM_OK))); - EXPECT_CALL(*deviceManagerServiceImplMock_, GetAppTrustDeviceIdList(_)).WillOnce(Return(udidMap)); - EXPECT_CALL(*softbusListenerMock_, GetUdidByNetworkId(_, _)) - .WillOnce(DoAll(SetArgReferee<1>("udid02"), Return(DM_OK))); - ret = DeviceManagerService::GetInstance().GetTrustedDeviceList(pkgName, extra, deviceList); - EXPECT_EQ(ret, DM_OK); - DeviceManagerService::GetInstance().UninitDMServiceListener(); - DeviceManagerService::GetInstance().softbusListener_ = nullptr; -} - -HWTEST_F(DeviceManagerServiceTest, DmHiDumper_201, testing::ext::TestSize.Level0) -{ - std::vector args; - args.push_back(std::string("-getTrustlist")); - std::string result; - std::vector deviceList; - DmDeviceInfo dmDeviceInfo; - dmDeviceInfo.authForm = DmAuthForm::ACROSS_ACCOUNT; - dmDeviceInfo.deviceTypeId = 0; - deviceList.push_back(dmDeviceInfo); - DeviceManagerService::GetInstance().softbusListener_ = std::make_shared(); - EXPECT_CALL(*softbusListenerMock_, GetTrustedDeviceList(_)) - .WillOnce(DoAll(SetArgReferee<0>(deviceList), Return(DM_OK))); - int ret = DeviceManagerService::GetInstance().DmHiDumper(args, result); - EXPECT_EQ(ret, DM_OK); - - EXPECT_CALL(*softbusListenerMock_, GetTrustedDeviceList(_)) - .WillOnce(DoAll(SetArgReferee<0>(deviceList), Return(ERR_DM_FAILED))); - ret = DeviceManagerService::GetInstance().DmHiDumper(args, result); - EXPECT_EQ(ret, ERR_DM_FAILED); - - std::vector foregroundUserIds; - foregroundUserIds.push_back(1); - std::vector backgroundUserIds; - backgroundUserIds.push_back(2); - std::string remoteUdid = "remoteUdid"; - if (DeviceManagerService::GetInstance().softbusListener_ == nullptr) { - DeviceManagerService::GetInstance().softbusListener_ = std::make_shared(); - } - EXPECT_CALL(*multipleUserConnectorMock_, GetForegroundUserIds(_)).WillOnce(Return(ERR_DM_FAILED)); - DeviceManagerService::GetInstance().ProcessSyncUserIds(foregroundUserIds, backgroundUserIds, remoteUdid); -} - -HWTEST_F(DeviceManagerServiceTest, SetDnPolicy_207, testing::ext::TestSize.Level0) -{ - SetSetDnPolicyPermission(); - std::string packName = "com.ohos.test"; - std::map policy; - policy[PARAM_KEY_POLICY_STRATEGY_FOR_BLE] = "100a"; - policy[PARAM_KEY_POLICY_TIME_OUT] = "10"; - std::string processName = "collaboration_service"; - EXPECT_CALL(*permissionManagerMock_, CheckInterfacePermission(_)).WillOnce(Return(false)); - int32_t ret = DeviceManagerService::GetInstance().SetDnPolicy(packName, policy); - ASSERT_EQ(ret, ERR_DM_INPUT_PARA_INVALID); - - policy[PARAM_KEY_POLICY_STRATEGY_FOR_BLE] = "100"; - policy[PARAM_KEY_POLICY_TIME_OUT] = "10a"; - EXPECT_CALL(*permissionManagerMock_, CheckInterfacePermission(_)).WillOnce(Return(false)); - ret = DeviceManagerService::GetInstance().SetDnPolicy(packName, policy); - ASSERT_EQ(ret, ERR_DM_INPUT_PARA_INVALID); -} - -HWTEST_F(DeviceManagerServiceTest, GetTrustedDeviceList_206, testing::ext::TestSize.Level0) -{ - std::string pkgName; - std::vector deviceList; - int ret = DeviceManagerService::GetInstance().GetTrustedDeviceList(pkgName, deviceList); - EXPECT_EQ(ret, ERR_DM_INPUT_PARA_INVALID); - - pkgName = "jjdjk_pkgName"; - DeviceManagerService::GetInstance().softbusListener_ = nullptr; - ret = DeviceManagerService::GetInstance().GetTrustedDeviceList(pkgName, deviceList); - EXPECT_EQ(ret, ERR_DM_POINT_NULL); - - DeviceManagerService::GetInstance().softbusListener_ = std::make_shared(); - DeviceManagerService::GetInstance().InitDMServiceListener(); - EXPECT_CALL(*softbusListenerMock_, GetTrustedDeviceList(_)).WillOnce(Return(ERR_DM_FAILED)); - ret = DeviceManagerService::GetInstance().GetTrustedDeviceList(pkgName, deviceList); - EXPECT_EQ(ret, ERR_DM_FAILED); - - std::vector onlineDeviceList; - DmDeviceInfo dmDeviceInfo; - dmDeviceInfo.authForm = DmAuthForm::ACROSS_ACCOUNT; - dmDeviceInfo.networkType = 1; - onlineDeviceList.push_back(dmDeviceInfo); - std::unordered_map udidMap; - udidMap.insert(std::make_pair("udid01", DmAuthForm::IDENTICAL_ACCOUNT)); - udidMap.insert(std::make_pair("udid02", DmAuthForm::ACROSS_ACCOUNT)); - EXPECT_CALL(*softbusListenerMock_, GetTrustedDeviceList(_)) - .WillOnce(DoAll(SetArgReferee<0>(onlineDeviceList), Return(DM_OK))); - EXPECT_CALL(*deviceManagerServiceImplMock_, GetAppTrustDeviceIdList(_)).WillOnce(Return(udidMap)); - EXPECT_CALL(*softbusListenerMock_, GetUdidByNetworkId(_, _)) - .WillOnce(DoAll(SetArgReferee<1>("udid01"), Return(DM_OK))); - ret = DeviceManagerService::GetInstance().GetTrustedDeviceList(pkgName, deviceList); - EXPECT_EQ(ret, DM_OK); - - pkgName = "ohos.deviceprofile"; - EXPECT_CALL(*softbusListenerMock_, GetTrustedDeviceList(_)) - .WillOnce(DoAll(SetArgReferee<0>(onlineDeviceList), Return(DM_OK))); - EXPECT_CALL(*deviceManagerServiceImplMock_, GetAppTrustDeviceIdList(_)).WillOnce(Return(udidMap)); - EXPECT_CALL(*softbusListenerMock_, GetUdidByNetworkId(_, _)) - .WillOnce(DoAll(SetArgReferee<1>("udid02"), Return(DM_OK))); - ret = DeviceManagerService::GetInstance().GetTrustedDeviceList(pkgName, deviceList); - EXPECT_EQ(ret, DM_OK); - DeviceManagerService::GetInstance().UninitDMServiceListener(); - DeviceManagerService::GetInstance().softbusListener_ = nullptr; -} - -HWTEST_F(DeviceManagerServiceTest, ParseCheckSumMsg_201, testing::ext::TestSize.Level0) -{ - std::string msg; - std::string networkId; - uint32_t discoveryType = 0; - bool isChange = false; - nlohmann::json msgJsonObj; - msgJsonObj["networkId"] = "networkId001"; - msgJsonObj["discoverType"] = 1; - msgJsonObj["ischange"] = false; - msg = msgJsonObj.dump(); - int ret = DeviceManagerService::GetInstance().ParseCheckSumMsg(msg, networkId, discoveryType, isChange); - EXPECT_EQ(ret, DM_OK); -} - -} // namespace -} // namespace DistributedHardware -} // namespace OHOS +/* + * Copyright (c) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "UTTest_device_manager_service.h" + +#include "accesstoken_kit.h" +#include "dm_constants.h" +#include "dm_device_info.h" +#include "dm_log.h" +#include "nativetoken_kit.h" +#include "token_setproc.h" +#include "softbus_common.h" +#include "softbus_error_code.h" + +using namespace OHOS::Security::AccessToken; +using namespace testing; +using namespace testing::ext; +namespace OHOS { +namespace DistributedHardware { +namespace { +void DeletePermission() +{ + const int32_t permsNum = 1; + const int32_t indexZero = 0; + uint64_t tokenId; + const char *perms[permsNum]; + perms[indexZero] = "ohos.permission"; + NativeTokenInfoParams infoInstance = { + .dcapsNum = 0, + .permsNum = permsNum, + .aclsNum = 0, + .dcaps = NULL, + .perms = perms, + .acls = NULL, + .processName = "DeviceManagerServiceTest", + .aplStr = "system_core", + }; + tokenId = GetAccessTokenId(&infoInstance); + SetSelfTokenID(tokenId); + OHOS::Security::AccessToken::AccessTokenKit::ReloadNativeTokenInfo(); +} + +void SetSetDnPolicyPermission() +{ + const int32_t permsNum = 1; + const int32_t indexZero = 0; + uint64_t tokenId; + const char *perms[permsNum]; + perms[indexZero] = "ohos.permission.ACCESS_SERVICE_DM"; + NativeTokenInfoParams infoInstance = { + .dcapsNum = 0, + .permsNum = permsNum, + .aclsNum = 0, + .dcaps = NULL, + .perms = perms, + .acls = NULL, + .processName = "collaboration_service", + .aplStr = "system_core", + }; + tokenId = GetAccessTokenId(&infoInstance); + SetSelfTokenID(tokenId); + OHOS::Security::AccessToken::AccessTokenKit::ReloadNativeTokenInfo(); +} + +/** + * @tc.name: GetTrustedDeviceList_201 + * @tc.type: FUNC + */ +HWTEST_F(DeviceManagerServiceTest, GetTrustedDeviceList_201, testing::ext::TestSize.Level0) +{ + std::string pkgName = "pkgName"; + EXPECT_CALL(*appManagerMock_, GetAppId()).Times(::testing::AtLeast(1)).WillOnce(Return("appId")); + DeviceManagerService::GetInstance().listener_ = std::make_shared(); + DeviceManagerService::GetInstance().RegisterCallerAppId(pkgName); + DeletePermission(); + const std::string extra; + std::vector deviceList; + DeviceManagerService::GetInstance().softbusListener_ = nullptr; + int32_t ret = DeviceManagerService::GetInstance().GetTrustedDeviceList(pkgName, extra, deviceList); + EXPECT_EQ(ret, ERR_DM_POINT_NULL); +} + +/** + * @tc.name: GetDeviceInfo_201 + * @tc.type: FUNC + */ +HWTEST_F(DeviceManagerServiceTest, GetDeviceInfo_201, testing::ext::TestSize.Level0) +{ + DeletePermission(); + std::string networkId = "123"; + DmDeviceInfo deviceIndo; + int32_t ret = DeviceManagerService::GetInstance().GetDeviceInfo(networkId, deviceIndo); + EXPECT_EQ(ret, ERR_DM_NO_PERMISSION); + ret = DeviceManagerService::GetInstance().GetLocalDeviceInfo(deviceIndo); + EXPECT_EQ(ret, ERR_DM_POINT_NULL); +} + +/** + * @tc.name: RegisterUiStateCallback_001 + * @tc.type: FUNC + */ +HWTEST_F(DeviceManagerServiceTest, RegisterUiStateCallback_201, testing::ext::TestSize.Level0) +{ + DeletePermission(); + std::string pkgName = "pkgName"; + int32_t ret = DeviceManagerService::GetInstance().RegisterUiStateCallback(pkgName); + EXPECT_EQ(ret, ERR_DM_NO_PERMISSION); +} + +/** + * @tc.name: UnRegisterUiStateCallback_001 + * @tc.type: FUNC + */ +HWTEST_F(DeviceManagerServiceTest, UnRegisterUiStateCallback_201, testing::ext::TestSize.Level0) +{ + DeletePermission(); + std::string pkgName = "pkgName"; + int32_t ret = DeviceManagerService::GetInstance().UnRegisterUiStateCallback(pkgName); + EXPECT_EQ(ret, ERR_DM_NO_PERMISSION); +} + +/** + * @tc.name: IsDMImplSoLoaded_001 + * @tc.type: FUNC + */ +HWTEST_F(DeviceManagerServiceTest, IsDMImplSoLoaded_201, testing::ext::TestSize.Level0) +{ + std::string pkgName = "pkgName"; + std::map advertiseParam; + advertiseParam[PARAM_KEY_META_TYPE] = "1"; + DeviceManagerService::GetInstance().StopAdvertising(pkgName, advertiseParam); + std::map advertiseParam2; + advertiseParam[PARAM_KEY_PUBLISH_ID] = "12"; + DeviceManagerService::GetInstance().StopAdvertising(pkgName, advertiseParam2); + PeerTargetId targetId; + targetId.deviceId = "123"; + std::map bindParam; + bindParam[PARAM_KEY_META_TYPE] = "1"; + DeviceManagerService::GetInstance().BindTarget(pkgName, targetId, bindParam); + targetId.wifiIp = "192.168.1.1"; + std::map bindParam2; + DeviceManagerService::GetInstance().BindTarget(pkgName, targetId, bindParam2); + targetId.deviceId = "123"; + std::map unbindParam; + unbindParam[PARAM_KEY_META_TYPE] = "1"; + DeviceManagerService::GetInstance().UnbindTarget(pkgName, targetId, unbindParam); + DeviceManagerService::GetInstance().IsDMServiceImplReady(); + bool ret = DeviceManagerService::GetInstance().IsDMImplSoLoaded(); + EXPECT_EQ(ret, true); +} + +/** + * @tc.name: RegisterPinHolderCallback_201 + * @tc.type: FUNC + */ +HWTEST_F(DeviceManagerServiceTest, RegisterPinHolderCallback_201, testing::ext::TestSize.Level0) +{ + std::string pkgName = "CollaborationFwk"; + EXPECT_CALL(*permissionManagerMock_, CheckInterfacePermission(_)).WillOnce(Return(false)); + int32_t ret = DeviceManagerService::GetInstance().RegisterPinHolderCallback(pkgName); + EXPECT_EQ(ret, ERR_DM_INPUT_PARA_INVALID); +} + +/** + * @tc.name: CreatePinHolder_201 + * @tc.type: FUNC + */ +HWTEST_F(DeviceManagerServiceTest, CreatePinHolder_201, testing::ext::TestSize.Level0) +{ + std::string pkgName = "CollaborationFwk"; + PeerTargetId targetId; + DmPinType pinType = NUMBER_PIN_CODE; + std::string payload; + EXPECT_CALL(*permissionManagerMock_, CheckInterfacePermission(_)). + Times(::testing::AtLeast(1)).WillOnce(Return(false)); + int32_t ret = DeviceManagerService::GetInstance().CreatePinHolder(pkgName, targetId, pinType, payload); + EXPECT_EQ(ret, ERR_DM_INPUT_PARA_INVALID); +} + +/** + * @tc.name: GetDeviceSecurityLevel_201 + * @tc.type: FUNC + */ +HWTEST_F(DeviceManagerServiceTest, GetDeviceSecurityLevel_201, testing::ext::TestSize.Level0) +{ + std::string pkgName = "pkgName"; + std::string networkId = "123"; + int32_t securityLevel; + DeviceManagerService::GetInstance().softbusListener_ = std::make_shared(); + EXPECT_CALL(*softbusListenerMock_, GetDeviceSecurityLevel(_, _)).WillOnce(Return(ERR_DM_FAILED)); + int32_t ret = DeviceManagerService::GetInstance().GetDeviceSecurityLevel(pkgName, networkId, securityLevel); + EXPECT_EQ(ret, ERR_DM_FAILED); + DeviceManagerService::GetInstance().softbusListener_ = nullptr; +} + +/** + * @tc.name: CheckAccessControl_001 + * @tc.type: FUNC + */ +HWTEST_F(DeviceManagerServiceTest, CheckAccessControl_201, testing::ext::TestSize.Level0) +{ + DmAccessCaller caller; + DmAccessCallee callee; + EXPECT_CALL(*softbusListenerMock_, GetUdidByNetworkId(_, _)).WillOnce(Return(DM_OK)).WillOnce(Return(DM_OK)); + bool ret = DeviceManagerService::GetInstance().CheckAccessControl(caller, callee); + EXPECT_EQ(ret, true); +} + +/** + * @tc.name: CheckAccessControl_002 + * @tc.type: FUNC + */ +HWTEST_F(DeviceManagerServiceTest, CheckAccessControl_202, testing::ext::TestSize.Level0) +{ + DmAccessCaller caller; + DmAccessCallee callee; + DeletePermission(); + bool ret = DeviceManagerService::GetInstance().CheckAccessControl(caller, callee); + EXPECT_EQ(ret, false); +} + +/** + * @tc.name: CheckIsSameAccount_201 + * @tc.type: FUNC + */ +HWTEST_F(DeviceManagerServiceTest, CheckIsSameAccount_201, testing::ext::TestSize.Level0) +{ + DmAccessCaller caller; + DmAccessCallee callee; + EXPECT_CALL(*softbusListenerMock_, GetUdidByNetworkId(_, _)).WillOnce(Return(DM_OK)).WillOnce(Return(DM_OK)); + bool ret = DeviceManagerService::GetInstance().CheckIsSameAccount(caller, callee); + EXPECT_EQ(ret, true); +} + +/** + * @tc.name: CheckIsSameAccount_202 + * @tc.type: FUNC + */ +HWTEST_F(DeviceManagerServiceTest, CheckIsSameAccount_202, testing::ext::TestSize.Level0) +{ + DmAccessCaller caller; + DmAccessCallee callee; + DeletePermission(); + bool ret = DeviceManagerService::GetInstance().CheckIsSameAccount(caller, callee); + EXPECT_EQ(ret, false); +} + +/** + * @tc.name: InitAccountInfo_201 + * @tc.type: FUNC + */ +HWTEST_F(DeviceManagerServiceTest, InitAccountInfo_201, testing::ext::TestSize.Level0) +{ + int32_t userId = 100; + std::string commonEventType = "usual.event.USER_SWITCHED"; + std::map curUserDeviceMap; + EXPECT_CALL(*deviceManagerServiceImplMock_, GetDeviceIdAndBindLevel(_)) + .WillOnce(Return(curUserDeviceMap)).WillOnce(Return(curUserDeviceMap)); + DeviceManagerService::GetInstance().AccountCommonEventCallback(commonEventType, userId, 101); + commonEventType = "common.event.HWID_LOGIN"; + DeviceManagerService::GetInstance().AccountCommonEventCallback(commonEventType, userId, 101); + commonEventType = "usual.event.USER_SWITCHED"; + int32_t currentUserId = -1; + int32_t beforeUserId = 0; + DeviceManagerService::GetInstance().AccountCommonEventCallback(commonEventType, currentUserId, beforeUserId); + commonEventType = "common.event.HWID_LOGOUT"; + currentUserId = 1; + beforeUserId = 1; + DMAccountInfo dmAccountInfo; + dmAccountInfo.accountId = "accountId"; + dmAccountInfo.accountName = "accountName"; + EXPECT_CALL(*multipleUserConnectorMock_, GetAccountInfoByUserId(_)).WillOnce(Return(dmAccountInfo)); + DeviceManagerService::GetInstance().AccountCommonEventCallback(commonEventType, currentUserId, beforeUserId); + int32_t ret = DeviceManagerService::GetInstance().InitAccountInfo(); + EXPECT_EQ(ret, DM_OK); +} + +/** + * @tc.name: InitScreenLockEvent_001 + * @tc.type: FUNC + */ +HWTEST_F(DeviceManagerServiceTest, InitScreenLockEvent_201, testing::ext::TestSize.Level0) +{ + int32_t ret = DeviceManagerService::GetInstance().InitScreenLockEvent(); + EXPECT_EQ(ret, DM_OK); +} + +/** + * @tc.name: SubscribeAccountCommonEvent_201 + * @tc.type: FUNC + */ +HWTEST_F(DeviceManagerServiceTest, SubscribeAccountCommonEvent_201, testing::ext::TestSize.Level0) +{ + DeviceManagerService::GetInstance().SubscribeAccountCommonEvent(); + DeviceManagerService::GetInstance().SubscribeScreenLockEvent(); + std::string commonEventType = "usual.event.USER_SWITCHED"; + DeviceManagerService::GetInstance().ScreenCommonEventCallback(commonEventType); + EXPECT_NE(DeviceManagerService::GetInstance().accountCommonEventManager_, nullptr); +} + +/** + * @tc.name: SetDnPolicy_201 + * @tc.type: FUNC + */ +HWTEST_F(DeviceManagerServiceTest, SetDnPolicy_201, testing::ext::TestSize.Level0) +{ + SetSetDnPolicyPermission(); + std::string packName = "com.ohos.test"; + std::map policy; + policy[PARAM_KEY_POLICY_STRATEGY_FOR_BLE] = "100"; + policy[PARAM_KEY_POLICY_TIME_OUT] = "10"; + EXPECT_CALL(*permissionManagerMock_, CheckInterfacePermission(_)).WillOnce(Return(true)); + int32_t ret = DeviceManagerService::GetInstance().SetDnPolicy(packName, policy); + bool bRet = false; + if (ret == DM_OK || ret == ERR_DM_UNSUPPORTED_METHOD || ret == SOFTBUS_IPC_ERR) { + bRet = true; + } + ASSERT_EQ(bRet, true); +} + +/** + * @tc.name: SetDnPolicy_202 + * @tc.type: FUNC + */ +HWTEST_F(DeviceManagerServiceTest, SetDnPolicy_202, testing::ext::TestSize.Level0) +{ + SetSetDnPolicyPermission(); + std::string packName; + std::map policy; + policy[PARAM_KEY_POLICY_STRATEGY_FOR_BLE] = "100"; + policy[PARAM_KEY_POLICY_TIME_OUT] = "10"; + std::string processName = "collaboration_service"; + EXPECT_CALL(*permissionManagerMock_, CheckInterfacePermission(_)).WillOnce(Return(false)); + int32_t ret = DeviceManagerService::GetInstance().SetDnPolicy(packName, policy); + ASSERT_EQ(ret, ERR_DM_INPUT_PARA_INVALID); +} + +/** + * @tc.name: SetDnPolicy_203 + * @tc.type: FUNC + */ +HWTEST_F(DeviceManagerServiceTest, SetDnPolicy_203, testing::ext::TestSize.Level0) +{ + std::string packName = "com.ohos.test"; + SetSetDnPolicyPermission(); + std::map policy; + policy[PARAM_KEY_POLICY_TIME_OUT] = "10"; + std::string processName = "collaboration_service"; + EXPECT_CALL(*permissionManagerMock_, CheckInterfacePermission(_)).WillOnce(Return(false)); + int32_t ret = DeviceManagerService::GetInstance().SetDnPolicy(packName, policy); + ASSERT_EQ(ret, ERR_DM_INPUT_PARA_INVALID); +} + +/** + * @tc.name: SetDnPolicy_204 + * @tc.type: FUNC + */ +HWTEST_F(DeviceManagerServiceTest, SetDnPolicy_204, testing::ext::TestSize.Level0) +{ + SetSetDnPolicyPermission(); + std::string packName = "com.ohos.test"; + std::map policy; + policy[PARAM_KEY_POLICY_STRATEGY_FOR_BLE] = "100"; + std::string processName = "collaboration_service"; + EXPECT_CALL(*permissionManagerMock_, CheckInterfacePermission(_)).WillOnce(Return(false)); + int32_t ret = DeviceManagerService::GetInstance().SetDnPolicy(packName, policy); + ASSERT_EQ(ret, ERR_DM_INPUT_PARA_INVALID); +} + +/** + * @tc.name: SetDnPolicy_205 + * @tc.type: FUNC + */ +HWTEST_F(DeviceManagerServiceTest, SetDnPolicy_205, testing::ext::TestSize.Level0) +{ + SetSetDnPolicyPermission(); + std::string packName = "com.ohos.test"; + std::map policy; + policy[PARAM_KEY_POLICY_STRATEGY_FOR_BLE] = "a100"; + policy[PARAM_KEY_POLICY_TIME_OUT] = "10"; + std::string processName = "collaboration_service"; + EXPECT_CALL(*permissionManagerMock_, CheckInterfacePermission(_)).WillOnce(Return(false)); + int32_t ret = DeviceManagerService::GetInstance().SetDnPolicy(packName, policy); + ASSERT_EQ(ret, ERR_DM_INPUT_PARA_INVALID); +} + +/** + * @tc.name: SetDnPolicy_206 + * @tc.type: FUNC + */ +HWTEST_F(DeviceManagerServiceTest, SetDnPolicy_206, testing::ext::TestSize.Level0) +{ + SetSetDnPolicyPermission(); + std::string packName = "com.ohos.test"; + std::map policy; + policy[PARAM_KEY_POLICY_STRATEGY_FOR_BLE] = "100a"; + policy[PARAM_KEY_POLICY_TIME_OUT] = "10"; + std::string processName = "collaboration_service"; + EXPECT_CALL(*permissionManagerMock_, CheckInterfacePermission(_)).WillOnce(Return(false)); + int32_t ret = DeviceManagerService::GetInstance().SetDnPolicy(packName, policy); + ASSERT_EQ(ret, ERR_DM_INPUT_PARA_INVALID); +} + +HWTEST_F(DeviceManagerServiceTest, GetDeviceScreenStatus_201, testing::ext::TestSize.Level0) +{ + std::string pkgName = "com.ohos.screenStatusTest"; + std::string networkId = ""; + int32_t screenStatus = -1; + int32_t ret = DeviceManagerService::GetInstance().GetDeviceScreenStatus(pkgName, networkId, screenStatus); + ASSERT_EQ(ret, ERR_DM_INPUT_PARA_INVALID); +} + +HWTEST_F(DeviceManagerServiceTest, GetDeviceScreenStatus_202, testing::ext::TestSize.Level0) +{ + std::string pkgName = ""; + std::string networkId = "networkIdTest"; + int32_t screenStatus = -1; + int32_t ret = DeviceManagerService::GetInstance().GetDeviceScreenStatus(pkgName, networkId, screenStatus); + ASSERT_EQ(ret, ERR_DM_INPUT_PARA_INVALID); + + pkgName = "pkgName"; + DeviceManagerService::GetInstance().softbusListener_ = std::make_shared(); + EXPECT_CALL(*softbusListenerMock_, GetDeviceScreenStatus(_, _)).WillOnce(Return(DM_OK)); + ret = DeviceManagerService::GetInstance().GetDeviceScreenStatus(pkgName, networkId, screenStatus); + ASSERT_EQ(ret, DM_OK); + DeviceManagerService::GetInstance().softbusListener_ = nullptr; +} + +/** + * @tc.name: GetTrustedDeviceList_204 + * @tc.desc:Set the intFlag of GetTrustedDeviceList_004 to true; Return DM_OK + * @tc.type: FUNC + * @tc.require: AR000GHSJK + */ +HWTEST_F(DeviceManagerServiceTest, GetTrustedDeviceList_204, testing::ext::TestSize.Level0) +{ + std::string pkgName = "ohos_test"; + std::string extra = "jdddd"; + std::vector deviceList; + DeviceManagerService::GetInstance().softbusListener_ = std::make_shared(); + DeviceManagerService::GetInstance().InitDMServiceListener(); + EXPECT_CALL(*softbusListenerMock_, GetTrustedDeviceList(_)).WillOnce(Return(ERR_DM_FAILED)); + int ret = DeviceManagerService::GetInstance().GetTrustedDeviceList(pkgName, extra, deviceList); + EXPECT_EQ(ret, ERR_DM_FAILED); + DeviceManagerService::GetInstance().UninitDMServiceListener(); + DeviceManagerService::GetInstance().softbusListener_ = nullptr; +} + +/** + * @tc.name: GetLocalDeviceInfo_203 + * @tc.desc: The return value is ERR_DM_FAILED + * @tc.type: FUNC + * @tc.require: AR000GHSJK + */ +HWTEST_F(DeviceManagerServiceTest, GetLocalDeviceInfo_203, testing::ext::TestSize.Level0) +{ + DmDeviceInfo info; + DeviceManagerService::GetInstance().softbusListener_ = std::make_shared(); + EXPECT_CALL(*softbusListenerMock_, GetLocalDeviceInfo(_)).WillOnce(Return(ERR_DM_FAILED)); + int32_t ret = DeviceManagerService::GetInstance().GetLocalDeviceInfo(info); + EXPECT_EQ(ret, ERR_DM_FAILED); + DeviceManagerService::GetInstance().softbusListener_ = nullptr; +} + +/** + * @tc.name: GetLocalDeviceInfo_204 + * @tc.desc: The return value is ERR_DM_FAILED + * @tc.type: FUNC + * @tc.require: AR000GHSJK + */ +HWTEST_F(DeviceManagerServiceTest, GetLocalDeviceInfo_204, testing::ext::TestSize.Level0) +{ + DmDeviceInfo info; + DeletePermission(); + DeviceManagerService::GetInstance().softbusListener_ = std::make_shared(); + EXPECT_CALL(*softbusListenerMock_, GetLocalDeviceInfo(_)).Times(::testing::AtLeast(1)).WillOnce(Return(DM_OK)); + int32_t ret = DeviceManagerService::GetInstance().GetLocalDeviceInfo(info); + EXPECT_EQ(ret, DM_OK); + DeviceManagerService::GetInstance().softbusListener_ = nullptr; +} + +HWTEST_F(DeviceManagerServiceTest, BindTarget_201, testing::ext::TestSize.Level0) +{ + std::string pkgName = "pkgName"; + PeerTargetId targetId; + targetId.wifiIp = "wifi_Ip"; + std::map bindParam; + std::string key = PARAM_KEY_TARGET_ID; + std::string value = "186"; + bindParam.insert(std::make_pair(key, value)); + int32_t ret = DeviceManagerService::GetInstance().BindTarget(pkgName, targetId, bindParam); + EXPECT_EQ(ret, ERR_DM_INPUT_PARA_INVALID); + + targetId.wifiIp = "178.168.1.2"; + EXPECT_CALL(*softbusListenerMock_, GetIPAddrTypeFromCache(_, _, _)).WillOnce(Return(DM_OK)); + ret = DeviceManagerService::GetInstance().BindTarget(pkgName, targetId, bindParam); + EXPECT_EQ(ret, ERR_DM_INPUT_PARA_INVALID); +} + +HWTEST_F(DeviceManagerServiceTest, SetLocalDeviceName_201, testing::ext::TestSize.Level0) +{ + std::string localDeviceName = "localDeviceName_201"; + std::string localDisplayName = "localDisplayName_201"; + DeviceManagerService::GetInstance().softbusListener_ = nullptr; + int32_t ret = DeviceManagerService::GetInstance().SetLocalDeviceName(localDeviceName, localDisplayName); + EXPECT_EQ(ret, ERR_DM_POINT_NULL); + + DeviceManagerService::GetInstance().softbusListener_ = std::make_shared(); + EXPECT_CALL(*softbusListenerMock_, SetLocalDeviceName(_, _)).WillOnce(Return(DM_OK)); + ret = DeviceManagerService::GetInstance().SetLocalDeviceName(localDeviceName, localDisplayName); + EXPECT_EQ(ret, DM_OK); + + EXPECT_CALL(*softbusListenerMock_, SetLocalDeviceName(_, _)).WillOnce(Return(ERR_DM_FAILED)); + ret = DeviceManagerService::GetInstance().SetLocalDeviceName(localDeviceName, localDisplayName); + EXPECT_EQ(ret, ERR_DM_FAILED); + DeviceManagerService::GetInstance().softbusListener_ = nullptr; +} + +HWTEST_F(DeviceManagerServiceTest, UnBindDevice_201, testing::ext::TestSize.Level0) +{ + std::string pkgName = "com.ohos.test"; + std::string deviceId = "123456"; + EXPECT_CALL(*kVAdapterManagerMock_, Get(_, _)).WillOnce(Return(DM_OK)); + EXPECT_CALL(*softbusCacheMock_, GetUdidByUdidHash(_, _)).WillOnce(Return(DM_OK)); + EXPECT_CALL(*deviceManagerServiceImplMock_, GetBindLevel(_, _, _, _)).WillOnce(Return(0)); + int32_t ret = DeviceManagerService::GetInstance().UnBindDevice(pkgName, deviceId); + EXPECT_EQ(ret, ERR_DM_FAILED); +} + +HWTEST_F(DeviceManagerServiceTest, UnBindDevice_202, testing::ext::TestSize.Level0) +{ + std::string pkgName = "com.ohos.test"; + std::string deviceId = "123456"; + EXPECT_CALL(*kVAdapterManagerMock_, Get(_, _)).WillOnce(Return(DM_OK)); + EXPECT_CALL(*softbusCacheMock_, GetUdidByUdidHash(_, _)).WillOnce(Return(DM_OK)); + EXPECT_CALL(*deviceManagerServiceImplMock_, GetBindLevel(_, _, _, _)).WillOnce(Return(0)); + int32_t ret = DeviceManagerService::GetInstance().UnBindDevice(pkgName, deviceId); + EXPECT_EQ(ret, ERR_DM_FAILED); + + EXPECT_CALL(*kVAdapterManagerMock_, Get(_, _)).WillOnce(Return(DM_OK)); + EXPECT_CALL(*softbusCacheMock_, GetUdidByUdidHash(_, _)).Times(::testing::AtLeast(1)).WillOnce(Return(DM_OK)); + EXPECT_CALL(*deviceManagerServiceImplMock_, GetBindLevel(_, _, _, _)).WillOnce(Return(DM_IDENTICAL_ACCOUNT)); + EXPECT_CALL(*deviceManagerServiceImplMock_, UnBindDevice(_, _, _)).WillOnce(Return(DM_OK)); + ret = DeviceManagerService::GetInstance().UnBindDevice(pkgName, deviceId); + EXPECT_EQ(ret, DM_OK); + + EXPECT_CALL(*kVAdapterManagerMock_, Get(_, _)).WillOnce(Return(DM_OK)); + EXPECT_CALL(*softbusCacheMock_, GetUdidByUdidHash(_, _)).Times(::testing::AtLeast(1)).WillOnce(Return(DM_OK)); + EXPECT_CALL(*deviceManagerServiceImplMock_, GetBindLevel(_, _, _, _)).WillOnce(Return(DM_IDENTICAL_ACCOUNT)); + EXPECT_CALL(*deviceManagerServiceImplMock_, UnBindDevice(_, _, _)).WillOnce(Return(ERR_DM_FAILED)); + ret = DeviceManagerService::GetInstance().UnBindDevice(pkgName, deviceId); + EXPECT_EQ(ret, ERR_DM_FAILED); +} + +HWTEST_F(DeviceManagerServiceTest, LoadHardwareFwkService_201, testing::ext::TestSize.Level0) +{ + DeviceManagerService::GetInstance().softbusListener_ = std::make_shared(); + EXPECT_CALL(*softbusListenerMock_, GetTrustedDeviceList(_)).WillOnce(Return(DM_OK)); + DeviceManagerService::GetInstance().LoadHardwareFwkService(); + EXPECT_CALL(*softbusListenerMock_, GetTrustedDeviceList(_)).WillOnce(Return(ERR_DM_FAILED)); + DeviceManagerService::GetInstance().LoadHardwareFwkService(); + DeviceManagerService::GetInstance().softbusListener_ = nullptr; + EXPECT_EQ(DeviceManagerService::GetInstance().softbusListener_, nullptr); +} + +/** + * @tc.name: UnAuthenticateDevice_201 + * @tc.desc: Set intFlag for UnAuthenticateDevice to true and pkgName to com.ohos.test; set deviceId null ,The return + * value is SOFTBUS_IPC_ERR + * @tc.type: FUNC + * @tc.require: AR000GHSJK + */ +HWTEST_F(DeviceManagerServiceTest, UnAuthenticateDevice_201, testing::ext::TestSize.Level0) +{ + std::string pkgName = "com.ohos.test"; + std::string networkId = "12345"; + EXPECT_CALL(*softbusListenerMock_, GetUdidByNetworkId(_, _)).WillOnce(Return(DM_OK)); + EXPECT_CALL(*deviceManagerServiceImplMock_, GetBindLevel(_, _, _, _)).WillOnce(Return(0)); + int ret = DeviceManagerService::GetInstance().UnAuthenticateDevice(pkgName, networkId); + EXPECT_EQ(ret, ERR_DM_FAILED); + + EXPECT_CALL(*softbusListenerMock_, GetUdidByNetworkId(_, _)).WillOnce(Return(DM_OK)); + EXPECT_CALL(*deviceManagerServiceImplMock_, GetBindLevel(_, _, _, _)).WillOnce(Return(1)); + EXPECT_CALL(*deviceManagerServiceImplMock_, UnAuthenticateDevice(_, _, _)).WillOnce(Return(ERR_DM_FAILED)); + ret = DeviceManagerService::GetInstance().UnAuthenticateDevice(pkgName, networkId); + EXPECT_EQ(ret, ERR_DM_FAILED); + + EXPECT_CALL(*softbusListenerMock_, GetUdidByNetworkId(_, _)).WillOnce(Return(DM_OK)); + EXPECT_CALL(*deviceManagerServiceImplMock_, GetBindLevel(_, _, _, _)).WillOnce(Return(1)); + EXPECT_CALL(*deviceManagerServiceImplMock_, UnAuthenticateDevice(_, _, _)).WillOnce(Return(DM_OK)); + ret = DeviceManagerService::GetInstance().UnAuthenticateDevice(pkgName, networkId); + EXPECT_EQ(ret, DM_OK); + + int32_t userId = 123456; + std::string accountId = "accountId"; + std::string accountName = "accountName"; + std::multimap deviceMap; + deviceMap.insert(std::make_pair("accountId", userId)); + deviceMap.insert(std::make_pair("accountName", 1)); + EXPECT_CALL(*deviceManagerServiceImplMock_, GetDeviceIdAndUserId(_, _)).WillOnce(Return(deviceMap)); + EXPECT_CALL(*cryptoMock_, GetAccountIdHash(_, _)).WillOnce(Return(DM_OK)); + DeviceManagerService::GetInstance().HandleAccountLogout(userId, accountId, accountName); + + EXPECT_CALL(*deviceManagerServiceImplMock_, GetDeviceIdAndUserId(_, _)).WillOnce(Return(deviceMap)); + EXPECT_CALL(*cryptoMock_, GetAccountIdHash(_, _)).WillOnce(Return(ERR_DM_FAILED)); + DeviceManagerService::GetInstance().HandleAccountLogout(userId, accountId, accountName); + + int32_t curUserId = 0; + int32_t preUserId = 1; + std::map curUserDeviceMap; + curUserDeviceMap["curUserId"] = userId; + curUserDeviceMap["preUserId"] = userId; + std::map preUserDeviceMap; + preUserDeviceMap["accountId"] = userId; + preUserDeviceMap["accountName"] = 1; + EXPECT_CALL(*deviceManagerServiceImplMock_, + GetDeviceIdAndBindLevel(_)).WillOnce(Return(curUserDeviceMap)).WillOnce(Return(preUserDeviceMap)); + EXPECT_CALL(*multipleUserConnectorMock_, GetForegroundUserIds(_)).WillOnce(Return(ERR_DM_FAILED)); + EXPECT_CALL(*multipleUserConnectorMock_, GetBackgroundUserIds(_)).WillOnce(Return(ERR_DM_FAILED)); + DeviceManagerService::GetInstance().HandleUserSwitched(curUserId, preUserId); + + int32_t removeId = 123; + deviceMap.insert(std::make_pair("removeId", removeId)); + EXPECT_CALL(*deviceManagerServiceImplMock_, GetDeviceIdAndUserId(_)).WillOnce(Return(deviceMap)); + DeviceManagerService::GetInstance().HandleUserRemoved(userId); +} + +HWTEST_F(DeviceManagerServiceTest, BindDevice_205, testing::ext::TestSize.Level0) +{ + std::string pkgName = "com.ohos.test"; + int32_t authType = 1; + std::string deviceId = "1234"; + std::string bindParam; + EXPECT_CALL(*kVAdapterManagerMock_, Get(_, _)).WillOnce(Return(DM_OK)); + EXPECT_CALL(*softbusListenerMock_, GetTargetInfoFromCache(_, _, _)).WillOnce(Return(DM_OK)); + int32_t ret = DeviceManagerService::GetInstance().BindDevice(pkgName, authType, deviceId, bindParam); + EXPECT_EQ(ret, ERR_DM_INPUT_PARA_INVALID); + + ProcessInfo processInfo; + processInfo.pkgName = "pkgName"; + if (DeviceManagerService::GetInstance().discoveryMgr_ == nullptr) { + DeviceManagerService::GetInstance().InitDMServiceListener(); + } + DeviceManagerService::GetInstance().ClearDiscoveryCache(processInfo); + DeviceManagerService::GetInstance().RemoveNotifyRecord(processInfo); + + std::vector foregroundUserIds; + std::vector backgroundUserIds; + std::string remoteUdid = "remoteUdid"; + if (DeviceManagerService::GetInstance().softbusListener_ == nullptr) { + DeviceManagerService::GetInstance().softbusListener_ = std::make_shared(); + } + + EXPECT_CALL(*multipleUserConnectorMock_, GetForegroundUserIds(_)).WillOnce(Return(ERR_DM_FAILED)); + DeviceManagerService::GetInstance().ProcessSyncUserIds(foregroundUserIds, backgroundUserIds, remoteUdid); + DeviceManagerService::GetInstance().softbusListener_ = nullptr; +} + +/** + * @tc.name: AuthenticateDevice_205 + * @tc.desc: Set intFlag for GAuthenticateDevice to True and deviceId to null; Return ERR_DM_BIND_INPUT_PARA_INVALID + * @tc.type: FUNC + * @tc.require: AR000GHSJK + */ +HWTEST_F(DeviceManagerServiceTest, AuthenticateDevice_205, testing::ext::TestSize.Level0) +{ + std::string pkgName = "com.ohos.test"; + std::string extra = "jdddd"; + int32_t authType = 0; + std::string deviceId = " 2345"; + EXPECT_CALL(*kVAdapterManagerMock_, Get(_, _)).Times(::testing::AtLeast(1)).WillOnce(Return(DM_OK)); + EXPECT_CALL(*softbusListenerMock_, GetTargetInfoFromCache(_, _, _)).WillOnce(Return(DM_OK)); + int32_t ret = DeviceManagerService::GetInstance().AuthenticateDevice(pkgName, authType, deviceId, extra); + EXPECT_EQ(ret, ERR_DM_INPUT_PARA_INVALID); + + std::vector peerUdids; + int32_t userId = 123456; + if (DeviceManagerService::GetInstance().softbusListener_ == nullptr) { + DeviceManagerService::GetInstance().softbusListener_ = std::make_shared(); + } + DeviceManagerService::GetInstance().SendUserRemovedBroadCast(peerUdids, userId); + + std::vector foregroundUserIds; + std::vector backgroundUserIds; + bool isNeedResponse = false; + foregroundUserIds.push_back(1); + foregroundUserIds.push_back(101); + backgroundUserIds.push_back(102); + backgroundUserIds.push_back(12); + DeviceManagerService::GetInstance().SendUserIdsBroadCast(peerUdids, foregroundUserIds, + backgroundUserIds, isNeedResponse); + + std::vector remoteUserIdInfos; + UserIdInfo userIdInfo(true, 1); + remoteUserIdInfos.push_back(userIdInfo); + UserIdInfo userIdInfo1(true, 102); + remoteUserIdInfos.push_back(userIdInfo1); + UserIdInfo userIdInfo2(false, 103); + remoteUserIdInfos.push_back(userIdInfo2); + UserIdInfo userIdInfo3(false, 104); + remoteUserIdInfos.push_back(userIdInfo3); + std::string remoteUdid = "remoteDeviceId"; + isNeedResponse = true; + EXPECT_CALL(*multipleUserConnectorMock_, GetForegroundUserIds(_)) + .WillOnce(Return(ERR_DM_FAILED)).WillOnce(Return(ERR_DM_FAILED)); + EXPECT_CALL(*multipleUserConnectorMock_, GetBackgroundUserIds(_)).WillOnce(Return(ERR_DM_FAILED)); + DeviceManagerService::GetInstance().HandleUserIdsBroadCast(remoteUserIdInfos, remoteUdid, isNeedResponse); + + std::vector foregroundUserVec; + foregroundUserVec.push_back(1); + foregroundUserVec.push_back(102); + EXPECT_CALL(*multipleUserConnectorMock_, GetForegroundUserIds(_)) + .WillOnce(DoAll(SetArgReferee<0>(foregroundUserVec), Return(DM_OK))).WillOnce(Return(DM_OK)); + EXPECT_CALL(*multipleUserConnectorMock_, GetBackgroundUserIds(_)).WillOnce(Return(DM_OK)); + DeviceManagerService::GetInstance().HandleUserIdsBroadCast(remoteUserIdInfos, remoteUdid, isNeedResponse); + DeviceManagerService::GetInstance().softbusListener_ = nullptr; +} + +HWTEST_F(DeviceManagerServiceTest, RegDevStateCallbackToService_201, testing::ext::TestSize.Level0) +{ + std::string pkgName = "pkgName"; + int32_t ret = DeviceManagerService::GetInstance().RegDevStateCallbackToService(pkgName); + EXPECT_EQ(ret, DM_OK); + + std::string msg; + DeviceManagerService::GetInstance().HandleUserIdCheckSumChange(msg); + msg = R"( + { + "processType" : 1, + "g_authType" : 1, + "userId" : "123" + }))"; + DeviceManagerService::GetInstance().HandleUserIdCheckSumChange(msg); + + msg = R"( + { + "processType" : 1, + "g_authType" : 1, + "userId" : "123" + })"; + DeviceManagerService::GetInstance().HandleUserIdCheckSumChange(msg); + + msg = R"( + { + "networkId" : "networkId_001", + "g_authType" : 1, + "userId" : "123" + })"; + DeviceManagerService::GetInstance().HandleUserIdCheckSumChange(msg); + + nlohmann::json msgJsonObj; + msgJsonObj["networkId"] = "networkId_001"; + msgJsonObj["discoverType"] = 0; + msg = msgJsonObj.dump(); + EXPECT_CALL(*softbusCacheMock_, GetUdidFromCache(_, _)).WillOnce(DoAll(SetArgReferee<1>(""), Return(DM_OK))); + DeviceManagerService::GetInstance().HandleUserIdCheckSumChange(msg); + + EXPECT_CALL(*softbusCacheMock_, GetUdidFromCache(_, _)).WillOnce(DoAll(SetArgReferee<1>("udid01"), Return(DM_OK))) + .WillOnce(DoAll(SetArgReferee<1>("udid01"), Return(DM_OK))); + DeviceManagerService::GetInstance().HandleUserIdCheckSumChange(msg); + + msgJsonObj["discoverType"] = 1; + msg = msgJsonObj.dump(); + DeviceManagerService::GetInstance().HandleUserIdCheckSumChange(msg); +} + +HWTEST_F(DeviceManagerServiceTest, GetTrustedDeviceList_205, testing::ext::TestSize.Level0) +{ + std::string pkgName; + std::string extra = "extra"; + std::vector deviceList; + int ret = DeviceManagerService::GetInstance().GetTrustedDeviceList(pkgName, extra, deviceList); + EXPECT_EQ(ret, ERR_DM_INPUT_PARA_INVALID); + + pkgName = "jjdjk_pkgName"; + DeviceManagerService::GetInstance().softbusListener_ = nullptr; + ret = DeviceManagerService::GetInstance().GetTrustedDeviceList(pkgName, extra, deviceList); + EXPECT_EQ(ret, ERR_DM_POINT_NULL); + + DeviceManagerService::GetInstance().softbusListener_ = std::make_shared(); + DeviceManagerService::GetInstance().InitDMServiceListener(); + EXPECT_CALL(*softbusListenerMock_, GetTrustedDeviceList(_)).WillOnce(Return(ERR_DM_FAILED)); + ret = DeviceManagerService::GetInstance().GetTrustedDeviceList(pkgName, extra, deviceList); + EXPECT_EQ(ret, ERR_DM_FAILED); + + std::vector onlineDeviceList; + DmDeviceInfo dmDeviceInfo; + dmDeviceInfo.authForm = DmAuthForm::ACROSS_ACCOUNT; + dmDeviceInfo.networkType = 1; + onlineDeviceList.push_back(dmDeviceInfo); + std::unordered_map udidMap; + udidMap.insert(std::make_pair("udid01", DmAuthForm::IDENTICAL_ACCOUNT)); + udidMap.insert(std::make_pair("udid02", DmAuthForm::ACROSS_ACCOUNT)); + EXPECT_CALL(*softbusListenerMock_, GetTrustedDeviceList(_)) + .WillOnce(DoAll(SetArgReferee<0>(onlineDeviceList), Return(DM_OK))); + EXPECT_CALL(*deviceManagerServiceImplMock_, GetAppTrustDeviceIdList(_)).WillOnce(Return(udidMap)); + EXPECT_CALL(*softbusListenerMock_, GetUdidByNetworkId(_, _)) + .WillOnce(DoAll(SetArgReferee<1>("udid01"), Return(DM_OK))); + ret = DeviceManagerService::GetInstance().GetTrustedDeviceList(pkgName, extra, deviceList); + EXPECT_EQ(ret, DM_OK); + + pkgName = "ohos.deviceprofile"; + EXPECT_CALL(*softbusListenerMock_, GetTrustedDeviceList(_)) + .WillOnce(DoAll(SetArgReferee<0>(onlineDeviceList), Return(DM_OK))); + EXPECT_CALL(*deviceManagerServiceImplMock_, GetAppTrustDeviceIdList(_)).WillOnce(Return(udidMap)); + EXPECT_CALL(*softbusListenerMock_, GetUdidByNetworkId(_, _)) + .WillOnce(DoAll(SetArgReferee<1>("udid02"), Return(DM_OK))); + ret = DeviceManagerService::GetInstance().GetTrustedDeviceList(pkgName, extra, deviceList); + EXPECT_EQ(ret, DM_OK); + DeviceManagerService::GetInstance().UninitDMServiceListener(); + DeviceManagerService::GetInstance().softbusListener_ = nullptr; +} + +HWTEST_F(DeviceManagerServiceTest, DmHiDumper_201, testing::ext::TestSize.Level0) +{ + std::vector args; + args.push_back(std::string("-getTrustlist")); + std::string result; + std::vector deviceList; + DmDeviceInfo dmDeviceInfo; + dmDeviceInfo.authForm = DmAuthForm::ACROSS_ACCOUNT; + dmDeviceInfo.deviceTypeId = 0; + deviceList.push_back(dmDeviceInfo); + DeviceManagerService::GetInstance().softbusListener_ = std::make_shared(); + EXPECT_CALL(*softbusListenerMock_, GetTrustedDeviceList(_)) + .WillOnce(DoAll(SetArgReferee<0>(deviceList), Return(DM_OK))); + int ret = DeviceManagerService::GetInstance().DmHiDumper(args, result); + EXPECT_EQ(ret, DM_OK); + + EXPECT_CALL(*softbusListenerMock_, GetTrustedDeviceList(_)) + .WillOnce(DoAll(SetArgReferee<0>(deviceList), Return(ERR_DM_FAILED))); + ret = DeviceManagerService::GetInstance().DmHiDumper(args, result); + EXPECT_EQ(ret, ERR_DM_FAILED); + + std::vector foregroundUserIds; + foregroundUserIds.push_back(1); + std::vector backgroundUserIds; + backgroundUserIds.push_back(2); + std::string remoteUdid = "remoteUdid"; + if (DeviceManagerService::GetInstance().softbusListener_ == nullptr) { + DeviceManagerService::GetInstance().softbusListener_ = std::make_shared(); + } + EXPECT_CALL(*multipleUserConnectorMock_, GetForegroundUserIds(_)).WillOnce(Return(ERR_DM_FAILED)); + DeviceManagerService::GetInstance().ProcessSyncUserIds(foregroundUserIds, backgroundUserIds, remoteUdid); +} + +HWTEST_F(DeviceManagerServiceTest, SetDnPolicy_207, testing::ext::TestSize.Level0) +{ + SetSetDnPolicyPermission(); + std::string packName = "com.ohos.test"; + std::map policy; + policy[PARAM_KEY_POLICY_STRATEGY_FOR_BLE] = "100a"; + policy[PARAM_KEY_POLICY_TIME_OUT] = "10"; + std::string processName = "collaboration_service"; + EXPECT_CALL(*permissionManagerMock_, CheckInterfacePermission(_)).WillOnce(Return(false)); + int32_t ret = DeviceManagerService::GetInstance().SetDnPolicy(packName, policy); + ASSERT_EQ(ret, ERR_DM_INPUT_PARA_INVALID); + + policy[PARAM_KEY_POLICY_STRATEGY_FOR_BLE] = "100"; + policy[PARAM_KEY_POLICY_TIME_OUT] = "10a"; + EXPECT_CALL(*permissionManagerMock_, CheckInterfacePermission(_)).WillOnce(Return(false)); + ret = DeviceManagerService::GetInstance().SetDnPolicy(packName, policy); + ASSERT_EQ(ret, ERR_DM_INPUT_PARA_INVALID); +} + +HWTEST_F(DeviceManagerServiceTest, GetTrustedDeviceList_206, testing::ext::TestSize.Level0) +{ + std::string pkgName; + std::vector deviceList; + int ret = DeviceManagerService::GetInstance().GetTrustedDeviceList(pkgName, deviceList); + EXPECT_EQ(ret, ERR_DM_INPUT_PARA_INVALID); + + pkgName = "jjdjk_pkgName"; + DeviceManagerService::GetInstance().softbusListener_ = nullptr; + ret = DeviceManagerService::GetInstance().GetTrustedDeviceList(pkgName, deviceList); + EXPECT_EQ(ret, ERR_DM_POINT_NULL); + + DeviceManagerService::GetInstance().softbusListener_ = std::make_shared(); + DeviceManagerService::GetInstance().InitDMServiceListener(); + EXPECT_CALL(*softbusListenerMock_, GetTrustedDeviceList(_)).WillOnce(Return(ERR_DM_FAILED)); + ret = DeviceManagerService::GetInstance().GetTrustedDeviceList(pkgName, deviceList); + EXPECT_EQ(ret, ERR_DM_FAILED); + + std::vector onlineDeviceList; + DmDeviceInfo dmDeviceInfo; + dmDeviceInfo.authForm = DmAuthForm::ACROSS_ACCOUNT; + dmDeviceInfo.networkType = 1; + onlineDeviceList.push_back(dmDeviceInfo); + std::unordered_map udidMap; + udidMap.insert(std::make_pair("udid01", DmAuthForm::IDENTICAL_ACCOUNT)); + udidMap.insert(std::make_pair("udid02", DmAuthForm::ACROSS_ACCOUNT)); + EXPECT_CALL(*softbusListenerMock_, GetTrustedDeviceList(_)) + .WillOnce(DoAll(SetArgReferee<0>(onlineDeviceList), Return(DM_OK))); + EXPECT_CALL(*deviceManagerServiceImplMock_, GetAppTrustDeviceIdList(_)).WillOnce(Return(udidMap)); + EXPECT_CALL(*softbusListenerMock_, GetUdidByNetworkId(_, _)) + .WillOnce(DoAll(SetArgReferee<1>("udid01"), Return(DM_OK))); + ret = DeviceManagerService::GetInstance().GetTrustedDeviceList(pkgName, deviceList); + EXPECT_EQ(ret, DM_OK); + + pkgName = "ohos.deviceprofile"; + EXPECT_CALL(*softbusListenerMock_, GetTrustedDeviceList(_)) + .WillOnce(DoAll(SetArgReferee<0>(onlineDeviceList), Return(DM_OK))); + EXPECT_CALL(*deviceManagerServiceImplMock_, GetAppTrustDeviceIdList(_)).WillOnce(Return(udidMap)); + EXPECT_CALL(*softbusListenerMock_, GetUdidByNetworkId(_, _)) + .WillOnce(DoAll(SetArgReferee<1>("udid02"), Return(DM_OK))); + ret = DeviceManagerService::GetInstance().GetTrustedDeviceList(pkgName, deviceList); + EXPECT_EQ(ret, DM_OK); + DeviceManagerService::GetInstance().UninitDMServiceListener(); + DeviceManagerService::GetInstance().softbusListener_ = nullptr; +} + +HWTEST_F(DeviceManagerServiceTest, ParseCheckSumMsg_201, testing::ext::TestSize.Level0) +{ + std::string msg; + std::string networkId; + uint32_t discoveryType = 0; + bool isChange = false; + nlohmann::json msgJsonObj; + msgJsonObj["networkId"] = "networkId001"; + msgJsonObj["discoverType"] = 1; + msgJsonObj["ischange"] = false; + msg = msgJsonObj.dump(); + int ret = DeviceManagerService::GetInstance().ParseCheckSumMsg(msg, networkId, discoveryType, isChange); + EXPECT_EQ(ret, DM_OK); +} + +HWTEST_F(DeviceManagerServiceTest, StopAuthenticateDevice_004, testing::ext::TestSize.Level0) +{ + std::string pkgName = "pkgName_004"; + EXPECT_CALL(*deviceManagerServiceImplMock_, StopAuthenticateDevice(_)).WillOnce(Return(ERR_DM_FAILED)); + int32_t ret = DeviceManagerService::GetInstance().StopAuthenticateDevice(pkgName); + EXPECT_EQ(ret, ERR_DM_FAILED); +} +} // namespace +} // namespace DistributedHardware +} // namespace OHOS -- Gitee