From 429af4afbef1dde25275e421d29040016f35b5a5 Mon Sep 17 00:00:00 2001 From: wanxiaoqing Date: Mon, 25 Aug 2025 16:06:59 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E5=B7=AE=E5=BC=82=E6=95=B4?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: wanxiaoqing --- .../test/udmf_service_impl_mock_test.cpp | 28 +-- .../service/test/udmf_service_impl_test.cpp | 163 +++++++++++++++++- .../udmf/preprocess/preprocess_utils.cpp | 1 - .../service/udmf/store/store.h | 4 + .../service/udmf/udmf_service_impl.cpp | 3 +- .../service/udmf/udmf_service_stub.h | 1 - 6 files changed, 181 insertions(+), 19 deletions(-) diff --git a/services/distributeddataservice/service/test/udmf_service_impl_mock_test.cpp b/services/distributeddataservice/service/test/udmf_service_impl_mock_test.cpp index 9daa166f4..ec2539109 100644 --- a/services/distributeddataservice/service/test/udmf_service_impl_mock_test.cpp +++ b/services/distributeddataservice/service/test/udmf_service_impl_mock_test.cpp @@ -73,25 +73,27 @@ HWTEST_F(UdmfServiceImplMockTest, IsNeedMetaSyncTest001, TestSize.Level0) StoreMetaData meta = StoreMetaData("100", "distributeddata", "drag"); std::vector devices = {"remote_device"}; - EXPECT_CALL(*metaDataManagerMock, LoadMeta(_, _, _)) - .WillOnce(Return(false)); + EXPECT_CALL(*metaDataManagerMock, LoadMeta(testing::_, testing::_, testing::_)) + .WillOnce(testing::Return(false)) + .WillOnce(testing::Return(false)); auto isNeedSync = udmfServiceImpl.IsNeedMetaSync(meta, devices); EXPECT_EQ(isNeedSync, true); - EXPECT_CALL(*metaDataManagerMock, LoadMeta(_, _, _)) - .WillOnce(Return(false)); + EXPECT_CALL(*metaDataManagerMock, LoadMeta(testing::_, testing::_, testing::_)) + .WillOnce(testing::Return(false)) + .WillOnce(testing::Return(true)); isNeedSync = udmfServiceImpl.IsNeedMetaSync(meta, devices); EXPECT_EQ(isNeedSync, true); - EXPECT_CALL(*metaDataManagerMock, LoadMeta(_, _, _)) - .WillOnce(Return(true)) - .WillOnce(Return(false)); + EXPECT_CALL(*metaDataManagerMock, LoadMeta(testing::_, testing::_, testing::_)) + .WillOnce(testing::Return(true)) + .WillOnce(testing::Return(false)); isNeedSync = udmfServiceImpl.IsNeedMetaSync(meta, devices); EXPECT_EQ(isNeedSync, true); - EXPECT_CALL(*metaDataManagerMock, LoadMeta(_, _, _)) - .WillOnce(Return(true)) - .WillOnce(Return(true)); + EXPECT_CALL(*metaDataManagerMock, LoadMeta(testing::_, testing::_, testing::_)) + .WillOnce(testing::Return(true)) + .WillOnce(testing::Return(true)); isNeedSync = udmfServiceImpl.IsNeedMetaSync(meta, devices); EXPECT_EQ(isNeedSync, true); } @@ -111,9 +113,9 @@ HWTEST_F(UdmfServiceImplMockTest, IsNeedMetaSyncTest002, TestSize.Level0) StoreMetaData meta = StoreMetaData("100", "distributeddata", "drag"); std::vector devices = {"remote_device"}; - EXPECT_CALL(*metaDataManagerMock, LoadMeta(_, _, _)) - .WillOnce(Return(false)) - .WillOnce(Return(false)); + EXPECT_CALL(*metaDataManagerMock, LoadMeta(testing::_, testing::_, testing::_)) + .WillOnce(testing::Return(false)) + .WillOnce(testing::Return(false)); auto isNeedSync = udmfServiceImpl.IsNeedMetaSync(meta, devices); EXPECT_EQ(isNeedSync, true); // mock mask diff --git a/services/distributeddataservice/service/test/udmf_service_impl_test.cpp b/services/distributeddataservice/service/test/udmf_service_impl_test.cpp index d5ae9fab1..541089c74 100644 --- a/services/distributeddataservice/service/test/udmf_service_impl_test.cpp +++ b/services/distributeddataservice/service/test/udmf_service_impl_test.cpp @@ -32,13 +32,12 @@ #include "token_setproc.h" using namespace testing::ext; -using namespace OHOS::DistributedData; using namespace OHOS::Security::AccessToken; using namespace OHOS::UDMF; -using DmAdapter = OHOS::DistributedData::DeviceManagerAdapter; using Entry = DistributedDB::Entry; using Key = DistributedDB::Key; using Value = DistributedDB::Value; +using DmAdapter = OHOS::DistributedData::DeviceManagerAdapter; using UnifiedData = OHOS::UDMF::UnifiedData; using Summary = OHOS::UDMF::Summary; namespace OHOS::Test { @@ -411,7 +410,7 @@ HWTEST_F(UdmfServiceImplTest, SyncTest001, TestSize.Level0) query.tokenId = 1; query.intention = UD_INTENTION_DRAG; UdmfServiceImpl udmfServiceImpl; - StoreMetaData meta = StoreMetaData("100", "distributeddata", "drag"); + DistributedData::StoreMetaData meta = DistributedData::StoreMetaData("100", "distributeddata", "drag"); std::vector devices = {"remote_device"}; auto ret = udmfServiceImpl.Sync(query, devices); @@ -541,6 +540,164 @@ HWTEST_F(UdmfServiceImplTest, IsValidInput004, TestSize.Level1) EXPECT_FALSE(result); } +/** + * @tc.name: UpdateData002 + * @tc.desc: invalid parameter + * @tc.type: FUNC + */ +HWTEST_F(UdmfServiceImplTest, UpdateData002, TestSize.Level1) +{ + QueryOption query; + query.intention = Intention::UD_INTENTION_DATA_HUB; + query.key = "udmf://DataHub/aaa/N]2fIEMbrJj@wp:jMuPa7"; + query.tokenId = 99999; + UnifiedData unifiedData; + auto record1 = std::make_shared(); + auto record2 = std::make_shared(); + unifiedData.AddRecord(record1); + unifiedData.AddRecord(record2); + + UdmfServiceImpl impl; + EXPECT_NE(impl.UpdateData(query, unifiedData), E_OK); +} + +/** + * @tc.name: UpdateData003 + * @tc.desc: invalid parameter + * @tc.type: FUNC + */ +HWTEST_F(UdmfServiceImplTest, UpdateData003, TestSize.Level1) +{ + QueryOption query; + query.intention = Intention::UD_INTENTION_DATA_HUB; + query.key = "udmf://DataHub/aaa/N]2fIEMbrJj@wp:jMuPa7"; + query.tokenId = static_cast(IPCSkeleton::GetCallingTokenID()); + UnifiedData unifiedData; + auto record1 = std::make_shared(); + auto record2 = std::make_shared(); + unifiedData.AddRecord(record1); + unifiedData.AddRecord(record2); + + UdmfServiceImpl impl; + EXPECT_NE(impl.UpdateData(query, unifiedData), E_OK); +} + +/** + * @tc.name: UpdateData004 + * @tc.desc: invalid parameter + * @tc.type: FUNC + */ +HWTEST_F(UdmfServiceImplTest, UpdateData004, TestSize.Level1) +{ + QueryOption query; + UnifiedData unifiedData; + + query.key = "invalid_key"; + UdmfServiceImpl impl; + EXPECT_EQ(impl.UpdateData(query, unifiedData), E_INVALID_PARAMETERS); +} + +/** +* @tc.name: SaveData002 +* @tc.desc: invalid parameter +* @tc.type: FUNC +*/ +HWTEST_F(UdmfServiceImplTest, SaveData002, TestSize.Level1) +{ + CustomOption option; + QueryOption query; + UnifiedData unifiedData; + std::string key = ""; + + UdmfServiceImpl impl; + EXPECT_EQ(impl.SaveData(option, unifiedData, key), E_INVALID_PARAMETERS); +} + +/** +* @tc.name: SaveData003 +* @tc.desc: invalid parameter +* @tc.type: FUNC +*/ +HWTEST_F(UdmfServiceImplTest, SaveData003, TestSize.Level1) +{ + CustomOption option; + QueryOption query; + UnifiedData unifiedData; + auto record1 = std::make_shared(); + auto record2 = std::make_shared(); + unifiedData.AddRecord(record1); + unifiedData.AddRecord(record2); + std::string key = ""; + option.intention = Intention::UD_INTENTION_BASE; + + UdmfServiceImpl impl; + EXPECT_EQ(impl.SaveData(option, unifiedData, key), E_INVALID_PARAMETERS); +} + +/** +* @tc.name: SaveData004 +* @tc.desc: invalid parameter +* @tc.type: FUNC +*/ +HWTEST_F(UdmfServiceImplTest, SaveData004, TestSize.Level1) +{ + CustomOption option; + QueryOption query; + UnifiedData unifiedData; + auto record1 = std::make_shared(); + auto record2 = std::make_shared(); + unifiedData.AddRecord(record1); + unifiedData.AddRecord(record2); + std::string key = ""; + option.intention = Intention::UD_INTENTION_DATA_HUB; + option.tokenId = 99999; + + UdmfServiceImpl impl; + EXPECT_NE(impl.SaveData(option, unifiedData, key), E_OK); +} + +/** + * @tc.name: IsValidInput005 + * @tc.desc: valid input + * @tc.type: FUNC + */ +HWTEST_F(UdmfServiceImplTest, IsValidInput005, TestSize.Level1) +{ + QueryOption query; + query.intention = Intention::UD_INTENTION_DRAG; + query.key = "udmf://drag/aaa/N]2fIEMbrJj@wp:jMuPa7"; + UnifiedData unifiedData; + auto record1 = std::make_shared(); + auto record2 = std::make_shared(); + unifiedData.AddRecord(record1); + unifiedData.AddRecord(record2); + UnifiedKey key("udmf://drag/aaa/N]2fIEMbrJj@wp:jMuPa7"); + EXPECT_TRUE(key.IsValid()); + + UdmfServiceImpl impl; + bool result = impl.IsValidInput(query, unifiedData, key); + EXPECT_FALSE(result); +} + +/** + * @tc.name: PushDelayData001 + * @tc.desc: valid input + * @tc.type: FUNC + */ +HWTEST_F(UdmfServiceImplTest, PushDelayData001, TestSize.Level1) +{ + UnifiedData unifiedData; + auto record1 = std::make_shared(); + auto record2 = std::make_shared(); + unifiedData.AddRecord(record1); + unifiedData.AddRecord(record2); + std::string key = "invalid key"; + + UdmfServiceImpl impl; + auto result = impl.PushDelayData(key, unifiedData); + EXPECT_NE(result, E_OK); +} + /** * @tc.name: CheckAppId001 * @tc.desc: invalid bundleName diff --git a/services/distributeddataservice/service/udmf/preprocess/preprocess_utils.cpp b/services/distributeddataservice/service/udmf/preprocess/preprocess_utils.cpp index 597cc9a7a..5a8f2e146 100644 --- a/services/distributeddataservice/service/udmf/preprocess/preprocess_utils.cpp +++ b/services/distributeddataservice/service/udmf/preprocess/preprocess_utils.cpp @@ -16,7 +16,6 @@ #include "preprocess_utils.h" -#include #include #include "bundle_info.h" diff --git a/services/distributeddataservice/service/udmf/store/store.h b/services/distributeddataservice/service/udmf/store/store.h index 1b215e250..a21f24b56 100644 --- a/services/distributeddataservice/service/udmf/store/store.h +++ b/services/distributeddataservice/service/udmf/store/store.h @@ -16,6 +16,10 @@ #ifndef UDMF_STORE_H #define UDMF_STORE_H +#include +#include +#include + #include "unified_data.h" namespace OHOS { diff --git a/services/distributeddataservice/service/udmf/udmf_service_impl.cpp b/services/distributeddataservice/service/udmf/udmf_service_impl.cpp index 0611b796f..4db92da93 100644 --- a/services/distributeddataservice/service/udmf/udmf_service_impl.cpp +++ b/services/distributeddataservice/service/udmf/udmf_service_impl.cpp @@ -1197,7 +1197,8 @@ bool UdmfServiceImpl::IsValidOptionsNonDrag(UnifiedKey &key, const std::string & return false; } -int32_t UdmfServiceImpl::SetDelayInfo(const DataLoadInfo &dataLoadInfo, sptr iUdmfNotifier, std::string &key) +int32_t UdmfServiceImpl::SetDelayInfo(const DataLoadInfo &dataLoadInfo, sptr iUdmfNotifier, + std::string &key) { std::string bundleName; std::string specificBundleName; diff --git a/services/distributeddataservice/service/udmf/udmf_service_stub.h b/services/distributeddataservice/service/udmf/udmf_service_stub.h index c5f617a9f..3ca1214b0 100644 --- a/services/distributeddataservice/service/udmf/udmf_service_stub.h +++ b/services/distributeddataservice/service/udmf/udmf_service_stub.h @@ -45,7 +45,6 @@ private: int32_t OnRemoveAppShareOption(MessageParcel &data, MessageParcel &reply); int32_t OnObtainAsynProcess(MessageParcel &data, MessageParcel &reply); int32_t OnClearAsynProcessByKey(MessageParcel &data, MessageParcel &reply); - int32_t OnInvokeHap(MessageParcel &data, MessageParcel &reply); int32_t OnPushDelayData(MessageParcel &data, MessageParcel &reply); int32_t OnSetDelayInfo(MessageParcel &data, MessageParcel &reply); int32_t OnGetDataIfAvailable(MessageParcel &data, MessageParcel &reply); -- Gitee