From 0330bfb992ffa03a46378c8f930507431abcc056 Mon Sep 17 00:00:00 2001 From: BrainL Date: Tue, 11 Feb 2025 20:11:37 +0800 Subject: [PATCH 1/7] =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E4=B8=AA=E4=BA=BA?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E4=B8=8D=E8=B6=85=E8=BF=87=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E6=8E=88=E6=9D=83=E8=8C=83=E5=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: BrainL --- .../include/deviceprofile_connector.h | 1 + .../src/deviceprofile_connector.cpp | 29 +++++++++++++++++++ .../include/device_manager_service_impl.h | 1 + .../device_manager_service_impl_lite.h | 1 + .../src/device_manager_service_impl.cpp | 11 +++++++ .../src/device_manager_service_impl_lite.cpp | 8 +++++ .../include/idevice_manager_service_impl.h | 1 + .../service/src/device_manager_service.cpp | 26 +++++++++++++++-- 8 files changed, 76 insertions(+), 2 deletions(-) diff --git a/commondependency/include/deviceprofile_connector.h b/commondependency/include/deviceprofile_connector.h index d0bb054ce..f37fc6b9b 100644 --- a/commondependency/include/deviceprofile_connector.h +++ b/commondependency/include/deviceprofile_connector.h @@ -167,6 +167,7 @@ public: int32_t SubscribeDeviceProfileInited(sptr dpInitedCallback); int32_t UnSubscribeDeviceProfileInited(); int32_t PutAllTrustedDevices(const std::vector &deviceInfos); + int32_t CheckDeviceInfoPermission(const std::string &localUdid, const std::string &peerDeviceId); private: int32_t HandleDmAuthForm(DistributedDeviceProfile::AccessControlProfile profiles, DmDiscoveryInfo discoveryInfo); diff --git a/commondependency/src/deviceprofile_connector.cpp b/commondependency/src/deviceprofile_connector.cpp index 6d57f99bc..94c3c684d 100644 --- a/commondependency/src/deviceprofile_connector.cpp +++ b/commondependency/src/deviceprofile_connector.cpp @@ -1631,6 +1631,35 @@ int32_t DeviceProfileConnector::PutAllTrustedDevices( return DM_OK; } +int32_t DeviceProfileConnector::CheckDeviceInfoPermission(const std::string &localUdid, + const std::string &peerDeviceId) +{ + LOGI("CheckDeviceInfoPermission Start."); + int32_t localUserId = 0; + uint32_t tempLocalTokenId = 0; + MultipleUserConnector::GetTokenIdAndForegroundUserId(tempLocalTokenId, localUserId); + int64_t localTokenId = static_cast(tempLocalTokenId); + std::string localAccountId = MultipleUserConnector::GetOhosAccountIdByUserId(localUserId); + std::vector profiles = GetAccessControlProfileByUserId(localUserId); + for (auto &item : profiles) { + if (item.GetAccesser().GetAccesserDeviceId() == localUdid && + item.GetAccesser().GetAccesserUserId() == localUserId && + item.GetAccesser().GetAccesserAccountId() == localAccountId && + item.GetAccesser().GetAccesserTokenId() == localTokenId && + item.GetAccessee().GetAccesseeDeviceId() == peerDeviceId) { + return DM_OK; + } + if (item.GetAccessee().GetAccesseeDeviceId() == localUdid && + item.GetAccessee().GetAccesseeUserId() == localUserId && + item.GetAccessee().GetAccesseeAccountId() == localAccountId && + item.GetAccessee().GetAccesseeTokenId() == localTokenId && + item.GetAccesser().GetAccesserDeviceId() == peerDeviceId) { + return DM_OK; + } + } + return ERR_DM_NO_PERMISSION; +} + IDeviceProfileConnector *CreateDpConnectorInstance() { return &DeviceProfileConnector::GetInstance(); diff --git a/services/implementation/include/device_manager_service_impl.h b/services/implementation/include/device_manager_service_impl.h index 0ad140dc5..2f91bd3d8 100644 --- a/services/implementation/include/device_manager_service_impl.h +++ b/services/implementation/include/device_manager_service_impl.h @@ -134,6 +134,7 @@ public: void HandleDeviceUnBind(int32_t bindType, const std::string &peerUdid, const std::string &localUdid, int32_t localUserId, const std::string &localAccountId); int32_t RegisterAuthenticationType(int32_t authenticationType); + int32_t CheckDeviceInfoPermission(const std::string &localUdid, const std::string &peerDeviceId); private: int32_t PraseNotifyEventJson(const std::string &event, nlohmann::json &jsonObject); std::string GetUdidHashByNetworkId(const std::string &networkId); diff --git a/services/implementation/include/device_manager_service_impl_lite.h b/services/implementation/include/device_manager_service_impl_lite.h index 017f46316..cab542b2c 100644 --- a/services/implementation/include/device_manager_service_impl_lite.h +++ b/services/implementation/include/device_manager_service_impl_lite.h @@ -156,6 +156,7 @@ public: void HandleDeviceUnBind(int32_t bindType, const std::string &peerUdid, const std::string &localUdid, int32_t localUserId, const std::string &localAccountId); int32_t RegisterAuthenticationType(int32_t authenticationType); + int32_t CheckDeviceInfoPermission(const std::string &localUdid, const std::string &peerDeviceId); private: std::string GetUdidHashByNetworkId(const std::string &networkId); diff --git a/services/implementation/src/device_manager_service_impl.cpp b/services/implementation/src/device_manager_service_impl.cpp index df37b5f6d..5d914b48e 100644 --- a/services/implementation/src/device_manager_service_impl.cpp +++ b/services/implementation/src/device_manager_service_impl.cpp @@ -1016,6 +1016,17 @@ int32_t DeviceManagerServiceImpl::RegisterAuthenticationType(int32_t authenticat return authMgr_->RegisterAuthenticationType(authenticationType); } +int32_t DeviceManagerServiceImpl::CheckDeviceInfoPermission(const std::string &localUdid, + const std::string &peerDeviceId) +{ + int32_t ret = DeviceProfileConnector::GetInstance().CheckDeviceInfoPermission(localUdid, peerDeviceId); + if (ret != DM_OK) { + LOGE("CheckDeviceInfoPermission failed, ret: %{public}d", ret); + return ret; + } + return DM_OK; +} + extern "C" IDeviceManagerServiceImpl *CreateDMServiceObject(void) { return new DeviceManagerServiceImpl; diff --git a/services/implementation/src/device_manager_service_impl_lite.cpp b/services/implementation/src/device_manager_service_impl_lite.cpp index 9bad670d5..4959149a7 100644 --- a/services/implementation/src/device_manager_service_impl_lite.cpp +++ b/services/implementation/src/device_manager_service_impl_lite.cpp @@ -593,6 +593,14 @@ int32_t DeviceManagerServiceImpl::RegisterAuthenticationType(int32_t authenticat return DM_OK; } +int32_t DeviceManagerServiceImpl::CheckDeviceInfoPermission(const std::string &localUdid, + const std::string &peerDeviceId) +{ + (void)localUdid; + (void)peerDeviceId; + return DM_OK; +} + extern "C" IDeviceManagerServiceImpl *CreateDMServiceObject(void) { return new DeviceManagerServiceImpl; diff --git a/services/service/include/idevice_manager_service_impl.h b/services/service/include/idevice_manager_service_impl.h index 52292916e..9247e049e 100644 --- a/services/service/include/idevice_manager_service_impl.h +++ b/services/service/include/idevice_manager_service_impl.h @@ -257,6 +257,7 @@ public: virtual void HandleDeviceUnBind(int32_t bindType, const std::string &peerUdid, const std::string &localUdid, int32_t localUserId, const std::string &localAccountId) = 0; virtual int32_t RegisterAuthenticationType(int32_t authenticationType) = 0; + virtual int32_t CheckDeviceInfoPermission(const std::string &localUdid, const std::string &peerDeviceId) = 0; }; using CreateDMServiceFuncPtr = IDeviceManagerServiceImpl *(*)(void); diff --git a/services/service/src/device_manager_service.cpp b/services/service/src/device_manager_service.cpp index 772787869..f09ae93da 100755 --- a/services/service/src/device_manager_service.cpp +++ b/services/service/src/device_manager_service.cpp @@ -379,11 +379,33 @@ int32_t DeviceManagerService::GetDeviceInfo(const std::string &networkId, DmDevi return ERR_DM_INPUT_PARA_INVALID; } CHECK_NULL_RETURN(softbusListener_, ERR_DM_POINT_NULL); - int32_t ret = softbusListener_->GetDeviceInfo(networkId, info); + DmDeviceInfo tempInfo; + int32_t ret = softbusListener_->GetDeviceInfo(networkId, tempInfo); if (ret != DM_OK) { LOGE("Get DeviceInfo By NetworkId failed, ret : %{public}d", ret); + return ERR_DM_FAILED; + } + std::string peerDeviceId = ""; + int32_t udidRet = softbusListener_->GetUdidByNetworkId(networkId.c_str(), peerDeviceId); + if (udidRet != DM_OK) { + LOGE("GetUdidByNetworkId failed, ret : %{public}d", udidRet); + return ERR_DM_FAILED; + } + if (!IsDMServiceImplReady()) { + LOGE("GetDeviceInfo failed, instance not init or init failed."); + return ERR_DM_NOT_INIT; + } + char localDeviceId[DEVICE_UUID_LENGTH] = {0}; + GetDevUdid(localDeviceId, DEVICE_UUID_LENGTH); + std::string localUdid = static_cast(localDeviceId); + int32_t permissionRet = dmServiceImpl_->CheckDeviceInfoPermission(localUdid, peerDeviceId); + if (permissionRet == DM_OK) { + info = tempInfo; + return DM_OK; + } else { + LOGE("CheckDevicePermission failed, ret : %{public}d", permissionRet); + return ERR_DM_NO_PERMISSION; } - return ret; } int32_t DeviceManagerService::GetLocalDeviceInfo(DmDeviceInfo &info) -- Gitee From 6abf51914144a8a9d0cd5585ab554e4ff31cc299 Mon Sep 17 00:00:00 2001 From: BrainL Date: Wed, 12 Feb 2025 16:33:58 +0800 Subject: [PATCH 2/7] =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E8=AE=BE=E5=A4=87?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=E4=B8=8D=E8=B6=85=E8=BF=87=E6=8E=88=E6=9D=83?= =?UTF-8?q?=E8=8C=83=E5=9B=B4=20=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: BrainL --- commondependency/src/deviceprofile_connector.cpp | 9 +++++++-- services/service/src/device_manager_service.cpp | 14 +++++--------- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/commondependency/src/deviceprofile_connector.cpp b/commondependency/src/deviceprofile_connector.cpp index 94c3c684d..26cbdc127 100644 --- a/commondependency/src/deviceprofile_connector.cpp +++ b/commondependency/src/deviceprofile_connector.cpp @@ -1642,15 +1642,20 @@ int32_t DeviceProfileConnector::CheckDeviceInfoPermission(const std::string &loc std::string localAccountId = MultipleUserConnector::GetOhosAccountIdByUserId(localUserId); std::vector profiles = GetAccessControlProfileByUserId(localUserId); for (auto &item : profiles) { + if (item.GetBindType() == DM_IDENTICAL_ACCOUNT || item.GetBindLevel() == DEVICE) { + return DM_OK; + } + int32_t profileUserId = item.GetAccesser().GetAccesserUserId(); if (item.GetAccesser().GetAccesserDeviceId() == localUdid && - item.GetAccesser().GetAccesserUserId() == localUserId && + (profileUserId == localUserId || profileUserId == -1 || profileUserId == 0) && item.GetAccesser().GetAccesserAccountId() == localAccountId && item.GetAccesser().GetAccesserTokenId() == localTokenId && item.GetAccessee().GetAccesseeDeviceId() == peerDeviceId) { return DM_OK; } + profileUserId = item.GetAccessee().GetAccesseeUserId(); if (item.GetAccessee().GetAccesseeDeviceId() == localUdid && - item.GetAccessee().GetAccesseeUserId() == localUserId && + (profileUserId == localUserId || profileUserId == -1 || profileUserId == 0) && item.GetAccessee().GetAccesseeAccountId() == localAccountId && item.GetAccessee().GetAccesseeTokenId() == localTokenId && item.GetAccesser().GetAccesserDeviceId() == peerDeviceId) { diff --git a/services/service/src/device_manager_service.cpp b/services/service/src/device_manager_service.cpp index f09ae93da..6a5669bed 100755 --- a/services/service/src/device_manager_service.cpp +++ b/services/service/src/device_manager_service.cpp @@ -379,12 +379,6 @@ int32_t DeviceManagerService::GetDeviceInfo(const std::string &networkId, DmDevi return ERR_DM_INPUT_PARA_INVALID; } CHECK_NULL_RETURN(softbusListener_, ERR_DM_POINT_NULL); - DmDeviceInfo tempInfo; - int32_t ret = softbusListener_->GetDeviceInfo(networkId, tempInfo); - if (ret != DM_OK) { - LOGE("Get DeviceInfo By NetworkId failed, ret : %{public}d", ret); - return ERR_DM_FAILED; - } std::string peerDeviceId = ""; int32_t udidRet = softbusListener_->GetUdidByNetworkId(networkId.c_str(), peerDeviceId); if (udidRet != DM_OK) { @@ -400,10 +394,12 @@ int32_t DeviceManagerService::GetDeviceInfo(const std::string &networkId, DmDevi std::string localUdid = static_cast(localDeviceId); int32_t permissionRet = dmServiceImpl_->CheckDeviceInfoPermission(localUdid, peerDeviceId); if (permissionRet == DM_OK) { - info = tempInfo; - return DM_OK; + int32_t ret = softbusListener_->GetDeviceInfo(networkId, info); + if (ret != DM_OK) { + LOGE("Get DeviceInfo By NetworkId failed, ret : %{public}d", ret); + } + return ret; } else { - LOGE("CheckDevicePermission failed, ret : %{public}d", permissionRet); return ERR_DM_NO_PERMISSION; } } -- Gitee From 3c97642efe4a00e8ea0de5a2c788ad7051a97b36 Mon Sep 17 00:00:00 2001 From: BrainL Date: Thu, 13 Feb 2025 09:26:07 +0800 Subject: [PATCH 3/7] =?UTF-8?q?=E4=B8=8D=E8=B6=85=E8=BF=87=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E6=8E=88=E6=9D=83=E8=8C=83=E5=9B=B4=E5=88=A4=E5=AE=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: BrainL --- commondependency/src/deviceprofile_connector.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/commondependency/src/deviceprofile_connector.cpp b/commondependency/src/deviceprofile_connector.cpp index 26cbdc127..184c02f2b 100644 --- a/commondependency/src/deviceprofile_connector.cpp +++ b/commondependency/src/deviceprofile_connector.cpp @@ -1642,8 +1642,10 @@ int32_t DeviceProfileConnector::CheckDeviceInfoPermission(const std::string &loc std::string localAccountId = MultipleUserConnector::GetOhosAccountIdByUserId(localUserId); std::vector profiles = GetAccessControlProfileByUserId(localUserId); for (auto &item : profiles) { - if (item.GetBindType() == DM_IDENTICAL_ACCOUNT || item.GetBindLevel() == DEVICE) { - return DM_OK; + if (item.GetTrustDeviceId() == peerDeviceId) { + if (item.GetBindType() == DM_IDENTICAL_ACCOUNT || item.GetBindLevel() == DEVICE) { + return DM_OK; + } } int32_t profileUserId = item.GetAccesser().GetAccesserUserId(); if (item.GetAccesser().GetAccesserDeviceId() == localUdid && -- Gitee From 6d754803eeb1afa001fa57c881ff95c7ce8ed0c1 Mon Sep 17 00:00:00 2001 From: BrainL Date: Thu, 13 Feb 2025 20:58:33 +0800 Subject: [PATCH 4/7] UT update Signed-off-by: BrainL --- test/unittest/UTTest_device_manager_impl.cpp | 10 +++++----- test/unittest/UTTest_device_manager_service.cpp | 6 +++--- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/test/unittest/UTTest_device_manager_impl.cpp b/test/unittest/UTTest_device_manager_impl.cpp index 3ccd06d71..732f9b9d0 100644 --- a/test/unittest/UTTest_device_manager_impl.cpp +++ b/test/unittest/UTTest_device_manager_impl.cpp @@ -418,7 +418,7 @@ HWTEST_F(DeviceManagerImplTest, GetDeviceName_104, testing::ext::TestSize.Level0 std::shared_ptr callback = std::make_shared(); int32_t ret = DeviceManager::GetInstance().InitDeviceManager(packName, callback); ret = DeviceManager::GetInstance().GetDeviceName(packName, networkId, deviceName); - ASSERT_EQ(ret, DM_OK); + ASSERT_EQ(ret, ERR_DM_FAILED); DeviceManager::GetInstance().UnInitDeviceManager(packName); } @@ -476,7 +476,7 @@ HWTEST_F(DeviceManagerImplTest, GetDeviceType_103, testing::ext::TestSize.Level0 std::string networkId = "networkId"; int32_t deviceType = 0; int32_t ret = DeviceManager::GetInstance().GetDeviceType(packName, networkId, deviceType); - ASSERT_EQ(ret, ERR_DM_IPC_SEND_REQUEST_FAILED); + ASSERT_EQ(ret, ERR_DM_FAILED); } /** @@ -498,7 +498,7 @@ HWTEST_F(DeviceManagerImplTest, GetDeviceType_104, testing::ext::TestSize.Level0 std::shared_ptr callback = std::make_shared(); int32_t ret = DeviceManager::GetInstance().InitDeviceManager(packName, callback); ret = DeviceManager::GetInstance().GetDeviceType(packName, networkId, deviceType); - ASSERT_EQ(ret, DM_OK); + ASSERT_EQ(ret, ERR_DM_NO_PERMISSION); DeviceManager::GetInstance().UnInitDeviceManager(packName); } @@ -550,7 +550,7 @@ HWTEST_F(DeviceManagerImplTest, UnBindDevice_103, testing::ext::TestSize.Level0) std::string packName = "com.ohos.test"; std::string deviceId = "deviceId"; int32_t ret = DeviceManager::GetInstance().UnBindDevice(packName, deviceId); - ASSERT_EQ(ret, ERR_DM_IPC_SEND_REQUEST_FAILED); + ASSERT_EQ(ret, ERR_DM_FAILED); } /** @@ -658,7 +658,7 @@ HWTEST_F(DeviceManagerImplTest, BindDevice_103, testing::ext::TestSize.Level0) std::string bindParam = "{\"status\":1}"; std::shared_ptr callback = nullptr; int32_t ret = DeviceManager::GetInstance().BindDevice(packName, bindType, deviceId, bindParam, callback); - ASSERT_EQ(ret, ERR_DM_IPC_SEND_REQUEST_FAILED); + ASSERT_EQ(ret, ERR_DM_BIND_INPUT_PARA_INVALID); } /** diff --git a/test/unittest/UTTest_device_manager_service.cpp b/test/unittest/UTTest_device_manager_service.cpp index 7c0840fd2..c00fd191d 100644 --- a/test/unittest/UTTest_device_manager_service.cpp +++ b/test/unittest/UTTest_device_manager_service.cpp @@ -2320,7 +2320,7 @@ HWTEST_F(DeviceManagerServiceTest, GetDeviceInfo_003, testing::ext::TestSize.Lev DmDeviceInfo info; DeviceManagerService::GetInstance().softbusListener_ = std::make_shared(); int32_t ret = DeviceManagerService::GetInstance().GetDeviceInfo(networkId, info); - EXPECT_EQ(ret, DM_OK); + EXPECT_EQ(ret, ERR_DM_NO_PERMISSION); DeviceManagerService::GetInstance().softbusListener_ = nullptr; } @@ -2562,11 +2562,11 @@ HWTEST_F(DeviceManagerServiceTest, GetDeviceInfo_005, testing::ext::TestSize.Lev DeviceManagerService::GetInstance().softbusListener_ = std::make_shared(); EXPECT_CALL(*softbusListenerMock_, GetDeviceInfo(_, _)).WillOnce(Return(DM_OK)); int32_t ret = DeviceManagerService::GetInstance().GetDeviceInfo(networkId, info); - EXPECT_EQ(ret, DM_OK); + EXPECT_EQ(ret, ERR_DM_NO_PERMISSION); EXPECT_CALL(*softbusListenerMock_, GetDeviceInfo(_, _)).WillOnce(Return(ERR_DM_FAILED)); ret = DeviceManagerService::GetInstance().GetDeviceInfo(networkId, info); - EXPECT_EQ(ret, ERR_DM_FAILED); + EXPECT_EQ(ret, ERR_DM_NO_PERMISSION); DeviceManagerService::GetInstance().softbusListener_ = nullptr; } -- Gitee From 79d461be17f0a494798d6074777b75ec9df494d2 Mon Sep 17 00:00:00 2001 From: BrainL Date: Fri, 14 Feb 2025 10:27:37 +0800 Subject: [PATCH 5/7] UT update. Signed-off-by: BrainL --- services/service/src/device_manager_service.cpp | 2 +- test/unittest/UTTest_device_manager_impl.cpp | 4 ++-- test/unittest/UTTest_device_manager_service.cpp | 8 ++++++-- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/services/service/src/device_manager_service.cpp b/services/service/src/device_manager_service.cpp index 6a5669bed..dfac00129 100755 --- a/services/service/src/device_manager_service.cpp +++ b/services/service/src/device_manager_service.cpp @@ -380,7 +380,7 @@ int32_t DeviceManagerService::GetDeviceInfo(const std::string &networkId, DmDevi } CHECK_NULL_RETURN(softbusListener_, ERR_DM_POINT_NULL); std::string peerDeviceId = ""; - int32_t udidRet = softbusListener_->GetUdidByNetworkId(networkId.c_str(), peerDeviceId); + int32_t udidRet = SoftbusListener::GetUdidByNetworkId(networkId.c_str(), peerDeviceId); if (udidRet != DM_OK) { LOGE("GetUdidByNetworkId failed, ret : %{public}d", udidRet); return ERR_DM_FAILED; diff --git a/test/unittest/UTTest_device_manager_impl.cpp b/test/unittest/UTTest_device_manager_impl.cpp index 732f9b9d0..9f5893aec 100644 --- a/test/unittest/UTTest_device_manager_impl.cpp +++ b/test/unittest/UTTest_device_manager_impl.cpp @@ -476,7 +476,7 @@ HWTEST_F(DeviceManagerImplTest, GetDeviceType_103, testing::ext::TestSize.Level0 std::string networkId = "networkId"; int32_t deviceType = 0; int32_t ret = DeviceManager::GetInstance().GetDeviceType(packName, networkId, deviceType); - ASSERT_EQ(ret, ERR_DM_FAILED); + ASSERT_EQ(ret, ERR_DM_IPC_SEND_REQUEST_FAILED); } /** @@ -498,7 +498,7 @@ HWTEST_F(DeviceManagerImplTest, GetDeviceType_104, testing::ext::TestSize.Level0 std::shared_ptr callback = std::make_shared(); int32_t ret = DeviceManager::GetInstance().InitDeviceManager(packName, callback); ret = DeviceManager::GetInstance().GetDeviceType(packName, networkId, deviceType); - ASSERT_EQ(ret, ERR_DM_NO_PERMISSION); + ASSERT_EQ(ret, ERR_DM_FAILED); DeviceManager::GetInstance().UnInitDeviceManager(packName); } diff --git a/test/unittest/UTTest_device_manager_service.cpp b/test/unittest/UTTest_device_manager_service.cpp index c00fd191d..d09a924e7 100644 --- a/test/unittest/UTTest_device_manager_service.cpp +++ b/test/unittest/UTTest_device_manager_service.cpp @@ -2319,8 +2319,10 @@ HWTEST_F(DeviceManagerServiceTest, GetDeviceInfo_003, testing::ext::TestSize.Lev std::string networkId = "networkIdTest3"; DmDeviceInfo info; DeviceManagerService::GetInstance().softbusListener_ = std::make_shared(); + EXPECT_CALL(*softbusCacheMock_, GetDeviceInfo(_, _)).WillOnce(Return(DM_OK)); + EXPECT_CALL(*softbusCacheMock_, GetUdidByNetworkId(_, _)).WillOnce(Return(ERR_DM_FAILED)); int32_t ret = DeviceManagerService::GetInstance().GetDeviceInfo(networkId, info); - EXPECT_EQ(ret, ERR_DM_NO_PERMISSION); + EXPECT_EQ(ret, ERR_DM_FAILED); DeviceManagerService::GetInstance().softbusListener_ = nullptr; } @@ -2561,10 +2563,12 @@ HWTEST_F(DeviceManagerServiceTest, GetDeviceInfo_005, testing::ext::TestSize.Lev DmDeviceInfo info; DeviceManagerService::GetInstance().softbusListener_ = std::make_shared(); EXPECT_CALL(*softbusListenerMock_, GetDeviceInfo(_, _)).WillOnce(Return(DM_OK)); + EXPECT_CALL(*softbusListenerMock_, GetUdidByNetworkId(_, _)).WillOnce(Return(ERR_DM_FAILED)); int32_t ret = DeviceManagerService::GetInstance().GetDeviceInfo(networkId, info); - EXPECT_EQ(ret, ERR_DM_NO_PERMISSION); + EXPECT_EQ(ret, ERR_DM_FAILED); EXPECT_CALL(*softbusListenerMock_, GetDeviceInfo(_, _)).WillOnce(Return(ERR_DM_FAILED)); + EXPECT_CALL(*softbusListenerMock_, GetUdidByNetworkId(_, _)).WillOnce(Return(DM_OK)); ret = DeviceManagerService::GetInstance().GetDeviceInfo(networkId, info); EXPECT_EQ(ret, ERR_DM_NO_PERMISSION); DeviceManagerService::GetInstance().softbusListener_ = nullptr; -- Gitee From 1fcfa5fd245e8e755200c95c30db928471b7f722 Mon Sep 17 00:00:00 2001 From: BrainL Date: Fri, 14 Feb 2025 11:02:48 +0800 Subject: [PATCH 6/7] UT update Signed-off-by: BrainL --- test/unittest/UTTest_device_manager_service.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/unittest/UTTest_device_manager_service.cpp b/test/unittest/UTTest_device_manager_service.cpp index d09a924e7..4e37e0fa6 100644 --- a/test/unittest/UTTest_device_manager_service.cpp +++ b/test/unittest/UTTest_device_manager_service.cpp @@ -2319,8 +2319,8 @@ HWTEST_F(DeviceManagerServiceTest, GetDeviceInfo_003, testing::ext::TestSize.Lev std::string networkId = "networkIdTest3"; DmDeviceInfo info; DeviceManagerService::GetInstance().softbusListener_ = std::make_shared(); - EXPECT_CALL(*softbusCacheMock_, GetDeviceInfo(_, _)).WillOnce(Return(DM_OK)); - EXPECT_CALL(*softbusCacheMock_, GetUdidByNetworkId(_, _)).WillOnce(Return(ERR_DM_FAILED)); + EXPECT_CALL(*softbusListenerMock_, GetDeviceInfo(_, _)).WillOnce(Return(DM_OK)); + EXPECT_CALL(*softbusListenerMock_, GetUdidByNetworkId(_, _)).WillOnce(Return(ERR_DM_FAILED)); int32_t ret = DeviceManagerService::GetInstance().GetDeviceInfo(networkId, info); EXPECT_EQ(ret, ERR_DM_FAILED); DeviceManagerService::GetInstance().softbusListener_ = nullptr; -- Gitee From d0bd1ed16c52bd7d7a5ac86e4a51e13c4743f932 Mon Sep 17 00:00:00 2001 From: BrainL Date: Fri, 14 Feb 2025 14:30:25 +0800 Subject: [PATCH 7/7] fix UT assert Signed-off-by: BrainL --- test/unittest/UTTest_device_manager_impl.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/unittest/UTTest_device_manager_impl.cpp b/test/unittest/UTTest_device_manager_impl.cpp index 9f5893aec..c0e5b6039 100644 --- a/test/unittest/UTTest_device_manager_impl.cpp +++ b/test/unittest/UTTest_device_manager_impl.cpp @@ -550,7 +550,7 @@ HWTEST_F(DeviceManagerImplTest, UnBindDevice_103, testing::ext::TestSize.Level0) std::string packName = "com.ohos.test"; std::string deviceId = "deviceId"; int32_t ret = DeviceManager::GetInstance().UnBindDevice(packName, deviceId); - ASSERT_EQ(ret, ERR_DM_FAILED); + ASSERT_EQ(ret, ERR_DM_IPC_SEND_REQUEST_FAILED); } /** @@ -658,7 +658,7 @@ HWTEST_F(DeviceManagerImplTest, BindDevice_103, testing::ext::TestSize.Level0) std::string bindParam = "{\"status\":1}"; std::shared_ptr callback = nullptr; int32_t ret = DeviceManager::GetInstance().BindDevice(packName, bindType, deviceId, bindParam, callback); - ASSERT_EQ(ret, ERR_DM_BIND_INPUT_PARA_INVALID); + ASSERT_EQ(ret, ERR_DM_IPC_SEND_REQUEST_FAILED); } /** -- Gitee