From 8b5c3b06a2047d66680a605dcd6769961ea50bbf Mon Sep 17 00:00:00 2001 From: BrainL Date: Fri, 6 Jun 2025 13:57:40 +0800 Subject: [PATCH 01/12] file ready fd modify. Signed-off-by: BrainL Change-Id: I5b459d1d17231f77fe36bb7a15e84119ef59b52d --- .../native/backup_ext/src/ext_extension.cpp | 95 ++++--------------- .../backup_ext/src/sub_ext_extension.cpp | 69 ++++++++++++++ .../include/service_reverse.h | 9 ++ .../src/b_incremental_backup_session.cpp | 6 +- .../src/b_incremental_restore_session.cpp | 6 +- .../b_incremental_session_restore_async.cpp | 6 +- .../backup_kit_inner/src/b_session_backup.cpp | 6 +- .../src/b_session_restore.cpp | 6 +- .../src/b_session_restore_async.cpp | 6 +- .../src/service_incremental_reverse.cpp | 13 +++ .../backup_kit_inner/src/service_reverse.cpp | 27 ++++++ services/backup_sa/IService.idl | 4 +- services/backup_sa/IServiceReverse.idl | 9 +- .../backup_sa/include/module_ipc/service.h | 6 +- services/backup_sa/src/module_ipc/service.cpp | 14 ++- .../src/module_ipc/service_incremental.cpp | 32 ++++++- .../backup_sa/src/module_ipc/sub_service.cpp | 9 +- .../backup_kit_inner/service_proxy_mock.cpp | 12 ++- .../include/service_reverse_proxy_mock.h | 3 + tests/mock/module_ipc/service_mock.cpp | 13 ++- .../backup_impl/include/i_service_mock.h | 12 ++- .../include/service_reverse_mock.h | 20 ++++ .../module_client/service_client_test.cpp | 8 +- .../module_ipc/service_incremental_test.cpp | 29 +++--- .../module_ipc/service_other_test.cpp | 8 +- .../module_ipc/service_stub_test.cpp | 11 +-- .../module_ipc/service_throw_test.cpp | 2 +- .../session/b_incremental_session_test.cpp | 6 +- .../backup_sa/session/service_proxy_mock.cpp | 12 ++- .../backup_sa/session/service_proxy_mock.h | 4 +- 30 files changed, 301 insertions(+), 162 deletions(-) diff --git a/frameworks/native/backup_ext/src/ext_extension.cpp b/frameworks/native/backup_ext/src/ext_extension.cpp index 72010a892..8d25b2491 100644 --- a/frameworks/native/backup_ext/src/ext_extension.cpp +++ b/frameworks/native/backup_ext/src/ext_extension.cpp @@ -476,9 +476,9 @@ ErrCode BackupExtExtension::IndexFileReady(const TarMap &pkgInfo, sptr HILOGE("get index size fail err:%{public}d", err); } int fdval = open(INDEX_FILE_BACKUP.data(), O_RDONLY); - ErrCode ret = - proxy->AppFileReady(string(BConstants::EXT_BACKUP_MANAGE), fdval, - ERR_OK); + ErrCode ret = fdval < 0 ? + proxy->AppFileReadyWithoutFd(string(BConstants::EXT_BACKUP_MANAGE), ERR_OK) : + proxy->AppFileReady(string(BConstants::EXT_BACKUP_MANAGE), fdval, ERR_OK); if (SUCCEEDED(ret)) { HILOGI("The application is packaged successfully"); } else { @@ -527,7 +527,8 @@ ErrCode BackupExtExtension::BigFileReady(TarMap &bigFileInfo, sptr pro continue; } } - ret = proxy->AppFileReady(item.first, fdval, errCode); + ret = fdval < 0 ? proxy->AppFileReadyWithoutFd(item.first, errCode) : + proxy->AppFileReady(item.first, fdval, errCode); if (SUCCEEDED(ret)) { HILOGI("The application is packaged successfully, package name is %{public}s", item.first.c_str()); } else { @@ -707,7 +708,8 @@ static ErrCode TarFileReady(const TarMap &tarFileInfo, sptr proxy) HILOGE("TarFileReady open file failed, file name is %{public}s, err = %{public}d", tarName.c_str(), errno); errCode = errno; } - int ret = proxy->AppFileReady(tarName, fdval, errCode); + int ret = fdval < 0 ? proxy->AppFileReadyWithoutFd(tarName, errCode) : + proxy->AppFileReady(tarName, fdval, errCode); if (SUCCEEDED(ret)) { HILOGI("TarFileReady: AppFileReady success for %{public}s", tarName.c_str()); // 删除文件 @@ -2003,75 +2005,6 @@ ErrCode BackupExtExtension::HandleRestore(bool isClearData) } } -static bool IfEquality(const ReportFileInfo &info, const ReportFileInfo &infoAd) -{ - return info.filePath < infoAd.filePath; -} - -static void AdDeduplication(vector &filesList) -{ - sort(filesList.begin(), filesList.end(), IfEquality); - auto it = unique(filesList.begin(), filesList.end(), [](const ReportFileInfo &info, const ReportFileInfo &infoAd) { - return info.filePath == infoAd.filePath; - }); - filesList.erase(it, filesList.end()); -} - -void BackupExtExtension::FillFileInfos(UniqueFd incrementalFd, - UniqueFd manifestFd, - vector &allFiles, - vector &smallFiles, - vector &bigFiles) -{ - HILOGI("Begin Compare"); - BReportEntity cloudRp(move(manifestFd)); - unordered_map cloudFiles; - cloudRp.GetReportInfos(cloudFiles); - appStatistic_->scanFileSpend_.Start(); - if (cloudFiles.empty()) { - FillFileInfosWithoutCmp(allFiles, smallFiles, bigFiles, move(incrementalFd)); - } else { - FillFileInfosWithCmp(allFiles, smallFiles, bigFiles, cloudFiles, move(incrementalFd)); - } - - AdDeduplication(allFiles); - AdDeduplication(smallFiles); - AdDeduplication(bigFiles); - appStatistic_->smallFileCount_ = smallFiles.size(); - appStatistic_->bigFileCount_ = bigFiles.size(); - appStatistic_->scanFileSpend_.End(); - HILOGI("End Compare, allfile is %{public}zu, smallfile is %{public}zu, bigfile is %{public}zu", - allFiles.size(), smallFiles.size(), bigFiles.size()); -} - -ErrCode BackupExtExtension::HandleIncrementalBackup(int incrementalFd, int manifestFd) -{ - HILOGI("Start HandleIncrementalBackup. incrementalFd:%{public}d, manifestFd:%{public}d", incrementalFd, manifestFd); - UniqueFd incrementalFdUnique(dup(incrementalFd)); - UniqueFd manifestFdUnique(dup(manifestFd)); - ErrCode ret = HandleIncrementalBackup(std::move(incrementalFdUnique), std::move(manifestFdUnique)); - close(incrementalFd); - close(manifestFd); - return ret; -} - -ErrCode BackupExtExtension::HandleIncrementalBackup(UniqueFd incrementalFd, UniqueFd manifestFd) -{ - HITRACE_METER_NAME(HITRACE_TAG_FILEMANAGEMENT, __PRETTY_FUNCTION__); - try { - HILOGI("Start HandleIncrementalBackup"); - if (!IfAllowToBackupRestore()) { - return BError(BError::Codes::EXT_FORBID_BACKUP_RESTORE, "Application does not allow backup or restore") - .GetCode(); - } - AsyncTaskDoIncrementalBackup(move(incrementalFd), move(manifestFd)); - return ERR_OK; - } catch (...) { - HILOGE("Failed to handle incremental backup"); - return BError(BError::Codes::EXT_INVAL_ARG).GetCode(); - } -} - ErrCode BackupExtExtension::IncrementalOnBackup(bool isClearData) { HITRACE_METER_NAME(HITRACE_TAG_FILEMANAGEMENT, __PRETTY_FUNCTION__); @@ -2125,7 +2058,9 @@ ErrCode BackupExtExtension::IncrementalTarFileReady(const TarMap &bigFileInfo, string tarName = string(INDEX_FILE_INCREMENTAL_BACKUP).append(tarFile); int fd = open(tarName.data(), O_RDONLY); int manifestFd = open(file.data(), O_RDONLY); - ErrCode ret = proxy->AppIncrementalFileReady(tarFile, fd, manifestFd, ERR_OK); + ErrCode ret = (fd < 0 || manifestFd < 0) ? + proxy->AppIncrementalFileReadyWithoutFd(tarFile, ERR_OK) : + proxy->AppIncrementalFileReady(tarFile, fd, manifestFd, ERR_OK); if (SUCCEEDED(ret)) { HILOGI("IncrementalTarFileReady: The application is packaged successfully"); // 删除文件 @@ -2175,7 +2110,9 @@ ErrCode BackupExtExtension::IncrementalBigFileReady(TarMap &pkgInfo, string file = GetReportFileName(string(INDEX_FILE_INCREMENTAL_BACKUP).append(item.first)); WriteFile(file, bigInfo); int manifestFdval = open(file.data(), O_RDONLY); - ret = proxy->AppIncrementalFileReady(item.first, fdval, manifestFdval, errCode); + bool fdFlag = (fdval < 0 || manifestFdval < 0) ? false : true; + ErrCode ret = fdFlag ? proxy->AppIncrementalFileReady(item.first, fdval, manifestFdval, errCode) : + proxy->AppIncrementalFileReadyWithoutFd(item.first, errCode); if (SUCCEEDED(ret)) { HILOGI("IncrementalBigFileReady: The application is packaged successfully, package name is %{public}s", item.first.c_str()); @@ -2209,9 +2146,9 @@ ErrCode BackupExtExtension::IncrementalAllFileReady(const TarMap &pkgInfo, WriteFile(file, srcFiles); int fdval = open(INDEX_FILE_BACKUP.data(), O_RDONLY); int manifestFdval = open(file.data(), O_RDONLY); - ErrCode ret = - proxy->AppIncrementalFileReady(string(BConstants::EXT_BACKUP_MANAGE), fdval, - manifestFdval, ERR_OK); + ErrCode ret = fdval < 0 ? + proxy->AppIncrementalFileReadyWithoutFd(string(BConstants::EXT_BACKUP_MANAGE), ERR_OK) : + proxy->AppIncrementalFileReady(string(BConstants::EXT_BACKUP_MANAGE), fdval, manifestFdval, ERR_OK); if (SUCCEEDED(ret)) { HILOGI("IncrementalAllFileReady successfully"); RemoveFile(file); diff --git a/frameworks/native/backup_ext/src/sub_ext_extension.cpp b/frameworks/native/backup_ext/src/sub_ext_extension.cpp index b771262fe..6cbecd941 100644 --- a/frameworks/native/backup_ext/src/sub_ext_extension.cpp +++ b/frameworks/native/backup_ext/src/sub_ext_extension.cpp @@ -1681,4 +1681,73 @@ tuple BackupExtExtension::GetIncrementalBackupFileHandle() HITRACE_METER_NAME(HITRACE_TAG_FILEMANAGEMENT, __PRETTY_FUNCTION__); return {UniqueFd(BConstants::INVALID_FD_NUM), UniqueFd(BConstants::INVALID_FD_NUM)}; } + +static bool IfEquality(const ReportFileInfo &info, const ReportFileInfo &infoAd) +{ + return info.filePath < infoAd.filePath; +} + +static void AdDeduplication(vector &filesList) +{ + sort(filesList.begin(), filesList.end(), IfEquality); + auto it = unique(filesList.begin(), filesList.end(), [](const ReportFileInfo &info, const ReportFileInfo &infoAd) { + return info.filePath == infoAd.filePath; + }); + filesList.erase(it, filesList.end()); +} + +void BackupExtExtension::FillFileInfos(UniqueFd incrementalFd, + UniqueFd manifestFd, + vector &allFiles, + vector &smallFiles, + vector &bigFiles) +{ + HILOGI("Begin Compare"); + BReportEntity cloudRp(move(manifestFd)); + unordered_map cloudFiles; + cloudRp.GetReportInfos(cloudFiles); + appStatistic_->scanFileSpend_.Start(); + if (cloudFiles.empty()) { + FillFileInfosWithoutCmp(allFiles, smallFiles, bigFiles, move(incrementalFd)); + } else { + FillFileInfosWithCmp(allFiles, smallFiles, bigFiles, cloudFiles, move(incrementalFd)); + } + + AdDeduplication(allFiles); + AdDeduplication(smallFiles); + AdDeduplication(bigFiles); + appStatistic_->smallFileCount_ = smallFiles.size(); + appStatistic_->bigFileCount_ = bigFiles.size(); + appStatistic_->scanFileSpend_.End(); + HILOGI("End Compare, allfile is %{public}zu, smallfile is %{public}zu, bigfile is %{public}zu", + allFiles.size(), smallFiles.size(), bigFiles.size()); +} + +ErrCode BackupExtExtension::HandleIncrementalBackup(int incrementalFd, int manifestFd) +{ + HILOGI("Start HandleIncrementalBackup. incrementalFd:%{public}d, manifestFd:%{public}d", incrementalFd, manifestFd); + UniqueFd incrementalFdUnique(dup(incrementalFd)); + UniqueFd manifestFdUnique(dup(manifestFd)); + ErrCode ret = HandleIncrementalBackup(std::move(incrementalFdUnique), std::move(manifestFdUnique)); + close(incrementalFd); + close(manifestFd); + return ret; +} + +ErrCode BackupExtExtension::HandleIncrementalBackup(UniqueFd incrementalFd, UniqueFd manifestFd) +{ + HITRACE_METER_NAME(HITRACE_TAG_FILEMANAGEMENT, __PRETTY_FUNCTION__); + try { + HILOGI("Start HandleIncrementalBackup"); + if (!IfAllowToBackupRestore()) { + return BError(BError::Codes::EXT_FORBID_BACKUP_RESTORE, "Application does not allow backup or restore") + .GetCode(); + } + AsyncTaskDoIncrementalBackup(move(incrementalFd), move(manifestFd)); + return ERR_OK; + } catch (...) { + HILOGE("Failed to handle incremental backup"); + return BError(BError::Codes::EXT_INVAL_ARG).GetCode(); + } +} } // namespace OHOS::FileManagement::Backup diff --git a/frameworks/native/backup_kit_inner/include/service_reverse.h b/frameworks/native/backup_kit_inner/include/service_reverse.h index 90b51874e..ec905ec3c 100644 --- a/frameworks/native/backup_kit_inner/include/service_reverse.h +++ b/frameworks/native/backup_kit_inner/include/service_reverse.h @@ -32,6 +32,9 @@ public: const std::string &fileName, int fd, int32_t errCode) override; + ErrCode BackupOnFileReadyWithoutFd(const std::string &bundleName, + const std::string &fileName, + int32_t errCode) override; ErrCode BackupOnBundleStarted(int32_t errCode, const std::string &bundleName) override; ErrCode BackupOnResultReport(const std::string &result, const std::string &bundleName) override; ErrCode BackupOnBundleFinished(int32_t errCode, const std::string &bundleName) override; @@ -46,6 +49,9 @@ public: const std::string &fileName, int fd, int32_t errCode) override; + ErrCode RestoreOnFileReadyWithoutFd(const std::string &bundleName, + const std::string &fileName, + int32_t errCode) override; ErrCode RestoreOnResultReport(const std::string &result, const std::string &bundleName, ErrCode errCode = 0) override; @@ -58,6 +64,9 @@ public: int32_t errCode) override; ErrCode IncrementalSaBackupOnFileReady(const std::string &bundleName, const std::string &fileName, int fd, int32_t errCode) override; + ErrCode IncrementalBackupOnFileReadyWithoutFd(const std::string &bundleName, + const std::string &fileName, + int32_t errCode) override; ErrCode IncrementalBackupOnBundleStarted(int32_t errCode, const std::string &bundleName) override; ErrCode IncrementalBackupOnResultReport(const std::string &result, const std::string &bundleName) override; ErrCode IncrementalBackupOnBundleFinished(int32_t errCode, const std::string &bundleName) override; diff --git a/frameworks/native/backup_kit_inner/src/b_incremental_backup_session.cpp b/frameworks/native/backup_kit_inner/src/b_incremental_backup_session.cpp index a3f98f0b6..be5413d5d 100644 --- a/frameworks/native/backup_kit_inner/src/b_incremental_backup_session.cpp +++ b/frameworks/native/backup_kit_inner/src/b_incremental_backup_session.cpp @@ -202,11 +202,7 @@ ErrCode BIncrementalBackupSession::Cancel(std::string bundleName) return result; } - ErrCode errCode = proxy->Cancel(bundleName, result); - if (errCode != 0) { - HILOGE("proxy->Cancel failed, errCode:%{public}d.", errCode); - return result; - } + proxy->CancelForResult(bundleName, result); return result; } diff --git a/frameworks/native/backup_kit_inner/src/b_incremental_restore_session.cpp b/frameworks/native/backup_kit_inner/src/b_incremental_restore_session.cpp index 2216b47d4..78b92c231 100644 --- a/frameworks/native/backup_kit_inner/src/b_incremental_restore_session.cpp +++ b/frameworks/native/backup_kit_inner/src/b_incremental_restore_session.cpp @@ -224,11 +224,7 @@ ErrCode BIncrementalRestoreSession::Cancel(std::string bundleName) return result; } - ErrCode errCode = proxy->Cancel(bundleName, result); - if (errCode != 0) { - HILOGE("proxy->Cancel failed, errCode:%{public}d.", errCode); - return result; - } + proxy->CancelForResult(bundleName, result); return result; } diff --git a/frameworks/native/backup_kit_inner/src/b_incremental_session_restore_async.cpp b/frameworks/native/backup_kit_inner/src/b_incremental_session_restore_async.cpp index d812f6bee..64591a0e2 100644 --- a/frameworks/native/backup_kit_inner/src/b_incremental_session_restore_async.cpp +++ b/frameworks/native/backup_kit_inner/src/b_incremental_session_restore_async.cpp @@ -175,11 +175,7 @@ ErrCode BIncrementalSessionRestoreAsync::Cancel(std::string bundleName) return result; } - ErrCode errCode = proxy->Cancel(bundleName, result); - if (errCode != 0) { - HILOGE("proxy->Cancel failed, errCode:%{public}d.", errCode); - return result; - } + proxy->CancelForResult(bundleName, result); return result; } } // namespace OHOS::FileManagement::Backup \ No newline at end of file diff --git a/frameworks/native/backup_kit_inner/src/b_session_backup.cpp b/frameworks/native/backup_kit_inner/src/b_session_backup.cpp index 1a7a1ba57..992125a31 100644 --- a/frameworks/native/backup_kit_inner/src/b_session_backup.cpp +++ b/frameworks/native/backup_kit_inner/src/b_session_backup.cpp @@ -221,11 +221,7 @@ ErrCode BSessionBackup::Cancel(std::string bundleName) return result; } - ErrCode errCode = proxy->Cancel(bundleName, result); - if (errCode != 0) { - HILOGE("proxy->Cancel failed, errCode:%{public}d.", errCode); - return result; - } + proxy->CancelForResult(bundleName, result); return result; } diff --git a/frameworks/native/backup_kit_inner/src/b_session_restore.cpp b/frameworks/native/backup_kit_inner/src/b_session_restore.cpp index 703ac92ad..34dfc57c3 100644 --- a/frameworks/native/backup_kit_inner/src/b_session_restore.cpp +++ b/frameworks/native/backup_kit_inner/src/b_session_restore.cpp @@ -202,11 +202,7 @@ ErrCode BSessionRestore::Cancel(std::string bundleName) return result; } - ErrCode errCode = proxy->Cancel(bundleName, result); - if (errCode != 0) { - HILOGE("proxy->Cancel failed, errCode:%{public}d.", errCode); - return result; - } + proxy->CancelForResult(bundleName, result); return result; } diff --git a/frameworks/native/backup_kit_inner/src/b_session_restore_async.cpp b/frameworks/native/backup_kit_inner/src/b_session_restore_async.cpp index 8cc600b95..22fda54f5 100644 --- a/frameworks/native/backup_kit_inner/src/b_session_restore_async.cpp +++ b/frameworks/native/backup_kit_inner/src/b_session_restore_async.cpp @@ -175,11 +175,7 @@ ErrCode BSessionRestoreAsync::Cancel(std::string bundleName) return result; } - ErrCode errCode = proxy->Cancel(bundleName, result); - if (errCode != 0) { - HILOGE("proxy->Cancel failed, errCode:%{public}d.", errCode); - return result; - } + proxy->CancelForResult(bundleName, result); return result; } } // namespace OHOS::FileManagement::Backup \ No newline at end of file diff --git a/frameworks/native/backup_kit_inner/src/service_incremental_reverse.cpp b/frameworks/native/backup_kit_inner/src/service_incremental_reverse.cpp index 7cc645857..e27ac60ac 100644 --- a/frameworks/native/backup_kit_inner/src/service_incremental_reverse.cpp +++ b/frameworks/native/backup_kit_inner/src/service_incremental_reverse.cpp @@ -49,6 +49,19 @@ ErrCode ServiceReverse::IncrementalSaBackupOnFileReady(const std::string &bundle return BError(BError::Codes::OK); } +ErrCode ServiceReverse::IncrementalBackupOnFileReadyWithoutFd(const std::string &bundleName, + const std::string &fileName, + int32_t errCode) +{ + if (scenario_ != Scenario::BACKUP || !callbacksIncrementalBackup_.onFileReady) { + HILOGE("Error scenario or callback is nullptr, scenario = %{public}d", scenario_); + return BError(BError::Codes::OK); + } + BFileInfo bFileInfo(bundleName, fileName, 0); + callbacksIncrementalBackup_.onFileReady(bFileInfo, UniqueFd(INVALID_FD), UniqueFd(INVALID_FD), errCode); + return BError(BError::Codes::OK); +} + ErrCode ServiceReverse::IncrementalBackupOnBundleStarted(int32_t errCode, const std::string &bundleName) { if (scenario_ != Scenario::BACKUP || !callbacksIncrementalBackup_.onBundleStarted) { diff --git a/frameworks/native/backup_kit_inner/src/service_reverse.cpp b/frameworks/native/backup_kit_inner/src/service_reverse.cpp index 0db73caec..a985150d8 100644 --- a/frameworks/native/backup_kit_inner/src/service_reverse.cpp +++ b/frameworks/native/backup_kit_inner/src/service_reverse.cpp @@ -35,6 +35,19 @@ ErrCode ServiceReverse::BackupOnFileReady(const std::string &bundleName, return BError(BError::Codes::OK); } +ErrCode ServiceReverse::BackupOnFileReadyWithoutFd(const std::string &bundleName, + const std::string &fileName, + int32_t errCode) +{ + if (scenario_ != Scenario::BACKUP || !callbacksBackup_.onFileReady) { + HILOGE("Error scenario or callback is nullptr, scenario = %{public}d", scenario_); + return BError(BError::Codes::OK); + } + BFileInfo bFileInfo(bundleName, fileName, 0); + callbacksBackup_.onFileReady(bFileInfo, UniqueFd(INVALID_FD), errCode); + return BError(BError::Codes::OK); +} + ErrCode ServiceReverse::BackupOnBundleStarted(int32_t errCode, const std::string &bundleName) { if (scenario_ != Scenario::BACKUP || !callbacksBackup_.onBundleStarted) { @@ -145,6 +158,20 @@ ErrCode ServiceReverse::RestoreOnFileReady(const std::string &bundleName, return BError(BError::Codes::OK); } +ErrCode ServiceReverse::RestoreOnFileReadyWithoutFd(const std::string &bundleName, + const std::string &fileName, + int32_t errCode) +{ + HILOGD("begin, bundleName is:%{public}s", bundleName.c_str()); + if (scenario_ != Scenario::RESTORE || !callbacksRestore_.onFileReady) { + HILOGE("Error scenario or callback is nullptr, scenario = %{public}d", scenario_); + return BError(BError::Codes::OK); + } + BFileInfo bFileInfo(bundleName, fileName, 0); + callbacksRestore_.onFileReady(bFileInfo, UniqueFd(INVALID_FD), errCode); + return BError(BError::Codes::OK); +} + ErrCode ServiceReverse::RestoreOnResultReport(const std::string &result, const std::string &bundleName, ErrCode errCode) { HILOGI("ServiceReverse RestoreOnResultReport bundle %{public}s begin with result: %{public}s", bundleName.c_str(), diff --git a/services/backup_sa/IService.idl b/services/backup_sa/IService.idl index 8d03b1f91..ff63f3daa 100644 --- a/services/backup_sa/IService.idl +++ b/services/backup_sa/IService.idl @@ -43,7 +43,7 @@ interface OHOS.FileManagement.Backup.IService{ [ipccode 12] void AppendBundlesDetailsBackupSession([in] String[] bundleNames, [in] String[] bundleInfos); [ipccode 13] void Finish(); [ipccode 14] void Release(); - [ipccode 15] void Cancel([in] String bundleName, [out] int cancelResult); + [ipccode 15] void CancelForResult([in] String bundleName, [out] int cancelResult); [ipccode 16] void GetAppLocalListAndDoIncrementalBackup(); [ipccode 17] void GetIncrementalFileHandle([in] String bundleName, [in] String fileName); [ipccode 18] void GetBackupInfo([in] String bundleName, [out] String getBackupInfoResult); @@ -72,4 +72,6 @@ interface OHOS.FileManagement.Backup.IService{ [in] int serviceResultReportErrCode); [ipccode 38] void GetBackupDataSize([in] boolean isPreciseScan,[in] BIncrementalData[] bundleNameList); [ipccode 40] void CleanBundleTempDir([in] String bundleName); + [ipccode 41] void AppFileReadyWithoutFd([in]String fileName, [in] int appFileReadyErrCode); + [ipccode 42] void AppIncrementalFileReadyWithoutFd([in] String fileName, [in] int appIncrementalFileReadyErrCode); } \ No newline at end of file diff --git a/services/backup_sa/IServiceReverse.idl b/services/backup_sa/IServiceReverse.idl index 307910914..55bf06191 100644 --- a/services/backup_sa/IServiceReverse.idl +++ b/services/backup_sa/IServiceReverse.idl @@ -62,4 +62,11 @@ interface OHOS.FileManagement.Backup.IServiceReverse{ [in] String bundleName); [ipccode 24] void IncrementalRestoreOnAllBundlesFinished([in] int incrementalRestoreOnAllBundlesFinishedErrCode); [ipccode 25] void IncrementalRestoreOnProcessInfo( [in] String bundleName, [in] String processInfo); -} + [ipccode 27] void BackupOnFileReadyWithoutFd([in] String bundleName, [in] String fileName, + [in] int backupOnFileReadyErrCode); + [ipccode 28] void RestoreOnFileReadyWithoutFd([in] String bundleName, [in] String fileName, + [in] int restoreOnFileReadyErrCode); + [ipccode 29] void IncrementalBackupOnFileReadyWithoutFd([in] String bundleName, + [in] String fileName, + [in] int incrementalBackupOnFileReadyErrCode); +} diff --git a/services/backup_sa/include/module_ipc/service.h b/services/backup_sa/include/module_ipc/service.h index 193698546..9228595b7 100644 --- a/services/backup_sa/include/module_ipc/service.h +++ b/services/backup_sa/include/module_ipc/service.h @@ -65,6 +65,7 @@ public: ErrCode GetLocalCapabilitiesForBundleInfos(int& fd) override; ErrCode PublishFile(const BFileInfo &fileInfo) override; ErrCode AppFileReady(const std::string &fileName, int fd, int32_t errCode) override; + ErrCode AppFileReadyWithoutFd(const std::string &fileName, int32_t errCode) override; ErrCode AppDone(ErrCode errCode) override; ErrCode ServiceResultReport(const std::string& restoreRetInfo, BackupRestoreScenario sennario, ErrCode errCode) override; @@ -84,7 +85,7 @@ public: const std::vector &bundleInfos) override; ErrCode Finish() override; ErrCode Release() override; - ErrCode Cancel(const std::string& bundleName, int32_t &result) override; + ErrCode CancelForResult(const std::string& bundleName, int32_t &result) override; ErrCode GetLocalCapabilitiesIncremental(const std::vector& bundleNames, int& fd) override; ErrCode GetAppLocalListAndDoIncrementalBackup() override; ErrCode InitIncrementalBackupSession(const sptr& remote) override; @@ -98,6 +99,8 @@ public: ErrCode PublishSAIncrementalFile(const BFileInfo &fileInfo, UniqueFd fd); ErrCode AppIncrementalFileReady(const std::string& fileName, int fd, int manifestFd, int32_t appIncrementalFileReadyErrCode) override; + ErrCode AppIncrementalFileReadyWithoutFd(const std::string& fileName, + int32_t appIncrementalFileReadyErrCode) override; ErrCode AppIncrementalDone(ErrCode errCode) override; ErrCode GetIncrementalFileHandle(const std::string &bundleName, const std::string &fileName) override; ErrCode GetBackupInfo(const BundleName &bundleName, std::string &result) override; @@ -685,6 +688,7 @@ private: void SetScanningInfo(string &scanning, string name); + ErrCode Cancel(const std::string& bundleName, int32_t &result); ErrCode InitRestoreSession(const sptr& remote, std::string &errMsg); ErrCode InitBackupSession(const sptr& remote, std::string &errMsg); ErrCode InitIncrementalBackupSession(const sptr& remote, std::string &errMsg); diff --git a/services/backup_sa/src/module_ipc/service.cpp b/services/backup_sa/src/module_ipc/service.cpp index dfe4d5d53..2cc7b475c 100644 --- a/services/backup_sa/src/module_ipc/service.cpp +++ b/services/backup_sa/src/module_ipc/service.cpp @@ -1156,7 +1156,9 @@ void Service::StartCurBundleBackupOrRestore(const std::string &bundleName) int fdCode = 0; proxy->GetFileHandleWithUniqueFd(fileName, errCode, fdCode); UniqueFd fd(fdCode); - session_->GetServiceReverseProxy()->RestoreOnFileReady(bundleName, fileName, move(fd), errCode); + bool fdFlag = fd < 0 ? false : true; + fdFlag ? session_->GetServiceReverseProxy()->RestoreOnFileReady(bundleName, fileName, move(fd), errCode) : + session_->GetServiceReverseProxy()->BackupOnFileReadyWithoutFd(bundleName, fileName, errCode); FileReadyRadarReport(bundleName, fileName, errCode, scenario); } } @@ -1855,10 +1857,16 @@ void Service::OnSABackup(const std::string &bundleName, const int &fd, const std BackupRestoreScenario scenario = BackupRestoreScenario::FULL_BACKUP; if (session_->GetIsIncrementalBackup()) { scenario = BackupRestoreScenario::INCREMENTAL_BACKUP; - session_->GetServiceReverseProxy()->IncrementalSaBackupOnFileReady(bundleName, "", move(fd), errCode); + bool fdFlag = fd < 0 ? false : true; + fdFlag ? session_->GetServiceReverseProxy()->IncrementalSaBackupOnFileReady(bundleName, "", + move(fd), errCode) : + session_->GetServiceReverseProxy()->IncrementalBackupOnFileReadyWithoutFd(bundleName, "", + errCode); } else { scenario = BackupRestoreScenario::FULL_BACKUP; - session_->GetServiceReverseProxy()->BackupOnFileReady(bundleName, "", move(fd), errCode); + bool fdFlag = fd < 0 ? false : true; + fdFlag ? session_->GetServiceReverseProxy()->BackupOnFileReady(bundleName, "", move(fd), errCode) : + session_->GetServiceReverseProxy()->BackupOnFileReadyWithoutFd(bundleName, "", errCode); } FileReadyRadarReport(bundleName, "", errCode, IServiceReverseType::Scenario::BACKUP); SAResultReport(bundleName, result, errCode, scenario); diff --git a/services/backup_sa/src/module_ipc/service_incremental.cpp b/services/backup_sa/src/module_ipc/service_incremental.cpp index 4c5db0ee5..c8c2002f6 100644 --- a/services/backup_sa/src/module_ipc/service_incremental.cpp +++ b/services/backup_sa/src/module_ipc/service_incremental.cpp @@ -126,7 +126,7 @@ ErrCode Service::GetLocalCapabilitiesIncremental(const std::vectorOnBundleExtManageInfo(bundleName, move(fd)); } - session_->GetServiceReverseProxy()->IncrementalBackupOnFileReady(bundleName, fileName, move(fd), - move(manifestFd), errCode); + bool fdFlag = (fd < 0 || manifestFd < 0) ? false : true; + fdFlag ? session_->GetServiceReverseProxy()->IncrementalBackupOnFileReady(bundleName, fileName, move(fd), + move(manifestFd), errCode) : + session_->GetServiceReverseProxy()->IncrementalBackupOnFileReadyWithoutFd(bundleName, fileName, + errCode); FileReadyRadarReport(bundleName, fileName, errCode, IServiceReverseType::Scenario::BACKUP); if (session_->OnBundleFileReady(bundleName, fileName)) { ErrCode ret = HandleCurBundleFileReady(bundleName, fileName, true); @@ -634,6 +637,13 @@ ErrCode Service::AppIncrementalFileReady(const std::string &fileName, int fd, in appIncrementalFileReadyErrCode); } +ErrCode Service::AppIncrementalFileReadyWithoutFd(const std::string &fileName, int32_t appIncrementalFileReadyErrCode) +{ + return AppIncrementalFileReady(fileName, UniqueFd(BConstants::INVALID_FD_NUM), + UniqueFd(BConstants::INVALID_FD_NUM), + appIncrementalFileReadyErrCode); +} + ErrCode Service::AppIncrementalFileReady(const std::string &fileName, UniqueFd fd, UniqueFd manifestFd, int32_t errCode) { HITRACE_METER_NAME(HITRACE_TAG_FILEMANAGEMENT, __PRETTY_FUNCTION__); @@ -653,8 +663,11 @@ ErrCode Service::AppIncrementalFileReady(const std::string &fileName, UniqueFd f if (fileName == BConstants::EXT_BACKUP_MANAGE) { fd = session_->OnBundleExtManageInfo(callerName, move(fd)); } - session_->GetServiceReverseProxy()->IncrementalBackupOnFileReady(callerName, fileName, move(fd), - move(manifestFd), errCode); + bool fdFlag = (fd < 0 || manifestFd < 0) ? false : true; + fdFlag ? session_->GetServiceReverseProxy()->IncrementalBackupOnFileReady(callerName, fileName, move(fd), + move(manifestFd), errCode) : + session_->GetServiceReverseProxy()->IncrementalBackupOnFileReadyWithoutFd(callerName, fileName, + errCode); FileReadyRadarReport(callerName, fileName, errCode, IServiceReverseType::Scenario::BACKUP); if (session_->OnBundleFileReady(callerName, fileName)) { ErrCode ret = HandleCurBundleFileReady(callerName, fileName, true); @@ -1042,6 +1055,15 @@ void Service::CancelTask(std::string bundleName, wptr ptr) thisPtr->OnAllBundlesFinished(BError(BError::Codes::OK)); } +ErrCode Service::CancelForResult(const std::string& bundleName, int32_t &result) +{ + ErrCode errCode = Cancel(bundleName, result); + if (errCode != 0) { + HILOGE("Cancel failed, errCode:%{public}d.", errCode); + } + return BError(BError::Codes::OK); +} + ErrCode Service::Cancel(const std::string& bundleName, int32_t &result) { HITRACE_METER_NAME(HITRACE_TAG_FILEMANAGEMENT, __PRETTY_FUNCTION__); diff --git a/services/backup_sa/src/module_ipc/sub_service.cpp b/services/backup_sa/src/module_ipc/sub_service.cpp index 33ad9905a..cc297c7c4 100644 --- a/services/backup_sa/src/module_ipc/sub_service.cpp +++ b/services/backup_sa/src/module_ipc/sub_service.cpp @@ -320,6 +320,11 @@ ErrCode Service::AppFileReady(const std::string &fileName, int fd, int32_t errCo return AppFileReady(fileName, std::move(fdUnique), errCode); } +ErrCode Service::AppFileReadyWithoutFd(const std::string &fileName, int32_t errCode) +{ + return AppFileReady(fileName, UniqueFd(INVALID_FD), errCode); +} + ErrCode Service::AppFileReady(const string &fileName, UniqueFd fd, int32_t errCode) { HITRACE_METER_NAME(HITRACE_TAG_FILEMANAGEMENT, __PRETTY_FUNCTION__); @@ -341,7 +346,9 @@ ErrCode Service::AppFileReady(const string &fileName, UniqueFd fd, int32_t errCo if (fileName == BConstants::EXT_BACKUP_MANAGE) { fd = session_->OnBundleExtManageInfo(callerName, move(fd)); } - session_->GetServiceReverseProxy()->BackupOnFileReady(callerName, fileName, move(fd), errCode); + bool fdFlag = fd < 0 ? false : true; + fdFlag ? session_->GetServiceReverseProxy()->BackupOnFileReady(callerName, fileName, move(fd), errCode) : + session_->GetServiceReverseProxy()->BackupOnFileReadyWithoutFd(callerName, fileName, errCode); FileReadyRadarReport(callerName, fileName, errCode, session_->GetScenario()); if (session_->OnBundleFileReady(callerName, fileName)) { ret = HandleCurBundleFileReady(callerName, fileName, false); diff --git a/tests/mock/backup_kit_inner/service_proxy_mock.cpp b/tests/mock/backup_kit_inner/service_proxy_mock.cpp index 96fa0647a..84a9006fe 100644 --- a/tests/mock/backup_kit_inner/service_proxy_mock.cpp +++ b/tests/mock/backup_kit_inner/service_proxy_mock.cpp @@ -91,6 +91,11 @@ ErrCode ServiceProxy::AppFileReady(const string &fileName, int fd, int32_t errCo return BError(BError::Codes::OK); } +ErrCode ServiceProxy::AppFileReadyWithoutFd(const string &fileName, int32_t errCode) +{ + return BError(BError::Codes::OK); +} + ErrCode ServiceProxy::AppDone(ErrCode errCode) { return BError(BError::Codes::OK); @@ -145,7 +150,7 @@ ErrCode ServiceProxy::Release() return BError(BError::Codes::OK); } -ErrCode ServiceProxy::Cancel(const std::string &bundleName, int32_t &result) +ErrCode ServiceProxy::CancelForResult(const std::string &bundleName, int32_t &result) { result = BError(BError::Codes::OK); return BError(BError::Codes::OK); @@ -201,6 +206,11 @@ ErrCode ServiceProxy::AppIncrementalFileReady(const string &fileName, int fd, in return BError(BError::Codes::OK); } +ErrCode ServiceProxy::AppIncrementalFileReadyWithoutFd(const string &fileName, int32_t errCode) +{ + return BError(BError::Codes::OK); +} + ErrCode ServiceProxy::AppIncrementalDone(ErrCode errCode) { return BError(BError::Codes::OK); diff --git a/tests/mock/module_ipc/include/service_reverse_proxy_mock.h b/tests/mock/module_ipc/include/service_reverse_proxy_mock.h index 8e6b6b17f..288070014 100644 --- a/tests/mock/module_ipc/include/service_reverse_proxy_mock.h +++ b/tests/mock/module_ipc/include/service_reverse_proxy_mock.h @@ -26,6 +26,7 @@ class ServiceReverseProxyMock : public IRemoteProxy { public: MOCK_METHOD(int, SendRequest, (uint32_t, MessageParcel &, MessageParcel &, MessageOption &)); MOCK_METHOD(ErrCode, BackupOnFileReady, (const std::string &, const std::string &, int, int32_t)); + MOCK_METHOD(ErrCode, BackupOnFileReadyWithoutFd, (const std::string &, const std::string &, int32_t)); MOCK_METHOD(ErrCode, BackupOnBundleStarted, (int32_t, const std::string &)); MOCK_METHOD(ErrCode, BackupOnResultReport, (const std::string &, const std::string &)); ; @@ -38,11 +39,13 @@ public: MOCK_METHOD(ErrCode, RestoreOnBundleFinished, (int32_t, const std::string &)); MOCK_METHOD(ErrCode, RestoreOnAllBundlesFinished, (int32_t)); MOCK_METHOD(ErrCode, RestoreOnFileReady, (const std::string &, const std::string &, int32_t, int32_t)); + MOCK_METHOD(ErrCode, RestoreOnFileReadyWithoutFd, (const std::string &, const std::string &, int32_t)); MOCK_METHOD(ErrCode, RestoreOnResultReport, (const std::string &, const std::string &, ErrCode)); MOCK_METHOD(ErrCode, RestoreOnProcessInfo, (const std::string &, const std::string &)); MOCK_METHOD(ErrCode, IncrementalBackupOnFileReady, (const std::string &, const std::string &, int, int, int32_t)); MOCK_METHOD(ErrCode, IncrementalSaBackupOnFileReady, (const std::string &, const std::string &, int, int32_t)); + MOCK_METHOD(ErrCode, IncrementalBackupOnFileReadyWithoutFd, (const std::string &, const std::string &, int32_t)); MOCK_METHOD(ErrCode, IncrementalBackupOnBundleStarted, (int32_t, const std::string &)); MOCK_METHOD(ErrCode, IncrementalBackupOnResultReport, (const std::string &, const std::string &)); MOCK_METHOD(ErrCode, IncrementalBackupOnBundleFinished, (int32_t, const std::string &)); diff --git a/tests/mock/module_ipc/service_mock.cpp b/tests/mock/module_ipc/service_mock.cpp index e94ff4c32..a3ea7b384 100644 --- a/tests/mock/module_ipc/service_mock.cpp +++ b/tests/mock/module_ipc/service_mock.cpp @@ -91,6 +91,11 @@ ErrCode Service::AppFileReady(const string &fileName, int fd, int32_t errCode) return BError(BError::Codes::OK); } +ErrCode Service::AppFileReadyWithoutFd(const string &fileName, int32_t errCode) +{ + return BError(BError::Codes::OK); +} + ErrCode Service::AppDone(ErrCode errCode) { return BError(BError::Codes::OK); @@ -193,7 +198,7 @@ ErrCode Service::Release() return BError(BError::Codes::OK); } -ErrCode Service::Cancel(const std::string &bundleName, int32_t &result) +ErrCode Service::CancelForResult(const std::string &bundleName, int32_t &result) { result = BError(BError::Codes::OK); return BError(BError::Codes::OK); @@ -251,6 +256,12 @@ ErrCode Service::AppIncrementalFileReady(const std::string &fileName, return BError(BError::Codes::OK); } +ErrCode Service::AppIncrementalFileReadyWithoutFd(const std::string &fileName, + int32_t appIncrementalFileReadyErrCode) +{ + return BError(BError::Codes::OK); +} + ErrCode Service::AppIncrementalDone(ErrCode errCode) { return BError(BError::Codes::OK); diff --git a/tests/unittests/backup_api/backup_impl/include/i_service_mock.h b/tests/unittests/backup_api/backup_impl/include/i_service_mock.h index be238cc15..7f2c4e24a 100644 --- a/tests/unittests/backup_api/backup_impl/include/i_service_mock.h +++ b/tests/unittests/backup_api/backup_impl/include/i_service_mock.h @@ -107,6 +107,11 @@ public: return BError(BError::Codes::OK); } + ErrCode AppFileReadyWithoutFd(const std::string &fileName, int32_t errCode) override + { + return BError(BError::Codes::OK); + } + ErrCode AppDone(ErrCode errCode) override { return BError(BError::Codes::OK); @@ -196,7 +201,7 @@ public: return BError(BError::Codes::OK); } - ErrCode Cancel(std::string bundleName, int32_t &result) override + ErrCode CancelForResult(std::string bundleName, int32_t &result) override { result = BError(BError::Codes::OK); return BError(BError::Codes::OK); @@ -248,6 +253,11 @@ public: return BError(BError::Codes::OK); } + ErrCode AppIncrementalFileReadyWithoutFd(const std::string &fileName, int32_t errCode) + { + return BError(BError::Codes::OK); + } + ErrCode AppIncrementalDone(ErrCode errCode) { return BError(BError::Codes::OK); diff --git a/tests/unittests/backup_api/backup_impl/include/service_reverse_mock.h b/tests/unittests/backup_api/backup_impl/include/service_reverse_mock.h index 3a0474f0c..fdd970fdd 100644 --- a/tests/unittests/backup_api/backup_impl/include/service_reverse_mock.h +++ b/tests/unittests/backup_api/backup_impl/include/service_reverse_mock.h @@ -43,6 +43,12 @@ public: { return BError(BError::Codes::OK); } + ErrCode BackupOnFileReadyWithoutFd(const std::string &bundleName, + const std::string &fileName, + int32_t errCode) override + { + return BError(BError::Codes::OK); + } ErrCode BackupOnBundleStarted(int32_t errCode, const std::string &bundleName) override { @@ -97,6 +103,13 @@ public: return BError(BError::Codes::OK); } + ErrCode RestoreOnFileReadyWithoutFd(const std::string &bundleName, + const std::string &fileName, + int32_t errCode) override + { + return BError(BError::Codes::OK); + } + ErrCode RestoreOnResultReport(const std::string &result, const std::string &bundleName, ErrCode errCode) override { return BError(BError::Codes::OK); @@ -124,6 +137,13 @@ public: return BError(BError::Codes::OK); } + ErrCode IncrementalBackupOnFileReadyWithoutFd(const std::string &bundleName, + const std::string &fileName, + int32_t errCode) override + { + return BError(BError::Codes::OK); + } + ErrCode IncrementalBackupOnBundleStarted(int32_t errCode, const std::string &bundleName) override { return BError(BError::Codes::OK); diff --git a/tests/unittests/backup_sa/module_client/service_client_test.cpp b/tests/unittests/backup_sa/module_client/service_client_test.cpp index 3779c0e5e..b8e94f263 100644 --- a/tests/unittests/backup_sa/module_client/service_client_test.cpp +++ b/tests/unittests/backup_sa/module_client/service_client_test.cpp @@ -95,14 +95,8 @@ HWTEST_F(ServiceClientTest, SUB_service_client_test_0300, testing::ext::TestSize EXPECT_NE(proxy, nullptr); std::string bundleName; int32_t result = -1; - ErrCode ret = proxy->Cancel(bundleName, result); - EXPECT_EQ(ret, BError(BError::BackupErrorCode::E_CANCEL_UNSTARTED_TASK)); - bundleName = ""; - ret = proxy->Cancel(bundleName, result); - EXPECT_EQ(ret, BError(BError::BackupErrorCode::E_CANCEL_UNSTARTED_TASK)); bundleName = "test"; - ret = proxy->Cancel(bundleName, result); - EXPECT_EQ(ret, BError(BError::BackupErrorCode::E_CANCEL_UNSTARTED_TASK)); + proxy->CancelForResult(bundleName, result); EXPECT_NE(result, 0); GTEST_LOG_(INFO) << "ServiceClientTest-end SUB_service_client_test_0300"; } diff --git a/tests/unittests/backup_sa/module_ipc/service_incremental_test.cpp b/tests/unittests/backup_sa/module_ipc/service_incremental_test.cpp index e8f772d26..abad527f7 100644 --- a/tests/unittests/backup_sa/module_ipc/service_incremental_test.cpp +++ b/tests/unittests/backup_sa/module_ipc/service_incremental_test.cpp @@ -42,6 +42,7 @@ public: virtual ErrCode Start() = 0; virtual ErrCode PublishFile(const BFileInfo&) = 0; virtual ErrCode AppFileReady(const std::string &, int, int32_t) = 0; + virtual ErrCode AppFileReadyWithoutFd(const std::string &, int32_t) = 0; virtual ErrCode AppDone(ErrCode) = 0; virtual ErrCode ServiceResultReport(const std::string, BackupRestoreScenario, ErrCode) = 0; virtual ErrCode AppendBundlesRestoreSessionDataByDetail(int, const std::vector&, @@ -96,6 +97,7 @@ public: MOCK_METHOD(ErrCode, Start, ()); MOCK_METHOD(ErrCode, PublishFile, (const BFileInfo&)); MOCK_METHOD(ErrCode, AppFileReady, (const string&, int, int32_t)); + MOCK_METHOD(ErrCode, AppFileReadyWithoutFd, (const string&, int32_t)); MOCK_METHOD(ErrCode, AppDone, (ErrCode)); MOCK_METHOD(ErrCode, ServiceResultReport, (const std::string, BackupRestoreScenario, ErrCode)); MOCK_METHOD(ErrCode, AppendBundlesRestoreSessionDataByDetail, (int, (const std::vector&), @@ -193,6 +195,11 @@ ErrCode Service::AppFileReady(const std::string &fileName, int fd, int32_t appFi return BService::serviceMock->AppFileReady(fileName, fd, appFileReadyErrCode); } +ErrCode Service::AppFileReadyWithoutFd(const std::string &fileName, int32_t appFileReadyErrCode) +{ + return BService::serviceMock->AppFileReadyWithoutFd(fileName, appFileReadyErrCode); +} + ErrCode Service::AppDone(int32_t appDoneErrCode) { return BService::serviceMock->AppDone(appDoneErrCode); @@ -538,7 +545,7 @@ HWTEST_F(ServiceIncrementalTest, SUB_ServiceIncremental_GetLocalCapabilitiesIncr int fd = -1; service->GetLocalCapabilitiesIncremental({}, fd); service->session_ = session_; - EXPECT_EQ(static_cast(fd), -ENOENT); + EXPECT_EQ(static_cast(fd), BConstants::INVALID_FD_NUM); service->isOccupyingSession_ = true; fd = service->GetLocalCapabilitiesIncremental({}); @@ -1884,20 +1891,10 @@ HWTEST_F(ServiceIncrementalTest, SUB_ServiceIncremental_Cancel_0000, TestSize.Le int32_t result; auto session_ = service->session_; - service->session_ = nullptr; - EXPECT_EQ(service->Cancel(bundleName, result), - BError(BError::BackupErrorCode::E_CANCEL_UNSTARTED_TASK).GetCode()); - service->session_ = session_; - - EXPECT_CALL(*session, GetScenario()).WillOnce(Return(IServiceReverseType::Scenario::RESTORE)); - EXPECT_CALL(*srvMock, VerifyCaller(_)).WillOnce(Return(BError(BError::Codes::EXT_INVAL_ARG).GetCode())); - auto ret = service->Cancel(bundleName, result); - EXPECT_EQ(ret, BError(BError::BackupErrorCode::E_CANCEL_UNSTARTED_TASK).GetCode()); - EXPECT_CALL(*session, GetScenario()).WillOnce(Return(IServiceReverseType::Scenario::RESTORE)); EXPECT_CALL(*srvMock, VerifyCaller(_)).WillOnce(Return(BError(BError::Codes::OK).GetCode())); EXPECT_CALL(*session, GetImpl()).WillOnce(Return(impl)); - service->Cancel(bundleName, result); + service->CancelForResult(bundleName, result); EXPECT_EQ(result, BError(BError::BackupErrorCode::E_CANCEL_NO_TASK).GetCode()); impl.backupExtNameMap.insert(make_pair(bundleName, info)); @@ -1905,14 +1902,14 @@ HWTEST_F(ServiceIncrementalTest, SUB_ServiceIncremental_Cancel_0000, TestSize.Le EXPECT_CALL(*srvMock, VerifyCaller(_)).WillOnce(Return(BError(BError::Codes::OK).GetCode())); EXPECT_CALL(*session, GetImpl()).WillOnce(Return(impl)); EXPECT_CALL(*session, GetServiceSchedAction(_)).WillOnce(Return(BConstants::ServiceSchedAction::UNKNOWN)); - service->Cancel(bundleName, result); + service->CancelForResult(bundleName, result); EXPECT_EQ(result, BError(BError::BackupErrorCode::E_CANCEL_NO_TASK).GetCode()); EXPECT_CALL(*session, GetScenario()).WillOnce(Return(IServiceReverseType::Scenario::RESTORE)); EXPECT_CALL(*srvMock, VerifyCaller(_)).WillOnce(Return(BError(BError::Codes::OK).GetCode())); EXPECT_CALL(*session, GetImpl()).WillOnce(Return(impl)); EXPECT_CALL(*session, GetServiceSchedAction(_)).WillOnce(Return(BConstants::ServiceSchedAction::CLEAN)); - service->Cancel(bundleName, result); + service->CancelForResult(bundleName, result); EXPECT_EQ(result, BError(BError::BackupErrorCode::E_CANCEL_NO_TASK).GetCode()); } catch (...) { EXPECT_TRUE(false); @@ -1945,14 +1942,14 @@ HWTEST_F(ServiceIncrementalTest, SUB_ServiceIncremental_Cancel_0100, TestSize.Le EXPECT_CALL(*srvMock, VerifyCaller(_)).WillOnce(Return(BError(BError::Codes::OK).GetCode())); EXPECT_CALL(*session, GetImpl()).WillOnce(Return(impl)); EXPECT_CALL(*session, GetServiceSchedAction(_)).WillOnce(Return(BConstants::ServiceSchedAction::START)); - service->Cancel(bundleName, result); + service->CancelForResult(bundleName, result); EXPECT_EQ(result, BError(BError::BackupErrorCode::E_CANCEL_UNSTARTED_TASK).GetCode()); EXPECT_CALL(*session, GetScenario()).WillOnce(Return(IServiceReverseType::Scenario::RESTORE)); EXPECT_CALL(*srvMock, VerifyCaller(_)).WillOnce(Return(BError(BError::Codes::OK).GetCode())); EXPECT_CALL(*session, GetImpl()).WillOnce(Return(impl)); EXPECT_CALL(*session, GetServiceSchedAction(_)).WillOnce(Return(BConstants::ServiceSchedAction::RUNNING)); - service->Cancel(bundleName, result); + service->CancelForResult(bundleName, result); EXPECT_EQ(result, BError(BError::Codes::OK).GetCode()); } catch (...) { EXPECT_TRUE(false); diff --git a/tests/unittests/backup_sa/module_ipc/service_other_test.cpp b/tests/unittests/backup_sa/module_ipc/service_other_test.cpp index 01e289711..d97e2d158 100644 --- a/tests/unittests/backup_sa/module_ipc/service_other_test.cpp +++ b/tests/unittests/backup_sa/module_ipc/service_other_test.cpp @@ -58,12 +58,18 @@ ErrCode Service::AppIncrementalFileReady(const std::string &fileName, return BError(BError::Codes::OK); } +ErrCode Service::AppIncrementalFileReadyWithoutFd(const std::string &fileName, + int32_t appIncrementalFileReadyErrCode) +{ + return BError(BError::Codes::OK); +} + ErrCode Service::Release() { return BError(BError::Codes::OK); } -ErrCode Service::Cancel(const std::string& bundleName, int32_t &result) +ErrCode Service::CancelForResult(const std::string& bundleName, int32_t &result) { result = BError(BError::Codes::OK); return BError(BError::Codes::OK); diff --git a/tests/unittests/backup_sa/module_ipc/service_stub_test.cpp b/tests/unittests/backup_sa/module_ipc/service_stub_test.cpp index e1e3c155b..db4f1931e 100644 --- a/tests/unittests/backup_sa/module_ipc/service_stub_test.cpp +++ b/tests/unittests/backup_sa/module_ipc/service_stub_test.cpp @@ -81,6 +81,7 @@ public: MOCK_METHOD2(PublishSAIncrementalFile, ErrCode(const BFileInfo &fileInfo, UniqueFd fd)); MOCK_METHOD4(AppIncrementalFileReady, ErrCode(const std::string &fileName, UniqueFd fd, UniqueFd manifestFd, int32_t errCode)); + MOCK_METHOD2(AppIncrementalFileReadyWithoutFd, ErrCode(const std::string &fileName, int32_t errCode)); MOCK_METHOD1(AppIncrementalDone, ErrCode(ErrCode errCode)); MOCK_METHOD2(GetIncrementalFileHandle, ErrCode(const std::string &bundleName, const std::string &fileName)); MOCK_METHOD2(GetBackupInfo, ErrCode(string &bundleName, string &result)); @@ -832,19 +833,13 @@ HWTEST_F(ServiceStubTest, SUB_backup_sa_ServiceStub_Cancel_0100, testing::ext::T EXPECT_EQ(err, BError(BError::Codes::SA_INVAL_ARG)); EXPECT_CALL(*messageParcelMock, ReadString(_)).WillOnce(Return(true)); - EXPECT_CALL(*service, Cancel(_, _)).WillOnce(Return(BError::BackupErrorCode::E_CANCEL_UNSTARTED_TASK)); - EXPECT_CALL(*messageParcelMock, WriteInt32(_)).WillOnce(Return(true)); - err = service->CmdCancel(data, reply); - EXPECT_EQ(err, BError(BError::BackupErrorCode::E_CANCEL_UNSTARTED_TASK)); - - EXPECT_CALL(*messageParcelMock, ReadString(_)).WillOnce(Return(true)); - EXPECT_CALL(*service, Cancel(_, _)).WillOnce(Return(0)); + EXPECT_CALL(*service, CancelForResult(_, _)).WillOnce(Return(0)); EXPECT_CALL(*messageParcelMock, WriteInt32(_)).WillOnce(Return(false)); err = service->CmdCancel(data, reply); EXPECT_EQ(err, BError(BError::Codes::SA_BROKEN_IPC)); EXPECT_CALL(*messageParcelMock, ReadString(_)).WillOnce(Return(true)); - EXPECT_CALL(*service, Cancel(_, _)).WillOnce(Return(0)); + EXPECT_CALL(*service, CancelForResult(_, _)).WillOnce(Return(0)); EXPECT_CALL(*messageParcelMock, WriteInt32(_)).WillOnce(Return(true)); err = service->CmdCancel(data, reply); EXPECT_EQ(err, BError(BError::Codes::OK)); diff --git a/tests/unittests/backup_sa/module_ipc/service_throw_test.cpp b/tests/unittests/backup_sa/module_ipc/service_throw_test.cpp index 8fa22a9a9..781aa477b 100644 --- a/tests/unittests/backup_sa/module_ipc/service_throw_test.cpp +++ b/tests/unittests/backup_sa/module_ipc/service_throw_test.cpp @@ -871,7 +871,7 @@ HWTEST_F(ServiceThrowTest, SUB_Service_throw_GetLocalCapabilitiesIncremental_010 EXPECT_CALL(*sessionMock, DecreaseSessionCnt(_)).WillOnce(Return()); int fd = -1; ErrCode ret = service->GetLocalCapabilitiesIncremental(bundleNames, fd); - EXPECT_EQ(-fd, BError(BError::Codes::EXT_THROW_EXCEPTION).GetCode()); + EXPECT_EQ(fd, BConstants::INVALID_FD_NUM); EXPECT_CALL(*sessionMock, IncreaseSessionCnt(_)).WillOnce(Invoke([]() { throw runtime_error("运行时错误"); diff --git a/tests/unittests/backup_sa/session/b_incremental_session_test.cpp b/tests/unittests/backup_sa/session/b_incremental_session_test.cpp index 4e93edd35..6cfb25ca4 100644 --- a/tests/unittests/backup_sa/session/b_incremental_session_test.cpp +++ b/tests/unittests/backup_sa/session/b_incremental_session_test.cpp @@ -694,7 +694,7 @@ HWTEST_F(IncrementalSessionTest, SUB_b_incremental_session_test_2100, testing::e auto err = backupSession->Cancel(bundleName); EXPECT_EQ(err, BError(BError::BackupErrorCode::E_CANCEL_UNSTARTED_TASK).GetCode()); - EXPECT_CALL(*proxy, Cancel(_, _)).WillOnce(DoAll(SetArgReferee<1>(0), Return(0))); + EXPECT_CALL(*proxy, CancelForResult(_, _)).WillOnce(DoAll(SetArgReferee<1>(0), Return(0))); ServiceClient::serviceProxy_ = proxy; err = backupSession->Cancel(bundleName); EXPECT_EQ(err, BError(BError::Codes::OK).GetCode()); @@ -724,7 +724,7 @@ HWTEST_F(IncrementalSessionTest, SUB_b_incremental_session_test_2200, testing::e auto err = restoreSession->Cancel(bundleName); EXPECT_EQ(err, BError(BError::BackupErrorCode::E_CANCEL_UNSTARTED_TASK).GetCode()); - EXPECT_CALL(*proxy, Cancel(_, _)).WillOnce(DoAll(SetArgReferee<1>(0), Return(0))); + EXPECT_CALL(*proxy, CancelForResult(_, _)).WillOnce(DoAll(SetArgReferee<1>(0), Return(0))); ServiceClient::serviceProxy_ = proxy; err = restoreSession->Cancel(bundleName); EXPECT_EQ(err, BError(BError::Codes::OK).GetCode()); @@ -754,7 +754,7 @@ HWTEST_F(IncrementalSessionTest, SUB_b_incremental_session_test_2300, testing::e auto err = restoreAsyncSession->Cancel(bundleName); EXPECT_EQ(err, BError(BError::BackupErrorCode::E_CANCEL_UNSTARTED_TASK).GetCode()); - EXPECT_CALL(*proxy, Cancel(_, _)).WillOnce(DoAll(SetArgReferee<1>(0), Return(0))); + EXPECT_CALL(*proxy, CancelForResult(_, _)).WillOnce(DoAll(SetArgReferee<1>(0), Return(0))); ServiceClient::serviceProxy_ = proxy; err = restoreAsyncSession->Cancel(bundleName); EXPECT_EQ(err, BError(BError::Codes::OK).GetCode()); diff --git a/tests/unittests/backup_sa/session/service_proxy_mock.cpp b/tests/unittests/backup_sa/session/service_proxy_mock.cpp index c2050aa24..2d361cf5a 100644 --- a/tests/unittests/backup_sa/session/service_proxy_mock.cpp +++ b/tests/unittests/backup_sa/session/service_proxy_mock.cpp @@ -25,6 +25,11 @@ ErrCode ServiceProxy::AppFileReady(const std::string &fileName, int fd, int32_t return BError(BError::Codes::OK); } +ErrCode ServiceProxy::AppFileReadyWithoutFd(const std::string &fileName, int32_t appFileReadyErrCode) +{ + return BError(BError::Codes::OK); +} + ErrCode ServiceProxy::AppDone(int32_t appDoneErrCode) { return BError(BError::Codes::OK); @@ -45,6 +50,11 @@ ErrCode ServiceProxy::AppIncrementalFileReady(const std::string &fileName, int f return BError(BError::Codes::OK); } +ErrCode ServiceProxy::AppIncrementalFileReadyWithoutFd(const std::string &fileName, int32_t errCode) +{ + return BError(BError::Codes::OK); +} + ErrCode ServiceProxy::PublishSAIncrementalFile(const BFileInfo &fileInfo, int fd) { return BError(BError::Codes::OK); @@ -93,7 +103,7 @@ ErrCode ServiceProxy::AppendBundlesIncrementalBackupSession(const std::vector &bundleNames)); MOCK_METHOD0(Finish, ErrCode()); MOCK_METHOD0(Release, ErrCode()); - MOCK_METHOD2(Cancel, ErrCode(const std::string &bundleName, int32_t &result)); + MOCK_METHOD2(CancelForResult, ErrCode(const std::string &bundleName, int32_t &result)); MOCK_METHOD2(GetLocalCapabilitiesIncremental, ErrCode(const std::vector &bundleNames, int &fd)); MOCK_METHOD1(InitIncrementalBackupSession, ErrCode(const sptr &remote)); MOCK_METHOD3(InitIncrementalBackupSessionWithErrMsg, @@ -59,6 +59,8 @@ public: MOCK_METHOD3(AppIncrementalFileReady, ErrCode(const std::string &fileName, int fd, int manifestFd)); MOCK_METHOD4(AppIncrementalFileReady, ErrCode(const std::string &fileName, int fd, int manifestFd, int32_t errCode)); + MOCK_METHOD2(AppIncrementalFileReadyWithoutFd, + ErrCode(const std::string &fileName, int32_t errCode)); MOCK_METHOD1(AppIncrementalDone, ErrCode(int32_t errCode)); MOCK_METHOD2(GetIncrementalFileHandle, ErrCode(const std::string &bundleName, const std::string &fileName)); MOCK_METHOD2(GetBackupInfo, ErrCode(const BundleName &bundleName, std::string &result)); -- Gitee From 2059cb7a6b2de2c70cf2f2fb20934eb49bf11c6c Mon Sep 17 00:00:00 2001 From: BrainL Date: Fri, 6 Jun 2025 15:35:31 +0800 Subject: [PATCH 02/12] fixed ut. Signed-off-by: BrainL Change-Id: I8bc7941ee13ae1e051aea5b9d3f9117e95ca3d49 --- tests/unittests/backup_sa/module_client/service_client_test.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/unittests/backup_sa/module_client/service_client_test.cpp b/tests/unittests/backup_sa/module_client/service_client_test.cpp index b8e94f263..ce840db00 100644 --- a/tests/unittests/backup_sa/module_client/service_client_test.cpp +++ b/tests/unittests/backup_sa/module_client/service_client_test.cpp @@ -97,7 +97,7 @@ HWTEST_F(ServiceClientTest, SUB_service_client_test_0300, testing::ext::TestSize int32_t result = -1; bundleName = "test"; proxy->CancelForResult(bundleName, result); - EXPECT_NE(result, 0); + EXPECT_EQ(result, 0); GTEST_LOG_(INFO) << "ServiceClientTest-end SUB_service_client_test_0300"; } -- Gitee From 3c199354965494d355b4b8852475a4d0eeb269c1 Mon Sep 17 00:00:00 2001 From: BrainL Date: Mon, 9 Jun 2025 14:42:32 +0800 Subject: [PATCH 03/12] fixed the conflict. Signed-off-by: BrainL Change-Id: Id3f36753b28fc822e74df2862f3f5b3e1824096b --- .../backup_ext/src/sub_ext_extension.cpp | 28 ------------------- 1 file changed, 28 deletions(-) diff --git a/frameworks/native/backup_ext/src/sub_ext_extension.cpp b/frameworks/native/backup_ext/src/sub_ext_extension.cpp index b42519459..09454d3e4 100644 --- a/frameworks/native/backup_ext/src/sub_ext_extension.cpp +++ b/frameworks/native/backup_ext/src/sub_ext_extension.cpp @@ -62,34 +62,6 @@ namespace OHOS::FileManagement::Backup { const uint32_t MAX_FD_GROUP_USE_TIME = 1000; // 每组打开最大时间1000ms -ErrCode BackupExtExtension::HandleIncrementalBackup(int incrementalFd, int manifestFd) -{ - HILOGI("Start HandleIncrementalBackup. incrementalFd:%{public}d, manifestFd:%{public}d", incrementalFd, manifestFd); - UniqueFd incrementalFdUnique(dup(incrementalFd)); - UniqueFd manifestFdUnique(dup(manifestFd)); - ErrCode ret = HandleIncrementalBackup(std::move(incrementalFdUnique), std::move(manifestFdUnique)); - close(incrementalFd); - close(manifestFd); - return ret; -} - -ErrCode BackupExtExtension::HandleIncrementalBackup(UniqueFd incrementalFd, UniqueFd manifestFd) -{ - HITRACE_METER_NAME(HITRACE_TAG_FILEMANAGEMENT, __PRETTY_FUNCTION__); - try { - HILOGI("Start HandleIncrementalBackup"); - if (!IfAllowToBackupRestore()) { - return BError(BError::Codes::EXT_FORBID_BACKUP_RESTORE, "Application does not allow backup or restore") - .GetCode(); - } - AsyncTaskDoIncrementalBackup(move(incrementalFd), move(manifestFd)); - return ERR_OK; - } catch (...) { - HILOGE("Failed to handle incremental backup"); - return BError(BError::Codes::EXT_INVAL_ARG).GetCode(); - } -} - ErrCode BackupExtExtension::IncrementalOnBackup(bool isClearData) { HITRACE_METER_NAME(HITRACE_TAG_FILEMANAGEMENT, __PRETTY_FUNCTION__); -- Gitee From c042b9698dd8810da8b35451cee771a79dba496a Mon Sep 17 00:00:00 2001 From: BrainL Date: Mon, 9 Jun 2025 15:17:30 +0800 Subject: [PATCH 04/12] fixed the conflict. Signed-off-by: BrainL Change-Id: Idbd7fe0bb65fd703faa4310f8f64e37734b9b6fe --- .../native/backup_ext/src/sub_ext_extension.cpp | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/frameworks/native/backup_ext/src/sub_ext_extension.cpp b/frameworks/native/backup_ext/src/sub_ext_extension.cpp index 09454d3e4..02d58f313 100644 --- a/frameworks/native/backup_ext/src/sub_ext_extension.cpp +++ b/frameworks/native/backup_ext/src/sub_ext_extension.cpp @@ -62,18 +62,6 @@ namespace OHOS::FileManagement::Backup { const uint32_t MAX_FD_GROUP_USE_TIME = 1000; // 每组打开最大时间1000ms -ErrCode BackupExtExtension::IncrementalOnBackup(bool isClearData) -{ - HITRACE_METER_NAME(HITRACE_TAG_FILEMANAGEMENT, __PRETTY_FUNCTION__); - SetClearDataFlag(isClearData); - if (!IfAllowToBackupRestore()) { - return BError(BError::Codes::EXT_FORBID_BACKUP_RESTORE, "Application does not allow backup or restore") - .GetCode(); - } - AsyncTaskOnIncrementalBackup(); - return ERR_OK; -} - void BackupExtExtension::WaitToSendFd(std::chrono::system_clock::time_point &startTime, int &fdSendNum) { HILOGD("WaitToSendFd Begin"); -- Gitee From e29cc0c9495f0a19d6bdfc45c7118b04ed251173 Mon Sep 17 00:00:00 2001 From: BrainL Date: Thu, 12 Jun 2025 19:04:21 +0800 Subject: [PATCH 05/12] add IncrementalRestoreOnFileReadyWithoutFd. Signed-off-by: BrainL Change-Id: I387b32957ddffd0096825539c0c1fd29f018af35 --- .../native/backup_ext/src/ext_extension.cpp | 6 ++-- .../include/service_reverse.h | 3 ++ .../src/service_incremental_reverse.cpp | 17 +++++++--- services/backup_sa/IServiceReverse.idl | 3 ++ services/backup_sa/src/module_ipc/service.cpp | 21 ++++++------ .../src/module_ipc/service_incremental.cpp | 34 +++++++++++-------- .../backup_sa/src/module_ipc/sub_service.cpp | 6 ++-- .../include/service_reverse_proxy_mock.h | 1 + .../module_ipc/service_reverse_proxy_mock.cpp | 7 ++++ .../include/service_reverse_mock.h | 7 ++++ 10 files changed, 70 insertions(+), 35 deletions(-) diff --git a/frameworks/native/backup_ext/src/ext_extension.cpp b/frameworks/native/backup_ext/src/ext_extension.cpp index be1b4625c..5a7c33aaa 100644 --- a/frameworks/native/backup_ext/src/ext_extension.cpp +++ b/frameworks/native/backup_ext/src/ext_extension.cpp @@ -2110,9 +2110,9 @@ ErrCode BackupExtExtension::IncrementalBigFileReady(TarMap &pkgInfo, string file = GetReportFileName(string(INDEX_FILE_INCREMENTAL_BACKUP).append(item.first)); WriteFile(file, bigInfo); int manifestFdval = open(file.data(), O_RDONLY); - bool fdFlag = (fdval < 0 || manifestFdval < 0) ? false : true; - ErrCode ret = fdFlag ? proxy->AppIncrementalFileReady(item.first, fdval, manifestFdval, errCode) : - proxy->AppIncrementalFileReadyWithoutFd(item.first, errCode); + bool fdFlag = (fdval < 0 || manifestFdval < 0) ? true : false; + ErrCode ret = fdFlag ? proxy->AppIncrementalFileReadyWithoutFd(item.first, errCode) : + proxy->AppIncrementalFileReady(item.first, fdval, manifestFdval, errCode); if (SUCCEEDED(ret)) { HILOGI("IncreBigFileReady: The app is packaged success, package name is %{public}s", item.first.c_str()); RemoveFile(file); diff --git a/frameworks/native/backup_kit_inner/include/service_reverse.h b/frameworks/native/backup_kit_inner/include/service_reverse.h index ec905ec3c..b6b86b182 100644 --- a/frameworks/native/backup_kit_inner/include/service_reverse.h +++ b/frameworks/native/backup_kit_inner/include/service_reverse.h @@ -82,6 +82,9 @@ public: int fd, int manifestFd, int32_t errCode) override; + ErrCode IncrementalRestoreOnFileReadyWithoutFd(const std::string &bundleName, + const std::string &fileName, + int32_t errCode) override; ErrCode IncrementalRestoreOnResultReport(const std::string &result, const std::string &bundleName, ErrCode errCode) override; diff --git a/frameworks/native/backup_kit_inner/src/service_incremental_reverse.cpp b/frameworks/native/backup_kit_inner/src/service_incremental_reverse.cpp index e27ac60ac..d39c07043 100644 --- a/frameworks/native/backup_kit_inner/src/service_incremental_reverse.cpp +++ b/frameworks/native/backup_kit_inner/src/service_incremental_reverse.cpp @@ -163,10 +163,6 @@ ErrCode ServiceReverse::IncrementalRestoreOnFileReady(const std::string &bundleN int manifestFd, int32_t errCode) { - if (fd < 0 || manifestFd < 0) { - HILOGE("Error fd or manifestFd, fd = %{public}d, manifestFd = %{public}d", fd, manifestFd); - return BError(BError::Codes::SA_INVAL_ARG); - } if (scenario_ != Scenario::RESTORE || !callbacksIncrementalRestore_.onFileReady) { HILOGE("Error scenario or callback is nullptr, scenario = %{public}d", scenario_); return BError(BError::Codes::OK); @@ -176,6 +172,19 @@ ErrCode ServiceReverse::IncrementalRestoreOnFileReady(const std::string &bundleN return BError(BError::Codes::OK); } +ErrCode ServiceReverse::IncrementalRestoreOnFileReadyWithoutFd(const std::string &bundleName, + const std::string &fileName, + int32_t errCode) +{ + if (scenario_ != Scenario::RESTORE || !callbacksIncrementalRestore_.onFileReady) { + HILOGE("Error scenario or callback is nullptr, scenario = %{public}d", scenario_); + return BError(BError::Codes::OK); + } + BFileInfo bFileInfo(bundleName, fileName, 0); + callbacksIncrementalRestore_.onFileReady(bFileInfo, UniqueFd(INVALID_FD), UniqueFd(INVALID_FD), errCode); + return BError(BError::Codes::OK); +} + ErrCode ServiceReverse::IncrementalRestoreOnResultReport(const std::string &result, const std::string &bundleName, ErrCode errCode) diff --git a/services/backup_sa/IServiceReverse.idl b/services/backup_sa/IServiceReverse.idl index 55bf06191..ffbc87bd7 100644 --- a/services/backup_sa/IServiceReverse.idl +++ b/services/backup_sa/IServiceReverse.idl @@ -69,4 +69,7 @@ interface OHOS.FileManagement.Backup.IServiceReverse{ [ipccode 29] void IncrementalBackupOnFileReadyWithoutFd([in] String bundleName, [in] String fileName, [in] int incrementalBackupOnFileReadyErrCode); + [ipccode 30] void IncrementalRestoreOnFileReadyWithoutFd([in] String bundleName, + [in] String fileName, + [in] int incrementalRestoreOnFileReadyErrCode); } diff --git a/services/backup_sa/src/module_ipc/service.cpp b/services/backup_sa/src/module_ipc/service.cpp index b285824a6..2d621a20c 100644 --- a/services/backup_sa/src/module_ipc/service.cpp +++ b/services/backup_sa/src/module_ipc/service.cpp @@ -1157,9 +1157,9 @@ void Service::StartCurBundleBackupOrRestore(const std::string &bundleName) int fdCode = 0; proxy->GetFileHandleWithUniqueFd(fileName, errCode, fdCode); UniqueFd fd(fdCode); - bool fdFlag = fd < 0 ? false : true; - fdFlag ? session_->GetServiceReverseProxy()->RestoreOnFileReady(bundleName, fileName, move(fd), errCode) : - session_->GetServiceReverseProxy()->BackupOnFileReadyWithoutFd(bundleName, fileName, errCode); + bool fdFlag = fd < 0 ? true : false; + fdFlag ? session_->GetServiceReverseProxy()->BackupOnFileReadyWithoutFd(bundleName, fileName, errCode) : + session_->GetServiceReverseProxy()->RestoreOnFileReady(bundleName, fileName, move(fd), errCode); FileReadyRadarReport(bundleName, fileName, errCode, scenario); } } @@ -1857,19 +1857,18 @@ void Service::OnSABackup(const std::string &bundleName, const int &fd, const std auto task = [bundleName, fd, result, errCode, this]() { HILOGI("OnSABackup bundleName: %{public}s, fd: %{public}d, result: %{public}s, err: %{public}d", bundleName.c_str(), fd, result.c_str(), errCode); + bool fdFlag = fd < 0 ? true : false; BackupRestoreScenario scenario = BackupRestoreScenario::FULL_BACKUP; if (session_->GetIsIncrementalBackup()) { scenario = BackupRestoreScenario::INCREMENTAL_BACKUP; - bool fdFlag = fd < 0 ? false : true; - fdFlag ? session_->GetServiceReverseProxy()->IncrementalSaBackupOnFileReady(bundleName, "", - move(fd), errCode) : - session_->GetServiceReverseProxy()->IncrementalBackupOnFileReadyWithoutFd(bundleName, "", - errCode); + fdFlag ? session_->GetServiceReverseProxy()->IncrementalBackupOnFileReadyWithoutFd(bundleName, "", + errCode) : + session_->GetServiceReverseProxy()->IncrementalSaBackupOnFileReady(bundleName, "", + move(fd), errCode); } else { scenario = BackupRestoreScenario::FULL_BACKUP; - bool fdFlag = fd < 0 ? false : true; - fdFlag ? session_->GetServiceReverseProxy()->BackupOnFileReady(bundleName, "", move(fd), errCode) : - session_->GetServiceReverseProxy()->BackupOnFileReadyWithoutFd(bundleName, "", errCode); + fdFlag ? session_->GetServiceReverseProxy()->BackupOnFileReadyWithoutFd(bundleName, "", errCode) : + session_->GetServiceReverseProxy()->BackupOnFileReady(bundleName, "", move(fd), errCode); } FileReadyRadarReport(bundleName, "", errCode, IServiceReverseType::Scenario::BACKUP); SAResultReport(bundleName, result, errCode, scenario); diff --git a/services/backup_sa/src/module_ipc/service_incremental.cpp b/services/backup_sa/src/module_ipc/service_incremental.cpp index 6fe4583fb..23fe02dc8 100644 --- a/services/backup_sa/src/module_ipc/service_incremental.cpp +++ b/services/backup_sa/src/module_ipc/service_incremental.cpp @@ -594,20 +594,23 @@ ErrCode Service::AppIncrementalFileReady(const std::string &bundleName, const st { HITRACE_METER_NAME(HITRACE_TAG_FILEMANAGEMENT, __PRETTY_FUNCTION__); try { + bool fdFlag = (fd < 0 || manifestFd < 0) ? true : false; if (session_->GetScenario() == IServiceReverseType::Scenario::RESTORE) { - session_->GetServiceReverseProxy()->IncrementalRestoreOnFileReady(bundleName, fileName, move(fd), - move(manifestFd), errCode); + fdFlag ? session_->GetServiceReverseProxy()->IncrementalRestoreOnFileReadyWithoutFd(bundleName, fileName, + errCode) : + session_->GetServiceReverseProxy()->IncrementalRestoreOnFileReady(bundleName, fileName, move(fd), + move(manifestFd), errCode); FileReadyRadarReport(bundleName, fileName, errCode, IServiceReverseType::Scenario::RESTORE); return BError(BError::Codes::OK); } if (fileName == BConstants::EXT_BACKUP_MANAGE) { fd = session_->OnBundleExtManageInfo(bundleName, move(fd)); } - bool fdFlag = (fd < 0 || manifestFd < 0) ? false : true; - fdFlag ? session_->GetServiceReverseProxy()->IncrementalBackupOnFileReady(bundleName, fileName, move(fd), - move(manifestFd), errCode) : - session_->GetServiceReverseProxy()->IncrementalBackupOnFileReadyWithoutFd(bundleName, fileName, - errCode); + fdFlag = (fd < 0 || manifestFd < 0) ? true : false; + fdFlag ? session_->GetServiceReverseProxy()->IncrementalBackupOnFileReadyWithoutFd(bundleName, fileName, + errCode) : + session_->GetServiceReverseProxy()->IncrementalBackupOnFileReady(bundleName, fileName, move(fd), + move(manifestFd), errCode); FileReadyRadarReport(bundleName, fileName, errCode, IServiceReverseType::Scenario::BACKUP); if (session_->OnBundleFileReady(bundleName, fileName)) { ErrCode ret = HandleCurBundleFileReady(bundleName, fileName, true); @@ -656,20 +659,23 @@ ErrCode Service::AppIncrementalFileReady(const std::string &fileName, UniqueFd f HILOGE("Verify caller failed, ret:%{public}d", ret); return ret; } + bool fdFlag = (fd < 0 || manifestFd < 0) ? true : false; if (session_->GetScenario() == IServiceReverseType::Scenario::RESTORE) { - session_->GetServiceReverseProxy()->IncrementalRestoreOnFileReady(callerName, fileName, move(fd), - move(manifestFd), errCode); + fdFlag ? session_->GetServiceReverseProxy()->IncrementalRestoreOnFileReadyWithoutFd(callerName, fileName, + errCode) : + session_->GetServiceReverseProxy()->IncrementalRestoreOnFileReady(callerName, fileName, move(fd), + move(manifestFd), errCode); FileReadyRadarReport(callerName, fileName, errCode, IServiceReverseType::Scenario::RESTORE); return BError(BError::Codes::OK); } if (fileName == BConstants::EXT_BACKUP_MANAGE) { fd = session_->OnBundleExtManageInfo(callerName, move(fd)); } - bool fdFlag = (fd < 0 || manifestFd < 0) ? false : true; - fdFlag ? session_->GetServiceReverseProxy()->IncrementalBackupOnFileReady(callerName, fileName, move(fd), - move(manifestFd), errCode) : - session_->GetServiceReverseProxy()->IncrementalBackupOnFileReadyWithoutFd(callerName, fileName, - errCode); + fdFlag = (fd < 0 || manifestFd < 0) ? true : false; + fdFlag ? session_->GetServiceReverseProxy()->IncrementalBackupOnFileReadyWithoutFd(callerName, fileName, + errCode) : + session_->GetServiceReverseProxy()->IncrementalBackupOnFileReady(callerName, fileName, move(fd), + move(manifestFd), errCode); FileReadyRadarReport(callerName, fileName, errCode, IServiceReverseType::Scenario::BACKUP); if (session_->OnBundleFileReady(callerName, fileName)) { ErrCode ret = HandleCurBundleFileReady(callerName, fileName, true); diff --git a/services/backup_sa/src/module_ipc/sub_service.cpp b/services/backup_sa/src/module_ipc/sub_service.cpp index cfbe945c5..2bbb9b581 100644 --- a/services/backup_sa/src/module_ipc/sub_service.cpp +++ b/services/backup_sa/src/module_ipc/sub_service.cpp @@ -346,9 +346,9 @@ ErrCode Service::AppFileReady(const string &fileName, UniqueFd fd, int32_t errCo if (fileName == BConstants::EXT_BACKUP_MANAGE) { fd = session_->OnBundleExtManageInfo(callerName, move(fd)); } - bool fdFlag = fd < 0 ? false : true; - fdFlag ? session_->GetServiceReverseProxy()->BackupOnFileReady(callerName, fileName, move(fd), errCode) : - session_->GetServiceReverseProxy()->BackupOnFileReadyWithoutFd(callerName, fileName, errCode); + bool fdFlag = fd < 0 ? true : false; + fdFlag ? session_->GetServiceReverseProxy()->BackupOnFileReadyWithoutFd(callerName, fileName, errCode) : + session_->GetServiceReverseProxy()->BackupOnFileReady(callerName, fileName, move(fd), errCode); FileReadyRadarReport(callerName, fileName, errCode, session_->GetScenario()); if (session_->OnBundleFileReady(callerName, fileName)) { ret = HandleCurBundleFileReady(callerName, fileName, false); diff --git a/tests/mock/module_ipc/include/service_reverse_proxy_mock.h b/tests/mock/module_ipc/include/service_reverse_proxy_mock.h index 288070014..803baebc8 100644 --- a/tests/mock/module_ipc/include/service_reverse_proxy_mock.h +++ b/tests/mock/module_ipc/include/service_reverse_proxy_mock.h @@ -57,6 +57,7 @@ public: MOCK_METHOD(ErrCode, IncrementalRestoreOnBundleFinished, (int32_t, const std::string &)); MOCK_METHOD(ErrCode, IncrementalRestoreOnAllBundlesFinished, (int32_t)); MOCK_METHOD(ErrCode, IncrementalRestoreOnFileReady, (const std::string &, const std::string &, int, int, int32_t)); + MOCK_METHOD(ErrCode, IncrementalRestoreOnFileReadyWithoutFd, (const std::string &, const std::string &, int32_t)); MOCK_METHOD(ErrCode, IncrementalRestoreOnResultReport, (const std::string &, const std::string &, ErrCode)); ; MOCK_METHOD(ErrCode, IncrementalRestoreOnProcessInfo, (const std::string &, const std::string &)); diff --git a/tests/mock/module_ipc/service_reverse_proxy_mock.cpp b/tests/mock/module_ipc/service_reverse_proxy_mock.cpp index bfba02348..800d74399 100644 --- a/tests/mock/module_ipc/service_reverse_proxy_mock.cpp +++ b/tests/mock/module_ipc/service_reverse_proxy_mock.cpp @@ -156,6 +156,13 @@ ErrCode ServiceReverseProxy::IncrementalRestoreOnFileReady(const std::string &bu return BError(BError::Codes::OK); } +ErrCode ServiceReverseProxy::IncrementalRestoreOnFileReadyWithoutFd(const std::string &bundleName, + const std::string &fileName, + int32_t errCode) +{ + return BError(BError::Codes::OK); +} + ErrCode ServiceReverseProxy::IncrementalRestoreOnResultReport(const std::string &result, const std::string &bundleName, int32_t errCode) diff --git a/tests/unittests/backup_api/backup_impl/include/service_reverse_mock.h b/tests/unittests/backup_api/backup_impl/include/service_reverse_mock.h index fdd970fdd..3236dd220 100644 --- a/tests/unittests/backup_api/backup_impl/include/service_reverse_mock.h +++ b/tests/unittests/backup_api/backup_impl/include/service_reverse_mock.h @@ -198,6 +198,13 @@ public: return BError(BError::Codes::OK); } + ErrCode IncrementalRestoreOnFileReadyWithoutFd(const std::string &bundleName, + const std::string &fileName, + int32_t errCode) override + { + return BError(BError::Codes::OK); + } + ErrCode IncrementalRestoreOnResultReport(const std::string &result, const std::string &bundleName, int32_t errCode) override -- Gitee From 52372c760fc87be859cbe3ce25981bc0a0ece1e9 Mon Sep 17 00:00:00 2001 From: BrainL Date: Mon, 16 Jun 2025 20:03:05 +0800 Subject: [PATCH 06/12] add ut case. Signed-off-by: BrainL Change-Id: I52ba3b5e2cc0de346c3ab3fca0b1e1101e555c49 --- .../native/backup_ext/src/ext_extension.cpp | 2 +- .../backup_impl/service_reverse_test.cpp | 58 +++++++++++++++++++ .../module_ipc/service_incremental_test.cpp | 51 ++++++++++++++++ .../backup_sa/module_ipc/service_test.cpp | 24 ++++++++ 4 files changed, 134 insertions(+), 1 deletion(-) diff --git a/frameworks/native/backup_ext/src/ext_extension.cpp b/frameworks/native/backup_ext/src/ext_extension.cpp index 418862477..9e667131f 100644 --- a/frameworks/native/backup_ext/src/ext_extension.cpp +++ b/frameworks/native/backup_ext/src/ext_extension.cpp @@ -2149,7 +2149,7 @@ ErrCode BackupExtExtension::IncrementalAllFileReady(const TarMap &pkgInfo, WriteFile(file, srcFiles); int fdval = open(INDEX_FILE_BACKUP.data(), O_RDONLY); int manifestFdval = open(file.data(), O_RDONLY); - ErrCode ret = fdval < 0 ? + ErrCode ret = (fdval < 0 || manifestFdval < 0) ? proxy->AppIncrementalFileReadyWithoutFd(string(BConstants::EXT_BACKUP_MANAGE), ERR_OK) : proxy->AppIncrementalFileReady(string(BConstants::EXT_BACKUP_MANAGE), fdval, manifestFdval, ERR_OK); if (SUCCEEDED(ret)) { diff --git a/tests/unittests/backup_api/backup_impl/service_reverse_test.cpp b/tests/unittests/backup_api/backup_impl/service_reverse_test.cpp index 1c9177240..42de16b60 100644 --- a/tests/unittests/backup_api/backup_impl/service_reverse_test.cpp +++ b/tests/unittests/backup_api/backup_impl/service_reverse_test.cpp @@ -248,6 +248,34 @@ HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_BackupOnFileReady_0102, t GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_BackupOnFileReady_0102"; } +/** + * @tc.number: SUB_backup_ServiceReverse_BackupOnFileReadyWithoutFd_0100 + * @tc.name: SUB_backup_ServiceReverse_BackupOnFileReadyWithoutFd_0100 + * @tc.desc: 测试 BackupOnFileReadyWithoutFd 接口 + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I6F3GV + */ +HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_BackupOnFileReadyWithoutFd_0100, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_BackupOnFileReadyWithoutFd_0100"; + try { + Init(IServiceReverseType::Scenario::BACKUP); + if (service_ == nullptr) { + GTEST_LOG_(INFO) << + "SUB_backup_ServiceReverse_BackupOnFileReadyWithoutFd_0100 service_ == nullptr"; + return; + } + service_->BackupOnFileReadyWithoutFd(BUNDLE_NAME, FILE_NAME, 0); + service_->RestoreOnFileReadyWithoutFd(BUNDLE_NAME, FILE_NAME, 0); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by BackupOnFileReady."; + } + GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_BackupOnFileReadyWithoutFd_0100"; +} + /** * @tc.number: SUB_backup_ServiceReverse_BackupOnBundleStarted_0100 * @tc.name: SUB_backup_ServiceReverse_BackupOnBundleStarted_0100 @@ -1088,6 +1116,36 @@ HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_IncrementalBackupOnFileRe GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_IncrementalBackupOnFileReady_0101"; } +/** + * @tc.number: SUB_backup_ServiceReverse_IncrementalBackupOnFileReadyWithoutFd_0100 + * @tc.name: SUB_backup_ServiceReverse_IncrementalBackupOnFileReadyWithoutFd_0100 + * @tc.desc: 测试 IncrementalBackupOnFileReady 接口 + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I9116W + */ +HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_IncrementalBackupOnFileReadyWithoutFd_0100, + testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << + "ServiceReverseTestBegin SUB_backup_ServiceReverse_IncrementalBackupOnFileReadyWithoutFd_0100"; + try { + IncrementalInit(IServiceReverseType::Scenario::BACKUP); + if (service_ == nullptr) { + GTEST_LOG_(INFO) << + "SUB_backup_ServiceReverse_IncrementalBackupOnFileReady_0100 service_ == nullptr"; + return; + } + service_->IncrementalBackupOnFileReadyWithoutFd(BUNDLE_NAME, FILE_NAME, 0); + service_->IncrementalRestoreOnFileReadyWithoutFd(BUNDLE_NAME, FILE_NAME, 0); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by RestoreOnAllBundlesFinished."; + } + GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_IncrementalBackupOnFileReadyWithoutFd_0100"; +} + /** * @tc.number: SUB_backup_ServiceReverse_IncrementalBackupOnBundleStarted_0100 * @tc.name: SUB_backup_ServiceReverse_IncrementalBackupOnBundleStarted_0100 diff --git a/tests/unittests/backup_sa/module_ipc/service_incremental_test.cpp b/tests/unittests/backup_sa/module_ipc/service_incremental_test.cpp index 8b161fc73..280f511f8 100644 --- a/tests/unittests/backup_sa/module_ipc/service_incremental_test.cpp +++ b/tests/unittests/backup_sa/module_ipc/service_incremental_test.cpp @@ -1268,6 +1268,57 @@ HWTEST_F(ServiceIncrementalTest, SUB_ServiceIncremental_AppIncrementalFileReady_ GTEST_LOG_(INFO) << "ServiceIncrementalTest-end SUB_ServiceIncremental_AppIncrementalFileReady_0300"; } +/** + * @tc.number: SUB_ServiceIncremental_AppIncrementalFileReadyWithoutFd_0000 + * @tc.name: SUB_ServiceIncremental_AppIncrementalFileReadyWithoutFd_0000 + * @tc.desc: 测试 AppIncrementalFileReady 的正常/异常分支 + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: issueIAKC3I + */ +HWTEST_F(ServiceIncrementalTest, SUB_ServiceIncremental_AppIncrementalFileReadyWithoutFd_0000, TestSize.Level1) +{ + GTEST_LOG_(INFO) << "ServiceIncrementalTest-begin SUB_ServiceIncremental_AppIncrementalFileReadyWithoutFd_0000"; + try { + string bundleName; + string fileName; + int32_t errCode = 0; + EXPECT_CALL(*srvMock, VerifyCallerAndGetCallerName(_)) + .WillOnce(Return(BError(BError::Codes::OK).GetCode())); + EXPECT_CALL(*session, GetScenario()).WillOnce(Return(IServiceReverseType::Scenario::RESTORE)); + EXPECT_CALL(*session, GetServiceReverseProxy()).WillOnce(Return(srProxy)); + + EXPECT_CALL(*srProxy, IncrementalRestoreOnFileReadyWithoutFd(_, _, _)).WillOnce(Return(0)); + auto ret = service->AppIncrementalFileReadyWithoutFd(fileName, errCode); + EXPECT_EQ(ret, BError(BError::Codes::OK).GetCode()); + + EXPECT_CALL(*srvMock, VerifyCallerAndGetCallerName(_)) + .WillOnce(Return(BError(BError::Codes::OK).GetCode())); + EXPECT_CALL(*session, GetScenario()).WillOnce(Return(IServiceReverseType::Scenario::BACKUP)); + EXPECT_CALL(*session, GetServiceReverseProxy()).WillOnce(Return(srProxy)); + EXPECT_CALL(*srProxy, IncrementalBackupOnFileReadyWithoutFd(_, _, _)).WillOnce(Return(0)); + EXPECT_CALL(*session, OnBundleFileReady(_, _)).WillOnce(Return(false)); + ret = service->AppIncrementalFileReadyWithoutFd(fileName, errCode); + EXPECT_EQ(ret, BError(BError::Codes::OK).GetCode()); + + fileName = BConstants::EXT_BACKUP_MANAGE; + EXPECT_CALL(*srvMock, VerifyCallerAndGetCallerName(_)) + .WillOnce(Return(BError(BError::Codes::OK).GetCode())); + EXPECT_CALL(*session, GetScenario()).WillOnce(Return(IServiceReverseType::Scenario::BACKUP)); + EXPECT_CALL(*session, OnBundleExtManageInfo(_, _)).WillOnce(Return(UniqueFd(-1))); + EXPECT_CALL(*session, GetServiceReverseProxy()).WillOnce(Return(srProxy)); + EXPECT_CALL(*srProxy, IncrementalBackupOnFileReadyWithoutFd(_, _, _)).WillOnce(Return(0)); + EXPECT_CALL(*session, OnBundleFileReady(_, _)).WillOnce(Return(false)); + ret = service->AppIncrementalFileReadyWithoutFd(fileName, errCode); + EXPECT_EQ(ret, BError(BError::Codes::OK).GetCode()); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "ServiceIncrementalTest-an exception occurred by AppIncrementalFileReadyWithoutFd."; + } + GTEST_LOG_(INFO) << "ServiceIncrementalTest-end SUB_ServiceIncremental_AppIncrementalFileReadyWithoutFd_0000"; +} + /** * @tc.number: SUB_ServiceIncremental_AppIncrementalDone_0000 * @tc.name: SUB_ServiceIncremental_AppIncrementalDone_0000 diff --git a/tests/unittests/backup_sa/module_ipc/service_test.cpp b/tests/unittests/backup_sa/module_ipc/service_test.cpp index 43fc3037e..51439fc2f 100644 --- a/tests/unittests/backup_sa/module_ipc/service_test.cpp +++ b/tests/unittests/backup_sa/module_ipc/service_test.cpp @@ -388,6 +388,30 @@ HWTEST_F(ServiceTest, SUB_Service_AppFileReady_0103, testing::ext::TestSize.Leve GTEST_LOG_(INFO) << "ServiceTest-end SUB_Service_AppFileReady_0103"; } +/** + * @tc.number: SUB_Service_AppFileReadyWithoutFd_0100 + * @tc.name: SUB_Service_AppFileReadyWithoutFd_0100 + * @tc.desc: 测试 AppFileReady 接口 + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I6F3GV + */ +HWTEST_F(ServiceTest, SUB_Service_AppFileReadyWithoutFd_0100, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "ServiceTest-begin SUB_Service_AppFileReady_0103"; + try { + string fileName = "/manage.json"; + EXPECT_TRUE(servicePtr_ != nullptr); + auto ret = servicePtr_->AppFileReadyWithoutFd(fileName, 0); + EXPECT_EQ(ret, BError(BError::Codes::OK)); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "ServiceTest-an exception occurred by AppFileReady."; + } + GTEST_LOG_(INFO) << "ServiceTest-end SUB_Service_AppFileReady_0103"; +} + /** * @tc.number: SUB_Service_AppDone_0100 * @tc.name: SUB_Service_AppDone_0100 -- Gitee From 8b66d2b00048bf3d246cde16dfec9577cecb7f5f Mon Sep 17 00:00:00 2001 From: BrainL Date: Mon, 16 Jun 2025 21:11:13 +0800 Subject: [PATCH 07/12] fixed ut. Signed-off-by: BrainL Change-Id: I2d18c1d1b41dcbc43969e069b757fc864d171e82 --- .../backup_sa/module_ipc/service_incremental_test.cpp | 7 +++---- tests/unittests/backup_sa/module_ipc/service_test.cpp | 4 ++-- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/tests/unittests/backup_sa/module_ipc/service_incremental_test.cpp b/tests/unittests/backup_sa/module_ipc/service_incremental_test.cpp index 280f511f8..314bcd047 100644 --- a/tests/unittests/backup_sa/module_ipc/service_incremental_test.cpp +++ b/tests/unittests/backup_sa/module_ipc/service_incremental_test.cpp @@ -1288,8 +1288,7 @@ HWTEST_F(ServiceIncrementalTest, SUB_ServiceIncremental_AppIncrementalFileReadyW .WillOnce(Return(BError(BError::Codes::OK).GetCode())); EXPECT_CALL(*session, GetScenario()).WillOnce(Return(IServiceReverseType::Scenario::RESTORE)); EXPECT_CALL(*session, GetServiceReverseProxy()).WillOnce(Return(srProxy)); - - EXPECT_CALL(*srProxy, IncrementalRestoreOnFileReadyWithoutFd(_, _, _)).WillOnce(Return(0)); + EXPECT_CALL(*srProxy, IncrementalRestoreOnFileReady(_, _, _, _, _)).WillOnce(Return(0)); auto ret = service->AppIncrementalFileReadyWithoutFd(fileName, errCode); EXPECT_EQ(ret, BError(BError::Codes::OK).GetCode()); @@ -1297,7 +1296,7 @@ HWTEST_F(ServiceIncrementalTest, SUB_ServiceIncremental_AppIncrementalFileReadyW .WillOnce(Return(BError(BError::Codes::OK).GetCode())); EXPECT_CALL(*session, GetScenario()).WillOnce(Return(IServiceReverseType::Scenario::BACKUP)); EXPECT_CALL(*session, GetServiceReverseProxy()).WillOnce(Return(srProxy)); - EXPECT_CALL(*srProxy, IncrementalBackupOnFileReadyWithoutFd(_, _, _)).WillOnce(Return(0)); + EXPECT_CALL(*srProxy, IncrementalBackupOnFileReady(_, _, _, _, _)).WillOnce(Return(0)); EXPECT_CALL(*session, OnBundleFileReady(_, _)).WillOnce(Return(false)); ret = service->AppIncrementalFileReadyWithoutFd(fileName, errCode); EXPECT_EQ(ret, BError(BError::Codes::OK).GetCode()); @@ -1308,7 +1307,7 @@ HWTEST_F(ServiceIncrementalTest, SUB_ServiceIncremental_AppIncrementalFileReadyW EXPECT_CALL(*session, GetScenario()).WillOnce(Return(IServiceReverseType::Scenario::BACKUP)); EXPECT_CALL(*session, OnBundleExtManageInfo(_, _)).WillOnce(Return(UniqueFd(-1))); EXPECT_CALL(*session, GetServiceReverseProxy()).WillOnce(Return(srProxy)); - EXPECT_CALL(*srProxy, IncrementalBackupOnFileReadyWithoutFd(_, _, _)).WillOnce(Return(0)); + EXPECT_CALL(*srProxy, IncrementalBackupOnFileReady(_, _, _, _, _)).WillOnce(Return(0)); EXPECT_CALL(*session, OnBundleFileReady(_, _)).WillOnce(Return(false)); ret = service->AppIncrementalFileReadyWithoutFd(fileName, errCode); EXPECT_EQ(ret, BError(BError::Codes::OK).GetCode()); diff --git a/tests/unittests/backup_sa/module_ipc/service_test.cpp b/tests/unittests/backup_sa/module_ipc/service_test.cpp index 51439fc2f..b53eb2864 100644 --- a/tests/unittests/backup_sa/module_ipc/service_test.cpp +++ b/tests/unittests/backup_sa/module_ipc/service_test.cpp @@ -380,7 +380,7 @@ HWTEST_F(ServiceTest, SUB_Service_AppFileReady_0103, testing::ext::TestSize.Leve string fileName = "/manage.json"; EXPECT_TRUE(servicePtr_ != nullptr); auto ret = servicePtr_->AppFileReady(fileName, UniqueFd(-1), 0); - EXPECT_EQ(ret, BError(BError::Codes::SA_INVAL_ARG)); + EXPECT_EQ(ret, BError(BError::Codes::E_INVAL)); } catch (...) { EXPECT_TRUE(false); GTEST_LOG_(INFO) << "ServiceTest-an exception occurred by AppFileReady."; @@ -404,7 +404,7 @@ HWTEST_F(ServiceTest, SUB_Service_AppFileReadyWithoutFd_0100, testing::ext::Test string fileName = "/manage.json"; EXPECT_TRUE(servicePtr_ != nullptr); auto ret = servicePtr_->AppFileReadyWithoutFd(fileName, 0); - EXPECT_EQ(ret, BError(BError::Codes::OK)); + EXPECT_EQ(ret, BError(BError::Codes::I)); } catch (...) { EXPECT_TRUE(false); GTEST_LOG_(INFO) << "ServiceTest-an exception occurred by AppFileReady."; -- Gitee From b665be0de2a839ec2dda7e175324efc0df43477b Mon Sep 17 00:00:00 2001 From: BrainL Date: Mon, 16 Jun 2025 21:29:33 +0800 Subject: [PATCH 08/12] fixed ut. Signed-off-by: BrainL Change-Id: I33ee4b82901ad27262d4686345080538b583c122 --- tests/unittests/backup_sa/module_ipc/service_test.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/unittests/backup_sa/module_ipc/service_test.cpp b/tests/unittests/backup_sa/module_ipc/service_test.cpp index b53eb2864..385467161 100644 --- a/tests/unittests/backup_sa/module_ipc/service_test.cpp +++ b/tests/unittests/backup_sa/module_ipc/service_test.cpp @@ -380,7 +380,7 @@ HWTEST_F(ServiceTest, SUB_Service_AppFileReady_0103, testing::ext::TestSize.Leve string fileName = "/manage.json"; EXPECT_TRUE(servicePtr_ != nullptr); auto ret = servicePtr_->AppFileReady(fileName, UniqueFd(-1), 0); - EXPECT_EQ(ret, BError(BError::Codes::E_INVAL)); + EXPECT_EQ(ret, BError(BError::Codes::SA_INVAL_ARG)); } catch (...) { EXPECT_TRUE(false); GTEST_LOG_(INFO) << "ServiceTest-an exception occurred by AppFileReady."; @@ -404,7 +404,7 @@ HWTEST_F(ServiceTest, SUB_Service_AppFileReadyWithoutFd_0100, testing::ext::Test string fileName = "/manage.json"; EXPECT_TRUE(servicePtr_ != nullptr); auto ret = servicePtr_->AppFileReadyWithoutFd(fileName, 0); - EXPECT_EQ(ret, BError(BError::Codes::I)); + EXPECT_EQ(ret, BError(BError::BackupErrorCode::E_INVAL)); } catch (...) { EXPECT_TRUE(false); GTEST_LOG_(INFO) << "ServiceTest-an exception occurred by AppFileReady."; -- Gitee From 3b16d63374fe09acb6ff9358badafdc1f634b62e Mon Sep 17 00:00:00 2001 From: BrainL Date: Thu, 19 Jun 2025 17:02:45 +0800 Subject: [PATCH 09/12] add ut. Signed-off-by: BrainL Change-Id: Ic83eb52f8f89c8583993e05e9c3989185e15f460 --- .../native/backup_ext/src/ext_extension.cpp | 51 +- .../backup_ext/src/sub_ext_extension.cpp | 108 +- .../unittests/backup_api/backup_impl/BUILD.gn | 5 + .../backup_impl/service_reverse_test.cpp | 4107 +++++++++-------- 4 files changed, 2270 insertions(+), 2001 deletions(-) diff --git a/frameworks/native/backup_ext/src/ext_extension.cpp b/frameworks/native/backup_ext/src/ext_extension.cpp index 9e667131f..c3a84012a 100644 --- a/frameworks/native/backup_ext/src/ext_extension.cpp +++ b/frameworks/native/backup_ext/src/ext_extension.cpp @@ -2009,16 +2009,45 @@ ErrCode BackupExtExtension::HandleRestore(bool isClearData) } } -ErrCode BackupExtExtension::IncrementalOnBackup(bool isClearData) +static bool IfEquality(const ReportFileInfo &info, const ReportFileInfo &infoAd) { - HITRACE_METER_NAME(HITRACE_TAG_FILEMANAGEMENT, __PRETTY_FUNCTION__); - SetClearDataFlag(isClearData); - if (!IfAllowToBackupRestore()) { - return BError(BError::Codes::EXT_FORBID_BACKUP_RESTORE, "Application does not allow backup or restore") - .GetCode(); + return info.filePath < infoAd.filePath; +} + +static void AdDeduplication(vector &filesList) +{ + sort(filesList.begin(), filesList.end(), IfEquality); + auto it = unique(filesList.begin(), filesList.end(), [](const ReportFileInfo &info, const ReportFileInfo &infoAd) { + return info.filePath == infoAd.filePath; + }); + filesList.erase(it, filesList.end()); +} + +void BackupExtExtension::FillFileInfos(UniqueFd incrementalFd, + UniqueFd manifestFd, + vector &allFiles, + vector &smallFiles, + vector &bigFiles) +{ + HILOGI("Begin Compare"); + BReportEntity cloudRp(move(manifestFd)); + unordered_map cloudFiles; + cloudRp.GetReportInfos(cloudFiles); + appStatistic_->scanFileSpend_.Start(); + if (cloudFiles.empty()) { + FillFileInfosWithoutCmp(allFiles, smallFiles, bigFiles, move(incrementalFd)); + } else { + FillFileInfosWithCmp(allFiles, smallFiles, bigFiles, cloudFiles, move(incrementalFd)); } - AsyncTaskOnIncrementalBackup(); - return ERR_OK; + + AdDeduplication(allFiles); + AdDeduplication(smallFiles); + AdDeduplication(bigFiles); + appStatistic_->smallFileCount_ = smallFiles.size(); + appStatistic_->bigFileCount_ = bigFiles.size(); + appStatistic_->scanFileSpend_.End(); + HILOGI("End Compare, allfile is %{public}zu, smallfile is %{public}zu, bigfile is %{public}zu", + allFiles.size(), smallFiles.size(), bigFiles.size()); } static void WriteFile(const string &filename, const vector &srcFiles) @@ -2123,6 +2152,12 @@ ErrCode BackupExtExtension::IncrementalBigFileReady(TarMap &pkgInfo, } else { HILOGE("IncrementalBigFileReady interface fails to be invoked: %{public}d", ret); } + if (fdval >= 0) { + close(fdval); + } + if (manifestFdval >=0) { + close(manifestFdval); + } fdNum += BConstants::FILE_AND_MANIFEST_FD_COUNT; RefreshTimeInfo(startTime, fdNum); } diff --git a/frameworks/native/backup_ext/src/sub_ext_extension.cpp b/frameworks/native/backup_ext/src/sub_ext_extension.cpp index c3357872d..4cd89419b 100644 --- a/frameworks/native/backup_ext/src/sub_ext_extension.cpp +++ b/frameworks/native/backup_ext/src/sub_ext_extension.cpp @@ -62,6 +62,46 @@ namespace OHOS::FileManagement::Backup { const uint32_t MAX_FD_GROUP_USE_TIME = 1000; // 每组打开最大时间1000ms +ErrCode BackupExtExtension::HandleIncrementalBackup(int incrementalFd, int manifestFd) +{ + HILOGI("Start HandleIncrementalBackup. incrementalFd:%{public}d, manifestFd:%{public}d", incrementalFd, manifestFd); + UniqueFd incrementalFdUnique(dup(incrementalFd)); + UniqueFd manifestFdUnique(dup(manifestFd)); + ErrCode ret = HandleIncrementalBackup(std::move(incrementalFdUnique), std::move(manifestFdUnique)); + close(incrementalFd); + close(manifestFd); + return ret; +} + +ErrCode BackupExtExtension::HandleIncrementalBackup(UniqueFd incrementalFd, UniqueFd manifestFd) +{ + HITRACE_METER_NAME(HITRACE_TAG_FILEMANAGEMENT, __PRETTY_FUNCTION__); + try { + HILOGI("Start HandleIncrementalBackup"); + if (!IfAllowToBackupRestore()) { + return BError(BError::Codes::EXT_FORBID_BACKUP_RESTORE, "Application does not allow backup or restore") + .GetCode(); + } + AsyncTaskDoIncrementalBackup(move(incrementalFd), move(manifestFd)); + return ERR_OK; + } catch (...) { + HILOGE("Failed to handle incremental backup"); + return BError(BError::Codes::EXT_INVAL_ARG).GetCode(); + } +} + +ErrCode BackupExtExtension::IncrementalOnBackup(bool isClearData) +{ + HITRACE_METER_NAME(HITRACE_TAG_FILEMANAGEMENT, __PRETTY_FUNCTION__); + SetClearDataFlag(isClearData); + if (!IfAllowToBackupRestore()) { + return BError(BError::Codes::EXT_FORBID_BACKUP_RESTORE, "Application does not allow backup or restore") + .GetCode(); + } + AsyncTaskOnIncrementalBackup(); + return ERR_OK; +} + void BackupExtExtension::WaitToSendFd(std::chrono::system_clock::time_point &startTime, int &fdSendNum) { HILOGD("WaitToSendFd Begin"); @@ -1688,74 +1728,6 @@ tuple BackupExtExtension::GetIncrementalBackupFileHandle() return {UniqueFd(BConstants::INVALID_FD_NUM), UniqueFd(BConstants::INVALID_FD_NUM)}; } -static bool IfEquality(const ReportFileInfo &info, const ReportFileInfo &infoAd) -{ - return info.filePath < infoAd.filePath; -} - -static void AdDeduplication(vector &filesList) -{ - sort(filesList.begin(), filesList.end(), IfEquality); - auto it = unique(filesList.begin(), filesList.end(), [](const ReportFileInfo &info, const ReportFileInfo &infoAd) { - return info.filePath == infoAd.filePath; - }); - filesList.erase(it, filesList.end()); -} - -void BackupExtExtension::FillFileInfos(UniqueFd incrementalFd, - UniqueFd manifestFd, - vector &allFiles, - vector &smallFiles, - vector &bigFiles) -{ - HILOGI("Begin Compare"); - BReportEntity cloudRp(move(manifestFd)); - unordered_map cloudFiles; - cloudRp.GetReportInfos(cloudFiles); - appStatistic_->scanFileSpend_.Start(); - if (cloudFiles.empty()) { - FillFileInfosWithoutCmp(allFiles, smallFiles, bigFiles, move(incrementalFd)); - } else { - FillFileInfosWithCmp(allFiles, smallFiles, bigFiles, cloudFiles, move(incrementalFd)); - } - - AdDeduplication(allFiles); - AdDeduplication(smallFiles); - AdDeduplication(bigFiles); - appStatistic_->smallFileCount_ = smallFiles.size(); - appStatistic_->bigFileCount_ = bigFiles.size(); - appStatistic_->scanFileSpend_.End(); - HILOGI("End Compare, allfile is %{public}zu, smallfile is %{public}zu, bigfile is %{public}zu", - allFiles.size(), smallFiles.size(), bigFiles.size()); -} - -ErrCode BackupExtExtension::HandleIncrementalBackup(int incrementalFd, int manifestFd) -{ - HILOGI("Start HandleIncrementalBackup. incrementalFd:%{public}d, manifestFd:%{public}d", incrementalFd, manifestFd); - UniqueFd incrementalFdUnique(dup(incrementalFd)); - UniqueFd manifestFdUnique(dup(manifestFd)); - ErrCode ret = HandleIncrementalBackup(std::move(incrementalFdUnique), std::move(manifestFdUnique)); - close(incrementalFd); - close(manifestFd); - return ret; -} - -ErrCode BackupExtExtension::HandleIncrementalBackup(UniqueFd incrementalFd, UniqueFd manifestFd) -{ - HITRACE_METER_NAME(HITRACE_TAG_FILEMANAGEMENT, __PRETTY_FUNCTION__); - try { - HILOGI("Start HandleIncrementalBackup"); - if (!IfAllowToBackupRestore()) { - return BError(BError::Codes::EXT_FORBID_BACKUP_RESTORE, "Application does not allow backup or restore") - .GetCode(); - } - AsyncTaskDoIncrementalBackup(move(incrementalFd), move(manifestFd)); - return ERR_OK; - } catch (...) { - HILOGE("Failed to handle incremental backup"); - return BError(BError::Codes::EXT_INVAL_ARG).GetCode(); - } -} std::function BackupExtExtension::OnReleaseCallback(wptr obj) { HILOGI("Begin get HandleOnReleaseCallback"); diff --git a/tests/unittests/backup_api/backup_impl/BUILD.gn b/tests/unittests/backup_api/backup_impl/BUILD.gn index 4e786fa21..a6e14bf48 100644 --- a/tests/unittests/backup_api/backup_impl/BUILD.gn +++ b/tests/unittests/backup_api/backup_impl/BUILD.gn @@ -50,6 +50,11 @@ ohos_unittest("backup_sa_impl_test") { module_out_path = path_module_out_tests + cflags = [ + "-Dprivate = public", + "-Dprotected = public", + ] + sources = [ "${path_backup_mock}/system_ability_manager/service_registry_mock.cpp", "${path_backup_mock}/utils_mock/src/utils_mock_global_variable.cpp", diff --git a/tests/unittests/backup_api/backup_impl/service_reverse_test.cpp b/tests/unittests/backup_api/backup_impl/service_reverse_test.cpp index 42de16b60..25bbf9149 100644 --- a/tests/unittests/backup_api/backup_impl/service_reverse_test.cpp +++ b/tests/unittests/backup_api/backup_impl/service_reverse_test.cpp @@ -1,1926 +1,2183 @@ -/* - * Copyright (c) 2022-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 -#include -#include -#include -#include -#include -#include -#include - -#include "b_error/b_error.h" -#include "b_session_restore.h" -#include "refbase.h" -#include "service_reverse.h" -#include "test_manager.h" -#include "unique_fd.h" - -namespace OHOS::FileManagement::Backup { -using namespace std; -using namespace testing; - -namespace { -const string BUNDLE_NAME = "com.example.app2backup"; -const string FILE_NAME = "1.tar"; -} // namespace - -class ServiceReverseTest : public testing::Test { -public: - static void SetUpTestCase(void) {}; - static void TearDownTestCase() {}; - void SetUp() override {}; - void TearDown() override; - - void Init(IServiceReverseType::Scenario scenario, int nType = 0); - void IncrementalInit(IServiceReverseType::Scenario scenario, int nType = 0); - sptr service_ = nullptr; -}; - -static void OnFileReadyTest(const BFileInfo &fileInfo, UniqueFd fd) -{ - EXPECT_EQ(fileInfo.owner, BUNDLE_NAME); - EXPECT_EQ(fileInfo.fileName, FILE_NAME); - GTEST_LOG_(INFO) << "ServiceReverseTest-OnFileReadyTest SUCCESS"; -} - -static void OnBundleStartedTest(ErrCode err, const BundleName name) -{ - EXPECT_EQ(name, BUNDLE_NAME); - GTEST_LOG_(INFO) << "ServiceReverseTest-OnBundleStartedTest SUCCESS"; -} - -static void OnBundleFinishedTest(ErrCode err, const BundleName name) -{ - EXPECT_EQ(name, BUNDLE_NAME); - GTEST_LOG_(INFO) << "ServiceReverseTest-OnBundleFinishedTest SUCCESS"; -} - -static void OnAllBundlesFinishedTest(ErrCode err) -{ - EXPECT_EQ(err, BError(BError::Codes::OK)); - GTEST_LOG_(INFO) << "ServiceReverseTest-OnAllBundlesFinishedTest SUCCESS"; -} - -static void OnBackupServiceDiedTest() {} - -static void OnResultReportTest(std::string bundleName, std::string result) -{ - EXPECT_EQ(result, "result_report"); - EXPECT_EQ(bundleName, "com.example.app2backup"); - GTEST_LOG_(INFO) << "ServiceReverseTest-OnResultReportTest SUCCESS"; -} - -void ServiceReverseTest::TearDown() -{ - service_ = nullptr; -} - -void ServiceReverseTest::Init(IServiceReverseType::Scenario scenario, int nType) -{ - if (scenario == IServiceReverseType::Scenario::BACKUP) { - if (nType) { - service_ = new ServiceReverse(BSessionBackup::Callbacks {.onFileReady = nullptr, - .onBundleStarted = nullptr, - .onBundleFinished = nullptr, - .onAllBundlesFinished = nullptr, - .onResultReport = nullptr, - .onBackupServiceDied = nullptr}); - } else { - service_ = new ServiceReverse(BSessionBackup::Callbacks { - .onFileReady = bind(OnFileReadyTest, placeholders::_1, placeholders::_2), - .onBundleStarted = bind(OnBundleStartedTest, placeholders::_1, placeholders::_2), - .onBundleFinished = bind(OnBundleFinishedTest, placeholders::_1, placeholders::_2), - .onAllBundlesFinished = bind(OnAllBundlesFinishedTest, placeholders::_1), - .onResultReport = bind(OnResultReportTest, placeholders::_1, placeholders::_2), - .onBackupServiceDied = bind(OnBackupServiceDiedTest)}); - } - } else { - if (nType) { - service_ = new ServiceReverse(BSessionRestore::Callbacks {.onFileReady = nullptr, - .onBundleStarted = nullptr, - .onBundleFinished = nullptr, - .onAllBundlesFinished = nullptr, - .onResultReport = nullptr, - .onBackupServiceDied = nullptr}); - } else { - service_ = new ServiceReverse(BSessionRestore::Callbacks { - .onFileReady = bind(OnFileReadyTest, placeholders::_1, placeholders::_2), - .onBundleStarted = bind(OnBundleStartedTest, placeholders::_1, placeholders::_2), - .onBundleFinished = bind(OnBundleFinishedTest, placeholders::_1, placeholders::_2), - .onAllBundlesFinished = bind(OnAllBundlesFinishedTest, placeholders::_1), - .onResultReport = bind(OnResultReportTest, placeholders::_1, placeholders::_2), - .onBackupServiceDied = bind(OnBackupServiceDiedTest)}); - } - } -} - -void ServiceReverseTest::IncrementalInit(IServiceReverseType::Scenario scenario, int nType) -{ - if (scenario == IServiceReverseType::Scenario::BACKUP) { - if (nType) { - service_ = new ServiceReverse(BIncrementalBackupSession::Callbacks {.onFileReady = nullptr, - .onBundleStarted = nullptr, - .onBundleFinished = nullptr, - .onAllBundlesFinished = nullptr, - .onResultReport = nullptr, - .onBackupServiceDied = nullptr}); - } else { - service_ = new ServiceReverse(BIncrementalBackupSession::Callbacks { - .onFileReady = bind(OnFileReadyTest, placeholders::_1, placeholders::_2), - .onBundleStarted = bind(OnBundleStartedTest, placeholders::_1, placeholders::_2), - .onBundleFinished = bind(OnBundleFinishedTest, placeholders::_1, placeholders::_2), - .onAllBundlesFinished = bind(OnAllBundlesFinishedTest, placeholders::_1), - .onResultReport = bind(OnResultReportTest, placeholders::_1, placeholders::_2), - .onBackupServiceDied = bind(OnBackupServiceDiedTest)}); - } - } else { - if (nType) { - service_ = new ServiceReverse(BIncrementalRestoreSession::Callbacks {.onFileReady = nullptr, - .onBundleStarted = nullptr, - .onBundleFinished = nullptr, - .onAllBundlesFinished = nullptr, - .onBackupServiceDied = nullptr}); - } else { - service_ = new ServiceReverse(BIncrementalRestoreSession::Callbacks { - .onFileReady = bind(OnFileReadyTest, placeholders::_1, placeholders::_2), - .onBundleStarted = bind(OnBundleStartedTest, placeholders::_1, placeholders::_2), - .onBundleFinished = bind(OnBundleFinishedTest, placeholders::_1, placeholders::_2), - .onAllBundlesFinished = bind(OnAllBundlesFinishedTest, placeholders::_1), - .onResultReport = bind(OnResultReportTest, placeholders::_1, placeholders::_2), - .onBackupServiceDied = bind(OnBackupServiceDiedTest)}); - } - } -} - -/** - * @tc.number: SUB_backup_ServiceReverse_BackupOnFileReady_0100 - * @tc.name: SUB_backup_ServiceReverse_BackupOnFileReady_0100 - * @tc.desc: 测试 BackupOnFileReady 接口 - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I6F3GV - */ -HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_BackupOnFileReady_0100, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_BackupOnFileReady_0100"; - try { - Init(IServiceReverseType::Scenario::BACKUP); - if (service_ == nullptr) { - GTEST_LOG_(INFO) << - "SUB_backup_ServiceReverse_BackupOnFileReady_0100 service_ == nullptr"; - return; - } - service_->BackupOnFileReady(BUNDLE_NAME, FILE_NAME, -1, 0); - service_->RestoreOnFileReady(BUNDLE_NAME, FILE_NAME, -1, 0); - } catch (...) { - EXPECT_TRUE(false); - GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by BackupOnFileReady."; - } - GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_BackupOnFileReady_0100"; -} - -/** - * @tc.number: SUB_backup_ServiceReverse_BackupOnFileReady_0101 - * @tc.name: SUB_backup_ServiceReverse_BackupOnFileReady_0101 - * @tc.desc: 测试 BackupOnFileReady 接口 - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I6F3GV - */ -HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_BackupOnFileReady_0101, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_BackupOnFileReady_0101"; - try { - Init(IServiceReverseType::Scenario::RESTORE); - if (service_ == nullptr) { - GTEST_LOG_(INFO) << - "SUB_backup_ServiceReverse_BackupOnFileReady_0101 service_ == nullptr"; - return; - } - service_->BackupOnFileReady(BUNDLE_NAME, FILE_NAME, -1, 0); - } catch (...) { - EXPECT_TRUE(false); - GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by BackupOnFileReady."; - } - GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_BackupOnFileReady_0101"; -} - -/** - * @tc.number: SUB_backup_ServiceReverse_BackupOnFileReady_0102 - * @tc.name: SUB_backup_ServiceReverse_BackupOnFileReady_0102 - * @tc.desc: 测试 BackupOnFileReady 接口 - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I6F3GV - */ -HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_BackupOnFileReady_0102, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_BackupOnFileReady_0102"; - try { - Init(IServiceReverseType::Scenario::BACKUP, 1); - if (service_ == nullptr) { - GTEST_LOG_(INFO) << - "SUB_backup_ServiceReverse_BackupOnFileReady_0102 service_ == nullptr"; - return; - } - service_->BackupOnFileReady(BUNDLE_NAME, FILE_NAME, -1, 0); - } catch (...) { - EXPECT_TRUE(false); - GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by BackupOnFileReady."; - } - GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_BackupOnFileReady_0102"; -} - -/** - * @tc.number: SUB_backup_ServiceReverse_BackupOnFileReadyWithoutFd_0100 - * @tc.name: SUB_backup_ServiceReverse_BackupOnFileReadyWithoutFd_0100 - * @tc.desc: 测试 BackupOnFileReadyWithoutFd 接口 - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I6F3GV - */ -HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_BackupOnFileReadyWithoutFd_0100, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_BackupOnFileReadyWithoutFd_0100"; - try { - Init(IServiceReverseType::Scenario::BACKUP); - if (service_ == nullptr) { - GTEST_LOG_(INFO) << - "SUB_backup_ServiceReverse_BackupOnFileReadyWithoutFd_0100 service_ == nullptr"; - return; - } - service_->BackupOnFileReadyWithoutFd(BUNDLE_NAME, FILE_NAME, 0); - service_->RestoreOnFileReadyWithoutFd(BUNDLE_NAME, FILE_NAME, 0); - } catch (...) { - EXPECT_TRUE(false); - GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by BackupOnFileReady."; - } - GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_BackupOnFileReadyWithoutFd_0100"; -} - -/** - * @tc.number: SUB_backup_ServiceReverse_BackupOnBundleStarted_0100 - * @tc.name: SUB_backup_ServiceReverse_BackupOnBundleStarted_0100 - * @tc.desc: 测试 BackupOnBundleStarted 接口 - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I6F3GV - */ -HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_BackupOnBundleStarted_0100, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_BackupOnBundleStarted_0100"; - try { - Init(IServiceReverseType::Scenario::BACKUP); - if (service_ == nullptr) { - GTEST_LOG_(INFO) << - "SUB_backup_ServiceReverse_BackupOnBundleStarted_0100 service_ == nullptr"; - return; - } - service_->BackupOnBundleStarted(BError(BError::Codes::OK), BUNDLE_NAME); - service_->RestoreOnBundleStarted(BError(BError::Codes::OK), BUNDLE_NAME); - } catch (...) { - EXPECT_TRUE(false); - GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by BackupOnBundleStarted."; - } - GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_BackupOnBundleStarted_0100"; -} - -/** - * @tc.number: SUB_backup_ServiceReverse_BackupOnBundleStarted_0101 - * @tc.name: SUB_backup_ServiceReverse_BackupOnBundleStarted_0101 - * @tc.desc: 测试 BackupOnBundleStarted 接口 - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I6F3GV - */ -HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_BackupOnBundleStarted_0101, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_BackupOnBundleStarted_0101"; - try { - Init(IServiceReverseType::Scenario::RESTORE); - if (service_ == nullptr) { - GTEST_LOG_(INFO) << - "SUB_backup_ServiceReverse_BackupOnBundleStarted_0101 service_ == nullptr"; - return; - } - service_->BackupOnBundleStarted(BError(BError::Codes::OK), BUNDLE_NAME); - } catch (...) { - EXPECT_TRUE(false); - GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by BackupOnBundleStarted."; - } - GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_BackupOnBundleStarted_0101"; -} - -/** - * @tc.number: SUB_backup_ServiceReverse_BackupOnBundleStarted_0102 - * @tc.name: SUB_backup_ServiceReverse_BackupOnBundleStarted_0102 - * @tc.desc: 测试 BackupOnBundleStarted 接口 - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I6F3GV - */ -HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_BackupOnBundleStarted_0102, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_BackupOnBundleStarted_0102"; - try { - Init(IServiceReverseType::Scenario::BACKUP, 1); - if (service_ == nullptr) { - GTEST_LOG_(INFO) << - "SUB_backup_ServiceReverse_BackupOnBundleStarted_0102 service_ == nullptr"; - return; - } - service_->BackupOnBundleStarted(BError(BError::Codes::OK), BUNDLE_NAME); - } catch (...) { - EXPECT_TRUE(false); - GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by BackupOnBundleStarted."; - } - GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_BackupOnBundleStarted_0102"; -} - -/** - * @tc.number: SUB_backup_ServiceReverse_BackupOnBundleFinished_0100 - * @tc.name: SUB_backup_ServiceReverse_BackupOnBundleFinished_0100 - * @tc.desc: 测试 BackupOnBundleFinished 接口 - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I6F3GV - */ -HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_BackupOnBundleFinished_0100, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_BackupOnBundleFinished_0100"; - try { - Init(IServiceReverseType::Scenario::BACKUP); - if (service_ == nullptr) { - GTEST_LOG_(INFO) << - "SUB_backup_ServiceReverse_BackupOnBundleFinished_0100 service_ == nullptr"; - return; - } - service_->BackupOnBundleFinished(BError(BError::Codes::OK), BUNDLE_NAME); - service_->RestoreOnBundleFinished(BError(BError::Codes::OK), BUNDLE_NAME); - } catch (...) { - EXPECT_TRUE(false); - GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by BackupOnBundleFinished."; - } - GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_BackupOnBundleFinished_0100"; -} - -/** - * @tc.number: SUB_backup_ServiceReverse_BackupOnBundleFinished_0101 - * @tc.name: SUB_backup_ServiceReverse_BackupOnBundleFinished_0101 - * @tc.desc: 测试 BackupOnBundleFinished 接口 - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I6F3GV - */ -HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_BackupOnBundleFinished_0101, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_BackupOnBundleFinished_0101"; - try { - Init(IServiceReverseType::Scenario::RESTORE); - if (service_ == nullptr) { - GTEST_LOG_(INFO) << - "SUB_backup_ServiceReverse_BackupOnBundleFinished_0101 service_ == nullptr"; - return; - } - service_->BackupOnBundleFinished(BError(BError::Codes::OK), BUNDLE_NAME); - } catch (...) { - EXPECT_TRUE(false); - GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by BackupOnBundleFinished."; - } - GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_BackupOnBundleFinished_0101"; -} - -/** - * @tc.number: SUB_backup_ServiceReverse_BackupOnBundleFinished_0102 - * @tc.name: SUB_backup_ServiceReverse_BackupOnBundleFinished_0102 - * @tc.desc: 测试 BackupOnBundleFinished 接口 - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I6F3GV - */ -HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_BackupOnBundleFinished_0102, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_BackupOnBundleFinished_0102"; - try { - Init(IServiceReverseType::Scenario::BACKUP, 1); - if (service_ == nullptr) { - GTEST_LOG_(INFO) << - "SUB_backup_ServiceReverse_BackupOnBundleFinished_0102 service_ == nullptr"; - return; - } - service_->BackupOnBundleFinished(BError(BError::Codes::OK), BUNDLE_NAME); - } catch (...) { - EXPECT_TRUE(false); - GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by BackupOnBundleFinished."; - } - GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_BackupOnBundleFinished_0102"; -} - -/** - * @tc.number: SUB_backup_ServiceReverse_BackupOnAllBundlesFinished_0100 - * @tc.name: SUB_backup_ServiceReverse_BackupOnAllBundlesFinished_0100 - * @tc.desc: 测试 BackupOnAllBundlesFinished 接口 - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I6F3GV - */ -HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_BackupOnAllBundlesFinished_0100, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_BackupOnAllBundlesFinished_0100"; - try { - Init(IServiceReverseType::Scenario::BACKUP); - if (service_ == nullptr) { - GTEST_LOG_(INFO) << - "SUB_backup_ServiceReverse_BackupOnAllBundlesFinished_0100 service_ == nullptr"; - return; - } - service_->BackupOnAllBundlesFinished(BError(BError::Codes::OK)); - service_->RestoreOnAllBundlesFinished(BError(BError::Codes::OK)); - } catch (...) { - EXPECT_TRUE(false); - GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by BackupOnAllBundlesFinished."; - } - GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_BackupOnAllBundlesFinished_0100"; -} - -/** - * @tc.number: SUB_backup_ServiceReverse_BackupOnAllBundlesFinished_0101 - * @tc.name: SUB_backup_ServiceReverse_BackupOnAllBundlesFinished_0101 - * @tc.desc: 测试 BackupOnAllBundlesFinished 接口 - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I6F3GV - */ -HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_BackupOnAllBundlesFinished_0101, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_BackupOnAllBundlesFinished_0101"; - try { - Init(IServiceReverseType::Scenario::RESTORE); - if (service_ == nullptr) { - GTEST_LOG_(INFO) << - "SUB_backup_ServiceReverse_BackupOnAllBundlesFinished_0101 service_ == nullptr"; - return; - } - service_->BackupOnAllBundlesFinished(BError(BError::Codes::OK)); - } catch (...) { - EXPECT_TRUE(false); - GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by BackupOnAllBundlesFinished."; - } - GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_BackupOnAllBundlesFinished_0101"; -} - -/** - * @tc.number: SUB_backup_ServiceReverse_BackupOnAllBundlesFinished_0102 - * @tc.name: SUB_backup_ServiceReverse_BackupOnAllBundlesFinished_0102 - * @tc.desc: 测试 BackupOnAllBundlesFinished 接口 - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I6F3GV - */ -HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_BackupOnAllBundlesFinished_0102, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_BackupOnAllBundlesFinished_0102"; - try { - Init(IServiceReverseType::Scenario::BACKUP, 1); - if (service_ == nullptr) { - GTEST_LOG_(INFO) << - "SUB_backup_ServiceReverse_BackupOnAllBundlesFinished_0102 service_ == nullptr"; - return; - } - service_->BackupOnAllBundlesFinished(BError(BError::Codes::OK)); - } catch (...) { - EXPECT_TRUE(false); - GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by BackupOnAllBundlesFinished."; - } - GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_BackupOnAllBundlesFinished_0102"; -} - -/** - * @tc.number: SUB_backup_ServiceReverse_RestoreOnFileReady_0100 - * @tc.name: SUB_backup_ServiceReverse_RestoreOnFileReady_0100 - * @tc.desc: 测试 RestoreOnFileReady 接口 - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I6F3GV - */ -HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_RestoreOnFileReady_0100, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_RestoreOnFileReady_0100"; - try { - Init(IServiceReverseType::Scenario::RESTORE); - if (service_ == nullptr) { - GTEST_LOG_(INFO) << - "SUB_backup_ServiceReverse_RestoreOnFileReady_0100 service_ == nullptr"; - return; - } - service_->RestoreOnFileReady(BUNDLE_NAME, FILE_NAME, -1, 0); - service_->BackupOnFileReady(BUNDLE_NAME, FILE_NAME, -1, 0); - } catch (...) { - EXPECT_TRUE(false); - GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by RestoreOnFileReady."; - } - GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_RestoreOnFileReady_0100"; -} - -/** - * @tc.number: SUB_backup_ServiceReverse_RestoreOnFileReady_0101 - * @tc.name: SUB_backup_ServiceReverse_RestoreOnFileReady_0101 - * @tc.desc: 测试 RestoreOnFileReady 接口 - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I6F3GV - */ -HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_RestoreOnFileReady_0101, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_RestoreOnFileReady_0101"; - try { - Init(IServiceReverseType::Scenario::BACKUP); - if (service_ == nullptr) { - GTEST_LOG_(INFO) << - "SUB_backup_ServiceReverse_RestoreOnFileReady_0101 service_ == nullptr"; - return; - } - service_->RestoreOnFileReady(BUNDLE_NAME, FILE_NAME, -1, 0); - } catch (...) { - EXPECT_TRUE(false); - GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by RestoreOnFileReady."; - } - GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_RestoreOnFileReady_0101"; -} - -/** - * @tc.number: SUB_backup_ServiceReverse_RestoreOnFileReady_0102 - * @tc.name: SUB_backup_ServiceReverse_RestoreOnFileReady_0102 - * @tc.desc: 测试 RestoreOnFileReady 接口 - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I6F3GV - */ -HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_RestoreOnFileReady_0102, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_RestoreOnFileReady_0102"; - try { - Init(IServiceReverseType::Scenario::RESTORE, 1); - if (service_ == nullptr) { - GTEST_LOG_(INFO) << - "SUB_backup_ServiceReverse_RestoreOnFileReady_0102 service_ == nullptr"; - return; - } - service_->RestoreOnFileReady(BUNDLE_NAME, FILE_NAME, -1, 0); - } catch (...) { - EXPECT_TRUE(false); - GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by RestoreOnFileReady."; - } - GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_RestoreOnFileReady_0102"; -} - -/** - * @tc.number: SUB_backup_ServiceReverse_RestoreOnBundleStarted_0100 - * @tc.name: SUB_backup_ServiceReverse_RestoreOnBundleStarted_0100 - * @tc.desc: 测试 RestoreOnBundleStarted 接口 - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I6F3GV - */ -HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_RestoreOnBundleStarted_0100, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_RestoreOnBundleStarted_0100"; - try { - Init(IServiceReverseType::Scenario::RESTORE); - if (service_ == nullptr) { - GTEST_LOG_(INFO) << - "SUB_backup_ServiceReverse_RestoreOnBundleStarted_0100 service_ == nullptr"; - return; - } - service_->RestoreOnBundleStarted(BError(BError::Codes::OK), BUNDLE_NAME); - service_->BackupOnBundleStarted(BError(BError::Codes::OK), BUNDLE_NAME); - } catch (...) { - EXPECT_TRUE(false); - GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by RestoreOnBundleStarted."; - } - GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_RestoreOnBundleStarted_0100"; -} - -/** - * @tc.number: SUB_backup_ServiceReverse_RestoreOnBundleStarted_0101 - * @tc.name: SUB_backup_ServiceReverse_RestoreOnBundleStarted_0101 - * @tc.desc: 测试 RestoreOnBundleStarted 接口 - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I6F3GV - */ -HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_RestoreOnBundleStarted_0101, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_RestoreOnBundleStarted_0101"; - try { - Init(IServiceReverseType::Scenario::BACKUP); - if (service_ == nullptr) { - GTEST_LOG_(INFO) << - "SUB_backup_ServiceReverse_RestoreOnBundleStarted_0101 service_ == nullptr"; - return; - } - service_->RestoreOnBundleStarted(BError(BError::Codes::OK), BUNDLE_NAME); - } catch (...) { - EXPECT_TRUE(false); - GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by RestoreOnBundleStarted."; - } - GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_RestoreOnBundleStarted_0101"; -} - -/** - * @tc.number: SUB_backup_ServiceReverse_RestoreOnBundleStarted_0102 - * @tc.name: SUB_backup_ServiceReverse_RestoreOnBundleStarted_0102 - * @tc.desc: 测试 RestoreOnBundleStarted 接口 - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I6F3GV - */ -HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_RestoreOnBundleStarted_0102, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_RestoreOnBundleStarted_0102"; - try { - Init(IServiceReverseType::Scenario::RESTORE, 1); - if (service_ == nullptr) { - GTEST_LOG_(INFO) << - "SUB_backup_ServiceReverse_RestoreOnBundleStarted_0102 service_ == nullptr"; - return; - } - service_->RestoreOnBundleStarted(BError(BError::Codes::OK), BUNDLE_NAME); - } catch (...) { - EXPECT_TRUE(false); - GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by RestoreOnBundleStarted."; - } - GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_RestoreOnBundleStarted_0102"; -} - -/** - * @tc.number: SUB_backup_ServiceReverse_RestoreOnBundleFinished_0100 - * @tc.name: SUB_backup_ServiceReverse_RestoreOnBundleFinished_0100 - * @tc.desc: 测试 RestoreOnBundleFinished 接口 - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I6F3GV - */ -HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_RestoreOnBundleFinished_0100, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_RestoreOnBundleFinished_0100"; - try { - Init(IServiceReverseType::Scenario::RESTORE); - if (service_ == nullptr) { - GTEST_LOG_(INFO) << - "SUB_backup_ServiceReverse_RestoreOnBundleFinished_0100 service_ == nullptr"; - return; - } - service_->RestoreOnBundleFinished(BError(BError::Codes::OK), BUNDLE_NAME); - service_->BackupOnBundleFinished(BError(BError::Codes::OK), BUNDLE_NAME); - } catch (...) { - EXPECT_TRUE(false); - GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by RestoreOnBundleFinished."; - } - GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_RestoreOnBundleFinished_0100"; -} - -/** - * @tc.number: SUB_backup_ServiceReverse_RestoreOnBundleFinished_0101 - * @tc.name: SUB_backup_ServiceReverse_RestoreOnBundleFinished_0101 - * @tc.desc: 测试 RestoreOnBundleFinished 接口 - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I6F3GV - */ -HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_RestoreOnBundleFinished_0101, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_RestoreOnBundleFinished_0101"; - try { - Init(IServiceReverseType::Scenario::BACKUP); - if (service_ == nullptr) { - GTEST_LOG_(INFO) << - "SUB_backup_ServiceReverse_RestoreOnBundleFinished_0101 service_ == nullptr"; - return; - } - service_->RestoreOnBundleFinished(BError(BError::Codes::OK), BUNDLE_NAME); - } catch (...) { - EXPECT_TRUE(false); - GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by RestoreOnBundleFinished."; - } - GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_RestoreOnBundleFinished_0101"; -} - -/** - * @tc.number: SUB_backup_ServiceReverse_RestoreOnBundleFinished_0102 - * @tc.name: SUB_backup_ServiceReverse_RestoreOnBundleFinished_0102 - * @tc.desc: 测试 RestoreOnBundleFinished 接口 - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I6F3GV - */ -HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_RestoreOnBundleFinished_0102, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_RestoreOnBundleFinished_0102"; - try { - Init(IServiceReverseType::Scenario::RESTORE, 1); - if (service_ == nullptr) { - GTEST_LOG_(INFO) << - "SUB_backup_ServiceReverse_RestoreOnBundleFinished_0102 service_ == nullptr"; - return; - } - service_->RestoreOnBundleFinished(BError(BError::Codes::OK), BUNDLE_NAME); - } catch (...) { - EXPECT_TRUE(false); - GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by RestoreOnBundleFinished."; - } - GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_RestoreOnBundleFinished_0102"; -} - -/** - * @tc.number: SUB_backup_ServiceReverse_RestoreOnAllBundlesFinished_0100 - * @tc.name: SUB_backup_ServiceReverse_RestoreOnAllBundlesFinished_0100 - * @tc.desc: 测试 RestoreOnAllBundlesFinished 接口 - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I6F3GV - */ -HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_RestoreOnAllBundlesFinished_0100, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_RestoreOnAllBundlesFinished_0100"; - try { - Init(IServiceReverseType::Scenario::RESTORE); - if (service_ == nullptr) { - GTEST_LOG_(INFO) << - "SUB_backup_ServiceReverse_RestoreOnAllBundlesFinished_0100 service_ == nullptr"; - return; - } - service_->RestoreOnAllBundlesFinished(BError(BError::Codes::OK)); - service_->BackupOnAllBundlesFinished(BError(BError::Codes::OK)); - } catch (...) { - EXPECT_TRUE(false); - GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by RestoreOnAllBundlesFinished."; - } - GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_RestoreOnAllBundlesFinished_0100"; -} - -/** - * @tc.number: SUB_backup_ServiceReverse_RestoreOnAllBundlesFinished_0101 - * @tc.name: SUB_backup_ServiceReverse_RestoreOnAllBundlesFinished_0101 - * @tc.desc: 测试 RestoreOnAllBundlesFinished 接口 - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I6F3GV - */ -HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_RestoreOnAllBundlesFinished_0101, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_RestoreOnAllBundlesFinished_0101"; - try { - Init(IServiceReverseType::Scenario::BACKUP); - if (service_ == nullptr) { - GTEST_LOG_(INFO) << - "SUB_backup_ServiceReverse_RestoreOnAllBundlesFinished_0101 service_ == nullptr"; - return; - } - service_->RestoreOnAllBundlesFinished(BError(BError::Codes::OK)); - } catch (...) { - EXPECT_TRUE(false); - GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by RestoreOnAllBundlesFinished."; - } - GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_RestoreOnAllBundlesFinished_0101"; -} - -/** - * @tc.number: SUB_backup_ServiceReverse_RestoreOnAllBundlesFinished_0102 - * @tc.name: SUB_backup_ServiceReverse_RestoreOnAllBundlesFinished_0102 - * @tc.desc: 测试 RestoreOnAllBundlesFinished 接口 - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I6F3GV - */ -HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_RestoreOnAllBundlesFinished_0102, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_RestoreOnAllBundlesFinished_0102"; - try { - Init(IServiceReverseType::Scenario::RESTORE, 1); - if (service_ == nullptr) { - GTEST_LOG_(INFO) << - "SUB_backup_ServiceReverse_RestoreOnAllBundlesFinished_0102 service_ == nullptr"; - return; - } - service_->RestoreOnAllBundlesFinished(BError(BError::Codes::OK)); - } catch (...) { - EXPECT_TRUE(false); - GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by RestoreOnAllBundlesFinished."; - } - GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_RestoreOnAllBundlesFinished_0102"; -} - -/** - * @tc.number: SUB_backup_ServiceReverse_BackupOnProcessInfo_0100 - * @tc.name: SUB_backup_ServiceReverse_BackupOnProcessInfo_0100 - * @tc.desc: 测试 BackupOnProcessInfo 接口 - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I6F3GV - */ -HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_BackupOnProcessInfo_0100, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_BackupOnProcessInfo_0100"; - try { - Init(IServiceReverseType::Scenario::BACKUP); - if (service_ == nullptr) { - GTEST_LOG_(INFO) << - "SUB_backup_ServiceReverse_BackupOnProcessInfo_0100 service_ == nullptr"; - return; - } - std::string bundleName = BUNDLE_NAME; - std::string processInfo = "{\"timeInfo\": \"\", \"resultInfo\": \"\"}"; - service_->BackupOnProcessInfo(bundleName, processInfo); - service_->RestoreOnProcessInfo(bundleName, processInfo); - } catch (...) { - EXPECT_TRUE(false); - GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by BackupOnProcessInfo."; - } - GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_BackupOnProcessInfo_0100"; -} - -/** - * @tc.number: SUB_backup_ServiceReverse_BackupOnProcessInfo_0101 - * @tc.name: SUB_backup_ServiceReverse_BackupOnProcessInfo_0101 - * @tc.desc: 测试 BackupOnProcessInfo 接口 - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I6F3GV - */ -HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_BackupOnProcessInfo_0101, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_BackupOnProcessInfo_0101"; - try { - Init(IServiceReverseType::Scenario::RESTORE); - if (service_ == nullptr) { - GTEST_LOG_(INFO) << - "SUB_backup_ServiceReverse_BackupOnProcessInfo_0101 service_ == nullptr"; - return; - } - std::string bundleName = BUNDLE_NAME; - std::string processInfo = "{\"timeInfo\": \"\", \"resultInfo\": \"\"}"; - service_->BackupOnProcessInfo(bundleName, processInfo); - } catch (...) { - EXPECT_TRUE(false); - GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by BackupOnProcessInfo."; - } - GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_BackupOnProcessInfo_0101"; -} - -/** - * @tc.number: SUB_backup_ServiceReverse_BackupOnProcessInfo_0102 - * @tc.name: SUB_backup_ServiceReverse_BackupOnProcessInfo_0102 - * @tc.desc: 测试 BackupOnProcessInfo 接口 - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I6F3GV - */ -HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_BackupOnProcessInfo_0102, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_BackupOnProcessInfo_0102"; - try { - Init(IServiceReverseType::Scenario::BACKUP, 1); - if (service_ == nullptr) { - GTEST_LOG_(INFO) << - "SUB_backup_ServiceReverse_BackupOnProcessInfo_0102 service_ == nullptr"; - return; - } - std::string bundleName = BUNDLE_NAME; - std::string processInfo = "{\"timeInfo\": \"\", \"resultInfo\": \"\"}"; - service_->BackupOnProcessInfo(bundleName, processInfo); - } catch (...) { - EXPECT_TRUE(false); - GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by BackupOnProcessInfo."; - } - GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_BackupOnProcessInfo_0102"; -} - -/** - * @tc.number: SUB_backup_ServiceReverse_0200 - * @tc.name: SUB_backup_ServiceReverse_0200 - * @tc.desc: 测试分支 - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I6F3GV - */ -HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_0200, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_0200"; - try { - Init(IServiceReverseType::Scenario::RESTORE, 1); - if (service_ == nullptr) { - GTEST_LOG_(INFO) << - "SUB_backup_ServiceReverse_0200 service_ == nullptr"; - return; - } - service_->RestoreOnFileReady(BUNDLE_NAME, FILE_NAME, -1, 0); - service_->RestoreOnBundleStarted(BError(BError::Codes::OK), BUNDLE_NAME); - service_->RestoreOnBundleFinished(BError(BError::Codes::OK), BUNDLE_NAME); - service_->RestoreOnAllBundlesFinished(BError(BError::Codes::OK)); - } catch (...) { - EXPECT_TRUE(false); - GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred."; - } - GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_0200"; -} - -/** - * @tc.number: SUB_backup_ServiceReverse_0201 - * @tc.name: SUB_backup_ServiceReverse_0201 - * @tc.desc: 测试分支 - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I6F3GV - */ -HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_0201, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_0201"; - try { - Init(IServiceReverseType::Scenario::RESTORE, 0); - if (service_ == nullptr) { - GTEST_LOG_(INFO) << - "SUB_backup_ServiceReverse_0201 service_ == nullptr"; - return; - } - service_->RestoreOnFileReady(BUNDLE_NAME, FILE_NAME, -1, 0); - service_->RestoreOnBundleStarted(BError(BError::Codes::OK), BUNDLE_NAME); - service_->RestoreOnBundleFinished(BError(BError::Codes::OK), BUNDLE_NAME); - service_->RestoreOnAllBundlesFinished(BError(BError::Codes::OK)); - } catch (...) { - EXPECT_TRUE(false); - GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred."; - } - GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_0201"; -} - -/** - * @tc.number: SUB_backup_ServiceReverse_0300 - * @tc.name: SUB_backup_ServiceReverse_0300 - * @tc.desc: 测试分支 - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I6F3GV - */ -HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_0300, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_0300"; - try { - Init(IServiceReverseType::Scenario::BACKUP, 1); - if (service_ == nullptr) { - GTEST_LOG_(INFO) << - "SUB_backup_ServiceReverse_0300 service_ == nullptr"; - return; - } - service_->BackupOnFileReady(BUNDLE_NAME, FILE_NAME, -1, 0); - service_->BackupOnBundleStarted(BError(BError::Codes::OK), BUNDLE_NAME); - service_->BackupOnBundleFinished(BError(BError::Codes::OK), BUNDLE_NAME); - service_->BackupOnAllBundlesFinished(BError(BError::Codes::OK)); - } catch (...) { - EXPECT_TRUE(false); - GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred."; - } - GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_0300"; -} - -/** - * @tc.number: SUB_backup_ServiceReverse_0301 - * @tc.name: SUB_backup_ServiceReverse_0301 - * @tc.desc: 测试分支 - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I6F3GV - */ -HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_0301, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_0301"; - try { - Init(IServiceReverseType::Scenario::BACKUP, 0); - if (service_ == nullptr) { - GTEST_LOG_(INFO) << - "SUB_backup_ServiceReverse_0301 service_ == nullptr"; - return; - } - service_->BackupOnFileReady(BUNDLE_NAME, FILE_NAME, -1, 0); - service_->BackupOnBundleStarted(BError(BError::Codes::OK), BUNDLE_NAME); - service_->BackupOnBundleFinished(BError(BError::Codes::OK), BUNDLE_NAME); - service_->BackupOnAllBundlesFinished(BError(BError::Codes::OK)); - } catch (...) { - EXPECT_TRUE(false); - GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred."; - } - GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_0301"; -} - -/** - * @tc.number: SUB_backup_ServiceReverse_IncrementalBackupOnFileReady_0100 - * @tc.name: SUB_backup_ServiceReverse_IncrementalBackupOnFileReady_0100 - * @tc.desc: 测试 IncrementalBackupOnFileReady 接口 - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I9116W - */ -HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_IncrementalBackupOnFileReady_0100, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_IncrementalBackupOnFileReady_0100"; - try { - IncrementalInit(IServiceReverseType::Scenario::BACKUP); - if (service_ == nullptr) { - GTEST_LOG_(INFO) << - "SUB_backup_ServiceReverse_IncrementalBackupOnFileReady_0100 service_ == nullptr"; - return; - } - service_->IncrementalBackupOnFileReady(BUNDLE_NAME, FILE_NAME, -1, -1, 0); - service_->IncrementalRestoreOnFileReady(BUNDLE_NAME, FILE_NAME, -1, -1, 0); - } catch (...) { - EXPECT_TRUE(false); - GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by RestoreOnAllBundlesFinished."; - } - GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_IncrementalBackupOnFileReady_0100"; -} - -/** - * @tc.number: SUB_backup_ServiceReverse_IncrementalBackupOnFileReady_0101 - * @tc.name: SUB_backup_ServiceReverse_IncrementalBackupOnFileReady_0101 - * @tc.desc: 测试 IncrementalBackupOnFileReady 接口 - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I9116W - */ -HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_IncrementalBackupOnFileReady_0101, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_IncrementalBackupOnFileReady_0101"; - try { - IncrementalInit(IServiceReverseType::Scenario::RESTORE); - if (service_ == nullptr) { - GTEST_LOG_(INFO) << - "SUB_backup_ServiceReverse_IncrementalBackupOnFileReady_0101 service_ == nullptr"; - return; - } - service_->IncrementalBackupOnFileReady(BUNDLE_NAME, FILE_NAME, -1, -1, 0); - - IncrementalInit(IServiceReverseType::Scenario::BACKUP, 1); - service_->IncrementalBackupOnFileReady(BUNDLE_NAME, FILE_NAME, -1, -1, 0); - } catch (...) { - EXPECT_TRUE(false); - GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by IncrementalBackupOnFileReady."; - } - GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_IncrementalBackupOnFileReady_0101"; -} - -/** - * @tc.number: SUB_backup_ServiceReverse_IncrementalBackupOnFileReadyWithoutFd_0100 - * @tc.name: SUB_backup_ServiceReverse_IncrementalBackupOnFileReadyWithoutFd_0100 - * @tc.desc: 测试 IncrementalBackupOnFileReady 接口 - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I9116W - */ -HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_IncrementalBackupOnFileReadyWithoutFd_0100, - testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << - "ServiceReverseTestBegin SUB_backup_ServiceReverse_IncrementalBackupOnFileReadyWithoutFd_0100"; - try { - IncrementalInit(IServiceReverseType::Scenario::BACKUP); - if (service_ == nullptr) { - GTEST_LOG_(INFO) << - "SUB_backup_ServiceReverse_IncrementalBackupOnFileReady_0100 service_ == nullptr"; - return; - } - service_->IncrementalBackupOnFileReadyWithoutFd(BUNDLE_NAME, FILE_NAME, 0); - service_->IncrementalRestoreOnFileReadyWithoutFd(BUNDLE_NAME, FILE_NAME, 0); - } catch (...) { - EXPECT_TRUE(false); - GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by RestoreOnAllBundlesFinished."; - } - GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_IncrementalBackupOnFileReadyWithoutFd_0100"; -} - -/** - * @tc.number: SUB_backup_ServiceReverse_IncrementalBackupOnBundleStarted_0100 - * @tc.name: SUB_backup_ServiceReverse_IncrementalBackupOnBundleStarted_0100 - * @tc.desc: 测试 IncrementalBackupOnBundleStarted 接口 - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I9116W - */ -HWTEST_F(ServiceReverseTest, - SUB_backup_ServiceReverse_IncrementalBackupOnBundleStarted_0100, - testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_IncrementalBackupOnBundleStarted_0100"; - try { - IncrementalInit(IServiceReverseType::Scenario::BACKUP); - if (service_ == nullptr) { - GTEST_LOG_(INFO) << - "SUB_backup_ServiceReverse_IncrementalBackupOnBundleStarted_0100 service_ == nullptr"; - return; - } - service_->IncrementalBackupOnBundleStarted(BError(BError::Codes::OK), BUNDLE_NAME); - service_->IncrementalRestoreOnBundleStarted(BError(BError::Codes::OK), BUNDLE_NAME); - } catch (...) { - EXPECT_TRUE(false); - GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by IncrementalBackupOnBundleStarted."; - } - GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_IncrementalBackupOnBundleStarted_0100"; -} - -/** - * @tc.number: SUB_backup_ServiceReverse_IncrementalBackupOnBundleStarted_0101 - * @tc.name: SUB_backup_ServiceReverse_IncrementalBackupOnBundleStarted_0101 - * @tc.desc: 测试 IncrementalBackupOnBundleStarted 接口 - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I9116W - */ -HWTEST_F(ServiceReverseTest, - SUB_backup_ServiceReverse_IncrementalBackupOnBundleStarted_0101, - testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_IncrementalBackupOnBundleStarted_0101"; - try { - IncrementalInit(IServiceReverseType::Scenario::RESTORE); - if (service_ == nullptr) { - GTEST_LOG_(INFO) << - "SUB_backup_ServiceReverse_IncrementalBackupOnBundleStarted_0101 service_ == nullptr"; - return; - } - service_->IncrementalBackupOnBundleStarted(BError(BError::Codes::OK), BUNDLE_NAME); - - IncrementalInit(IServiceReverseType::Scenario::BACKUP, 1); - service_->IncrementalBackupOnBundleStarted(BError(BError::Codes::OK), BUNDLE_NAME); - } catch (...) { - EXPECT_TRUE(false); - GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by IncrementalBackupOnBundleStarted."; - } - GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_IncrementalBackupOnBundleStarted_0101"; -} - -/** - * @tc.number: SUB_backup_ServiceReverse_IncrementalBackupOnBundleFinished_0100 - * @tc.name: SUB_backup_ServiceReverse_IncrementalBackupOnBundleFinished_0100 - * @tc.desc: 测试 IncrementalBackupOnBundleFinished 接口 - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I9116W - */ -HWTEST_F(ServiceReverseTest, - SUB_backup_ServiceReverse_IncrementalBackupOnBundleFinished_0100, - testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_IncrementalBackupOnBundleFinished_0100"; - try { - IncrementalInit(IServiceReverseType::Scenario::BACKUP); - if (service_ == nullptr) { - GTEST_LOG_(INFO) << - "SUB_backup_ServiceReverse_IncrementalBackupOnBundleFinished_0100 service_ == nullptr"; - return; - } - service_->IncrementalBackupOnBundleFinished(BError(BError::Codes::OK), BUNDLE_NAME); - service_->IncrementalRestoreOnBundleFinished(BError(BError::Codes::OK), BUNDLE_NAME); - } catch (...) { - EXPECT_TRUE(false); - GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by IncrementalBackupOnBundleFinished."; - } - GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_IncrementalBackupOnBundleFinished_0100"; -} - -/** - * @tc.number: SUB_backup_ServiceReverse_IncrementalBackupOnBundleFinished_0101 - * @tc.name: SUB_backup_ServiceReverse_IncrementalBackupOnBundleFinished_0101 - * @tc.desc: 测试 IncrementalBackupOnBundleFinished 接口 - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I9116W - */ -HWTEST_F(ServiceReverseTest, - SUB_backup_ServiceReverse_IncrementalBackupOnBundleFinished_0101, - testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_IncrementalBackupOnBundleFinished_0101"; - try { - IncrementalInit(IServiceReverseType::Scenario::RESTORE); - if (service_ == nullptr) { - GTEST_LOG_(INFO) << - "SUB_backup_ServiceReverse_IncrementalBackupOnBundleFinished_0101 service_ == nullptr"; - return; - } - service_->IncrementalBackupOnBundleFinished(BError(BError::Codes::OK), BUNDLE_NAME); - - IncrementalInit(IServiceReverseType::Scenario::BACKUP, 1); - service_->IncrementalBackupOnBundleFinished(BError(BError::Codes::OK), BUNDLE_NAME); - } catch (...) { - EXPECT_TRUE(false); - GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by IncrementalBackupOnBundleFinished."; - } - GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_IncrementalBackupOnBundleFinished_0101"; -} - -/** - * @tc.number: SUB_backup_ServiceReverse_IncrementalBackupOnAllBundlesFinished_0100 - * @tc.name: SUB_backup_ServiceReverse_IncrementalBackupOnAllBundlesFinished_0100 - * @tc.desc: 测试 IncrementalBackupOnAllBundlesFinished 接口 - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I9116W - */ -HWTEST_F(ServiceReverseTest, - SUB_backup_ServiceReverse_IncrementalBackupOnAllBundlesFinished_0100, - testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_IncrementalBackupOnAllBundlesFinished_0100"; - try { - IncrementalInit(IServiceReverseType::Scenario::BACKUP); - if (service_ == nullptr) { - GTEST_LOG_(INFO) << - "SUB_backup_ServiceReverse_IncrementalBackupOnAllBundlesFinished_0100 service_ == nullptr"; - return; - } - service_->IncrementalBackupOnAllBundlesFinished(BError(BError::Codes::OK)); - service_->IncrementalRestoreOnAllBundlesFinished(BError(BError::Codes::OK)); - } catch (...) { - EXPECT_TRUE(false); - GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by IncrementalBackupOnAllBundlesFinished."; - } - GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_IncrementalBackupOnAllBundlesFinished_0100"; -} - -/** - * @tc.number: SUB_backup_ServiceReverse_IncrementalBackupOnAllBundlesFinished_0101 - * @tc.name: SUB_backup_ServiceReverse_IncrementalBackupOnAllBundlesFinished_0101 - * @tc.desc: 测试 IncrementalBackupOnAllBundlesFinished 接口 - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I9116W - */ -HWTEST_F(ServiceReverseTest, - SUB_backup_ServiceReverse_IncrementalBackupOnAllBundlesFinished_0101, - testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_IncrementalBackupOnAllBundlesFinished_0101"; - try { - IncrementalInit(IServiceReverseType::Scenario::RESTORE); - if (service_ == nullptr) { - GTEST_LOG_(INFO) << - "SUB_backup_ServiceReverse_IncrementalBackupOnAllBundlesFinished_0101 service_ == nullptr"; - return; - } - service_->IncrementalBackupOnAllBundlesFinished(BError(BError::Codes::OK)); - - IncrementalInit(IServiceReverseType::Scenario::BACKUP, 1); - service_->IncrementalBackupOnAllBundlesFinished(BError(BError::Codes::OK)); - } catch (...) { - EXPECT_TRUE(false); - GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by IncrementalBackupOnAllBundlesFinished."; - } - GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_IncrementalBackupOnAllBundlesFinished_0101"; -} - -/** - * @tc.number: SUB_backup_ServiceReverse_IncrementalRestoreOnFileReady_0100 - * @tc.name: SUB_backup_ServiceReverse_IncrementalRestoreOnFileReady_0100 - * @tc.desc: 测试 IncrementalRestoreOnFileReady 接口 - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I9116W - */ -HWTEST_F(ServiceReverseTest, - SUB_backup_ServiceReverse_IncrementalRestoreOnFileReady_0100, - testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_IncrementalRestoreOnFileReady_0100"; - try { - IncrementalInit(IServiceReverseType::Scenario::RESTORE); - if (service_ == nullptr) { - GTEST_LOG_(INFO) << - "SUB_backup_ServiceReverse_IncrementalRestoreOnFileReady_0100 service_ == nullptr"; - return; - } - service_->IncrementalRestoreOnFileReady(BUNDLE_NAME, FILE_NAME, -1, -1, 0); - service_->IncrementalBackupOnFileReady(BUNDLE_NAME, FILE_NAME, -1, -1, 0); - } catch (...) { - EXPECT_TRUE(false); - GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by IncrementalRestoreOnFileReady."; - } - GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_IncrementalRestoreOnFileReady_0100"; -} - -/** - * @tc.number: SUB_backup_ServiceReverse_IncrementalRestoreOnFileReady_0101 - * @tc.name: SUB_backup_ServiceReverse_IncrementalRestoreOnFileReady_0101 - * @tc.desc: 测试 IncrementalRestoreOnFileReady 接口 - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I9116W - */ -HWTEST_F(ServiceReverseTest, - SUB_backup_ServiceReverse_IncrementalRestoreOnFileReady_0101, - testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_IncrementalRestoreOnFileReady_0101"; - try { - IncrementalInit(IServiceReverseType::Scenario::BACKUP); - if (service_ == nullptr) { - GTEST_LOG_(INFO) << - "SUB_backup_ServiceReverse_IncrementalRestoreOnFileReady_0101 service_ == nullptr"; - return; - } - service_->IncrementalRestoreOnFileReady(BUNDLE_NAME, FILE_NAME, -1, -1, 0); - - IncrementalInit(IServiceReverseType::Scenario::RESTORE, 1); - service_->IncrementalRestoreOnFileReady(BUNDLE_NAME, FILE_NAME, -1, -1, 0); - } catch (...) { - EXPECT_TRUE(false); - GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by IncrementalRestoreOnFileReady."; - } - GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_IncrementalRestoreOnFileReady_0101"; -} - -/** - * @tc.number: SUB_backup_ServiceReverse_IncrementalRestoreOnBundleStarted_0100 - * @tc.name: SUB_backup_ServiceReverse_IncrementalRestoreOnBundleStarted_0100 - * @tc.desc: 测试 IncrementalRestoreOnBundleStarted 接口 - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I9116W - */ -HWTEST_F(ServiceReverseTest, - SUB_backup_ServiceReverse_IncrementalRestoreOnBundleStarted_0100, - testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_IncrementalRestoreOnBundleStarted_0100"; - try { - IncrementalInit(IServiceReverseType::Scenario::RESTORE); - if (service_ == nullptr) { - GTEST_LOG_(INFO) << - "SUB_backup_ServiceReverse_IncrementalRestoreOnBundleStarted_0100 service_ == nullptr"; - return; - } - service_->IncrementalRestoreOnBundleStarted(BError(BError::Codes::OK), BUNDLE_NAME); - service_->IncrementalBackupOnBundleStarted(BError(BError::Codes::OK), BUNDLE_NAME); - } catch (...) { - EXPECT_TRUE(false); - GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by IncrementalRestoreOnBundleStarted."; - } - GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_IncrementalRestoreOnBundleStarted_0100"; -} - -/** - * @tc.number: SUB_backup_ServiceReverse_IncrementalRestoreOnBundleStarted_0101 - * @tc.name: SUB_backup_ServiceReverse_IncrementalRestoreOnBundleStarted_0101 - * @tc.desc: 测试 IncrementalRestoreOnBundleStarted 接口 - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I9116W - */ -HWTEST_F(ServiceReverseTest, - SUB_backup_ServiceReverse_IncrementalRestoreOnBundleStarted_0101, - testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_IncrementalRestoreOnBundleStarted_0101"; - try { - IncrementalInit(IServiceReverseType::Scenario::BACKUP); - if (service_ == nullptr) { - GTEST_LOG_(INFO) << - "SUB_backup_ServiceReverse_IncrementalRestoreOnBundleStarted_0101 service_ == nullptr"; - return; - } - service_->IncrementalRestoreOnBundleStarted(BError(BError::Codes::OK), BUNDLE_NAME); - - IncrementalInit(IServiceReverseType::Scenario::RESTORE, 1); - service_->IncrementalRestoreOnBundleStarted(BError(BError::Codes::OK), BUNDLE_NAME); - } catch (...) { - EXPECT_TRUE(false); - GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by IncrementalRestoreOnBundleStarted."; - } - GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_IncrementalRestoreOnBundleStarted_0101"; -} - -/** - * @tc.number: SUB_backup_ServiceReverse_IncrementalRestoreOnBundleFinished_0100 - * @tc.name: SUB_backup_ServiceReverse_IncrementalRestoreOnBundleFinished_0100 - * @tc.desc: 测试 IncrementalRestoreOnBundleFinished 接口 - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I9116W - */ -HWTEST_F(ServiceReverseTest, - SUB_backup_ServiceReverse_IncrementalRestoreOnBundleFinished_0100, - testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_IncrementalRestoreOnBundleFinished_0100"; - try { - IncrementalInit(IServiceReverseType::Scenario::RESTORE); - if (service_ == nullptr) { - GTEST_LOG_(INFO) << - "SUB_backup_ServiceReverse_IncrementalRestoreOnBundleFinished_0100 service_ == nullptr"; - return; - } - service_->IncrementalRestoreOnBundleFinished(BError(BError::Codes::OK), BUNDLE_NAME); - service_->IncrementalBackupOnBundleFinished(BError(BError::Codes::OK), BUNDLE_NAME); - } catch (...) { - EXPECT_TRUE(false); - GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by IncrementalRestoreOnBundleFinished."; - } - GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_IncrementalRestoreOnBundleFinished_0100"; -} - -/** - * @tc.number: SUB_backup_ServiceReverse_IncrementalRestoreOnBundleFinished_0101 - * @tc.name: SUB_backup_ServiceReverse_IncrementalRestoreOnBundleFinished_0101 - * @tc.desc: 测试 IncrementalRestoreOnBundleFinished 接口 - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I9116W - */ -HWTEST_F(ServiceReverseTest, - SUB_backup_ServiceReverse_IncrementalRestoreOnBundleFinished_0101, - testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_IncrementalRestoreOnBundleFinished_0101"; - try { - IncrementalInit(IServiceReverseType::Scenario::BACKUP); - if (service_ == nullptr) { - GTEST_LOG_(INFO) << - "SUB_backup_ServiceReverse_IncrementalRestoreOnBundleFinished_0101 service_ == nullptr"; - return; - } - service_->IncrementalRestoreOnBundleFinished(BError(BError::Codes::OK), BUNDLE_NAME); - - IncrementalInit(IServiceReverseType::Scenario::RESTORE, 1); - service_->IncrementalRestoreOnBundleFinished(BError(BError::Codes::OK), BUNDLE_NAME); - } catch (...) { - EXPECT_TRUE(false); - GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by IncrementalRestoreOnBundleFinished."; - } - GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_IncrementalRestoreOnBundleFinished_0101"; -} - -/** - * @tc.number: SUB_backup_ServiceReverse_IncrementalRestoreOnAllBundlesFinished_0100 - * @tc.name: SUB_backup_ServiceReverse_IncrementalRestoreOnAllBundlesFinished_0100 - * @tc.desc: 测试 IncrementalRestoreOnAllBundlesFinished 接口 - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I9116W - */ -HWTEST_F(ServiceReverseTest, - SUB_backup_ServiceReverse_IncrementalRestoreOnAllBundlesFinished_0100, - testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) - << "ServiceReverseTest-begin SUB_backup_ServiceReverse_IncrementalRestoreOnAllBundlesFinished_0100"; - try { - IncrementalInit(IServiceReverseType::Scenario::RESTORE); - if (service_ == nullptr) { - GTEST_LOG_(INFO) << - "SUB_backup_ServiceReverse_IncrementalRestoreOnAllBundlesFinished_0100 service_ == nullptr"; - return; - } - service_->IncrementalRestoreOnAllBundlesFinished(BError(BError::Codes::OK)); - service_->IncrementalBackupOnAllBundlesFinished(BError(BError::Codes::OK)); - } catch (...) { - EXPECT_TRUE(false); - GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by IncrementalRestoreOnAllBundlesFinished."; - } - GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_IncrementalRestoreOnAllBundlesFinished_0100"; -} - -/** - * @tc.number: SUB_backup_ServiceReverse_IncrementalRestoreOnAllBundlesFinished_0101 - * @tc.name: SUB_backup_ServiceReverse_IncrementalRestoreOnAllBundlesFinished_0101 - * @tc.desc: 测试 IncrementalRestoreOnAllBundlesFinished 接口 - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I9116W - */ -HWTEST_F(ServiceReverseTest, - SUB_backup_ServiceReverse_IncrementalRestoreOnAllBundlesFinished_0101, - testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) - << "ServiceReverseTest-begin SUB_backup_ServiceReverse_IncrementalRestoreOnAllBundlesFinished_0101"; - try { - IncrementalInit(IServiceReverseType::Scenario::BACKUP); - if (service_ == nullptr) { - GTEST_LOG_(INFO) << - "SUB_backup_ServiceReverse_IncrementalRestoreOnAllBundlesFinished_0101 service_ == nullptr"; - return; - } - service_->IncrementalRestoreOnAllBundlesFinished(BError(BError::Codes::OK)); - - IncrementalInit(IServiceReverseType::Scenario::RESTORE, 1); - service_->IncrementalRestoreOnAllBundlesFinished(BError(BError::Codes::OK)); - } catch (...) { - EXPECT_TRUE(false); - GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by IncrementalRestoreOnAllBundlesFinished."; - } - GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_IncrementalRestoreOnAllBundlesFinished_0101"; -} - -/** - * @tc.number: SUB_backup_ServiceReverse_RestoreOnResultReport_0100 - * @tc.name: SUB_backup_ServiceReverse_RestoreOnResultReport_0100 - * @tc.desc: 测试 RestoreOnResultReport 接口 - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I6F3GV - */ -HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_RestoreOnResultReport_0100, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_RestoreOnResultReport_0100"; - try { - Init(IServiceReverseType::Scenario::RESTORE); - if (service_ == nullptr) { - GTEST_LOG_(INFO) << "SUB_backup_ServiceReverse_RestoreOnResultReport_0100 service_ == nullptr"; - return; - } - std::string resultReport = "result_report"; - std::string bundleName = BUNDLE_NAME; - service_->RestoreOnResultReport(resultReport, bundleName); - } catch (...) { - EXPECT_TRUE(false); - GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by RestoreOnResultReport."; - } - GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_RestoreOnResultReport_0100"; -} - -/** - * @tc.number: SUB_backup_ServiceReverse_RestoreOnResultReport_0101 - * @tc.name: SUB_backup_ServiceReverse_RestoreOnResultReport_0101 - * @tc.desc: 测试 RestoreOnResultReport 接口 - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I6F3GV - */ -HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_RestoreOnResultReport_0101, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_RestoreOnResultReport_0101"; - try { - Init(IServiceReverseType::Scenario::RESTORE, 1); - if (service_ == nullptr) { - GTEST_LOG_(INFO) << "SUB_backup_ServiceReverse_RestoreOnResultReport_0101 service_ == nullptr"; - return; - } - std::string resultReport = "result_report"; - std::string bundleName = BUNDLE_NAME; - service_->RestoreOnResultReport(resultReport, bundleName); - } catch (...) { - EXPECT_TRUE(false); - GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by RestoreOnResultReport."; - } - GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_RestoreOnResultReport_0101"; -} - -/** - * @tc.number: SUB_backup_ServiceReverse_IncrementalRestoreOnResultReport_0100 - * @tc.name: SUB_backup_ServiceReverse_IncrementalRestoreOnResultReport_0100 - * @tc.desc: 测试 IncrementalRestoreOnResultReport 接口 - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I6F3GV - */ -HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_IncrementalRestoreOnResultReport_0100, - testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_IncrementalRestoreOnResultReport_0100"; - try { - IncrementalInit(IServiceReverseType::Scenario::RESTORE); - if (service_ == nullptr) { - GTEST_LOG_(INFO) << "SUB_backup_ServiceReverse_IncrementalRestoreOnResultReport_0100 service_ == nullptr"; - return; - } - std::string resultReport = "result_report"; - std::string bundleName = BUNDLE_NAME; - service_->IncrementalRestoreOnResultReport(resultReport, bundleName, 0); - } catch (...) { - EXPECT_TRUE(false); - GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by IncrementalRestoreOnResultReport."; - } - GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_IncrementalRestoreOnResultReport_0100"; -} - -/** - * @tc.number: SUB_backup_ServiceReverse_IncrementalRestoreOnResultReport_0101 - * @tc.name: SUB_backup_ServiceReverse_IncrementalRestoreOnResultReport_0101 - * @tc.desc: 测试 IncrementalRestoreOnResultReport 接口 - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I6F3GV - */ -HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_IncrementalRestoreOnResultReport_0101, - testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_IncrementalRestoreOnResultReport_0101"; - try { - IncrementalInit(IServiceReverseType::Scenario::RESTORE, 1); - if (service_ == nullptr) { - GTEST_LOG_(INFO) << "SUB_backup_ServiceReverse_IncrementalRestoreOnResultReport_0101 service_ == nullptr"; - return; - } - std::string resultReport = "result_report"; - std::string bundleName = BUNDLE_NAME; - service_->IncrementalRestoreOnResultReport(resultReport, bundleName, 0); - } catch (...) { - EXPECT_TRUE(false); - GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by IncrementalRestoreOnResultReport."; - } - GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_IncrementalRestoreOnResultReport_0101"; -} - -/** - * @tc.number: SUB_backup_ServiceReverse_BackupOnResultReport_0100 - * @tc.name: SUB_backup_ServiceReverse_BackupOnResultReport_0100 - * @tc.desc: 测试 BackupOnResultReport 接口 - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I6F3GV - */ -HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_BackupOnResultReport_0100, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_BackupOnResultReport_0100"; - try { - Init(IServiceReverseType::Scenario::BACKUP); - std::string resultReport = "result_report"; - std::string bundleName = BUNDLE_NAME; - if (service_ == nullptr) { - GTEST_LOG_(INFO) << "SUB_backup_ServiceReverse_BackupOnResultReport_0100 service_ == nullptr"; - return; - } - service_->BackupOnResultReport(resultReport, bundleName); - } catch (...) { - EXPECT_TRUE(false); - GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by BackupOnResultReport."; - } - GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_BackupOnResultReport_0100"; -} - -/** - * @tc.number: SUB_backup_ServiceReverse_BackupOnResultReport_0101 - * @tc.name: SUB_backup_ServiceReverse_BackupOnResultReport_0101 - * @tc.desc: 测试 BackupOnResultReport 接口 - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I6F3GV - */ -HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_BackupOnResultReport_0101, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_BackupOnResultReport_0101"; - try { - Init(IServiceReverseType::Scenario::BACKUP, 1); - std::string resultReport = "result_report"; - std::string bundleName = BUNDLE_NAME; - if (service_ == nullptr) { - GTEST_LOG_(INFO) << "SUB_backup_ServiceReverse_BackupOnResultReport_0101 service_ == nullptr"; - return; - } - service_->BackupOnResultReport(resultReport, bundleName); - } catch (...) { - EXPECT_TRUE(false); - GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by BackupOnResultReport."; - } - GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_BackupOnResultReport_0101"; -} - -/** - * @tc.number: SUB_backup_ServiceReverse_IncrementalBackupOnResultReport_0100 - * @tc.name: SUB_backup_ServiceReverse_IncrementalBackupOnResultReport_0100 - * @tc.desc: 测试 IncrementalBackupOnResultReport 接口 - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I6F3GV - */ -HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_IncrementalBackupOnResultReport_0100, - testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_IncrementalBackupOnResultReport_0100"; - try { - IncrementalInit(IServiceReverseType::Scenario::BACKUP); - std::string resultReport = "result_report"; - std::string bundleName = BUNDLE_NAME; - if (service_ == nullptr) { - GTEST_LOG_(INFO) << "SUB_backup_ServiceReverse_IncrementalBackupOnResultReport_0100 service_ == nullptr"; - return; - } - service_->IncrementalBackupOnResultReport(resultReport, bundleName); - } catch (...) { - EXPECT_TRUE(false); - GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by IncrementalBackupOnResultReport."; - } - GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_IncrementalBackupOnResultReport_0100"; -} - -/** - * @tc.number: SUB_backup_ServiceReverse_IncrementalBackupOnResultReport_0101 - * @tc.name: SUB_backup_ServiceReverse_IncrementalBackupOnResultReport_0101 - * @tc.desc: 测试 IncrementalBackupOnResultReport 接口 - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I6F3GV - */ -HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_IncrementalBackupOnResultReport_0101, - testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_IncrementalBackupOnResultReport_0101"; - try { - IncrementalInit(IServiceReverseType::Scenario::BACKUP, 1); - std::string resultReport = "result_report"; - std::string bundleName = BUNDLE_NAME; - if (service_ == nullptr) { - GTEST_LOG_(INFO) << "SUB_backup_ServiceReverse_IncrementalBackupOnResultReport_0101 service_ == nullptr"; - return; - } - service_->IncrementalBackupOnResultReport(resultReport, bundleName); - } catch (...) { - EXPECT_TRUE(false); - GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by IncrementalBackupOnResultReport."; - } - GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_IncrementalBackupOnResultReport_0101"; -} - -/** - * @tc.number: SUB_backup_ServiceReverse_BackupOnScanningInfo_0100 - * @tc.name: SUB_backup_ServiceReverse_BackupOnScanningInfo_0100 - * @tc.desc: 测试 BackupOnScanningInfo 接口 - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I6F3GV - */ -HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_BackupOnScanningInfo_0100, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_BackupOnScanningInfo_0100"; - try { - Init(IServiceReverseType::Scenario::BACKUP); - if (service_ == nullptr) { - GTEST_LOG_(INFO) << - "SUB_backup_ServiceReverse_BackupOnScanningInfo_0100 service_ == nullptr"; - return; - } - std::string scannedInfo = ""; - service_->BackupOnScanningInfo(scannedInfo); - } catch (...) { - EXPECT_TRUE(false); - GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by BackupOnScanningInfo."; - } - GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_BackupOnScanningInfo_0100"; -} - -/** - * @tc.number: SUB_backup_ServiceReverse_BackupOnScanningInfo_0101 - * @tc.name: SUB_backup_ServiceReverse_BackupOnScanningInfo_0101 - * @tc.desc: 测试 BackupOnScanningInfo 接口 - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I6F3GV - */ -HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_BackupOnScanningInfo_0101, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_BackupOnScanningInfo_0101"; - try { - Init(IServiceReverseType::Scenario::RESTORE); - if (service_ == nullptr) { - GTEST_LOG_(INFO) << - "SUB_backup_ServiceReverse_BackupOnScanningInfo_0101 service_ == nullptr"; - return; - } - std::string scannedInfo = ""; - service_->BackupOnScanningInfo(scannedInfo); - } catch (...) { - EXPECT_TRUE(false); - GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by BackupOnScanningInfo."; - } - GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_BackupOnScanningInfo_0101"; -} - -/** - * @tc.number: SUB_backup_ServiceReverse_IncrementalBackupOnScanningInfo_0100 - * @tc.name: SUB_backup_ServiceReverse_IncrementalBackupOnScanningInfo_0100 - * @tc.desc: 测试 IncrementalBackupOnScanningInfo 接口 - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I6F3GV - */ -HWTEST_F(ServiceReverseTest, - SUB_backup_ServiceReverse_IncrementalBackupOnScanningInfo_0100, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_IncrementalBackupOnScanningInfo_0100"; - try { - Init(IServiceReverseType::Scenario::RESTORE); - if (service_ == nullptr) { - GTEST_LOG_(INFO) << - "SUB_backup_ServiceReverse_IncrementalBackupOnScanningInfo_0100 service_ == nullptr"; - return; - } - std::string scannedInfo = ""; - service_->BackupOnScanningInfo(scannedInfo); - } catch (...) { - EXPECT_TRUE(false); - GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by BackupOnScanningInfo."; - } - GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_IncrementalBackupOnScanningInfo_0100"; -} - -/** - * @tc.number: SUB_backup_ServiceReverse_IncrementalBackupOnScanningInfo_0101 - * @tc.name: SUB_backup_ServiceReverse_IncrementalBackupOnScanningInfo_0101 - * @tc.desc: 测试 IncrementalBackupOnScanningInfo 接口 - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I6F3GV - */ -HWTEST_F(ServiceReverseTest, - SUB_backup_ServiceReverse_IncrementalBackupOnScanningInfo_0101, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_IncrementalBackupOnScanningInfo_0101"; - try { - Init(IServiceReverseType::Scenario::BACKUP); - if (service_ == nullptr) { - GTEST_LOG_(INFO) << - "SUB_backup_ServiceReverse_IncrementalBackupOnScanningInfo_0101 service_ == nullptr"; - return; - } - std::string scannedInfo = ""; - service_->BackupOnScanningInfo(scannedInfo); - } catch (...) { - EXPECT_TRUE(false); - GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by BackupOnScanningInfo."; - } - GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_IncrementalBackupOnScanningInfo_0101"; -} +/* + * Copyright (c) 2022-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 +#include +#include +#include +#include +#include +#include +#include + +#include "b_error/b_error.h" +#include "b_session_restore.h" +#include "refbase.h" +#include "service_reverse.h" +#include "test_manager.h" +#include "unique_fd.h" + +namespace OHOS::FileManagement::Backup { +using namespace std; +using namespace testing; + +namespace { +const string BUNDLE_NAME = "com.example.app2backup"; +const string FILE_NAME = "1.tar"; +} // namespace + +class ServiceReverseTest : public testing::Test { +public: + static void SetUpTestCase(void) {}; + static void TearDownTestCase() {}; + void SetUp() override {}; + void TearDown() override; + + void Init(IServiceReverseType::Scenario scenario, int nType = 0); + void IncrementalInit(IServiceReverseType::Scenario scenario, int nType = 0); + sptr service_ = nullptr; +}; + +static void OnFileReadyTest(const BFileInfo &fileInfo, UniqueFd fd) +{ + EXPECT_EQ(fileInfo.owner, BUNDLE_NAME); + EXPECT_EQ(fileInfo.fileName, FILE_NAME); + GTEST_LOG_(INFO) << "ServiceReverseTest-OnFileReadyTest SUCCESS"; +} + +static void OnBundleStartedTest(ErrCode err, const BundleName name) +{ + EXPECT_EQ(name, BUNDLE_NAME); + GTEST_LOG_(INFO) << "ServiceReverseTest-OnBundleStartedTest SUCCESS"; +} + +static void OnBundleFinishedTest(ErrCode err, const BundleName name) +{ + EXPECT_EQ(name, BUNDLE_NAME); + GTEST_LOG_(INFO) << "ServiceReverseTest-OnBundleFinishedTest SUCCESS"; +} + +static void OnAllBundlesFinishedTest(ErrCode err) +{ + EXPECT_EQ(err, BError(BError::Codes::OK)); + GTEST_LOG_(INFO) << "ServiceReverseTest-OnAllBundlesFinishedTest SUCCESS"; +} + +static void OnBackupServiceDiedTest() {} + +static void OnResultReportTest(std::string bundleName, std::string result) +{ + EXPECT_EQ(result, "result_report"); + EXPECT_EQ(bundleName, "com.example.app2backup"); + GTEST_LOG_(INFO) << "ServiceReverseTest-OnResultReportTest SUCCESS"; +} + +void ServiceReverseTest::TearDown() +{ + service_ = nullptr; +} + +void ServiceReverseTest::Init(IServiceReverseType::Scenario scenario, int nType) +{ + if (scenario == IServiceReverseType::Scenario::BACKUP) { + if (nType) { + service_ = new ServiceReverse(BSessionBackup::Callbacks {.onFileReady = nullptr, + .onBundleStarted = nullptr, + .onBundleFinished = nullptr, + .onAllBundlesFinished = nullptr, + .onResultReport = nullptr, + .onBackupServiceDied = nullptr}); + } else { + service_ = new ServiceReverse(BSessionBackup::Callbacks { + .onFileReady = bind(OnFileReadyTest, placeholders::_1, placeholders::_2), + .onBundleStarted = bind(OnBundleStartedTest, placeholders::_1, placeholders::_2), + .onBundleFinished = bind(OnBundleFinishedTest, placeholders::_1, placeholders::_2), + .onAllBundlesFinished = bind(OnAllBundlesFinishedTest, placeholders::_1), + .onResultReport = bind(OnResultReportTest, placeholders::_1, placeholders::_2), + .onBackupServiceDied = bind(OnBackupServiceDiedTest)}); + } + } else { + if (nType) { + service_ = new ServiceReverse(BSessionRestore::Callbacks {.onFileReady = nullptr, + .onBundleStarted = nullptr, + .onBundleFinished = nullptr, + .onAllBundlesFinished = nullptr, + .onResultReport = nullptr, + .onBackupServiceDied = nullptr}); + } else { + service_ = new ServiceReverse(BSessionRestore::Callbacks { + .onFileReady = bind(OnFileReadyTest, placeholders::_1, placeholders::_2), + .onBundleStarted = bind(OnBundleStartedTest, placeholders::_1, placeholders::_2), + .onBundleFinished = bind(OnBundleFinishedTest, placeholders::_1, placeholders::_2), + .onAllBundlesFinished = bind(OnAllBundlesFinishedTest, placeholders::_1), + .onResultReport = bind(OnResultReportTest, placeholders::_1, placeholders::_2), + .onBackupServiceDied = bind(OnBackupServiceDiedTest)}); + } + } +} + +void ServiceReverseTest::IncrementalInit(IServiceReverseType::Scenario scenario, int nType) +{ + if (scenario == IServiceReverseType::Scenario::BACKUP) { + if (nType) { + service_ = new ServiceReverse(BIncrementalBackupSession::Callbacks {.onFileReady = nullptr, + .onBundleStarted = nullptr, + .onBundleFinished = nullptr, + .onAllBundlesFinished = nullptr, + .onResultReport = nullptr, + .onBackupServiceDied = nullptr}); + } else { + service_ = new ServiceReverse(BIncrementalBackupSession::Callbacks { + .onFileReady = bind(OnFileReadyTest, placeholders::_1, placeholders::_2), + .onBundleStarted = bind(OnBundleStartedTest, placeholders::_1, placeholders::_2), + .onBundleFinished = bind(OnBundleFinishedTest, placeholders::_1, placeholders::_2), + .onAllBundlesFinished = bind(OnAllBundlesFinishedTest, placeholders::_1), + .onResultReport = bind(OnResultReportTest, placeholders::_1, placeholders::_2), + .onBackupServiceDied = bind(OnBackupServiceDiedTest)}); + } + } else { + if (nType) { + service_ = new ServiceReverse(BIncrementalRestoreSession::Callbacks {.onFileReady = nullptr, + .onBundleStarted = nullptr, + .onBundleFinished = nullptr, + .onAllBundlesFinished = nullptr, + .onBackupServiceDied = nullptr}); + } else { + service_ = new ServiceReverse(BIncrementalRestoreSession::Callbacks { + .onFileReady = bind(OnFileReadyTest, placeholders::_1, placeholders::_2), + .onBundleStarted = bind(OnBundleStartedTest, placeholders::_1, placeholders::_2), + .onBundleFinished = bind(OnBundleFinishedTest, placeholders::_1, placeholders::_2), + .onAllBundlesFinished = bind(OnAllBundlesFinishedTest, placeholders::_1), + .onResultReport = bind(OnResultReportTest, placeholders::_1, placeholders::_2), + .onBackupServiceDied = bind(OnBackupServiceDiedTest)}); + } + } +} + +/** + * @tc.number: SUB_backup_ServiceReverse_BackupOnFileReady_0100 + * @tc.name: SUB_backup_ServiceReverse_BackupOnFileReady_0100 + * @tc.desc: 测试 BackupOnFileReady 接口 + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I6F3GV + */ +HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_BackupOnFileReady_0100, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_BackupOnFileReady_0100"; + try { + Init(IServiceReverseType::Scenario::BACKUP); + if (service_ == nullptr) { + GTEST_LOG_(INFO) << + "SUB_backup_ServiceReverse_BackupOnFileReady_0100 service_ == nullptr"; + return; + } + service_->BackupOnFileReady(BUNDLE_NAME, FILE_NAME, -1, 0); + service_->RestoreOnFileReady(BUNDLE_NAME, FILE_NAME, -1, 0); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by BackupOnFileReady."; + } + GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_BackupOnFileReady_0100"; +} + +/** + * @tc.number: SUB_backup_ServiceReverse_BackupOnFileReady_0101 + * @tc.name: SUB_backup_ServiceReverse_BackupOnFileReady_0101 + * @tc.desc: 测试 BackupOnFileReady 接口 + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I6F3GV + */ +HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_BackupOnFileReady_0101, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_BackupOnFileReady_0101"; + try { + Init(IServiceReverseType::Scenario::RESTORE); + if (service_ == nullptr) { + GTEST_LOG_(INFO) << + "SUB_backup_ServiceReverse_BackupOnFileReady_0101 service_ == nullptr"; + return; + } + service_->BackupOnFileReady(BUNDLE_NAME, FILE_NAME, -1, 0); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by BackupOnFileReady."; + } + GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_BackupOnFileReady_0101"; +} + +/** + * @tc.number: SUB_backup_ServiceReverse_BackupOnFileReady_0102 + * @tc.name: SUB_backup_ServiceReverse_BackupOnFileReady_0102 + * @tc.desc: 测试 BackupOnFileReady 接口 + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I6F3GV + */ +HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_BackupOnFileReady_0102, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_BackupOnFileReady_0102"; + try { + Init(IServiceReverseType::Scenario::BACKUP, 1); + if (service_ == nullptr) { + GTEST_LOG_(INFO) << + "SUB_backup_ServiceReverse_BackupOnFileReady_0102 service_ == nullptr"; + return; + } + service_->BackupOnFileReady(BUNDLE_NAME, FILE_NAME, -1, 0); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by BackupOnFileReady."; + } + GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_BackupOnFileReady_0102"; +} + +/** + * @tc.number: SUB_backup_ServiceReverse_BackupOnFileReadyWithoutFd_0100 + * @tc.name: SUB_backup_ServiceReverse_BackupOnFileReadyWithoutFd_0100 + * @tc.desc: 测试 BackupOnFileReadyWithoutFd 正常分支(回调非空且场景为BACKUP) + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + */ +HWTEST_F(ServiceReverseTest, + SUB_backup_ServiceReverse_BackupOnFileReadyWithoutFd_0100, + testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_BackupOnFileReadyWithoutFd_0100"; + Init(IServiceReverseType::Scenario::BACKUP, 0); + ASSERT_NE(service_, nullptr); + bool called = false; + service_->callbacksBackup_.onFileReady = [&](const BFileInfo&, UniqueFd, int32_t) { + called = true; + }; + auto ret = service_->BackupOnFileReadyWithoutFd("bundle", "file", 123); + EXPECT_EQ(ret, 0); + EXPECT_TRUE(called); + GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_BackupOnFileReadyWithoutFd_0100"; +} + +/** + * @tc.number: SUB_backup_ServiceReverse_BackupOnFileReadyWithoutFd_0101 + * @tc.name: SUB_backup_ServiceReverse_BackupOnFileReadyWithoutFd_0101 + * @tc.desc: 测试 BackupOnFileReadyWithoutFd 回调为nullptr分支 + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + */ +HWTEST_F(ServiceReverseTest, + SUB_backup_ServiceReverse_BackupOnFileReadyWithoutFd_0101, + testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_BackupOnFileReadyWithoutFd_0101"; + Init(IServiceReverseType::Scenario::BACKUP, 0); + ASSERT_NE(service_, nullptr); + service_->callbacksBackup_.onFileReady = nullptr; + auto ret = service_->BackupOnFileReadyWithoutFd("bundle", "file", 123); + EXPECT_EQ(ret, 0); + GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_BackupOnFileReadyWithoutFd_0101"; +} + +/** + * @tc.number: SUB_backup_ServiceReverse_BackupOnFileReadyWithoutFd_0102 + * @tc.name: SUB_backup_ServiceReverse_BackupOnFileReadyWithoutFd_0102 + * @tc.desc: 测试 BackupOnFileReadyWithoutFd 场景非BACKUP分支 + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + */ +HWTEST_F(ServiceReverseTest, + SUB_backup_ServiceReverse_BackupOnFileReadyWithoutFd_0102, + testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_BackupOnFileReadyWithoutFd_0102"; + Init(IServiceReverseType::Scenario::RESTORE, 0); // 场景非BACKUP + ASSERT_NE(service_, nullptr); + bool called = false; + service_->callbacksBackup_.onFileReady = [&](const BFileInfo&, UniqueFd, int32_t) { + called = true; + }; + auto ret = service_->BackupOnFileReadyWithoutFd("bundle", "file", 123); + EXPECT_EQ(ret, 0); + EXPECT_FALSE(called); + GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_BackupOnFileReadyWithoutFd_0102"; +} + +/** + * @tc.number: SUB_backup_ServiceReverse_BackupOnBundleStarted_0100 + * @tc.name: SUB_backup_ServiceReverse_BackupOnBundleStarted_0100 + * @tc.desc: 测试 BackupOnBundleStarted 接口 + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I6F3GV + */ +HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_BackupOnBundleStarted_0100, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_BackupOnBundleStarted_0100"; + try { + Init(IServiceReverseType::Scenario::BACKUP); + if (service_ == nullptr) { + GTEST_LOG_(INFO) << + "SUB_backup_ServiceReverse_BackupOnBundleStarted_0100 service_ == nullptr"; + return; + } + service_->BackupOnBundleStarted(BError(BError::Codes::OK), BUNDLE_NAME); + service_->RestoreOnBundleStarted(BError(BError::Codes::OK), BUNDLE_NAME); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by BackupOnBundleStarted."; + } + GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_BackupOnBundleStarted_0100"; +} + +/** + * @tc.number: SUB_backup_ServiceReverse_BackupOnBundleStarted_0101 + * @tc.name: SUB_backup_ServiceReverse_BackupOnBundleStarted_0101 + * @tc.desc: 测试 BackupOnBundleStarted 接口 + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I6F3GV + */ +HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_BackupOnBundleStarted_0101, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_BackupOnBundleStarted_0101"; + try { + Init(IServiceReverseType::Scenario::RESTORE); + if (service_ == nullptr) { + GTEST_LOG_(INFO) << + "SUB_backup_ServiceReverse_BackupOnBundleStarted_0101 service_ == nullptr"; + return; + } + service_->BackupOnBundleStarted(BError(BError::Codes::OK), BUNDLE_NAME); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by BackupOnBundleStarted."; + } + GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_BackupOnBundleStarted_0101"; +} + +/** + * @tc.number: SUB_backup_ServiceReverse_BackupOnBundleStarted_0102 + * @tc.name: SUB_backup_ServiceReverse_BackupOnBundleStarted_0102 + * @tc.desc: 测试 BackupOnBundleStarted 接口 + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I6F3GV + */ +HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_BackupOnBundleStarted_0102, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_BackupOnBundleStarted_0102"; + try { + Init(IServiceReverseType::Scenario::BACKUP, 1); + if (service_ == nullptr) { + GTEST_LOG_(INFO) << + "SUB_backup_ServiceReverse_BackupOnBundleStarted_0102 service_ == nullptr"; + return; + } + service_->BackupOnBundleStarted(BError(BError::Codes::OK), BUNDLE_NAME); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by BackupOnBundleStarted."; + } + GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_BackupOnBundleStarted_0102"; +} + +/** + * @tc.number: SUB_backup_ServiceReverse_BackupOnBundleFinished_0100 + * @tc.name: SUB_backup_ServiceReverse_BackupOnBundleFinished_0100 + * @tc.desc: 测试 BackupOnBundleFinished 接口 + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I6F3GV + */ +HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_BackupOnBundleFinished_0100, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_BackupOnBundleFinished_0100"; + try { + Init(IServiceReverseType::Scenario::BACKUP); + if (service_ == nullptr) { + GTEST_LOG_(INFO) << + "SUB_backup_ServiceReverse_BackupOnBundleFinished_0100 service_ == nullptr"; + return; + } + service_->BackupOnBundleFinished(BError(BError::Codes::OK), BUNDLE_NAME); + service_->RestoreOnBundleFinished(BError(BError::Codes::OK), BUNDLE_NAME); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by BackupOnBundleFinished."; + } + GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_BackupOnBundleFinished_0100"; +} + +/** + * @tc.number: SUB_backup_ServiceReverse_BackupOnBundleFinished_0101 + * @tc.name: SUB_backup_ServiceReverse_BackupOnBundleFinished_0101 + * @tc.desc: 测试 BackupOnBundleFinished 接口 + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I6F3GV + */ +HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_BackupOnBundleFinished_0101, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_BackupOnBundleFinished_0101"; + try { + Init(IServiceReverseType::Scenario::RESTORE); + if (service_ == nullptr) { + GTEST_LOG_(INFO) << + "SUB_backup_ServiceReverse_BackupOnBundleFinished_0101 service_ == nullptr"; + return; + } + service_->BackupOnBundleFinished(BError(BError::Codes::OK), BUNDLE_NAME); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by BackupOnBundleFinished."; + } + GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_BackupOnBundleFinished_0101"; +} + +/** + * @tc.number: SUB_backup_ServiceReverse_BackupOnBundleFinished_0102 + * @tc.name: SUB_backup_ServiceReverse_BackupOnBundleFinished_0102 + * @tc.desc: 测试 BackupOnBundleFinished 接口 + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I6F3GV + */ +HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_BackupOnBundleFinished_0102, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_BackupOnBundleFinished_0102"; + try { + Init(IServiceReverseType::Scenario::BACKUP, 1); + if (service_ == nullptr) { + GTEST_LOG_(INFO) << + "SUB_backup_ServiceReverse_BackupOnBundleFinished_0102 service_ == nullptr"; + return; + } + service_->BackupOnBundleFinished(BError(BError::Codes::OK), BUNDLE_NAME); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by BackupOnBundleFinished."; + } + GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_BackupOnBundleFinished_0102"; +} + +/** + * @tc.number: SUB_backup_ServiceReverse_BackupOnAllBundlesFinished_0100 + * @tc.name: SUB_backup_ServiceReverse_BackupOnAllBundlesFinished_0100 + * @tc.desc: 测试 BackupOnAllBundlesFinished 接口 + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I6F3GV + */ +HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_BackupOnAllBundlesFinished_0100, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_BackupOnAllBundlesFinished_0100"; + try { + Init(IServiceReverseType::Scenario::BACKUP); + if (service_ == nullptr) { + GTEST_LOG_(INFO) << + "SUB_backup_ServiceReverse_BackupOnAllBundlesFinished_0100 service_ == nullptr"; + return; + } + service_->BackupOnAllBundlesFinished(BError(BError::Codes::OK)); + service_->RestoreOnAllBundlesFinished(BError(BError::Codes::OK)); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by BackupOnAllBundlesFinished."; + } + GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_BackupOnAllBundlesFinished_0100"; +} + +/** + * @tc.number: SUB_backup_ServiceReverse_BackupOnAllBundlesFinished_0101 + * @tc.name: SUB_backup_ServiceReverse_BackupOnAllBundlesFinished_0101 + * @tc.desc: 测试 BackupOnAllBundlesFinished 接口 + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I6F3GV + */ +HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_BackupOnAllBundlesFinished_0101, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_BackupOnAllBundlesFinished_0101"; + try { + Init(IServiceReverseType::Scenario::RESTORE); + if (service_ == nullptr) { + GTEST_LOG_(INFO) << + "SUB_backup_ServiceReverse_BackupOnAllBundlesFinished_0101 service_ == nullptr"; + return; + } + service_->BackupOnAllBundlesFinished(BError(BError::Codes::OK)); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by BackupOnAllBundlesFinished."; + } + GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_BackupOnAllBundlesFinished_0101"; +} + +/** + * @tc.number: SUB_backup_ServiceReverse_BackupOnAllBundlesFinished_0102 + * @tc.name: SUB_backup_ServiceReverse_BackupOnAllBundlesFinished_0102 + * @tc.desc: 测试 BackupOnAllBundlesFinished 接口 + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I6F3GV + */ +HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_BackupOnAllBundlesFinished_0102, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_BackupOnAllBundlesFinished_0102"; + try { + Init(IServiceReverseType::Scenario::BACKUP, 1); + if (service_ == nullptr) { + GTEST_LOG_(INFO) << + "SUB_backup_ServiceReverse_BackupOnAllBundlesFinished_0102 service_ == nullptr"; + return; + } + service_->BackupOnAllBundlesFinished(BError(BError::Codes::OK)); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by BackupOnAllBundlesFinished."; + } + GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_BackupOnAllBundlesFinished_0102"; +} + +/** + * @tc.number: SUB_backup_ServiceReverse_RestoreOnFileReady_0100 + * @tc.name: SUB_backup_ServiceReverse_RestoreOnFileReady_0100 + * @tc.desc: 测试 RestoreOnFileReady 接口 + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I6F3GV + */ +HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_RestoreOnFileReady_0100, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_RestoreOnFileReady_0100"; + try { + Init(IServiceReverseType::Scenario::RESTORE); + if (service_ == nullptr) { + GTEST_LOG_(INFO) << + "SUB_backup_ServiceReverse_RestoreOnFileReady_0100 service_ == nullptr"; + return; + } + service_->RestoreOnFileReady(BUNDLE_NAME, FILE_NAME, -1, 0); + service_->BackupOnFileReady(BUNDLE_NAME, FILE_NAME, -1, 0); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by RestoreOnFileReady."; + } + GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_RestoreOnFileReady_0100"; +} + +/** + * @tc.number: SUB_backup_ServiceReverse_RestoreOnFileReady_0101 + * @tc.name: SUB_backup_ServiceReverse_RestoreOnFileReady_0101 + * @tc.desc: 测试 RestoreOnFileReady 接口 + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I6F3GV + */ +HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_RestoreOnFileReady_0101, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_RestoreOnFileReady_0101"; + try { + Init(IServiceReverseType::Scenario::BACKUP); + if (service_ == nullptr) { + GTEST_LOG_(INFO) << + "SUB_backup_ServiceReverse_RestoreOnFileReady_0101 service_ == nullptr"; + return; + } + service_->RestoreOnFileReady(BUNDLE_NAME, FILE_NAME, -1, 0); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by RestoreOnFileReady."; + } + GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_RestoreOnFileReady_0101"; +} + +/** + * @tc.number: SUB_backup_ServiceReverse_RestoreOnFileReady_0102 + * @tc.name: SUB_backup_ServiceReverse_RestoreOnFileReady_0102 + * @tc.desc: 测试 RestoreOnFileReady 接口 + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I6F3GV + */ +HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_RestoreOnFileReady_0102, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_RestoreOnFileReady_0102"; + try { + Init(IServiceReverseType::Scenario::RESTORE, 1); + if (service_ == nullptr) { + GTEST_LOG_(INFO) << + "SUB_backup_ServiceReverse_RestoreOnFileReady_0102 service_ == nullptr"; + return; + } + service_->RestoreOnFileReady(BUNDLE_NAME, FILE_NAME, -1, 0); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by RestoreOnFileReady."; + } + GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_RestoreOnFileReady_0102"; +} + + +/** + * @tc.number: SUB_backup_ServiceReverse_RestoreOnFileReadyWithoutFd_0100 + * @tc.name: SUB_backup_ServiceReverse_RestoreOnFileReadyWithoutFd_0100 + * @tc.desc: 测试 RestoreOnFileReadyWithoutFd 正常分支(回调非空且场景为RESTORE) + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + */ +HWTEST_F(ServiceReverseTest, + SUB_backup_ServiceReverse_RestoreOnFileReadyWithoutFd_0100, + testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_RestoreOnFileReadyWithoutFd_0100"; + Init(IServiceReverseType::Scenario::RESTORE, 0); + ASSERT_NE(service_, nullptr); + bool called = false; + service_->callbacksRestore_.onFileReady = [&](const BFileInfo&, UniqueFd, int32_t) { + called = true; + }; + auto ret = service_->RestoreOnFileReadyWithoutFd("bundle", "file", 123); + EXPECT_EQ(ret, 0); + EXPECT_TRUE(called); + GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_RestoreOnFileReadyWithoutFd_0100"; +} + +/** + * @tc.number: SUB_backup_ServiceReverse_RestoreOnFileReadyWithoutFd_0101 + * @tc.name: SUB_backup_ServiceReverse_RestoreOnFileReadyWithoutFd_0101 + * @tc.desc: 测试 RestoreOnFileReadyWithoutFd 回调为nullptr分支 + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + */ +HWTEST_F(ServiceReverseTest, + SUB_backup_ServiceReverse_RestoreOnFileReadyWithoutFd_0101, + testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_RestoreOnFileReadyWithoutFd_0101"; + Init(IServiceReverseType::Scenario::RESTORE, 0); + ASSERT_NE(service_, nullptr); + service_->callbacksRestore_.onFileReady = nullptr; + auto ret = service_->RestoreOnFileReadyWithoutFd("bundle", "file", 123); + EXPECT_EQ(ret, 0); + GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_RestoreOnFileReadyWithoutFd_0101"; +} + +/** + * @tc.number: SUB_backup_ServiceReverse_RestoreOnFileReadyWithoutFd_0102 + * @tc.name: SUB_backup_ServiceReverse_RestoreOnFileReadyWithoutFd_0102 + * @tc.desc: 测试 RestoreOnFileReadyWithoutFd 场景非RESTORE分支 + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + */ +HWTEST_F(ServiceReverseTest, + SUB_backup_ServiceReverse_RestoreOnFileReadyWithoutFd_0102, + testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_RestoreOnFileReadyWithoutFd_0102"; + Init(IServiceReverseType::Scenario::BACKUP, 0); // 场景非RESTORE + ASSERT_NE(service_, nullptr); + bool called = false; + service_->callbacksRestore_.onFileReady = [&](const BFileInfo&, UniqueFd, int32_t) { + called = true; + }; + auto ret = service_->RestoreOnFileReadyWithoutFd("bundle", "file", 123); + EXPECT_EQ(ret, 0); + EXPECT_FALSE(called); + GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_RestoreOnFileReadyWithoutFd_0102"; +} + +/** + * @tc.number: SUB_backup_ServiceReverse_RestoreOnBundleStarted_0100 + * @tc.name: SUB_backup_ServiceReverse_RestoreOnBundleStarted_0100 + * @tc.desc: 测试 RestoreOnBundleStarted 接口 + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I6F3GV + */ +HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_RestoreOnBundleStarted_0100, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_RestoreOnBundleStarted_0100"; + try { + Init(IServiceReverseType::Scenario::RESTORE); + if (service_ == nullptr) { + GTEST_LOG_(INFO) << + "SUB_backup_ServiceReverse_RestoreOnBundleStarted_0100 service_ == nullptr"; + return; + } + service_->RestoreOnBundleStarted(BError(BError::Codes::OK), BUNDLE_NAME); + service_->BackupOnBundleStarted(BError(BError::Codes::OK), BUNDLE_NAME); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by RestoreOnBundleStarted."; + } + GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_RestoreOnBundleStarted_0100"; +} + +/** + * @tc.number: SUB_backup_ServiceReverse_RestoreOnBundleStarted_0101 + * @tc.name: SUB_backup_ServiceReverse_RestoreOnBundleStarted_0101 + * @tc.desc: 测试 RestoreOnBundleStarted 接口 + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I6F3GV + */ +HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_RestoreOnBundleStarted_0101, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_RestoreOnBundleStarted_0101"; + try { + Init(IServiceReverseType::Scenario::BACKUP); + if (service_ == nullptr) { + GTEST_LOG_(INFO) << + "SUB_backup_ServiceReverse_RestoreOnBundleStarted_0101 service_ == nullptr"; + return; + } + service_->RestoreOnBundleStarted(BError(BError::Codes::OK), BUNDLE_NAME); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by RestoreOnBundleStarted."; + } + GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_RestoreOnBundleStarted_0101"; +} + +/** + * @tc.number: SUB_backup_ServiceReverse_RestoreOnBundleStarted_0102 + * @tc.name: SUB_backup_ServiceReverse_RestoreOnBundleStarted_0102 + * @tc.desc: 测试 RestoreOnBundleStarted 接口 + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I6F3GV + */ +HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_RestoreOnBundleStarted_0102, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_RestoreOnBundleStarted_0102"; + try { + Init(IServiceReverseType::Scenario::RESTORE, 1); + if (service_ == nullptr) { + GTEST_LOG_(INFO) << + "SUB_backup_ServiceReverse_RestoreOnBundleStarted_0102 service_ == nullptr"; + return; + } + service_->RestoreOnBundleStarted(BError(BError::Codes::OK), BUNDLE_NAME); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by RestoreOnBundleStarted."; + } + GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_RestoreOnBundleStarted_0102"; +} + +/** + * @tc.number: SUB_backup_ServiceReverse_RestoreOnBundleFinished_0100 + * @tc.name: SUB_backup_ServiceReverse_RestoreOnBundleFinished_0100 + * @tc.desc: 测试 RestoreOnBundleFinished 接口 + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I6F3GV + */ +HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_RestoreOnBundleFinished_0100, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_RestoreOnBundleFinished_0100"; + try { + Init(IServiceReverseType::Scenario::RESTORE); + if (service_ == nullptr) { + GTEST_LOG_(INFO) << + "SUB_backup_ServiceReverse_RestoreOnBundleFinished_0100 service_ == nullptr"; + return; + } + service_->RestoreOnBundleFinished(BError(BError::Codes::OK), BUNDLE_NAME); + service_->BackupOnBundleFinished(BError(BError::Codes::OK), BUNDLE_NAME); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by RestoreOnBundleFinished."; + } + GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_RestoreOnBundleFinished_0100"; +} + +/** + * @tc.number: SUB_backup_ServiceReverse_RestoreOnBundleFinished_0101 + * @tc.name: SUB_backup_ServiceReverse_RestoreOnBundleFinished_0101 + * @tc.desc: 测试 RestoreOnBundleFinished 接口 + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I6F3GV + */ +HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_RestoreOnBundleFinished_0101, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_RestoreOnBundleFinished_0101"; + try { + Init(IServiceReverseType::Scenario::BACKUP); + if (service_ == nullptr) { + GTEST_LOG_(INFO) << + "SUB_backup_ServiceReverse_RestoreOnBundleFinished_0101 service_ == nullptr"; + return; + } + service_->RestoreOnBundleFinished(BError(BError::Codes::OK), BUNDLE_NAME); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by RestoreOnBundleFinished."; + } + GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_RestoreOnBundleFinished_0101"; +} + +/** + * @tc.number: SUB_backup_ServiceReverse_RestoreOnBundleFinished_0102 + * @tc.name: SUB_backup_ServiceReverse_RestoreOnBundleFinished_0102 + * @tc.desc: 测试 RestoreOnBundleFinished 接口 + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I6F3GV + */ +HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_RestoreOnBundleFinished_0102, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_RestoreOnBundleFinished_0102"; + try { + Init(IServiceReverseType::Scenario::RESTORE, 1); + if (service_ == nullptr) { + GTEST_LOG_(INFO) << + "SUB_backup_ServiceReverse_RestoreOnBundleFinished_0102 service_ == nullptr"; + return; + } + service_->RestoreOnBundleFinished(BError(BError::Codes::OK), BUNDLE_NAME); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by RestoreOnBundleFinished."; + } + GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_RestoreOnBundleFinished_0102"; +} + +/** + * @tc.number: SUB_backup_ServiceReverse_RestoreOnAllBundlesFinished_0100 + * @tc.name: SUB_backup_ServiceReverse_RestoreOnAllBundlesFinished_0100 + * @tc.desc: 测试 RestoreOnAllBundlesFinished 接口 + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I6F3GV + */ +HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_RestoreOnAllBundlesFinished_0100, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_RestoreOnAllBundlesFinished_0100"; + try { + Init(IServiceReverseType::Scenario::RESTORE); + if (service_ == nullptr) { + GTEST_LOG_(INFO) << + "SUB_backup_ServiceReverse_RestoreOnAllBundlesFinished_0100 service_ == nullptr"; + return; + } + service_->RestoreOnAllBundlesFinished(BError(BError::Codes::OK)); + service_->BackupOnAllBundlesFinished(BError(BError::Codes::OK)); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by RestoreOnAllBundlesFinished."; + } + GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_RestoreOnAllBundlesFinished_0100"; +} + +/** + * @tc.number: SUB_backup_ServiceReverse_RestoreOnAllBundlesFinished_0101 + * @tc.name: SUB_backup_ServiceReverse_RestoreOnAllBundlesFinished_0101 + * @tc.desc: 测试 RestoreOnAllBundlesFinished 接口 + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I6F3GV + */ +HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_RestoreOnAllBundlesFinished_0101, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_RestoreOnAllBundlesFinished_0101"; + try { + Init(IServiceReverseType::Scenario::BACKUP); + if (service_ == nullptr) { + GTEST_LOG_(INFO) << + "SUB_backup_ServiceReverse_RestoreOnAllBundlesFinished_0101 service_ == nullptr"; + return; + } + service_->RestoreOnAllBundlesFinished(BError(BError::Codes::OK)); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by RestoreOnAllBundlesFinished."; + } + GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_RestoreOnAllBundlesFinished_0101"; +} + +/** + * @tc.number: SUB_backup_ServiceReverse_RestoreOnAllBundlesFinished_0102 + * @tc.name: SUB_backup_ServiceReverse_RestoreOnAllBundlesFinished_0102 + * @tc.desc: 测试 RestoreOnAllBundlesFinished 接口 + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I6F3GV + */ +HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_RestoreOnAllBundlesFinished_0102, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_RestoreOnAllBundlesFinished_0102"; + try { + Init(IServiceReverseType::Scenario::RESTORE, 1); + if (service_ == nullptr) { + GTEST_LOG_(INFO) << + "SUB_backup_ServiceReverse_RestoreOnAllBundlesFinished_0102 service_ == nullptr"; + return; + } + service_->RestoreOnAllBundlesFinished(BError(BError::Codes::OK)); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by RestoreOnAllBundlesFinished."; + } + GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_RestoreOnAllBundlesFinished_0102"; +} + +/** + * @tc.number: SUB_backup_ServiceReverse_BackupOnProcessInfo_0100 + * @tc.name: SUB_backup_ServiceReverse_BackupOnProcessInfo_0100 + * @tc.desc: 测试 BackupOnProcessInfo 接口 + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I6F3GV + */ +HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_BackupOnProcessInfo_0100, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_BackupOnProcessInfo_0100"; + try { + Init(IServiceReverseType::Scenario::BACKUP); + if (service_ == nullptr) { + GTEST_LOG_(INFO) << + "SUB_backup_ServiceReverse_BackupOnProcessInfo_0100 service_ == nullptr"; + return; + } + std::string bundleName = BUNDLE_NAME; + std::string processInfo = "{\"timeInfo\": \"\", \"resultInfo\": \"\"}"; + service_->BackupOnProcessInfo(bundleName, processInfo); + service_->RestoreOnProcessInfo(bundleName, processInfo); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by BackupOnProcessInfo."; + } + GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_BackupOnProcessInfo_0100"; +} + +/** + * @tc.number: SUB_backup_ServiceReverse_BackupOnProcessInfo_0101 + * @tc.name: SUB_backup_ServiceReverse_BackupOnProcessInfo_0101 + * @tc.desc: 测试 BackupOnProcessInfo 接口 + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I6F3GV + */ +HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_BackupOnProcessInfo_0101, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_BackupOnProcessInfo_0101"; + try { + Init(IServiceReverseType::Scenario::RESTORE); + if (service_ == nullptr) { + GTEST_LOG_(INFO) << + "SUB_backup_ServiceReverse_BackupOnProcessInfo_0101 service_ == nullptr"; + return; + } + std::string bundleName = BUNDLE_NAME; + std::string processInfo = "{\"timeInfo\": \"\", \"resultInfo\": \"\"}"; + service_->BackupOnProcessInfo(bundleName, processInfo); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by BackupOnProcessInfo."; + } + GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_BackupOnProcessInfo_0101"; +} + +/** + * @tc.number: SUB_backup_ServiceReverse_BackupOnProcessInfo_0102 + * @tc.name: SUB_backup_ServiceReverse_BackupOnProcessInfo_0102 + * @tc.desc: 测试 BackupOnProcessInfo 接口 + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I6F3GV + */ +HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_BackupOnProcessInfo_0102, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_BackupOnProcessInfo_0102"; + try { + Init(IServiceReverseType::Scenario::BACKUP, 1); + if (service_ == nullptr) { + GTEST_LOG_(INFO) << + "SUB_backup_ServiceReverse_BackupOnProcessInfo_0102 service_ == nullptr"; + return; + } + std::string bundleName = BUNDLE_NAME; + std::string processInfo = "{\"timeInfo\": \"\", \"resultInfo\": \"\"}"; + service_->BackupOnProcessInfo(bundleName, processInfo); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by BackupOnProcessInfo."; + } + GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_BackupOnProcessInfo_0102"; +} + +/** + * @tc.number: SUB_backup_ServiceReverse_0200 + * @tc.name: SUB_backup_ServiceReverse_0200 + * @tc.desc: 测试分支 + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I6F3GV + */ +HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_0200, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_0200"; + try { + Init(IServiceReverseType::Scenario::RESTORE, 1); + if (service_ == nullptr) { + GTEST_LOG_(INFO) << + "SUB_backup_ServiceReverse_0200 service_ == nullptr"; + return; + } + service_->RestoreOnFileReady(BUNDLE_NAME, FILE_NAME, -1, 0); + service_->RestoreOnBundleStarted(BError(BError::Codes::OK), BUNDLE_NAME); + service_->RestoreOnBundleFinished(BError(BError::Codes::OK), BUNDLE_NAME); + service_->RestoreOnAllBundlesFinished(BError(BError::Codes::OK)); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred."; + } + GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_0200"; +} + +/** + * @tc.number: SUB_backup_ServiceReverse_0201 + * @tc.name: SUB_backup_ServiceReverse_0201 + * @tc.desc: 测试分支 + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I6F3GV + */ +HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_0201, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_0201"; + try { + Init(IServiceReverseType::Scenario::RESTORE, 0); + if (service_ == nullptr) { + GTEST_LOG_(INFO) << + "SUB_backup_ServiceReverse_0201 service_ == nullptr"; + return; + } + service_->RestoreOnFileReady(BUNDLE_NAME, FILE_NAME, -1, 0); + service_->RestoreOnBundleStarted(BError(BError::Codes::OK), BUNDLE_NAME); + service_->RestoreOnBundleFinished(BError(BError::Codes::OK), BUNDLE_NAME); + service_->RestoreOnAllBundlesFinished(BError(BError::Codes::OK)); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred."; + } + GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_0201"; +} + +/** + * @tc.number: SUB_backup_ServiceReverse_0300 + * @tc.name: SUB_backup_ServiceReverse_0300 + * @tc.desc: 测试分支 + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I6F3GV + */ +HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_0300, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_0300"; + try { + Init(IServiceReverseType::Scenario::BACKUP, 1); + if (service_ == nullptr) { + GTEST_LOG_(INFO) << + "SUB_backup_ServiceReverse_0300 service_ == nullptr"; + return; + } + service_->BackupOnFileReady(BUNDLE_NAME, FILE_NAME, -1, 0); + service_->BackupOnBundleStarted(BError(BError::Codes::OK), BUNDLE_NAME); + service_->BackupOnBundleFinished(BError(BError::Codes::OK), BUNDLE_NAME); + service_->BackupOnAllBundlesFinished(BError(BError::Codes::OK)); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred."; + } + GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_0300"; +} + +/** + * @tc.number: SUB_backup_ServiceReverse_0301 + * @tc.name: SUB_backup_ServiceReverse_0301 + * @tc.desc: 测试分支 + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I6F3GV + */ +HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_0301, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_0301"; + try { + Init(IServiceReverseType::Scenario::BACKUP, 0); + if (service_ == nullptr) { + GTEST_LOG_(INFO) << + "SUB_backup_ServiceReverse_0301 service_ == nullptr"; + return; + } + service_->BackupOnFileReady(BUNDLE_NAME, FILE_NAME, -1, 0); + service_->BackupOnBundleStarted(BError(BError::Codes::OK), BUNDLE_NAME); + service_->BackupOnBundleFinished(BError(BError::Codes::OK), BUNDLE_NAME); + service_->BackupOnAllBundlesFinished(BError(BError::Codes::OK)); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred."; + } + GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_0301"; +} + +/** + * @tc.number: SUB_backup_ServiceReverse_IncrementalBackupOnFileReady_0100 + * @tc.name: SUB_backup_ServiceReverse_IncrementalBackupOnFileReady_0100 + * @tc.desc: 测试 IncrementalBackupOnFileReady 接口 + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I9116W + */ +HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_IncrementalBackupOnFileReady_0100, + testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_IncrementalBackupOnFileReady_0100"; + try { + IncrementalInit(IServiceReverseType::Scenario::BACKUP); + if (service_ == nullptr) { + GTEST_LOG_(INFO) << + "SUB_backup_ServiceReverse_IncrementalBackupOnFileReady_0100 service_ == nullptr"; + return; + } + service_->IncrementalBackupOnFileReady(BUNDLE_NAME, FILE_NAME, -1, -1, 0); + service_->IncrementalRestoreOnFileReady(BUNDLE_NAME, FILE_NAME, -1, -1, 0); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by RestoreOnAllBundlesFinished."; + } + GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_IncrementalBackupOnFileReady_0100"; +} + +/** + * @tc.number: SUB_backup_ServiceReverse_IncrementalBackupOnFileReady_0101 + * @tc.name: SUB_backup_ServiceReverse_IncrementalBackupOnFileReady_0101 + * @tc.desc: 测试 IncrementalBackupOnFileReady 接口 + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I9116W + */ +HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_IncrementalBackupOnFileReady_0101, + testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_IncrementalBackupOnFileReady_0101"; + try { + IncrementalInit(IServiceReverseType::Scenario::RESTORE); + if (service_ == nullptr) { + GTEST_LOG_(INFO) << + "SUB_backup_ServiceReverse_IncrementalBackupOnFileReady_0101 service_ == nullptr"; + return; + } + service_->IncrementalBackupOnFileReady(BUNDLE_NAME, FILE_NAME, -1, -1, 0); + + IncrementalInit(IServiceReverseType::Scenario::BACKUP, 1); + service_->IncrementalBackupOnFileReady(BUNDLE_NAME, FILE_NAME, -1, -1, 0); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by IncrementalBackupOnFileReady."; + } + GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_IncrementalBackupOnFileReady_0101"; +} + +/** + * @tc.number: SUB_backup_ServiceReverse_IncrementalBackupOnFileReadyWithoutFd_0100 + * @tc.name: SUB_backup_ServiceReverse_IncrementalBackupOnFileReadyWithoutFd_0100 + * @tc.desc: 测试 IncrementalBackupOnFileReadyWithoutFd 正常分支(回调非空且场景为BACKUP) + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + */ +HWTEST_F(ServiceReverseTest, + SUB_backup_ServiceReverse_IncrementalBackupOnFileReadyWithoutFd_0100, + testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << + "ServiceReverseTest-begin SUB_backup_ServiceReverse_IncrementalBackupOnFileReadyWithoutFd_0100"; + bool called = false; + IncrementalInit(IServiceReverseType::Scenario::BACKUP, 0); + if (service_ == nullptr) { + GTEST_LOG_(INFO) << "service_ == nullptr"; + return; + } + // 设置回调 + service_->callbacksIncrementalBackup_.onFileReady = [&](const BFileInfo&, UniqueFd, UniqueFd, int32_t) { + called = true; + }; + auto ret = service_->IncrementalBackupOnFileReadyWithoutFd("bundle", "file", 123); + EXPECT_EQ(ret, 0); + EXPECT_TRUE(called); + GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_IncrementalBackupOnFileReadyWithoutFd_0100"; +} + +/** + * @tc.number: SUB_backup_ServiceReverse_IncrementalBackupOnFileReadyWithoutFd_0101 + * @tc.name: SUB_backup_ServiceReverse_IncrementalBackupOnFileReadyWithoutFd_0101 + * @tc.desc: 测试 IncrementalBackupOnFileReadyWithoutFd 回调为nullptr分支 + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + */ +HWTEST_F(ServiceReverseTest, + SUB_backup_ServiceReverse_IncrementalBackupOnFileReadyWithoutFd_0101, + testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << + "ServiceReverseTest-begin SUB_backup_ServiceReverse_IncrementalBackupOnFileReadyWithoutFd_0101"; + IncrementalInit(IServiceReverseType::Scenario::BACKUP, 0); + if (service_ == nullptr) { + GTEST_LOG_(INFO) << "service_ == nullptr"; + return; + } + service_->callbacksIncrementalBackup_.onFileReady = nullptr; + auto ret = service_->IncrementalBackupOnFileReadyWithoutFd("bundle", "file", 123); + EXPECT_EQ(ret, 0); + GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_IncrementalBackupOnFileReadyWithoutFd_0101"; +} + +/** + * @tc.number: SUB_backup_ServiceReverse_IncrementalBackupOnFileReadyWithoutFd_0102 + * @tc.name: SUB_backup_ServiceReverse_IncrementalBackupOnFileReadyWithoutFd_0102 + * @tc.desc: 测试 IncrementalBackupOnFileReadyWithoutFd 场景非BACKUP分支 + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + */ +HWTEST_F(ServiceReverseTest, + SUB_backup_ServiceReverse_IncrementalBackupOnFileReadyWithoutFd_0102, + testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << + "ServiceReverseTest-begin SUB_backup_ServiceReverse_IncrementalBackupOnFileReadyWithoutFd_0102"; + IncrementalInit(IServiceReverseType::Scenario::RESTORE, 0); // 场景非BACKUP + if (service_ == nullptr) { + GTEST_LOG_(INFO) << "service_ == nullptr"; + return; + } + bool called = false; + service_->callbacksIncrementalBackup_.onFileReady = [&](const BFileInfo&, UniqueFd, UniqueFd, int32_t) { + called = true; + }; + auto ret = service_->IncrementalBackupOnFileReadyWithoutFd("bundle", "file", 123); + EXPECT_EQ(ret, 0); + EXPECT_FALSE(called); + GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_IncrementalBackupOnFileReadyWithoutFd_0102"; +} + +/** + * @tc.number: SUB_backup_ServiceReverse_IncrementalBackupOnBundleStarted_0100 + * @tc.name: SUB_backup_ServiceReverse_IncrementalBackupOnBundleStarted_0100 + * @tc.desc: 测试 IncrementalBackupOnBundleStarted 接口 + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I9116W + */ +HWTEST_F(ServiceReverseTest, + SUB_backup_ServiceReverse_IncrementalBackupOnBundleStarted_0100, + testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_IncrementalBackupOnBundleStarted_0100"; + try { + IncrementalInit(IServiceReverseType::Scenario::BACKUP); + if (service_ == nullptr) { + GTEST_LOG_(INFO) << + "SUB_backup_ServiceReverse_IncrementalBackupOnBundleStarted_0100 service_ == nullptr"; + return; + } + service_->IncrementalBackupOnBundleStarted(BError(BError::Codes::OK), BUNDLE_NAME); + service_->IncrementalRestoreOnBundleStarted(BError(BError::Codes::OK), BUNDLE_NAME); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by IncrementalBackupOnBundleStarted."; + } + GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_IncrementalBackupOnBundleStarted_0100"; +} + +/** + * @tc.number: SUB_backup_ServiceReverse_IncrementalBackupOnBundleStarted_0101 + * @tc.name: SUB_backup_ServiceReverse_IncrementalBackupOnBundleStarted_0101 + * @tc.desc: 测试 IncrementalBackupOnBundleStarted 接口 + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I9116W + */ +HWTEST_F(ServiceReverseTest, + SUB_backup_ServiceReverse_IncrementalBackupOnBundleStarted_0101, + testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_IncrementalBackupOnBundleStarted_0101"; + try { + IncrementalInit(IServiceReverseType::Scenario::RESTORE); + if (service_ == nullptr) { + GTEST_LOG_(INFO) << + "SUB_backup_ServiceReverse_IncrementalBackupOnBundleStarted_0101 service_ == nullptr"; + return; + } + service_->IncrementalBackupOnBundleStarted(BError(BError::Codes::OK), BUNDLE_NAME); + + IncrementalInit(IServiceReverseType::Scenario::BACKUP, 1); + service_->IncrementalBackupOnBundleStarted(BError(BError::Codes::OK), BUNDLE_NAME); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by IncrementalBackupOnBundleStarted."; + } + GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_IncrementalBackupOnBundleStarted_0101"; +} + +/** + * @tc.number: SUB_backup_ServiceReverse_IncrementalBackupOnBundleFinished_0100 + * @tc.name: SUB_backup_ServiceReverse_IncrementalBackupOnBundleFinished_0100 + * @tc.desc: 测试 IncrementalBackupOnBundleFinished 接口 + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I9116W + */ +HWTEST_F(ServiceReverseTest, + SUB_backup_ServiceReverse_IncrementalBackupOnBundleFinished_0100, + testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_IncrementalBackupOnBundleFinished_0100"; + try { + IncrementalInit(IServiceReverseType::Scenario::BACKUP); + if (service_ == nullptr) { + GTEST_LOG_(INFO) << + "SUB_backup_ServiceReverse_IncrementalBackupOnBundleFinished_0100 service_ == nullptr"; + return; + } + service_->IncrementalBackupOnBundleFinished(BError(BError::Codes::OK), BUNDLE_NAME); + service_->IncrementalRestoreOnBundleFinished(BError(BError::Codes::OK), BUNDLE_NAME); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by IncrementalBackupOnBundleFinished."; + } + GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_IncrementalBackupOnBundleFinished_0100"; +} + +/** + * @tc.number: SUB_backup_ServiceReverse_IncrementalBackupOnBundleFinished_0101 + * @tc.name: SUB_backup_ServiceReverse_IncrementalBackupOnBundleFinished_0101 + * @tc.desc: 测试 IncrementalBackupOnBundleFinished 接口 + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I9116W + */ +HWTEST_F(ServiceReverseTest, + SUB_backup_ServiceReverse_IncrementalBackupOnBundleFinished_0101, + testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_IncrementalBackupOnBundleFinished_0101"; + try { + IncrementalInit(IServiceReverseType::Scenario::RESTORE); + if (service_ == nullptr) { + GTEST_LOG_(INFO) << + "SUB_backup_ServiceReverse_IncrementalBackupOnBundleFinished_0101 service_ == nullptr"; + return; + } + service_->IncrementalBackupOnBundleFinished(BError(BError::Codes::OK), BUNDLE_NAME); + + IncrementalInit(IServiceReverseType::Scenario::BACKUP, 1); + service_->IncrementalBackupOnBundleFinished(BError(BError::Codes::OK), BUNDLE_NAME); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by IncrementalBackupOnBundleFinished."; + } + GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_IncrementalBackupOnBundleFinished_0101"; +} + +/** + * @tc.number: SUB_backup_ServiceReverse_IncrementalBackupOnAllBundlesFinished_0100 + * @tc.name: SUB_backup_ServiceReverse_IncrementalBackupOnAllBundlesFinished_0100 + * @tc.desc: 测试 IncrementalBackupOnAllBundlesFinished 接口 + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I9116W + */ +HWTEST_F(ServiceReverseTest, + SUB_backup_ServiceReverse_IncrementalBackupOnAllBundlesFinished_0100, + testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_IncrementalBackupOnAllBundlesFinished_0100"; + try { + IncrementalInit(IServiceReverseType::Scenario::BACKUP); + if (service_ == nullptr) { + GTEST_LOG_(INFO) << + "SUB_backup_ServiceReverse_IncrementalBackupOnAllBundlesFinished_0100 service_ == nullptr"; + return; + } + service_->IncrementalBackupOnAllBundlesFinished(BError(BError::Codes::OK)); + service_->IncrementalRestoreOnAllBundlesFinished(BError(BError::Codes::OK)); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by IncrementalBackupOnAllBundlesFinished."; + } + GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_IncrementalBackupOnAllBundlesFinished_0100"; +} + +/** + * @tc.number: SUB_backup_ServiceReverse_IncrementalBackupOnAllBundlesFinished_0101 + * @tc.name: SUB_backup_ServiceReverse_IncrementalBackupOnAllBundlesFinished_0101 + * @tc.desc: 测试 IncrementalBackupOnAllBundlesFinished 接口 + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I9116W + */ +HWTEST_F(ServiceReverseTest, + SUB_backup_ServiceReverse_IncrementalBackupOnAllBundlesFinished_0101, + testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_IncrementalBackupOnAllBundlesFinished_0101"; + try { + IncrementalInit(IServiceReverseType::Scenario::RESTORE); + if (service_ == nullptr) { + GTEST_LOG_(INFO) << + "SUB_backup_ServiceReverse_IncrementalBackupOnAllBundlesFinished_0101 service_ == nullptr"; + return; + } + service_->IncrementalBackupOnAllBundlesFinished(BError(BError::Codes::OK)); + + IncrementalInit(IServiceReverseType::Scenario::BACKUP, 1); + service_->IncrementalBackupOnAllBundlesFinished(BError(BError::Codes::OK)); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by IncrementalBackupOnAllBundlesFinished."; + } + GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_IncrementalBackupOnAllBundlesFinished_0101"; +} + +/** + * @tc.number: SUB_backup_ServiceReverse_IncrementalRestoreOnFileReady_0100 + * @tc.name: SUB_backup_ServiceReverse_IncrementalRestoreOnFileReady_0100 + * @tc.desc: 测试 IncrementalRestoreOnFileReady 接口 + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I9116W + */ +HWTEST_F(ServiceReverseTest, + SUB_backup_ServiceReverse_IncrementalRestoreOnFileReady_0100, + testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_IncrementalRestoreOnFileReady_0100"; + try { + IncrementalInit(IServiceReverseType::Scenario::RESTORE); + if (service_ == nullptr) { + GTEST_LOG_(INFO) << + "SUB_backup_ServiceReverse_IncrementalRestoreOnFileReady_0100 service_ == nullptr"; + return; + } + service_->IncrementalRestoreOnFileReady(BUNDLE_NAME, FILE_NAME, -1, -1, 0); + service_->IncrementalBackupOnFileReady(BUNDLE_NAME, FILE_NAME, -1, -1, 0); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by IncrementalRestoreOnFileReady."; + } + GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_IncrementalRestoreOnFileReady_0100"; +} + +/** + * @tc.number: SUB_backup_ServiceReverse_IncrementalRestoreOnFileReady_0101 + * @tc.name: SUB_backup_ServiceReverse_IncrementalRestoreOnFileReady_0101 + * @tc.desc: 测试 IncrementalRestoreOnFileReady 接口 + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I9116W + */ +HWTEST_F(ServiceReverseTest, + SUB_backup_ServiceReverse_IncrementalRestoreOnFileReady_0101, + testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_IncrementalRestoreOnFileReady_0101"; + try { + IncrementalInit(IServiceReverseType::Scenario::BACKUP); + if (service_ == nullptr) { + GTEST_LOG_(INFO) << + "SUB_backup_ServiceReverse_IncrementalRestoreOnFileReady_0101 service_ == nullptr"; + return; + } + service_->IncrementalRestoreOnFileReady(BUNDLE_NAME, FILE_NAME, -1, -1, 0); + + IncrementalInit(IServiceReverseType::Scenario::RESTORE, 1); + service_->IncrementalRestoreOnFileReady(BUNDLE_NAME, FILE_NAME, -1, -1, 0); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by IncrementalRestoreOnFileReady."; + } + GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_IncrementalRestoreOnFileReady_0101"; +} + +/** + * @tc.number: SUB_backup_ServiceReverse_IncrementalRestoreOnFileReadyWithoutFd_0100 + * @tc.name: SUB_backup_ServiceReverse_IncrementalRestoreOnFileReadyWithoutFd_0100 + * @tc.desc: 测试 IncrementalRestoreOnFileReadyWithoutFd 正常分支(回调非空且场景为RESTORE) + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + */ +HWTEST_F(ServiceReverseTest, + SUB_backup_ServiceReverse_IncrementalRestoreOnFileReadyWithoutFd_0100, + testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << + "ServiceReverseTest-begin SUB_backup_ServiceReverse_IncrementalRestoreOnFileReadyWithoutFd_0100"; + bool called = false; + IncrementalInit(IServiceReverseType::Scenario::RESTORE, 0); + if (service_ == nullptr) { + GTEST_LOG_(INFO) << "service_ == nullptr"; + return; + } + service_->callbacksIncrementalRestore_.onFileReady = [&](const BFileInfo&, UniqueFd, UniqueFd, int32_t) { + called = true; + }; + auto ret = service_->IncrementalRestoreOnFileReadyWithoutFd("bundle", "file", 123); + EXPECT_EQ(ret, 0); + EXPECT_TRUE(called); + GTEST_LOG_(INFO) << + "ServiceReverseTest-end SUB_backup_ServiceReverse_IncrementalRestoreOnFileReadyWithoutFd_0100"; +} + +/** + * @tc.number: SUB_backup_ServiceReverse_IncrementalRestoreOnFileReadyWithoutFd_0101 + * @tc.name: SUB_backup_ServiceReverse_IncrementalRestoreOnFileReadyWithoutFd_0101 + * @tc.desc: 测试 IncrementalRestoreOnFileReadyWithoutFd 回调为nullptr分支 + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + */ +HWTEST_F(ServiceReverseTest, + SUB_backup_ServiceReverse_IncrementalRestoreOnFileReadyWithoutFd_0101, + testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << + "ServiceReverseTest-begin SUB_backup_ServiceReverse_IncrementalRestoreOnFileReadyWithoutFd_0101"; + IncrementalInit(IServiceReverseType::Scenario::RESTORE, 0); + if (service_ == nullptr) { + GTEST_LOG_(INFO) << "service_ == nullptr"; + return; + } + service_->callbacksIncrementalRestore_.onFileReady = nullptr; + auto ret = service_->IncrementalRestoreOnFileReadyWithoutFd("bundle", "file", 123); + EXPECT_EQ(ret, 0); + GTEST_LOG_(INFO) << + "ServiceReverseTest-end SUB_backup_ServiceReverse_IncrementalRestoreOnFileReadyWithoutFd_0101"; +} + +/** + * @tc.number: SUB_backup_ServiceReverse_IncrementalRestoreOnFileReadyWithoutFd_0102 + * @tc.name: SUB_backup_ServiceReverse_IncrementalRestoreOnFileReadyWithoutFd_0102 + * @tc.desc: 测试 IncrementalRestoreOnFileReadyWithoutFd 场景非RESTORE分支 + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + */ +HWTEST_F(ServiceReverseTest, + SUB_backup_ServiceReverse_IncrementalRestoreOnFileReadyWithoutFd_0102, + testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << + "ServiceReverseTest-begin SUB_backup_ServiceReverse_IncrementalRestoreOnFileReadyWithoutFd_0102"; + IncrementalInit(IServiceReverseType::Scenario::BACKUP, 0); // 场景非RESTORE + if (service_ == nullptr) { + GTEST_LOG_(INFO) << "service_ == nullptr"; + return; + } + bool called = false; + service_->callbacksIncrementalRestore_.onFileReady = [&](const BFileInfo&, UniqueFd, UniqueFd, int32_t) { + called = true; + }; + auto ret = service_->IncrementalRestoreOnFileReadyWithoutFd("bundle", "file", 123); + EXPECT_EQ(ret, 0); + EXPECT_FALSE(called); + GTEST_LOG_(INFO) << + "ServiceReverseTest-end SUB_backup_ServiceReverse_IncrementalRestoreOnFileReadyWithoutFd_0102"; +} + +/** + * @tc.number: SUB_backup_ServiceReverse_IncrementalRestoreOnBundleStarted_0100 + * @tc.name: SUB_backup_ServiceReverse_IncrementalRestoreOnBundleStarted_0100 + * @tc.desc: 测试 IncrementalRestoreOnBundleStarted 接口 + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I9116W + */ +HWTEST_F(ServiceReverseTest, + SUB_backup_ServiceReverse_IncrementalRestoreOnBundleStarted_0100, + testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_IncrementalRestoreOnBundleStarted_0100"; + try { + IncrementalInit(IServiceReverseType::Scenario::RESTORE); + if (service_ == nullptr) { + GTEST_LOG_(INFO) << + "SUB_backup_ServiceReverse_IncrementalRestoreOnBundleStarted_0100 service_ == nullptr"; + return; + } + service_->IncrementalRestoreOnBundleStarted(BError(BError::Codes::OK), BUNDLE_NAME); + service_->IncrementalBackupOnBundleStarted(BError(BError::Codes::OK), BUNDLE_NAME); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by IncrementalRestoreOnBundleStarted."; + } + GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_IncrementalRestoreOnBundleStarted_0100"; +} + +/** + * @tc.number: SUB_backup_ServiceReverse_IncrementalRestoreOnBundleStarted_0101 + * @tc.name: SUB_backup_ServiceReverse_IncrementalRestoreOnBundleStarted_0101 + * @tc.desc: 测试 IncrementalRestoreOnBundleStarted 接口 + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I9116W + */ +HWTEST_F(ServiceReverseTest, + SUB_backup_ServiceReverse_IncrementalRestoreOnBundleStarted_0101, + testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_IncrementalRestoreOnBundleStarted_0101"; + try { + IncrementalInit(IServiceReverseType::Scenario::BACKUP); + if (service_ == nullptr) { + GTEST_LOG_(INFO) << + "SUB_backup_ServiceReverse_IncrementalRestoreOnBundleStarted_0101 service_ == nullptr"; + return; + } + service_->IncrementalRestoreOnBundleStarted(BError(BError::Codes::OK), BUNDLE_NAME); + + IncrementalInit(IServiceReverseType::Scenario::RESTORE, 1); + service_->IncrementalRestoreOnBundleStarted(BError(BError::Codes::OK), BUNDLE_NAME); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by IncrementalRestoreOnBundleStarted."; + } + GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_IncrementalRestoreOnBundleStarted_0101"; +} + +/** + * @tc.number: SUB_backup_ServiceReverse_IncrementalRestoreOnBundleFinished_0100 + * @tc.name: SUB_backup_ServiceReverse_IncrementalRestoreOnBundleFinished_0100 + * @tc.desc: 测试 IncrementalRestoreOnBundleFinished 接口 + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I9116W + */ +HWTEST_F(ServiceReverseTest, + SUB_backup_ServiceReverse_IncrementalRestoreOnBundleFinished_0100, + testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_IncrementalRestoreOnBundleFinished_0100"; + try { + IncrementalInit(IServiceReverseType::Scenario::RESTORE); + if (service_ == nullptr) { + GTEST_LOG_(INFO) << + "SUB_backup_ServiceReverse_IncrementalRestoreOnBundleFinished_0100 service_ == nullptr"; + return; + } + service_->IncrementalRestoreOnBundleFinished(BError(BError::Codes::OK), BUNDLE_NAME); + service_->IncrementalBackupOnBundleFinished(BError(BError::Codes::OK), BUNDLE_NAME); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by IncrementalRestoreOnBundleFinished."; + } + GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_IncrementalRestoreOnBundleFinished_0100"; +} + +/** + * @tc.number: SUB_backup_ServiceReverse_IncrementalRestoreOnBundleFinished_0101 + * @tc.name: SUB_backup_ServiceReverse_IncrementalRestoreOnBundleFinished_0101 + * @tc.desc: 测试 IncrementalRestoreOnBundleFinished 接口 + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I9116W + */ +HWTEST_F(ServiceReverseTest, + SUB_backup_ServiceReverse_IncrementalRestoreOnBundleFinished_0101, + testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_IncrementalRestoreOnBundleFinished_0101"; + try { + IncrementalInit(IServiceReverseType::Scenario::BACKUP); + if (service_ == nullptr) { + GTEST_LOG_(INFO) << + "SUB_backup_ServiceReverse_IncrementalRestoreOnBundleFinished_0101 service_ == nullptr"; + return; + } + service_->IncrementalRestoreOnBundleFinished(BError(BError::Codes::OK), BUNDLE_NAME); + + IncrementalInit(IServiceReverseType::Scenario::RESTORE, 1); + service_->IncrementalRestoreOnBundleFinished(BError(BError::Codes::OK), BUNDLE_NAME); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by IncrementalRestoreOnBundleFinished."; + } + GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_IncrementalRestoreOnBundleFinished_0101"; +} + +/** + * @tc.number: SUB_backup_ServiceReverse_IncrementalRestoreOnAllBundlesFinished_0100 + * @tc.name: SUB_backup_ServiceReverse_IncrementalRestoreOnAllBundlesFinished_0100 + * @tc.desc: 测试 IncrementalRestoreOnAllBundlesFinished 接口 + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I9116W + */ +HWTEST_F(ServiceReverseTest, + SUB_backup_ServiceReverse_IncrementalRestoreOnAllBundlesFinished_0100, + testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) + << "ServiceReverseTest-begin SUB_backup_ServiceReverse_IncrementalRestoreOnAllBundlesFinished_0100"; + try { + IncrementalInit(IServiceReverseType::Scenario::RESTORE); + if (service_ == nullptr) { + GTEST_LOG_(INFO) << + "SUB_backup_ServiceReverse_IncrementalRestoreOnAllBundlesFinished_0100 service_ == nullptr"; + return; + } + service_->IncrementalRestoreOnAllBundlesFinished(BError(BError::Codes::OK)); + service_->IncrementalBackupOnAllBundlesFinished(BError(BError::Codes::OK)); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by IncrementalRestoreOnAllBundlesFinished."; + } + GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_IncrementalRestoreOnAllBundlesFinished_0100"; +} + +/** + * @tc.number: SUB_backup_ServiceReverse_IncrementalRestoreOnAllBundlesFinished_0101 + * @tc.name: SUB_backup_ServiceReverse_IncrementalRestoreOnAllBundlesFinished_0101 + * @tc.desc: 测试 IncrementalRestoreOnAllBundlesFinished 接口 + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I9116W + */ +HWTEST_F(ServiceReverseTest, + SUB_backup_ServiceReverse_IncrementalRestoreOnAllBundlesFinished_0101, + testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) + << "ServiceReverseTest-begin SUB_backup_ServiceReverse_IncrementalRestoreOnAllBundlesFinished_0101"; + try { + IncrementalInit(IServiceReverseType::Scenario::BACKUP); + if (service_ == nullptr) { + GTEST_LOG_(INFO) << + "SUB_backup_ServiceReverse_IncrementalRestoreOnAllBundlesFinished_0101 service_ == nullptr"; + return; + } + service_->IncrementalRestoreOnAllBundlesFinished(BError(BError::Codes::OK)); + + IncrementalInit(IServiceReverseType::Scenario::RESTORE, 1); + service_->IncrementalRestoreOnAllBundlesFinished(BError(BError::Codes::OK)); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by IncrementalRestoreOnAllBundlesFinished."; + } + GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_IncrementalRestoreOnAllBundlesFinished_0101"; +} + +/** + * @tc.number: SUB_backup_ServiceReverse_RestoreOnResultReport_0100 + * @tc.name: SUB_backup_ServiceReverse_RestoreOnResultReport_0100 + * @tc.desc: 测试 RestoreOnResultReport 接口 + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I6F3GV + */ +HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_RestoreOnResultReport_0100, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_RestoreOnResultReport_0100"; + try { + Init(IServiceReverseType::Scenario::RESTORE); + if (service_ == nullptr) { + GTEST_LOG_(INFO) << "SUB_backup_ServiceReverse_RestoreOnResultReport_0100 service_ == nullptr"; + return; + } + std::string resultReport = "result_report"; + std::string bundleName = BUNDLE_NAME; + service_->RestoreOnResultReport(resultReport, bundleName); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by RestoreOnResultReport."; + } + GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_RestoreOnResultReport_0100"; +} + +/** + * @tc.number: SUB_backup_ServiceReverse_RestoreOnResultReport_0101 + * @tc.name: SUB_backup_ServiceReverse_RestoreOnResultReport_0101 + * @tc.desc: 测试 RestoreOnResultReport 接口 + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I6F3GV + */ +HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_RestoreOnResultReport_0101, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_RestoreOnResultReport_0101"; + try { + Init(IServiceReverseType::Scenario::RESTORE, 1); + if (service_ == nullptr) { + GTEST_LOG_(INFO) << "SUB_backup_ServiceReverse_RestoreOnResultReport_0101 service_ == nullptr"; + return; + } + std::string resultReport = "result_report"; + std::string bundleName = BUNDLE_NAME; + service_->RestoreOnResultReport(resultReport, bundleName); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by RestoreOnResultReport."; + } + GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_RestoreOnResultReport_0101"; +} + +/** + * @tc.number: SUB_backup_ServiceReverse_IncrementalRestoreOnResultReport_0100 + * @tc.name: SUB_backup_ServiceReverse_IncrementalRestoreOnResultReport_0100 + * @tc.desc: 测试 IncrementalRestoreOnResultReport 接口 + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I6F3GV + */ +HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_IncrementalRestoreOnResultReport_0100, + testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_IncrementalRestoreOnResultReport_0100"; + try { + IncrementalInit(IServiceReverseType::Scenario::RESTORE); + if (service_ == nullptr) { + GTEST_LOG_(INFO) << "SUB_backup_ServiceReverse_IncrementalRestoreOnResultReport_0100 service_ == nullptr"; + return; + } + std::string resultReport = "result_report"; + std::string bundleName = BUNDLE_NAME; + service_->IncrementalRestoreOnResultReport(resultReport, bundleName, 0); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by IncrementalRestoreOnResultReport."; + } + GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_IncrementalRestoreOnResultReport_0100"; +} + +/** + * @tc.number: SUB_backup_ServiceReverse_IncrementalRestoreOnResultReport_0101 + * @tc.name: SUB_backup_ServiceReverse_IncrementalRestoreOnResultReport_0101 + * @tc.desc: 测试 IncrementalRestoreOnResultReport 接口 + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I6F3GV + */ +HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_IncrementalRestoreOnResultReport_0101, + testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_IncrementalRestoreOnResultReport_0101"; + try { + IncrementalInit(IServiceReverseType::Scenario::RESTORE, 1); + if (service_ == nullptr) { + GTEST_LOG_(INFO) << "SUB_backup_ServiceReverse_IncrementalRestoreOnResultReport_0101 service_ == nullptr"; + return; + } + std::string resultReport = "result_report"; + std::string bundleName = BUNDLE_NAME; + service_->IncrementalRestoreOnResultReport(resultReport, bundleName, 0); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by IncrementalRestoreOnResultReport."; + } + GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_IncrementalRestoreOnResultReport_0101"; +} + +/** + * @tc.number: SUB_backup_ServiceReverse_BackupOnResultReport_0100 + * @tc.name: SUB_backup_ServiceReverse_BackupOnResultReport_0100 + * @tc.desc: 测试 BackupOnResultReport 接口 + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I6F3GV + */ +HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_BackupOnResultReport_0100, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_BackupOnResultReport_0100"; + try { + Init(IServiceReverseType::Scenario::BACKUP); + std::string resultReport = "result_report"; + std::string bundleName = BUNDLE_NAME; + if (service_ == nullptr) { + GTEST_LOG_(INFO) << "SUB_backup_ServiceReverse_BackupOnResultReport_0100 service_ == nullptr"; + return; + } + service_->BackupOnResultReport(resultReport, bundleName); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by BackupOnResultReport."; + } + GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_BackupOnResultReport_0100"; +} + +/** + * @tc.number: SUB_backup_ServiceReverse_BackupOnResultReport_0101 + * @tc.name: SUB_backup_ServiceReverse_BackupOnResultReport_0101 + * @tc.desc: 测试 BackupOnResultReport 接口 + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I6F3GV + */ +HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_BackupOnResultReport_0101, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_BackupOnResultReport_0101"; + try { + Init(IServiceReverseType::Scenario::BACKUP, 1); + std::string resultReport = "result_report"; + std::string bundleName = BUNDLE_NAME; + if (service_ == nullptr) { + GTEST_LOG_(INFO) << "SUB_backup_ServiceReverse_BackupOnResultReport_0101 service_ == nullptr"; + return; + } + service_->BackupOnResultReport(resultReport, bundleName); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by BackupOnResultReport."; + } + GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_BackupOnResultReport_0101"; +} + +/** + * @tc.number: SUB_backup_ServiceReverse_IncrementalBackupOnResultReport_0100 + * @tc.name: SUB_backup_ServiceReverse_IncrementalBackupOnResultReport_0100 + * @tc.desc: 测试 IncrementalBackupOnResultReport 接口 + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I6F3GV + */ +HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_IncrementalBackupOnResultReport_0100, + testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_IncrementalBackupOnResultReport_0100"; + try { + IncrementalInit(IServiceReverseType::Scenario::BACKUP); + std::string resultReport = "result_report"; + std::string bundleName = BUNDLE_NAME; + if (service_ == nullptr) { + GTEST_LOG_(INFO) << "SUB_backup_ServiceReverse_IncrementalBackupOnResultReport_0100 service_ == nullptr"; + return; + } + service_->IncrementalBackupOnResultReport(resultReport, bundleName); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by IncrementalBackupOnResultReport."; + } + GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_IncrementalBackupOnResultReport_0100"; +} + +/** + * @tc.number: SUB_backup_ServiceReverse_IncrementalBackupOnResultReport_0101 + * @tc.name: SUB_backup_ServiceReverse_IncrementalBackupOnResultReport_0101 + * @tc.desc: 测试 IncrementalBackupOnResultReport 接口 + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I6F3GV + */ +HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_IncrementalBackupOnResultReport_0101, + testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_IncrementalBackupOnResultReport_0101"; + try { + IncrementalInit(IServiceReverseType::Scenario::BACKUP, 1); + std::string resultReport = "result_report"; + std::string bundleName = BUNDLE_NAME; + if (service_ == nullptr) { + GTEST_LOG_(INFO) << "SUB_backup_ServiceReverse_IncrementalBackupOnResultReport_0101 service_ == nullptr"; + return; + } + service_->IncrementalBackupOnResultReport(resultReport, bundleName); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by IncrementalBackupOnResultReport."; + } + GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_IncrementalBackupOnResultReport_0101"; +} + +/** + * @tc.number: SUB_backup_ServiceReverse_BackupOnScanningInfo_0100 + * @tc.name: SUB_backup_ServiceReverse_BackupOnScanningInfo_0100 + * @tc.desc: 测试 BackupOnScanningInfo 接口 + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I6F3GV + */ +HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_BackupOnScanningInfo_0100, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_BackupOnScanningInfo_0100"; + try { + Init(IServiceReverseType::Scenario::BACKUP); + if (service_ == nullptr) { + GTEST_LOG_(INFO) << + "SUB_backup_ServiceReverse_BackupOnScanningInfo_0100 service_ == nullptr"; + return; + } + std::string scannedInfo = ""; + service_->BackupOnScanningInfo(scannedInfo); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by BackupOnScanningInfo."; + } + GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_BackupOnScanningInfo_0100"; +} + +/** + * @tc.number: SUB_backup_ServiceReverse_BackupOnScanningInfo_0101 + * @tc.name: SUB_backup_ServiceReverse_BackupOnScanningInfo_0101 + * @tc.desc: 测试 BackupOnScanningInfo 接口 + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I6F3GV + */ +HWTEST_F(ServiceReverseTest, SUB_backup_ServiceReverse_BackupOnScanningInfo_0101, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_BackupOnScanningInfo_0101"; + try { + Init(IServiceReverseType::Scenario::RESTORE); + if (service_ == nullptr) { + GTEST_LOG_(INFO) << + "SUB_backup_ServiceReverse_BackupOnScanningInfo_0101 service_ == nullptr"; + return; + } + std::string scannedInfo = ""; + service_->BackupOnScanningInfo(scannedInfo); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by BackupOnScanningInfo."; + } + GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_BackupOnScanningInfo_0101"; +} + +/** + * @tc.number: SUB_backup_ServiceReverse_IncrementalBackupOnScanningInfo_0100 + * @tc.name: SUB_backup_ServiceReverse_IncrementalBackupOnScanningInfo_0100 + * @tc.desc: 测试 IncrementalBackupOnScanningInfo 接口 + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I6F3GV + */ +HWTEST_F(ServiceReverseTest, + SUB_backup_ServiceReverse_IncrementalBackupOnScanningInfo_0100, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_IncrementalBackupOnScanningInfo_0100"; + try { + Init(IServiceReverseType::Scenario::RESTORE); + if (service_ == nullptr) { + GTEST_LOG_(INFO) << + "SUB_backup_ServiceReverse_IncrementalBackupOnScanningInfo_0100 service_ == nullptr"; + return; + } + std::string scannedInfo = ""; + service_->BackupOnScanningInfo(scannedInfo); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by BackupOnScanningInfo."; + } + GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_IncrementalBackupOnScanningInfo_0100"; +} + +/** + * @tc.number: SUB_backup_ServiceReverse_IncrementalBackupOnScanningInfo_0101 + * @tc.name: SUB_backup_ServiceReverse_IncrementalBackupOnScanningInfo_0101 + * @tc.desc: 测试 IncrementalBackupOnScanningInfo 接口 + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I6F3GV + */ +HWTEST_F(ServiceReverseTest, + SUB_backup_ServiceReverse_IncrementalBackupOnScanningInfo_0101, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "ServiceReverseTest-begin SUB_backup_ServiceReverse_IncrementalBackupOnScanningInfo_0101"; + try { + Init(IServiceReverseType::Scenario::BACKUP); + if (service_ == nullptr) { + GTEST_LOG_(INFO) << + "SUB_backup_ServiceReverse_IncrementalBackupOnScanningInfo_0101 service_ == nullptr"; + return; + } + std::string scannedInfo = ""; + service_->BackupOnScanningInfo(scannedInfo); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "ServiceReverseTest-an exception occurred by BackupOnScanningInfo."; + } + GTEST_LOG_(INFO) << "ServiceReverseTest-end SUB_backup_ServiceReverse_IncrementalBackupOnScanningInfo_0101"; +} } // namespace OHOS::FileManagement::Backup \ No newline at end of file -- Gitee From 3d17044a01b8b300837f50170af89a1abaab2aa3 Mon Sep 17 00:00:00 2001 From: BrainL Date: Thu, 19 Jun 2025 18:23:14 +0800 Subject: [PATCH 10/12] fixed the codecheck. Signed-off-by: BrainL Change-Id: Ibb883c78177384514dfb1809529b67a60842ba72 --- frameworks/native/backup_ext/src/ext_extension.cpp | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/frameworks/native/backup_ext/src/ext_extension.cpp b/frameworks/native/backup_ext/src/ext_extension.cpp index c3a84012a..158c03e48 100644 --- a/frameworks/native/backup_ext/src/ext_extension.cpp +++ b/frameworks/native/backup_ext/src/ext_extension.cpp @@ -2152,12 +2152,8 @@ ErrCode BackupExtExtension::IncrementalBigFileReady(TarMap &pkgInfo, } else { HILOGE("IncrementalBigFileReady interface fails to be invoked: %{public}d", ret); } - if (fdval >= 0) { - close(fdval); - } - if (manifestFdval >=0) { - close(manifestFdval); - } + fdval >= 0 && close(fdval); + manifestFdval >= 0 && close(manifestFdval); fdNum += BConstants::FILE_AND_MANIFEST_FD_COUNT; RefreshTimeInfo(startTime, fdNum); } -- Gitee From 337dbe68734490435e66ebf3eac9955777829e8c Mon Sep 17 00:00:00 2001 From: BrainL Date: Thu, 19 Jun 2025 19:12:05 +0800 Subject: [PATCH 11/12] fixed the codecheck. Signed-off-by: BrainL Change-Id: Icbc4e525ef8d5cfd8c0bd2b594956143c7f66f7f --- frameworks/native/backup_ext/src/ext_extension.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/frameworks/native/backup_ext/src/ext_extension.cpp b/frameworks/native/backup_ext/src/ext_extension.cpp index 158c03e48..7b7a51f3c 100644 --- a/frameworks/native/backup_ext/src/ext_extension.cpp +++ b/frameworks/native/backup_ext/src/ext_extension.cpp @@ -2143,8 +2143,7 @@ ErrCode BackupExtExtension::IncrementalBigFileReady(TarMap &pkgInfo, string file = GetReportFileName(string(INDEX_FILE_INCREMENTAL_BACKUP).append(item.first)); WriteFile(file, bigInfo); int manifestFdval = open(file.data(), O_RDONLY); - bool fdFlag = (fdval < 0 || manifestFdval < 0) ? true : false; - ErrCode ret = fdFlag ? proxy->AppIncrementalFileReadyWithoutFd(item.first, errCode) : + ErrCode ret = (fdval < 0 || manifestFdval < 0) ? proxy->AppIncrementalFileReadyWithoutFd(item.first, errCode) : proxy->AppIncrementalFileReady(item.first, fdval, manifestFdval, errCode); if (SUCCEEDED(ret)) { HILOGI("IncreBigFileReady: The app is packaged success, package name is %{public}s", item.first.c_str()); -- Gitee From d4cf1f2d608c1388ed0e8f55414e887ec58f34dc Mon Sep 17 00:00:00 2001 From: BrainL Date: Fri, 20 Jun 2025 18:07:29 +0800 Subject: [PATCH 12/12] fixed the codecheck. Signed-off-by: BrainL Change-Id: I2b8d17d059de155674d3723cb681a98338d661a6 --- .../native/backup_ext/include/ext_extension.h | 1 + .../native/backup_ext/src/ext_extension.cpp | 23 +++++++++++++------ 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/frameworks/native/backup_ext/include/ext_extension.h b/frameworks/native/backup_ext/include/ext_extension.h index e41e31346..6d545f815 100644 --- a/frameworks/native/backup_ext/include/ext_extension.h +++ b/frameworks/native/backup_ext/include/ext_extension.h @@ -239,6 +239,7 @@ private: void CheckTmpDirFileInfos(bool isSpecialVersion = false); std::map GetIdxFileInfos(bool isSpecialVersion = false); tuple> CheckRestoreFileInfos(); + void CheckAppIncrementalFileReadyResult(int32_t ret, std::string packageName, std::string file); /** * @brief extension incremental backup restore is done * diff --git a/frameworks/native/backup_ext/src/ext_extension.cpp b/frameworks/native/backup_ext/src/ext_extension.cpp index 7b7a51f3c..ee46dd698 100644 --- a/frameworks/native/backup_ext/src/ext_extension.cpp +++ b/frameworks/native/backup_ext/src/ext_extension.cpp @@ -2145,14 +2145,13 @@ ErrCode BackupExtExtension::IncrementalBigFileReady(TarMap &pkgInfo, int manifestFdval = open(file.data(), O_RDONLY); ErrCode ret = (fdval < 0 || manifestFdval < 0) ? proxy->AppIncrementalFileReadyWithoutFd(item.first, errCode) : proxy->AppIncrementalFileReady(item.first, fdval, manifestFdval, errCode); - if (SUCCEEDED(ret)) { - HILOGI("IncreBigFileReady: The app is packaged success, package name is %{public}s", item.first.c_str()); - RemoveFile(file); - } else { - HILOGE("IncrementalBigFileReady interface fails to be invoked: %{public}d", ret); + CheckAppIncrementalFileReadyResult(ret, item.first, file); + if (fdval >= 0) { + close(fdval); + } + if (manifestFdval >=0) { + close(manifestFdval); } - fdval >= 0 && close(fdval); - manifestFdval >= 0 && close(manifestFdval); fdNum += BConstants::FILE_AND_MANIFEST_FD_COUNT; RefreshTimeInfo(startTime, fdNum); } @@ -2161,6 +2160,16 @@ ErrCode BackupExtExtension::IncrementalBigFileReady(TarMap &pkgInfo, return ret; } +void BackupExtExtension::CheckAppIncrementalFileReadyResult(int32_t ret, std::string packageName, std::string file) +{ + if (SUCCEEDED(ret)) { + HILOGI("IncreBigFileReady: The app is packaged success, package name is %{public}s", packageName.c_str()); + RemoveFile(file); + } else { + HILOGE("IncrementalBigFileReady interface fails to be invoked: %{public}d", ret); + } +} + ErrCode BackupExtExtension::IncrementalAllFileReady(const TarMap &pkgInfo, const vector &srcFiles, sptr proxy) { -- Gitee