From 529fc44b6c7eb006c9bde8ca6e107276b1c238f2 Mon Sep 17 00:00:00 2001 From: WDY Date: Mon, 1 Sep 2025 19:59:50 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8D=B8=E8=BD=BD=E6=B8=85=E7=90=86=E4=BC=98?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: WDY --- .../src/data_sync/data_syncer_rdb_store.cpp | 112 ++++- .../src/data_sync/task_state_manager.cpp | 1 + .../src/data_sync_manager.cpp | 5 + .../native/cloud_file_kit_inner/BUILD.gn | 2 + .../cloud_file_kit_inner/data_sync_const.h | 2 + .../cloud_file_kit_inner/data_sync_manager.h | 1 + .../data_syncer_rdb_store.h | 7 + services/5204.json | 6 + services/cloudfiledaemon/BUILD.gn | 2 + .../cloud_disk/account_status_listener.cpp | 7 +- services/cloudsyncservice.para | 1 + services/cloudsyncservice.para.dac | 1 + .../include/ipc/cloud_sync_service.h | 2 +- .../sync_rule/package_status_listener.h | 2 +- .../src/ipc/cloud_sync_service.cpp | 30 +- .../src/sync_rule/package_status_listener.cpp | 9 +- services/distributedfile.cfg | 3 +- .../cloud_file_kit_inner/data_sync/BUILD.gn | 36 +- .../data_syncer_rdb_store_static_test.cpp | 25 ++ .../data_sync/data_syncer_rdb_store_test.cpp | 385 +++++++++++++++++- .../package_status_listener_test.cpp | 24 +- 21 files changed, 622 insertions(+), 41 deletions(-) diff --git a/frameworks/native/cloud_file_kit_inner/src/data_sync/data_syncer_rdb_store.cpp b/frameworks/native/cloud_file_kit_inner/src/data_sync/data_syncer_rdb_store.cpp index 0182ea66b..975da2071 100644 --- a/frameworks/native/cloud_file_kit_inner/src/data_sync/data_syncer_rdb_store.cpp +++ b/frameworks/native/cloud_file_kit_inner/src/data_sync/data_syncer_rdb_store.cpp @@ -15,12 +15,17 @@ #include "data_syncer_rdb_store.h" -#include "data_syncer_rdb_col.h" +#include "bundle_mgr_client.h" +#include "bundle_mgr_interface.h" +#include "data_sync_rdb_col.h" +#include "data_sync_const.h" #include "dfs_error.h" +#include "iservice_registry.h" #include "rdb_helper.h" #include "rdb_sql_utils.h" #include "rdb_store_config.h" #include "result_set.h" +#include "system_ability_definition.h" #include "utils_log.h" namespace OHOS::FileManagement::CloudSync { @@ -94,6 +99,25 @@ int32_t DataSyncerRdbStore::Insert(int32_t userId, const std::string &bundleName return E_OK; } +int32_t DataSyncerRdbStore::Erase(const std::string &bundleName, int32_t userId) +{ + if (rdb_ == nullptr) { + if (RdbInit() != E_OK) { + LOGE("Data Syncer init rdb failed"); + return E_RDB; + } + } + int32_t changeRows = -1; + string whereClause = USER_ID + "= ? AND" + BUNDLE_NAME + "= ?"; + vector whereArgs = { to_string(userId), bundleName }; + int32_t ret = rdb_->Delete(changeRows, DATA_SYNCER_TABLE, whereClause, whereArgs); + if (ret != E_OK) { + LOGE("Delete failed"); + return ret; + } + return E_OK; +} + static int64_t UTCTimeMilliSeconds() { struct timespec t; @@ -189,6 +213,92 @@ static int32_t GetInt(const string &key, int32_t &val, NativeRdb::ResultSet &res return E_OK; } +static bool GetBundleManagerProxy(sptr &bundleManager) +{ + sptr systemAbilityManager = + SystemAbilityManagerClient::GetInstance().GetSystemAbilityManager(); + if (!systemAbilityManager) { + return false; + } + sptr remoteObject = systemAbilityManager->GetSystemAbility(BUNDLE_MGR_SERVICE_SYS_ABILITY_ID); + if (!remoteObject) { + return false; + } + bundleManager = iface_cast(remoteObject); + if (bundleManager == nullptr) { + return false; + } + return true; +} + +static int32_t IsBundleInstalled(const std::string &bundleName, int32_t userId, + bool &installedStatus) +{ + sptr bundleManager; + if (!GetBundleManagerProxy(bundleManager)) { + return E_RDB; + } + if (bundleManager == nullptr) { + return E_RDB; + } + int32_t appIndex = 0; + return bundleManager->IsBundleInstalled(bundleName, userId, appIndex, installedStatus); +} + +int32_t DataSyncerRdbStore::GetRemovedInfo(std::vector &removedInfos) +{ + NativeRdb::AbsRdbPredicates predicates = NativeRdb::AbsRdbPredicates(DATA_SYNCER_TABLE); + std::shared_ptr resultSet = nullptr; + int32_t ret = Query(predicates, resultSet); + if (ret != E_OK) { + LOGE("get removedinfo query failed"); + return ret; + } + int32_t userIdIndex = -1; + int32_t bundleNameIndex = -1; + ret = resultSet->GetColumnIndex(USER_ID, userIdIndex); + if (ret != E_OK) { + LOGE("GetRemovedInfo failed to get userId column index, ret = %{public}d", ret); + return E_RDB; + } + ret = resultSet->GetColumnIndex(BUNDLE_NAME, bundleNameIndex); + if (ret != E_OK) { + LOGE("GetRemovedInfo failed to get bundleName column index, ret = %{public}d", ret); + return E_RDB; + } + while (resultSet->GoToNextRow() == E_OK) { + int32_t userId = 0; + std::string bundleName = ""; + ret = resultSet->GetString(bundleNameIndex, bundleName); + if (ret != E_OK) { + LOGE("GetRemovedInfo failed to get bundleName, ret = %{public}d", ret); + continue; + } + if (bundleName == GALLERY_BUNDLE_NAME || bundleName == FILEMANAGER_BUNDLE_NAME || + bundleName == HDC_BUNDLE_NAME) { + continue; + } + ret = resultSet->GetInt(userIdIndex, userId); + if (ret != E_OK) { + LOGE("GetRemovedInfo failed to get userId, ret = %{public}d", ret); + continue; + } + bool isInstalled = true; + ret = IsBundleInstalled(bundleName, userId, isInstalled); + if (ret != E_OK) { + LOGE("Failed to get isInstalled, ret = %{public}d", ret); + continue; + } + if (!isInstalled) { + RemovedInfo removedInfo; + removedInfo.bundleName = bundleName; + removedInfo.userId = userId; + removedInfos.push_back(removedInfo); + } + } + return E_OK; +} + int32_t DataSyncerRdbStore::GetSyncStateAndErrorType(int32_t userId, const std::string &bundleName, CloudSyncState &cloudSyncState, ErrorType &errorType) { diff --git a/frameworks/native/cloud_file_kit_inner/src/data_sync/task_state_manager.cpp b/frameworks/native/cloud_file_kit_inner/src/data_sync/task_state_manager.cpp index 00c616c21..d7a0947ca 100644 --- a/frameworks/native/cloud_file_kit_inner/src/data_sync/task_state_manager.cpp +++ b/frameworks/native/cloud_file_kit_inner/src/data_sync/task_state_manager.cpp @@ -15,6 +15,7 @@ #include "task_state_manager.h" +#include "data_sync_const.h" #include "gallery_download_file_stat.h" #include "iservice_registry.h" #include "mem_mgr_client.h" diff --git a/frameworks/native/cloud_file_kit_inner/src/data_sync_manager.cpp b/frameworks/native/cloud_file_kit_inner/src/data_sync_manager.cpp index 9b998bf01..6fb604d75 100644 --- a/frameworks/native/cloud_file_kit_inner/src/data_sync_manager.cpp +++ b/frameworks/native/cloud_file_kit_inner/src/data_sync_manager.cpp @@ -105,6 +105,11 @@ int32_t DataSyncManager::CleanCloudFile(const int32_t userId, const std::string return E_OK; } +int32_t DataSyncManager::CleanRdbStore(const std::string &bundleName, const int32_t userId) +{ + return E_OK; +} + int32_t DataSyncManager::CleanRemainFile(const std::string &bundleName, const int32_t userId) { return E_OK; diff --git a/interfaces/inner_api/native/cloud_file_kit_inner/BUILD.gn b/interfaces/inner_api/native/cloud_file_kit_inner/BUILD.gn index e18ecffa2..62439210e 100644 --- a/interfaces/inner_api/native/cloud_file_kit_inner/BUILD.gn +++ b/interfaces/inner_api/native/cloud_file_kit_inner/BUILD.gn @@ -98,6 +98,8 @@ ohos_shared_library("cloudfile_kit") { "ability_runtime:dataobs_manager", "access_token:libaccesstoken_sdk", "access_token:libtokenid_sdk", + "bundle_framework:appexecfwk_base", + "bundle_framework:appexecfwk_core", "c_utils:utils", "common_event_service:cesfwk_innerkits", "data_share:datashare_consumer", diff --git a/interfaces/inner_api/native/cloud_file_kit_inner/data_sync_const.h b/interfaces/inner_api/native/cloud_file_kit_inner/data_sync_const.h index cb21e60ac..e62ceac8e 100644 --- a/interfaces/inner_api/native/cloud_file_kit_inner/data_sync_const.h +++ b/interfaces/inner_api/native/cloud_file_kit_inner/data_sync_const.h @@ -92,6 +92,7 @@ const int32_t IS_BURST_COVER = 1; const std::string HDC_BUNDLE_NAME = "com.ohos.ailife"; const std::string GALLERY_BUNDLE_NAME = "com.ohos.photos"; const std::string MEDIALIBRARY_BUNDLE_NAME = "com.ohos.medialibrary.medialibrarydata"; +const std::string FILEMANAGER_BUNDLE_NAME = "com.huawei.hmos.filemanager"; static const std::string CLOUDSYNC_STATUS_KEY = "persist.kernel.cloudsync.status"; static const std::string CLOUDSYNC_STATUS_LOGOUT = "0"; @@ -103,6 +104,7 @@ static const std::string CLOUDSYNC_STATUS_SWITCHOFF = "5"; static const std::string CLOUDSYNC_STATUS_CLEANING = "6"; static const std::string CLOUDSYNC_SWITCH_STATUS = "persist.kernel.cloudsync.switch_status"; +static const std::string CLOUDSYNC_REMOVED_STATUS = "persist.kernel.cloudsync.removed_status"; static inline uint64_t GetCurrentTimeStamp() { diff --git a/interfaces/inner_api/native/cloud_file_kit_inner/data_sync_manager.h b/interfaces/inner_api/native/cloud_file_kit_inner/data_sync_manager.h index aef152d43..4a1cee56c 100644 --- a/interfaces/inner_api/native/cloud_file_kit_inner/data_sync_manager.h +++ b/interfaces/inner_api/native/cloud_file_kit_inner/data_sync_manager.h @@ -61,6 +61,7 @@ public: bool needClean, int32_t timeout = -1); virtual int32_t CleanCloudFile(const int32_t userId, const std::string &bundleName, const int action); + virtual int32_t CleanRdbStore(const std::string &bundleName, const int32_t userId); virtual int32_t CleanRemainFile(const std::string &bundleName, const int32_t userId); virtual int32_t OptimizeStorage(const std::string &bundleName, const int32_t userId, const int32_t agingDays); virtual int32_t StartOptimizeStorage(const BundleNameUserInfo &bundleNameUserInfo, diff --git a/interfaces/inner_api/native/cloud_file_kit_inner/data_syncer_rdb_store.h b/interfaces/inner_api/native/cloud_file_kit_inner/data_syncer_rdb_store.h index 21920b9d2..70c9c645f 100644 --- a/interfaces/inner_api/native/cloud_file_kit_inner/data_syncer_rdb_store.h +++ b/interfaces/inner_api/native/cloud_file_kit_inner/data_syncer_rdb_store.h @@ -22,11 +22,17 @@ #include "cloud_sync_constants.h" namespace OHOS::FileManagement::CloudSync { +struct RemovedInfo { + std::string bundleName; + int32_t userId; +}; + class DataSyncerRdbStore { public: static DataSyncerRdbStore &GetInstance(); ~DataSyncerRdbStore() = default; + int32_t Erase(const std::string &bundleName, int32_t userId); int32_t Insert(int32_t userId, const std::string &bundleName); int32_t UpdateSyncState(int32_t userId, const std::string &bundleName, CloudSyncState cloudSyncState, ErrorType errorType); @@ -35,6 +41,7 @@ public: int32_t QueryCloudSync(int32_t userId, const std::string &bundleName, std::shared_ptr &resultSet); + int32_t GetRemovedInfo(std::vector &removedInfos); int32_t GetSyncStateAndErrorType(int32_t userId, const std::string &bundleName, CloudSyncState &cloudSyncState, ErrorType &errorType); private: diff --git a/services/5204.json b/services/5204.json index b300af2a6..d15c79695 100644 --- a/services/5204.json +++ b/services/5204.json @@ -87,6 +87,12 @@ { "name": "usual.event.USER_UNLOCKED" } + ], + "param": [ + { + "name": "persist.kernel.cloudsync.removed_status", + "value": "true" + } ] } } diff --git a/services/cloudfiledaemon/BUILD.gn b/services/cloudfiledaemon/BUILD.gn index ae5f0ea52..77c5925a3 100644 --- a/services/cloudfiledaemon/BUILD.gn +++ b/services/cloudfiledaemon/BUILD.gn @@ -91,6 +91,8 @@ ohos_shared_library("cloudfiledaemon") { external_deps = [ "ability_base:want", "ability_runtime:dataobs_manager", + "bundle_framework:appexecfwk_base", + "bundle_framework:appexecfwk_core", "c_utils:utils", "common_event_service:cesfwk_innerkits", "data_share:datashare_consumer", diff --git a/services/cloudfiledaemon/src/cloud_disk/account_status_listener.cpp b/services/cloudfiledaemon/src/cloud_disk/account_status_listener.cpp index c84147583..7b27ae117 100644 --- a/services/cloudfiledaemon/src/cloud_disk/account_status_listener.cpp +++ b/services/cloudfiledaemon/src/cloud_disk/account_status_listener.cpp @@ -17,15 +17,17 @@ #include +#include "account_status.h" #include "cloud_daemon_statistic.h" #include "cloud_file_utils.h" #include "common_event_manager.h" #include "common_event_support.h" -#include "account_status.h" +#include "data_sync_const.h" #include "file_operations_base.h" #include "file_operations_helper.h" #include "fuse_manager.h" #include "meta_file.h" +#include "parameters.h" #include "setting_data_helper.h" #include "utils_log.h" @@ -37,6 +39,7 @@ constexpr int32_t BASE_USER_RANGE = 200000; static const std::string LOCAL_PATH_MNT_FUSE = "/mnt/data/"; static const std::string LOCAL_PATH_CLOUD_FUSE = "/cloud_fuse"; static const std::string LOCAL_PATH_DATA = "/data"; +static const std::string CLOUDSYNC_REMOVED_STATUS = "persist.kernel.cloudsync.removed_status"; static void SwapMemory() { @@ -150,6 +153,8 @@ void AccountStatusSubscriber::RemovedClean(const EventFwk::CommonEventData &even LOGE("Node is Null!"); return; } + system::SetParameter(CloudSync::CLOUDSYNC_REMOVED_STATUS, "false"); + system::SetParameter(CloudSync::CLOUDSYNC_REMOVED_STATUS, "true"); std::string localIdKey = std::to_string(node->parent) + node->fileName; int64_t key = static_cast(childSt.st_ino); FileOperationsHelper::PutCloudDiskInode(data, node, node->refCount, key); diff --git a/services/cloudsyncservice.para b/services/cloudsyncservice.para index c556c3e35..22bc3be06 100644 --- a/services/cloudsyncservice.para +++ b/services/cloudsyncservice.para @@ -21,3 +21,4 @@ persist.kernel.move.finish = false persist.kernel.cloudsync.screen_off_enable_download = true persist.kernel.clouddisk_version = 5.1.0.300 persist.kernel.cloudsync.switch_status = 0 +persist.kernel.cloudsync.removed_status = false diff --git a/services/cloudsyncservice.para.dac b/services/cloudsyncservice.para.dac index 4d6c82a87..bf50729e4 100644 --- a/services/cloudsyncservice.para.dac +++ b/services/cloudsyncservice.para.dac @@ -21,3 +21,4 @@ persist.kernel.move.finish = dfs:user_data_rw:0640 persist.kernel.cloudsync.screen_off_enable_download = dfs:samgr:0640 persist.kernel.clouddisk_version = dfs:user_data_rw:0644 persist.kernel.cloudsync.switch_status = dfs:user_data_rw:0660 +persist.kernel.cloudsync.removed_status = dfs:user_data_rw:0777 diff --git a/services/cloudsyncservice/include/ipc/cloud_sync_service.h b/services/cloudsyncservice/include/ipc/cloud_sync_service.h index e19c0abe3..f203db1c1 100644 --- a/services/cloudsyncservice/include/ipc/cloud_sync_service.h +++ b/services/cloudsyncservice/include/ipc/cloud_sync_service.h @@ -120,7 +120,7 @@ private: void PreInit(); void Init(); void HandleStartReason(const SystemAbilityOnDemandReason &startReason); - void HandlePackageRemoved(const SystemAbilityOnDemandReason &startReason); + void HandlePackageRemoved(); int32_t GetBundleNameUserInfo(BundleNameUserInfo &bundleNameUserInfo); void GetBundleNameUserInfo(const std::vector &uriVec, BundleNameUserInfo &bundleNameUserInfo); void CovertBundleName(std::string &bundleName); diff --git a/services/cloudsyncservice/include/sync_rule/package_status_listener.h b/services/cloudsyncservice/include/sync_rule/package_status_listener.h index 8b1cca80d..f3772b888 100644 --- a/services/cloudsyncservice/include/sync_rule/package_status_listener.h +++ b/services/cloudsyncservice/include/sync_rule/package_status_listener.h @@ -29,7 +29,7 @@ public: void Start(); void Stop(); void RemovedClean(const std::string &bundleName, const int32_t userId); - bool IsCloudSyncOn(const int32_t userId, const std::string &bundleName); + bool IsCloudSyncEnabled(const int32_t userId, const std::string &bundleName); private: std::shared_ptr dataSyncManager_; diff --git a/services/cloudsyncservice/src/ipc/cloud_sync_service.cpp b/services/cloudsyncservice/src/ipc/cloud_sync_service.cpp index a353e07ce..46c49c623 100644 --- a/services/cloudsyncservice/src/ipc/cloud_sync_service.cpp +++ b/services/cloudsyncservice/src/ipc/cloud_sync_service.cpp @@ -256,8 +256,8 @@ void CloudSyncService::HandleStartReason(const SystemAbilityOnDemandReason& star dataSyncManager_->TriggerRecoverySync(SyncTriggerType::POWER_CONNECT_TRIGGER); dataSyncManager_->DownloadThumb(); dataSyncManager_->CacheVideo(); - } else if (reason == "usual.event.PACKAGE_REMOVED") { - HandlePackageRemoved(startReason); + } else if (reason == "persist.kernel.cloudsync.removed_status") { + HandlePackageRemoved(); } if (reason != "load") { @@ -266,31 +266,23 @@ void CloudSyncService::HandleStartReason(const SystemAbilityOnDemandReason& star } } -void CloudSyncService::HandlePackageRemoved(const SystemAbilityOnDemandReason& startReason) +void CloudSyncService::HandlePackageRemoved() { std::string bundleName; std::string userId; - auto extraData = startReason.GetExtraData().GetWant(); - auto iter = extraData.find("bundleName"); - if (iter != extraData.end()) { - bundleName = iter->second; - } else { - LOGE("Cant find bundleName"); + std::vector removedInfos; + int32_t ret = DataSyncerRdbStore::GetInstance().GetRemovedInfo(removedInfos); + if (ret != E_OK) { + LOGE("RemovedClean get RemovedInfo failed"); return; } - iter = extraData.find("userId"); - if (iter != extraData.end()) { - userId = iter->second; - } else { - LOGE("Cant find userId"); + if (removedInfos.size() == 0) { + LOGE("RemovedInfos is empty"); return; } - int32_t userIdNum = std::atoi(userId.c_str()); - if (userIdNum < 0 || (userIdNum == 0 && userId != "0")) { - LOGE("Get UserId Failed!"); - return; + for (const auto& removedInfo : removedInfos) { + packageStatusListener_->RemovedClean(removedInfo.bundleName, removedInfo.userId); } - packageStatusListener_->RemovedClean(bundleName, userIdNum); } void CloudSyncService::OnAddSystemAbility(int32_t systemAbilityId, const std::string &deviceId) diff --git a/services/cloudsyncservice/src/sync_rule/package_status_listener.cpp b/services/cloudsyncservice/src/sync_rule/package_status_listener.cpp index 47756db6a..29498ff58 100644 --- a/services/cloudsyncservice/src/sync_rule/package_status_listener.cpp +++ b/services/cloudsyncservice/src/sync_rule/package_status_listener.cpp @@ -62,7 +62,7 @@ PackageStatusListener::~PackageStatusListener() void PackageStatusListener::RemovedClean(const std::string &bundleName, const int32_t userId) { LOGI("RemovedClean Start"); - if (!IsCloudSyncOn(userId, bundleName)) { + if (!IsCloudSyncEnabled(userId, bundleName)) { LOGI("Cloud Sync is Off"); return; } @@ -86,6 +86,11 @@ void PackageStatusListener::RemovedClean(const std::string &bundleName, const in LOGE("CleanCloudFile failed, ret: %{public}d", ret); return; } + ret = dataSyncManager_->CleanRdbStore(bundleName, userId); + if (ret != 0) { + LOGE("CleanRdbStore failed, ret: %{public}d", ret); + return; + } LOGI("RemovedClean Complete"); } @@ -108,7 +113,7 @@ void PackageStatusListener::Stop() } } -bool PackageStatusListener::IsCloudSyncOn(const int32_t userId, const std::string &bundleName) +bool PackageStatusListener::IsCloudSyncEnabled(const int32_t userId, const std::string &bundleName) { std::shared_ptr resultSet; int32_t ret = DataSyncerRdbStore::GetInstance().QueryCloudSync(userId, bundleName, resultSet); diff --git a/services/distributedfile.cfg b/services/distributedfile.cfg index e59489ab8..59f7f02d2 100644 --- a/services/distributedfile.cfg +++ b/services/distributedfile.cfg @@ -63,7 +63,8 @@ "ohos.permission.RUNNING_STATE_OBSERVER", "ohos.permission.READ_ALL_PHOTO", "ohos.permission.WRITE_ALL_PHOTO", - "ohos.permission.MEMOSPACE_SYNC" + "ohos.permission.MEMOSPACE_SYNC", + "ohos.permisssion.GET_BUNDLE_INFO_PRIVILEGED" ] }] } \ No newline at end of file diff --git a/test/unittests/cloud_file_kit_inner/data_sync/BUILD.gn b/test/unittests/cloud_file_kit_inner/data_sync/BUILD.gn index 244bee9eb..82721b5f1 100644 --- a/test/unittests/cloud_file_kit_inner/data_sync/BUILD.gn +++ b/test/unittests/cloud_file_kit_inner/data_sync/BUILD.gn @@ -38,13 +38,29 @@ ohos_unittest("data_syncer_rdb_store_test") { ] external_deps = [ + "ability_base:zuri", + "ability_runtime:dataobs_manager", + "access_token:libaccesstoken_sdk", + "access_token:libtokenid_sdk", + "bundle_framework:appexecfwk_base", + "bundle_framework:appexecfwk_core", "c_utils:utils", + "common_event_service:cesfwk_innerkits", + "data_share:datashare_consumer", + "eventhandler:libeventhandler", + "ffrt:libffrt", "googletest:gmock_main", "googletest:gtest_main", "hilog:libhilog", + "hisysevent:libhisysevent", "init:libbegetutil", + "ipc:ipc_single", + "json:nlohmann_json_static", + "memmgr:memmgrclient", + "netmanager_base:net_conn_manager_if", + "power_manager:powermgr_client", "relational_store:native_rdb", - "safwk:system_ability_fwk", + "samgr:samgr_proxy", ] defines = [ @@ -78,13 +94,29 @@ ohos_unittest("data_syncer_rdb_store_static_test") { ] external_deps = [ + "ability_base:zuri", + "ability_runtime:dataobs_manager", + "access_token:libaccesstoken_sdk", + "access_token:libtokenid_sdk", + "bundle_framework:appexecfwk_base", + "bundle_framework:appexecfwk_core", "c_utils:utils", + "common_event_service:cesfwk_innerkits", + "data_share:datashare_consumer", + "eventhandler:libeventhandler", + "ffrt:libffrt", "googletest:gmock_main", "googletest:gtest_main", "hilog:libhilog", + "hisysevent:libhisysevent", "init:libbegetutil", + "ipc:ipc_single", + "json:nlohmann_json_static", + "memmgr:memmgrclient", + "netmanager_base:net_conn_manager_if", + "power_manager:powermgr_client", "relational_store:native_rdb", - "safwk:system_ability_fwk", + "samgr:samgr_proxy", ] defines = [ diff --git a/test/unittests/cloud_file_kit_inner/data_sync/data_syncer_rdb_store_static_test.cpp b/test/unittests/cloud_file_kit_inner/data_sync/data_syncer_rdb_store_static_test.cpp index e16057478..86aabe27a 100644 --- a/test/unittests/cloud_file_kit_inner/data_sync/data_syncer_rdb_store_static_test.cpp +++ b/test/unittests/cloud_file_kit_inner/data_sync/data_syncer_rdb_store_static_test.cpp @@ -243,6 +243,31 @@ HWTEST_F(DataSyncerRdbStoreStaticTest, GTEST_LOG_(INFO) << "VersionAddDataSyncerErrorTypeTest_001 End"; } +/** + * @tc.name: VersionAddDataSyncerErrorTypeTest_002 + * @tc.desc: Verify the VersionAddDataSyncerErrorType function + * @tc.type: FUNC + * @tc.require: issuesICE88S + */ +HWTEST_F(DataSyncerRdbStoreStaticTest, + VersionAddDataSyncerErrorTypeTest_002, TestSize.Level1) +{ + GTEST_LOG_(INFO) << "VersionAddDataSyncerErrorTypeTest_002 Start"; + try { + CloudDisk::RdbStoreMock store; + + EXPECT_CALL(store, ExecuteSql(_, _)) + .WillOnce(Return(E_RDB)) + .WillOnce(Return(E_OK)); + + VersionAddDataSyncerErrorType(store); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "VersionAddDataSyncerErrorTypeTest_002 ERROR"; + } + GTEST_LOG_(INFO) << "VersionAddDataSyncerErrorTypeTest_002 End"; +} + /** * @tc.name: VersionAddDataSyncerErrorTypeTest_002 * @tc.desc: Verify the VersionAddDataSyncerErrorType function diff --git a/test/unittests/cloud_file_kit_inner/data_sync/data_syncer_rdb_store_test.cpp b/test/unittests/cloud_file_kit_inner/data_sync/data_syncer_rdb_store_test.cpp index 9d848710c..0cf0c24a9 100644 --- a/test/unittests/cloud_file_kit_inner/data_sync/data_syncer_rdb_store_test.cpp +++ b/test/unittests/cloud_file_kit_inner/data_sync/data_syncer_rdb_store_test.cpp @@ -36,6 +36,11 @@ public: MOCK_METHOD2(Query, int32_t(NativeRdb::AbsRdbPredicates predicates, shared_ptr &resultSet)); MOCK_METHOD0(RdbInit, int32_t()); MOCK_METHOD0(GetInstance, DataSyncerRdbStore&()); + MOCK_METHOD4(Delete, + int(int &deletedRows, + const std::string &table, + const std::string &whereClause, + const std::vector &whereArgs)); }; class DataSyncerRdbStoreTest : public testing::Test { @@ -712,4 +717,382 @@ HWTEST_F(DataSyncerRdbStoreTest, UpdateSyncStateTest03, TestSize.Level1) } GTEST_LOG_(INFO) << "UpdateSyncStateTest03 End"; } -} \ No newline at end of file + +/** + * @tc.name: EraseTest001 + * @tc.desc: Verify the Erase function + * @tc.type: FUNC + * @tc.require: issuesICT5XK + */ +HWTEST_F(DataSyncerRdbStoreTest, EraseTest001, TestSize.Level1) +{ + GTEST_LOG_(INFO) << "EraseTest001 Start"; + try { + int32_t userId = 1; + string bundleName = "bundleName"; + DataSyncerRdbStore dataSyncerRdbStore; + MockDataSyncerRdbStore mockDataSyncerRdbStore; + + dataSyncerRdbStore.rdb_ = nullptr; + vector whereArgs = {"1", "bundleName"}; + int rows = 0; + EXPECT_CALL(mockDataSyncerRdbStore, RdbInit()).WillOnce(Return(E_RDB)); + + auto ret = dataSyncerRdbStore.Erase(bundleName, userId); + EXPECT_EQ(ret, E_RDB); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "EraseTest001 ERROR"; + } + GTEST_LOG_(INFO) << "EraseTest001 End"; +} + +/** + * @tc.name: EraseTest002 + * @tc.desc: Verify the Erase function + * @tc.type: FUNC + * @tc.require: issuesICT5XK + */ +HWTEST_F(DataSyncerRdbStoreTest, EraseTest002, TestSize.Level1) +{ + GTEST_LOG_(INFO) << "EraseTest002 Start"; + try { + int32_t userId = 1; + string bundleName = "bundleName"; + DataSyncerRdbStore dataSyncerRdbStore; + MockDataSyncerRdbStore mockDataSyncerRdbStore; + + dataSyncerRdbStore.rdb_ = nullptr; + vector whereArgs = {"1", "bundleName"}; + int rows = 0; + EXPECT_CALL(mockDataSyncerRdbStore, RdbInit()).WillOnce(Return(E_OK)); + EXPECT_CALL(mockDataSyncerRdbStore, Delete(_, _, _, _)).WillOnce(Return(E_OK)); + + auto ret = dataSyncerRdbStore.Erase(bundleName, userId); + EXPECT_EQ(ret, E_OK); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "EraseTest002 ERROR"; + } + GTEST_LOG_(INFO) << "EraseTest002 End"; +} + +/** + * @tc.name: EraseTest003 + * @tc.desc: Verify the Erase function + * @tc.type: FUNC + * @tc.require: issuesICT5XK + */ +HWTEST_F(DataSyncerRdbStoreTest, EraseTest003, TestSize.Level1) +{ + GTEST_LOG_(INFO) << "EraseTest003 Start"; + try { + int32_t userId = 1; + string bundleName = "bundleName"; + DataSyncerRdbStore dataSyncerRdbStore; + MockDataSyncerRdbStore mockDataSyncerRdbStore; + + dataSyncerRdbStore.rdb_ = nullptr; + vector whereArgs = {"1", "bundleName"}; + int rows = 0; + EXPECT_CALL(mockDataSyncerRdbStore, RdbInit()).WillOnce(Return(E_OK)); + EXPECT_CALL(mockDataSyncerRdbStore, Delete(_, _, _, _)).WillOnce(Return(E_RDB)); + + auto ret = dataSyncerRdbStore.Erase(bundleName, userId); + EXPECT_EQ(ret, E_RDB); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "EraseTest003 ERROR"; + } + GTEST_LOG_(INFO) << "EraseTest003 End"; +} + +/** + * @tc.name: EraseTest004 + * @tc.desc: Verify the Erase function + * @tc.type: FUNC + * @tc.require: issuesICT5XK + */ +HWTEST_F(DataSyncerRdbStoreTest, EraseTest004, TestSize.Level1) +{ + GTEST_LOG_(INFO) << "EraseTest004 Start"; + try { + int32_t userId = 1; + string bundleName = "bundleName"; + DataSyncerRdbStore dataSyncerRdbStore; + MockDataSyncerRdbStore mockDataSyncerRdbStore; + + dataSyncerRdbStore.rdb_ = make_shared(); + vector whereArgs = {"1", "bundleName"}; + int rows = 0; + EXPECT_CALL(mockDataSyncerRdbStore, Delete(_, _, _, _)).WillOnce(Return(E_RDB)); + + auto ret = dataSyncerRdbStore.Erase(bundleName, userId); + EXPECT_EQ(ret, E_RDB); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "EraseTest004 ERROR"; + } + GTEST_LOG_(INFO) << "EraseTest004 End"; +} + +/** + * @tc.name: EraseTest005 + * @tc.desc: Verify the Erase function + * @tc.type: FUNC + * @tc.require: issuesICT5XK + */ +HWTEST_F(DataSyncerRdbStoreTest, EraseTest005, TestSize.Level1) +{ + GTEST_LOG_(INFO) << "EraseTest005 Start"; + try { + int32_t userId = 1; + string bundleName = "bundleName"; + DataSyncerRdbStore dataSyncerRdbStore; + MockDataSyncerRdbStore mockDataSyncerRdbStore; + + dataSyncerRdbStore.rdb_ = make_shared(); + vector whereArgs = {"1", "bundleName"}; + int rows = 0; + EXPECT_CALL(mockDataSyncerRdbStore, Delete(_, _, _, _)).WillOnce(Return(E_OK)); + + auto ret = dataSyncerRdbStore.Erase(bundleName, userId); + EXPECT_EQ(ret, E_OK); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "EraseTest005 ERROR"; + } + GTEST_LOG_(INFO) << "EraseTest005 End"; +} + +/** + * @tc.name: EraseTest006 + * @tc.desc: Verify the Erase function + * @tc.type: FUNC + * @tc.require: issuesICT5XK + */ +HWTEST_F(DataSyncerRdbStoreTest, EraseTest006, TestSize.Level1) +{ + GTEST_LOG_(INFO) << "EraseTest006 Start"; + try { + int32_t userId = 1; + string bundleName = "bundleName"; + DataSyncerRdbStore dataSyncerRdbStore; + MockDataSyncerRdbStore mockDataSyncerRdbStore; + + dataSyncerRdbStore.rdb_ = make_shared(); + vector whereArgs = {"1", "bundleName"}; + int rows = 0; + EXPECT_CALL(mockDataSyncerRdbStore, RdbInit()).WillOnce(Return(E_OK)); + EXPECT_CALL(mockDataSyncerRdbStore, Delete(_, _, _, _)).WillOnce(Return(E_OK)); + + auto ret = dataSyncerRdbStore.Erase(bundleName, userId); + EXPECT_EQ(ret, E_OK); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "EraseTest006 ERROR"; + } + GTEST_LOG_(INFO) << "EraseTest006 End"; +} + +/** + * @tc.name: GetRemovedInfoTest001 + * @tc.desc: Verify the GetRemovedInfo function + * @tc.type: FUNC + * @tc.require: issuesICT5XK + */ +HWTEST_F(DataSyncerRdbStoreTest, GetRemovedInfoTest001, TestSize.Level1) +{ + GTEST_LOG_(INFO) << "GetRemovedInfoTest001 Start"; + try { + int32_t userId = 1; + string bundleName = "bundleName"; + RemovedInfo removedInfo; + removedInfo.userId = userId; + removedInfo.bundleName = bundleName; + vector removedInfos; + DataSyncerRdbStore dataSyncerRdbStore; + MockDataSyncerRdbStore mockDataSyncerRdbStore; + + EXPECT_CALL(mockDataSyncerRdbStore, Query(_, _)).WillOnce(Return(E_RDB)); + auto ret = dataSyncerRdbStore.GetRemovedInfo(removedInfos); + EXPECT_EQ(ret, E_RDB); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "GetRemovedInfoTest001 ERROR"; + } + GTEST_LOG_(INFO) << "GetRemovedInfoTest001 End"; +} + +/** + * @tc.name: GetRemovedInfoTest002 + * @tc.desc: Verify the GetRemovedInfo function + * @tc.type: FUNC + * @tc.require: issuesICT5XK + */ +HWTEST_F(DataSyncerRdbStoreTest, GetRemovedInfoTest002, TestSize.Level1) +{ + GTEST_LOG_(INFO) << "GetRemovedInfoTest002 Start"; + try { + int32_t userId = 1; + string bundleName = "bundleName"; + RemovedInfo removedInfo; + removedInfo.userId = userId; + removedInfo.bundleName = bundleName; + vector removedInfos; + DataSyncerRdbStore dataSyncerRdbStore; + MockDataSyncerRdbStore mockDataSyncerRdbStore; + auto resultSet = make_shared(); + + EXPECT_CALL(mockDataSyncerRdbStore, Query(_, _)).WillOnce(Return(E_OK)); + EXPECT_CALL(*resultSet, GoToNextRow()).WillOnce(Return(E_INVAL_ARG)); + auto ret = dataSyncerRdbStore.GetRemovedInfo(removedInfos); + EXPECT_EQ(ret, E_OK); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "GetRemovedInfoTest002 ERROR"; + } + GTEST_LOG_(INFO) << "GetRemovedInfoTest002 End"; +} + +/** + * @tc.name: GetRemovedInfoTest003 + * @tc.desc: Verify the GetRemovedInfo function + * @tc.type: FUNC + * @tc.require: issuesICT5XK + */ +HWTEST_F(DataSyncerRdbStoreTest, GetRemovedInfoTest003, TestSize.Level1) +{ + GTEST_LOG_(INFO) << "GetRemovedInfoTest003 Start"; + try { + int32_t userId = 1; + string bundleName = "bundleName"; + RemovedInfo removedInfo; + removedInfo.userId = userId; + removedInfo.bundleName = bundleName; + vector removedInfos; + DataSyncerRdbStore dataSyncerRdbStore; + MockDataSyncerRdbStore mockDataSyncerRdbStore; + auto resultSet = make_shared(); + + EXPECT_CALL(mockDataSyncerRdbStore, Query(_, _)).WillOnce(Return(E_OK)); + EXPECT_CALL(*resultSet, GoToNextRow()) + .WillOnce(Return(E_OK)) + .WillOnce(Return(E_INVAL_ARG)); + EXPECT_CALL(*resultSet, GetInt(_, _)).WillOnce(Return((E_OK))); + EXPECT_CALL(*resultSet, GetColumnIndex(_, _)).WillOnce(Return((E_RDB))); + auto ret = dataSyncerRdbStore.GetRemovedInfo(removedInfos); + EXPECT_EQ(ret, E_RDB); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "GetRemovedInfoTest003 ERROR"; + } + GTEST_LOG_(INFO) << "GetRemovedInfoTest003 End"; +} + +/** + * @tc.name: GetRemovedInfoTest004 + * @tc.desc: Verify the GetRemovedInfo function + * @tc.type: FUNC + * @tc.require: issuesICT5XK + */ +HWTEST_F(DataSyncerRdbStoreTest, GetRemovedInfoTest004, TestSize.Level1) +{ + GTEST_LOG_(INFO) << "GetRemovedInfoTest004 Start"; + try { + int32_t userId = 1; + string bundleName = "bundleName"; + RemovedInfo removedInfo; + removedInfo.userId = userId; + removedInfo.bundleName = bundleName; + vector removedInfos; + DataSyncerRdbStore dataSyncerRdbStore; + MockDataSyncerRdbStore mockDataSyncerRdbStore; + auto resultSet = make_shared(); + + EXPECT_CALL(mockDataSyncerRdbStore, Query(_, _)).WillOnce(Return(E_OK)); + EXPECT_CALL(*resultSet, GoToNextRow()) + .WillOnce(Return(E_OK)) + .WillOnce(Return(E_INVAL_ARG)); + EXPECT_CALL(*resultSet, GetInt(_, _)).WillOnce(Return((E_OK))); + EXPECT_CALL(*resultSet, GetColumnIndex(_, _)).WillOnce(Return((E_OK))); + EXPECT_CALL(*resultSet, GetString(_, _)).WillOnce(Return((E_RDB))); + auto ret = dataSyncerRdbStore.GetRemovedInfo(removedInfos); + EXPECT_EQ(ret, E_RDB); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "GetRemovedInfoTest004 ERROR"; + } + GTEST_LOG_(INFO) << "GetRemovedInfoTest004 End"; +} + +/** + * @tc.name: GetRemovedInfoTest005 + * @tc.desc: Verify the GetRemovedInfo function + * @tc.type: FUNC + * @tc.require: issuesICT5XK + */ +HWTEST_F(DataSyncerRdbStoreTest, GetRemovedInfoTest005, TestSize.Level1) +{ + GTEST_LOG_(INFO) << "GetRemovedInfoTest005 Start"; + try { + int32_t userId = 1; + string bundleName = "bundleName"; + RemovedInfo removedInfo; + removedInfo.userId = userId; + removedInfo.bundleName = bundleName; + vector removedInfos; + DataSyncerRdbStore dataSyncerRdbStore; + MockDataSyncerRdbStore mockDataSyncerRdbStore; + auto resultSet = make_shared(); + + EXPECT_CALL(mockDataSyncerRdbStore, Query(_, _)).WillOnce(Return(E_OK)); + EXPECT_CALL(*resultSet, GoToNextRow()) + .WillOnce(Return(E_OK)) + .WillOnce(Return(E_INVAL_ARG)); + EXPECT_CALL(*resultSet, GetInt(_, _)).WillOnce(Return((E_OK))); + EXPECT_CALL(*resultSet, GetColumnIndex(_, _)).WillOnce(Return((E_OK))); + EXPECT_CALL(*resultSet, GetString(_, _)).WillOnce(Return((E_OK))); + auto ret = dataSyncerRdbStore.GetRemovedInfo(removedInfos); + EXPECT_EQ(ret, E_RDB); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "GetRemovedInfoTest005 ERROR"; + } + GTEST_LOG_(INFO) << "GetRemovedInfoTest005 End"; +} + +/** + * @tc.name: GetRemovedInfoTest006 + * @tc.desc: Verify the GetRemovedInfo function + * @tc.type: FUNC + * @tc.require: issuesICT5XK + */ +HWTEST_F(DataSyncerRdbStoreTest, GetRemovedInfoTest006, TestSize.Level1) +{ + GTEST_LOG_(INFO) << "GetRemovedInfoTest006 Start"; + try { + int32_t userId = 1; + string bundleName = "bundleName"; + RemovedInfo removedInfo; + removedInfo.userId = userId; + removedInfo.bundleName = bundleName; + vector removedInfos; + DataSyncerRdbStore dataSyncerRdbStore; + MockDataSyncerRdbStore mockDataSyncerRdbStore; + auto resultSet = make_shared(); + + EXPECT_CALL(mockDataSyncerRdbStore, Query(_, _)).WillOnce(Return(E_OK)); + EXPECT_CALL(*resultSet, GoToNextRow()) + .WillOnce(Return(E_OK)) + .WillOnce(Return(E_INVAL_ARG)); + EXPECT_CALL(*resultSet, GetInt(_, _)).WillOnce(Return((E_RDB))); + auto ret = dataSyncerRdbStore.GetRemovedInfo(removedInfos); + EXPECT_EQ(ret, E_RDB); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "GetRemovedInfoTest006 ERROR"; + } + GTEST_LOG_(INFO) << "GetRemovedInfoTest006 End"; +} +} diff --git a/test/unittests/cloudsync_sa/sync_rule/package_status_listener_test.cpp b/test/unittests/cloudsync_sa/sync_rule/package_status_listener_test.cpp index 843f7b702..b19cd8ac4 100644 --- a/test/unittests/cloudsync_sa/sync_rule/package_status_listener_test.cpp +++ b/test/unittests/cloudsync_sa/sync_rule/package_status_listener_test.cpp @@ -246,7 +246,7 @@ HWTEST_F(PackageStatusListenerTest, RemovedCleanTest006, TestSize.Level1) /** * @tc.name: IsCloudSyncOnTest001 - * @tc.desc: Verify the IsCloudSyncOn function + * @tc.desc: Verify the IsCloudSyncEnabled function * @tc.type: FUNC * @tc.require: IB3SWZ */ @@ -258,7 +258,7 @@ HWTEST_F(PackageStatusListenerTest, IsCloudSyncOnTest001, TestSize.Level1) auto packageStatusListener = std::make_shared(dataSyncManager); const std::string bundleName = "Test"; const int32_t userId = USER_ID; - packageStatusListener->IsCloudSyncOn(userId, bundleName); + packageStatusListener->IsCloudSyncEnabled(userId, bundleName); EXPECT_TRUE(true); } catch (...) { EXPECT_TRUE(false); @@ -269,7 +269,7 @@ HWTEST_F(PackageStatusListenerTest, IsCloudSyncOnTest001, TestSize.Level1) /** * @tc.name: IsCloudSyncOnTest002 - * @tc.desc: Verify the IsCloudSyncOn function + * @tc.desc: Verify the IsCloudSyncEnabled function * @tc.type: FUNC * @tc.require: IB3SWZ */ @@ -281,7 +281,7 @@ HWTEST_F(PackageStatusListenerTest, IsCloudSyncOnTest002, TestSize.Level1) auto packageStatusListener = std::make_shared(dataSyncManager); const std::string bundleName = ""; const int32_t userId = USER_ID; - packageStatusListener->IsCloudSyncOn(userId, bundleName); + packageStatusListener->IsCloudSyncEnabled(userId, bundleName); EXPECT_TRUE(true); } catch (...) { EXPECT_TRUE(false); @@ -292,7 +292,7 @@ HWTEST_F(PackageStatusListenerTest, IsCloudSyncOnTest002, TestSize.Level1) /** * @tc.name: IsCloudSyncOnTest003 - * @tc.desc: Verify the IsCloudSyncOn function + * @tc.desc: Verify the IsCloudSyncEnabled function * @tc.type: FUNC * @tc.require: IB3SWZ */ @@ -304,7 +304,7 @@ HWTEST_F(PackageStatusListenerTest, IsCloudSyncOnTest003, TestSize.Level1) auto packageStatusListener = std::make_shared(dataSyncManager); const std::string bundleName = "Test"; const int32_t userId = -1; - packageStatusListener->IsCloudSyncOn(userId, bundleName); + packageStatusListener->IsCloudSyncEnabled(userId, bundleName); EXPECT_TRUE(true); } catch (...) { EXPECT_TRUE(false); @@ -315,7 +315,7 @@ HWTEST_F(PackageStatusListenerTest, IsCloudSyncOnTest003, TestSize.Level1) /** * @tc.name: IsCloudSyncOnTest004 - * @tc.desc: Verify the IsCloudSyncOn function + * @tc.desc: Verify the IsCloudSyncEnabled function * @tc.type: FUNC * @tc.require: IB3SWZ */ @@ -327,7 +327,7 @@ HWTEST_F(PackageStatusListenerTest, IsCloudSyncOnTest004, TestSize.Level1) auto packageStatusListener = std::make_shared(dataSyncManager); const std::string bundleName = ""; const int32_t userId = -1; - packageStatusListener->IsCloudSyncOn(userId, bundleName); + packageStatusListener->IsCloudSyncEnabled(userId, bundleName); EXPECT_TRUE(true); } catch (...) { EXPECT_TRUE(false); @@ -338,7 +338,7 @@ HWTEST_F(PackageStatusListenerTest, IsCloudSyncOnTest004, TestSize.Level1) /** * @tc.name: IsCloudSyncOnTest005 - * @tc.desc: Verify the IsCloudSyncOn function + * @tc.desc: Verify the IsCloudSyncEnabled function * @tc.type: FUNC * @tc.require: IB3SWZ */ @@ -350,7 +350,7 @@ HWTEST_F(PackageStatusListenerTest, IsCloudSyncOnTest005, TestSize.Level1) auto packageStatusListener = std::make_shared(dataSyncManager); const std::string bundleName = "Test"; const int32_t userId = 0; - packageStatusListener->IsCloudSyncOn(userId, bundleName); + packageStatusListener->IsCloudSyncEnabled(userId, bundleName); EXPECT_TRUE(true); } catch (...) { EXPECT_TRUE(false); @@ -361,7 +361,7 @@ HWTEST_F(PackageStatusListenerTest, IsCloudSyncOnTest005, TestSize.Level1) /** * @tc.name: IsCloudSyncOnTest006 - * @tc.desc: Verify the IsCloudSyncOn function + * @tc.desc: Verify the IsCloudSyncEnabled function * @tc.type: FUNC * @tc.require: IB3SWZ */ @@ -373,7 +373,7 @@ HWTEST_F(PackageStatusListenerTest, IsCloudSyncOnTest006, TestSize.Level1) auto packageStatusListener = std::make_shared(dataSyncManager); const std::string bundleName = ""; const int32_t userId = 0; - packageStatusListener->IsCloudSyncOn(userId, bundleName); + packageStatusListener->IsCloudSyncEnabled(userId, bundleName); EXPECT_TRUE(true); } catch (...) { EXPECT_TRUE(false); -- Gitee