From 0e71fdbac0c3a28514d1242cb119aa1c3f6e5589 Mon Sep 17 00:00:00 2001 From: Jeam_wang Date: Sat, 21 Jun 2025 18:42:06 +0800 Subject: [PATCH 1/3] modify test Signed-off-by: Jeam_wang --- .../app_id_mapping_config_manager_test.cpp | 17 ++++++++ .../service/test/BUILD.gn | 1 + .../service/test/cloud_data_test.cpp | 42 ++++++++++++++++++- .../test/mock/network_delegate_mock.cpp | 2 +- .../service/test/mock/network_delegate_mock.h | 1 + 5 files changed, 60 insertions(+), 3 deletions(-) diff --git a/services/distributeddataservice/framework/test/app_id_mapping_config_manager_test.cpp b/services/distributeddataservice/framework/test/app_id_mapping_config_manager_test.cpp index c441ba910..923697344 100644 --- a/services/distributeddataservice/framework/test/app_id_mapping_config_manager_test.cpp +++ b/services/distributeddataservice/framework/test/app_id_mapping_config_manager_test.cpp @@ -14,6 +14,7 @@ */ #include "app_id_mapping/app_id_mapping_config_manager.h" +#include "access_check/app_access_check_config_manager.h" #include @@ -22,6 +23,8 @@ using namespace OHOS::DistributedData; namespace OHOS::Test { class AppIdMappingConfigManagerTest : public testing::Test {}; +class AppAccessCheckConfigManagerTest : public testing::Test {}; + /** * @tc.name: Convert * @tc.desc: Generate a pair based on the input appId and accountId. @@ -61,4 +64,18 @@ HWTEST_F(AppIdMappingConfigManagerTest, Convert02, TestSize.Level1) result = AppIdMappingConfigManager::GetInstance().Convert("src1"); EXPECT_EQ(result, "dst1"); } + +/** +* @tc.name: IsTrust +* @tc.desc: test IsTrust function. +* @tc.type: FUNC +*/ +HWTEST_F(AppAccessCheckConfigManagerTest, IsTrust, TestSize.Level1) +{ + ASSERT_FALSE(AppAccessCheckConfigManager::GetInstance().IsTrust("123")); + AppAccessCheckConfigManager::GetInstance().appMapper_["123"] = "321"; + ASSERT_FALSE(AppAccessCheckConfigManager::GetInstance().IsTrust("123")); + AppAccessCheckConfigManager::GetInstance().appMapper_["321"] = "321"; + ASSERT_TRUE(AppAccessCheckConfigManager::GetInstance().IsTrust("321")); +} } // namespace OHOS::Test \ No newline at end of file diff --git a/services/distributeddataservice/service/test/BUILD.gn b/services/distributeddataservice/service/test/BUILD.gn index 7c20c4aa2..eaac9fbd7 100644 --- a/services/distributeddataservice/service/test/BUILD.gn +++ b/services/distributeddataservice/service/test/BUILD.gn @@ -53,6 +53,7 @@ config("module_private_config") { } ohos_unittest("CloudDataTest") { + branch_protector_ret = "pac_ret" sanitize = { cfi = true cfi_cross_dso = true diff --git a/services/distributeddataservice/service/test/cloud_data_test.cpp b/services/distributeddataservice/service/test/cloud_data_test.cpp index 40d393946..6ec64a8b1 100644 --- a/services/distributeddataservice/service/test/cloud_data_test.cpp +++ b/services/distributeddataservice/service/test/cloud_data_test.cpp @@ -55,6 +55,7 @@ #include "store/general_value.h" #include "store/store_info.h" #include "sync_manager.h" +#include "sync_strategies/network_sync_strategy.h" #include "token_setproc.h" using namespace testing::ext; @@ -341,7 +342,7 @@ HWTEST_F(CloudDataTest, GetSchema, TestSize.Level1) auto event = std::make_unique(CloudEvent::GET_SCHEMA, storeInfo); EventCenter::GetInstance().PostEvent(std::move(event)); auto ret = MetaDataManager::GetInstance().LoadMeta(cloudInfo.GetSchemaKey(TEST_CLOUD_BUNDLE), schemaMeta, true); - ASSERT_TRUE(ret); + ASSERT_FALSE(ret); } /** @@ -841,7 +842,6 @@ HWTEST_F(CloudDataTest, UpdateStartSyncInfo, TestSize.Level0) MetaDataManager::GetInstance().LoadMeta(CloudLastSyncInfo::GetKey(user, TEST_CLOUD_BUNDLE, ""), lastSyncInfos, true); EXPECT_TRUE(!lastSyncInfos.empty()); - printf("code: %d", lastSyncInfos[0].code); EXPECT_TRUE(lastSyncInfos[0].code == -1); EXPECT_TRUE(lastSyncInfos[0].startTime != 0); EXPECT_TRUE(lastSyncInfos[0].finishTime != 0); @@ -3151,5 +3151,43 @@ HWTEST_F(CloudDataTest, GetValidGeneralCode, TestSize.Level0) ret = CloudData::SyncManager::ConvertValidGeneralCode(E_SYNC_TASK_MERGED); EXPECT_TRUE(ret == E_ERROR); } + +/** +* @tc.name: CheckSyncAction +* @tc.desc: test CheckSyncAction function. +* @tc.type: FUNC +*/ +HWTEST_F(CloudDataTest, CheckSyncAction, TestSize.Level1) +{ + delegate_.isNetworkAvailable_ = false; + CloudData::NetworkSyncStrategy strategy; + StoreInfo storeInfo; + auto result = strategy.CheckSyncAction(storeInfo); + EXPECT_EQ(result, E_NETWORK_ERROR); + storeInfo.user = 0; + delegate_.isNetworkAvailable_ = true; + result = strategy.CheckSyncAction(storeInfo); + EXPECT_EQ(result, E_OK); + storeInfo.user = 100; + strategy.user_ = 100; + result = strategy.CheckSyncAction(storeInfo); + EXPECT_EQ(result, E_BLOCKED_BY_NETWORK_STRATEGY); +} + +/** +* @tc.name: Check +* @tc.desc: test Check function. +* @tc.type: FUNC +*/ +HWTEST_F(CloudDataTest, Check, TestSize.Level1) +{ + CloudData::NetworkSyncStrategy networkStrategy; + uint32_t strategy = 1; + auto result = networkStrategy.Check(strategy); + ASSERT_FALSE(result); + delegate_.networkType = NetworkDelegate::WIFI; + result = networkStrategy.Check(strategy); + ASSERT_TRUE(result); +} } // namespace DistributedDataTest } // namespace OHOS::Test \ No newline at end of file diff --git a/services/distributeddataservice/service/test/mock/network_delegate_mock.cpp b/services/distributeddataservice/service/test/mock/network_delegate_mock.cpp index cfab2309b..d0b435bda 100644 --- a/services/distributeddataservice/service/test/mock/network_delegate_mock.cpp +++ b/services/distributeddataservice/service/test/mock/network_delegate_mock.cpp @@ -23,7 +23,7 @@ bool NetworkDelegateMock::IsNetworkAvailable() NetworkDelegate::NetworkType NetworkDelegateMock::GetNetworkType(bool retrieve) { - return NetworkDelegate::NONE; + return networkType; } void NetworkDelegateMock::RegOnNetworkChange() diff --git a/services/distributeddataservice/service/test/mock/network_delegate_mock.h b/services/distributeddataservice/service/test/mock/network_delegate_mock.h index 0fcea3d28..24e894aad 100644 --- a/services/distributeddataservice/service/test/mock/network_delegate_mock.h +++ b/services/distributeddataservice/service/test/mock/network_delegate_mock.h @@ -26,6 +26,7 @@ public: void RegOnNetworkChange() override; void BindExecutor(std::shared_ptr executors) override; bool isNetworkAvailable_ = true; + NetworkType networkType = NetworkType::NONE; virtual ~NetworkDelegateMock() = default; }; } // namespace DistributedData -- Gitee From e3cf6c3489c3caefe6fb40b61f0c25b9d21b9e7a Mon Sep 17 00:00:00 2001 From: Jeam_wang Date: Thu, 26 Jun 2025 20:57:41 +0800 Subject: [PATCH 2/3] modify test Signed-off-by: Jeam_wang --- .../test/app_id_mapping_config_manager_test.cpp | 3 ++- .../service/test/cloud_data_test.cpp | 10 +++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/services/distributeddataservice/framework/test/app_id_mapping_config_manager_test.cpp b/services/distributeddataservice/framework/test/app_id_mapping_config_manager_test.cpp index 923697344..5d99495c8 100644 --- a/services/distributeddataservice/framework/test/app_id_mapping_config_manager_test.cpp +++ b/services/distributeddataservice/framework/test/app_id_mapping_config_manager_test.cpp @@ -67,7 +67,8 @@ HWTEST_F(AppIdMappingConfigManagerTest, Convert02, TestSize.Level1) /** * @tc.name: IsTrust -* @tc.desc: test IsTrust function. +* @tc.desc: Test the IsTrust function. +* Cover the cases where the appid does not exist, exists, and exists with the same value as the saved one. * @tc.type: FUNC */ HWTEST_F(AppAccessCheckConfigManagerTest, IsTrust, TestSize.Level1) diff --git a/services/distributeddataservice/service/test/cloud_data_test.cpp b/services/distributeddataservice/service/test/cloud_data_test.cpp index 6ec64a8b1..943c8c145 100644 --- a/services/distributeddataservice/service/test/cloud_data_test.cpp +++ b/services/distributeddataservice/service/test/cloud_data_test.cpp @@ -342,7 +342,7 @@ HWTEST_F(CloudDataTest, GetSchema, TestSize.Level1) auto event = std::make_unique(CloudEvent::GET_SCHEMA, storeInfo); EventCenter::GetInstance().PostEvent(std::move(event)); auto ret = MetaDataManager::GetInstance().LoadMeta(cloudInfo.GetSchemaKey(TEST_CLOUD_BUNDLE), schemaMeta, true); - ASSERT_FALSE(ret); + ASSERT_TRUE(ret); } /** @@ -3154,7 +3154,8 @@ HWTEST_F(CloudDataTest, GetValidGeneralCode, TestSize.Level0) /** * @tc.name: CheckSyncAction -* @tc.desc: test CheckSyncAction function. +* @tc.desc: Test the CheckSyncAction function, +* covering scenarios where the network is unavailable, user is 0, and both equal and unequal user branches. * @tc.type: FUNC */ HWTEST_F(CloudDataTest, CheckSyncAction, TestSize.Level1) @@ -3169,6 +3170,9 @@ HWTEST_F(CloudDataTest, CheckSyncAction, TestSize.Level1) result = strategy.CheckSyncAction(storeInfo); EXPECT_EQ(result, E_OK); storeInfo.user = 100; + strategy.user_ = 0; + result = strategy.CheckSyncAction(storeInfo); + EXPECT_EQ(result, E_BLOCKED_BY_NETWORK_STRATEGY); strategy.user_ = 100; result = strategy.CheckSyncAction(storeInfo); EXPECT_EQ(result, E_BLOCKED_BY_NETWORK_STRATEGY); @@ -3176,7 +3180,7 @@ HWTEST_F(CloudDataTest, CheckSyncAction, TestSize.Level1) /** * @tc.name: Check -* @tc.desc: test Check function. +* @tc.desc: Test the Check function, covering different network policies and network content branches. * @tc.type: FUNC */ HWTEST_F(CloudDataTest, Check, TestSize.Level1) -- Gitee From 431756136bb03cb8ea4c2bd3a8fa79e669724e08 Mon Sep 17 00:00:00 2001 From: Jeam_wang Date: Sat, 28 Jun 2025 20:05:47 +0800 Subject: [PATCH 3/3] modify test Signed-off-by: Jeam_wang --- .../service/test/cloud_data_test.cpp | 64 +++++++++++++------ 1 file changed, 44 insertions(+), 20 deletions(-) diff --git a/services/distributeddataservice/service/test/cloud_data_test.cpp b/services/distributeddataservice/service/test/cloud_data_test.cpp index 943c8c145..8b8ae8035 100644 --- a/services/distributeddataservice/service/test/cloud_data_test.cpp +++ b/services/distributeddataservice/service/test/cloud_data_test.cpp @@ -3153,45 +3153,69 @@ HWTEST_F(CloudDataTest, GetValidGeneralCode, TestSize.Level0) } /** -* @tc.name: CheckSyncAction +* @tc.name: CheckSyncAction01 * @tc.desc: Test the CheckSyncAction function, -* covering scenarios where the network is unavailable, user is 0, and both equal and unequal user branches. +* covering scenarios where the network is unavailable branches. * @tc.type: FUNC */ -HWTEST_F(CloudDataTest, CheckSyncAction, TestSize.Level1) +HWTEST_F(CloudDataTest, CheckSyncAction01, TestSize.Level1) { delegate_.isNetworkAvailable_ = false; CloudData::NetworkSyncStrategy strategy; StoreInfo storeInfo; auto result = strategy.CheckSyncAction(storeInfo); EXPECT_EQ(result, E_NETWORK_ERROR); +} + +/** +* @tc.name: CheckSyncAction02 +* @tc.desc: Test the CheckSyncAction function, +* covering scenarios where user is 0 branches. +* @tc.type: FUNC +*/ +HWTEST_F(CloudDataTest, CheckSyncAction02, TestSize.Level1) +{ + CloudData::NetworkSyncStrategy strategy; + StoreInfo storeInfo; storeInfo.user = 0; delegate_.isNetworkAvailable_ = true; - result = strategy.CheckSyncAction(storeInfo); + auto result = strategy.CheckSyncAction(storeInfo); EXPECT_EQ(result, E_OK); +} + +/** +* @tc.name: CheckSyncAction03 +* @tc.desc: Test the CheckSyncAction function, +* covering scenarios where both equal user branches. +* @tc.type: FUNC +*/ +HWTEST_F(CloudDataTest, CheckSyncAction03, TestSize.Level1) +{ + CloudData::NetworkSyncStrategy strategy; + StoreInfo storeInfo; + storeInfo.user = 0; + delegate_.isNetworkAvailable_ = true; storeInfo.user = 100; - strategy.user_ = 0; - result = strategy.CheckSyncAction(storeInfo); - EXPECT_EQ(result, E_BLOCKED_BY_NETWORK_STRATEGY); - strategy.user_ = 100; - result = strategy.CheckSyncAction(storeInfo); + auto result = strategy.CheckSyncAction(storeInfo); EXPECT_EQ(result, E_BLOCKED_BY_NETWORK_STRATEGY); } /** -* @tc.name: Check -* @tc.desc: Test the Check function, covering different network policies and network content branches. +* @tc.name: CheckSyncAction04 +* @tc.desc: Test the CheckSyncAction function, +* covering scenarios where both unequal user branches. * @tc.type: FUNC */ -HWTEST_F(CloudDataTest, Check, TestSize.Level1) -{ - CloudData::NetworkSyncStrategy networkStrategy; - uint32_t strategy = 1; - auto result = networkStrategy.Check(strategy); - ASSERT_FALSE(result); - delegate_.networkType = NetworkDelegate::WIFI; - result = networkStrategy.Check(strategy); - ASSERT_TRUE(result); +HWTEST_F(CloudDataTest, CheckSyncAction04, TestSize.Level1) +{ + delegate_.isNetworkAvailable_ = false; + CloudData::NetworkSyncStrategy strategy; + StoreInfo storeInfo; + delegate_.isNetworkAvailable_ = true; + storeInfo.user = 100; + strategy.user_ = 100; + auto result = strategy.CheckSyncAction(storeInfo); + EXPECT_EQ(result, E_BLOCKED_BY_NETWORK_STRATEGY); } } // namespace DistributedDataTest } // namespace OHOS::Test \ No newline at end of file -- Gitee