diff --git a/tests/unittests/backup_sa/module_ipc/service_reverse_proxy_test.cpp b/tests/unittests/backup_sa/module_ipc/service_reverse_proxy_test.cpp index 48853ff353a59615de35cf6e450c0bba9fefc0f3..f554d5263c5c469bcbe77f5b52d04904817a0574 100644 --- a/tests/unittests/backup_sa/module_ipc/service_reverse_proxy_test.cpp +++ b/tests/unittests/backup_sa/module_ipc/service_reverse_proxy_test.cpp @@ -2524,4 +2524,163 @@ HWTEST_F(ServiceReverseProxyTest, SUB_ServiceReverse_proxy_IncrementalRestoreOnP } GTEST_LOG_(INFO) << "ServiceReverseProxyTest-end SUB_ServiceReverse_proxy_IncrementalRestoreOnProcessInfo_0101"; } + +/** + * @tc.number: SUB_ServiceReverse_proxy_BackupOnScanningInfo_0100 + * @tc.name: SUB_ServiceReverse_proxy_BackupOnScanningInfo_0100 + * @tc.desc: Test function of BackupOnScanningInfo interface for SUCCESS. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I6F3GV + */ +HWTEST_F(ServiceReverseProxyTest, SUB_ServiceReverse_proxy_BackupOnScanningInfo_0100, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "ServiceReverseProxyTest-begin SUB_ServiceReverse_proxy_BackupOnScanningInfo_0100"; + try { + EXPECT_CALL(*messageParcelMock_, WriteInterfaceToken(_)).WillOnce(Return(true)); + EXPECT_CALL(*messageParcelMock_, WriteString(_)).WillOnce(Return(true)); + EXPECT_CALL(*mock_, SendRequest(_, _, _, _)) + .Times(1) + .WillOnce(Invoke(mock_.GetRefPtr(), &ServiceReverseMock::InvokeSendRequest)); + EXPECT_TRUE(proxy_ != nullptr); + std::string scannedInfo; + proxy_->BackupOnScanningInfo(scannedInfo); + EXPECT_TRUE(true); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "ServiceReverseProxyTest-an exception occurred by BackupOnScanningInfo."; + } + GTEST_LOG_(INFO) << "ServiceReverseProxyTest-end SUB_ServiceReverse_proxy_BackupOnScanningInfo_0100"; +} + +/** + * @tc.number: SUB_ServiceReverse_proxy_BackupOnScanningInfo_0101 + * @tc.name: SUB_ServiceReverse_proxy_BackupOnScanningInfo_0101 + * @tc.desc: Test function of BackupOnScanningInfo interface for FAILURE. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I6F3GV + */ +HWTEST_F(ServiceReverseProxyTest, SUB_ServiceReverse_proxy_BackupOnScanningInfo_0101, + testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "ServiceReverseProxyTest-begin SUB_ServiceReverse_proxy_BackupOnScanningInfo_0101"; + try { + std::string scannedInfo; + try { + EXPECT_CALL(*messageParcelMock_, WriteInterfaceToken(_)).WillOnce(Return(false)); + EXPECT_TRUE(proxy_ != nullptr); + proxy_->BackupOnScanningInfo(scannedInfo); + EXPECT_TRUE(false); + } catch (BError &err) { + EXPECT_EQ(err.GetRawCode(), BError::Codes::SA_BROKEN_IPC); + } + + try { + EXPECT_CALL(*messageParcelMock_, WriteInterfaceToken(_)).WillOnce(Return(true)); + EXPECT_CALL(*messageParcelMock_, WriteString(_)).WillOnce(Return(false)); + EXPECT_TRUE(proxy_ != nullptr); + proxy_->BackupOnScanningInfo(scannedInfo); + EXPECT_TRUE(false); + } catch (BError &err) { + EXPECT_EQ(err.GetRawCode(), BError::Codes::SA_BROKEN_IPC); + } + + try { + EXPECT_CALL(*messageParcelMock_, WriteInterfaceToken(_)).WillOnce(Return(true)); + EXPECT_CALL(*messageParcelMock_, WriteString(_)).WillOnce(Return(true)); + EXPECT_CALL(*mock_, SendRequest(_, _, _, _)).WillOnce(Return(-1)); + proxy_->BackupOnScanningInfo(scannedInfo); + EXPECT_TRUE(false); + } catch (BError &err) { + EXPECT_EQ(err.GetRawCode(), BError::Codes::SA_BROKEN_IPC); + } + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "ServiceReverseProxyTest-an exception occurred by BackupOnScanningInfo."; + } + GTEST_LOG_(INFO) << "ServiceReverseProxyTest-end SUB_ServiceReverse_proxy_BackupOnScanningInfo_0101"; +} + +/** + * @tc.number: SUB_ServiceReverse_proxy_IncrementalBackupOnScanningInfo_0100 + * @tc.name: SUB_ServiceReverse_proxy_IncrementalBackupOnScanningInfo_0100 + * @tc.desc: Test function of IncrementalBackupOnScanningInfo interface for SUCCESS. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I6F3GV + */ +HWTEST_F(ServiceReverseProxyTest, SUB_ServiceReverse_proxy_IncrementalBackupOnScanningInfo_0100, + testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "ServiceReverseProxyTest-begin SUB_ServiceReverse_proxy_IncrementalBackupOnScanningInfo_0100"; + try { + EXPECT_CALL(*messageParcelMock_, WriteInterfaceToken(_)).WillOnce(Return(true)); + EXPECT_CALL(*messageParcelMock_, WriteString(_)).WillOnce(Return(true)); + EXPECT_CALL(*mock_, SendRequest(_, _, _, _)) + .Times(1) + .WillOnce(Invoke(mock_.GetRefPtr(), &ServiceReverseMock::InvokeSendRequest)); + EXPECT_TRUE(proxy_ != nullptr); + std::string scannedInfo; + proxy_->IncrementalBackupOnScanningInfo(scannedInfo); + EXPECT_TRUE(true); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "ServiceReverseProxyTest-an exception occurred by IncrementalBackupOnScanningInfo."; + } + GTEST_LOG_(INFO) << "ServiceReverseProxyTest-end SUB_ServiceReverse_proxy_IncrementalBackupOnScanningInfo_0100"; +} + +/** + * @tc.number: SUB_ServiceReverse_proxy_IncrementalBackupOnScanningInfo_0101 + * @tc.name: SUB_ServiceReverse_proxy_IncrementalBackupOnScanningInfo_0101 + * @tc.desc: Test function of IncrementalBackupOnScanningInfo interface for FAILURE. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I6F3GV + */ +HWTEST_F(ServiceReverseProxyTest, SUB_ServiceReverse_proxy_IncrementalBackupOnScanningInfo_0101, + testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "ServiceReverseProxyTest-begin SUB_ServiceReverse_proxy_IncrementalBackupOnScanningInfo_0101"; + try { + std::string scannedInfo; + try { + EXPECT_CALL(*messageParcelMock_, WriteInterfaceToken(_)).WillOnce(Return(false)); + EXPECT_TRUE(proxy_ != nullptr); + proxy_->IncrementalBackupOnScanningInfo(scannedInfo); + EXPECT_TRUE(false); + } catch (BError &err) { + EXPECT_EQ(err.GetRawCode(), BError::Codes::SA_BROKEN_IPC); + } + + try { + EXPECT_CALL(*messageParcelMock_, WriteInterfaceToken(_)).WillOnce(Return(true)); + EXPECT_CALL(*messageParcelMock_, WriteString(_)).WillOnce(Return(false)); + EXPECT_TRUE(proxy_ != nullptr); + proxy_->IncrementalBackupOnScanningInfo(scannedInfo); + EXPECT_TRUE(false); + } catch (BError &err) { + EXPECT_EQ(err.GetRawCode(), BError::Codes::SA_BROKEN_IPC); + } + + try { + EXPECT_CALL(*messageParcelMock_, WriteInterfaceToken(_)).WillOnce(Return(true)); + EXPECT_CALL(*messageParcelMock_, WriteString(_)).WillOnce(Return(true)); + EXPECT_CALL(*mock_, SendRequest(_, _, _, _)).WillOnce(Return(-1)); + proxy_->IncrementalBackupOnScanningInfo(scannedInfo); + EXPECT_TRUE(false); + } catch (BError &err) { + EXPECT_EQ(err.GetRawCode(), BError::Codes::SA_BROKEN_IPC); + } + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "ServiceReverseProxyTest-an exception occurred by IncrementalBackupOnScanningInfo."; + } + GTEST_LOG_(INFO) << "ServiceReverseProxyTest-end SUB_ServiceReverse_proxy_IncrementalBackupOnScanningInfo_0101"; +} } // namespace OHOS::FileManagement::Backup \ No newline at end of file diff --git a/tests/unittests/backup_sa/module_ipc/svc_session_manager_test.cpp b/tests/unittests/backup_sa/module_ipc/svc_session_manager_test.cpp index 54c6a506783b0c6ce680b06d19bedd59443689ce..00fb5bd643b5c4cd264b856c3bec1c72322479a0 100644 --- a/tests/unittests/backup_sa/module_ipc/svc_session_manager_test.cpp +++ b/tests/unittests/backup_sa/module_ipc/svc_session_manager_test.cpp @@ -1996,5 +1996,100 @@ HWTEST_F(SvcSessionManagerTest, SUB_backup_sa_session_SetImplRestoreType_0100, t } GTEST_LOG_(INFO) << "SvcSessionManagerTest-end SUB_backup_sa_session_SetImplRestoreType_0100"; } + +/** + * @tc.number: SUB_backup_sa_session_Exception_0100 + * @tc.name: SUB_backup_sa_session_Exception_0100 + * @tc.desc: 测试 Exception + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I6F3GV + */ +HWTEST_F(SvcSessionManagerTest, SUB_backup_sa_session_Exception_0100, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "SvcSessionManagerTest-begin SUB_backup_sa_session_Exception_0100"; + try { + EXPECT_TRUE(sessionManagerPtr_ != nullptr); + sessionManagerPtr_->impl_.clientToken = CLIENT_TOKEN_ID; + sessionManagerPtr_->impl_.backupExtNameMap.clear(); + + sessionManagerPtr_->SetExtFileNameRequest(BUNDLE_NAME, ""); + EXPECT_TRUE(true); + + sessionManagerPtr_->impl_.scenario = IServiceReverse::Scenario::RESTORE; + std::set fileSet = sessionManagerPtr_->GetExtFileNameRequest(BUNDLE_NAME); + EXPECT_TRUE(fileSet.empty()); + + sessionManagerPtr_->SetBackupExtName(BUNDLE_NAME, ""); + EXPECT_TRUE(true); + + std::string extName = sessionManagerPtr_->GetBackupExtName(BUNDLE_NAME); + EXPECT_TRUE(extName.empty()); + + sessionManagerPtr_->SetBackupExtInfo(BUNDLE_NAME, ""); + EXPECT_TRUE(true); + + std::string extInfo = sessionManagerPtr_->GetBackupExtInfo(BUNDLE_NAME); + EXPECT_TRUE(extInfo.empty()); + + sessionManagerPtr_->SetBundleUserId(BUNDLE_NAME, 0); + EXPECT_TRUE(true); + + int32_t id = sessionManagerPtr_->GetBundleUserId(BUNDLE_NAME); + EXPECT_EQ(id, sessionManagerPtr_->GetSessionUserId()); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "SvcSessionManagerTest-an exception occurred by Exception."; + } + GTEST_LOG_(INFO) << "SvcSessionManagerTest-end SUB_backup_sa_session_Exception_0100"; +} + +/** + * @tc.number: SUB_backup_sa_session_Exception_0200 + * @tc.name: SUB_backup_sa_session_Exception_0200 + * @tc.desc: 测试 Exception + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I6F3GV + */ +HWTEST_F(SvcSessionManagerTest, SUB_backup_sa_session_Exception_0200, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "SvcSessionManagerTest-begin SUB_backup_sa_session_Exception_0200"; + try { + EXPECT_TRUE(sessionManagerPtr_ != nullptr); + sessionManagerPtr_->impl_.clientToken = CLIENT_TOKEN_ID; + sessionManagerPtr_->impl_.backupExtNameMap.clear(); + + sessionManagerPtr_->SetBundleRestoreType(BUNDLE_NAME, RestoreTypeEnum::RESTORE_DATA_WAIT_SEND); + EXPECT_TRUE(true); + + RestoreTypeEnum restoreType = sessionManagerPtr_->GetBundleRestoreType(BUNDLE_NAME); + EXPECT_EQ(restoreType, RestoreTypeEnum::RESTORE_DATA_WAIT_SEND); + + sessionManagerPtr_->SetBundleVersionCode(BUNDLE_NAME, 0); + EXPECT_TRUE(true); + + int64_t versionCode = sessionManagerPtr_->GetBundleVersionCode(BUNDLE_NAME); + EXPECT_EQ(versionCode, 0); + + sessionManagerPtr_->SetBundleVersionName(BUNDLE_NAME, ""); + EXPECT_TRUE(true); + + std::string versionName = sessionManagerPtr_->GetBundleVersionName(BUNDLE_NAME); + EXPECT_TRUE(versionName.empty()); + + sessionManagerPtr_->SetClearDataFlag(BUNDLE_NAME, true); + EXPECT_TRUE(true); + + bool flag = sessionManagerPtr_->GetClearDataFlag(BUNDLE_NAME); + EXPECT_TRUE(flag); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "SvcSessionManagerTest-an exception occurred by Exception."; + } + GTEST_LOG_(INFO) << "SvcSessionManagerTest-end SUB_backup_sa_session_Exception_0200"; +} #include "svc_session_manager_ex_test.cpp" } // namespace OHOS::FileManagement::Backup \ No newline at end of file diff --git a/tests/unittests/backup_utils/b_jsonutil/b_jsonutil_other_test.cpp b/tests/unittests/backup_utils/b_jsonutil/b_jsonutil_other_test.cpp index b33ae44cfe88224238bdcb80148fb726001bb6a7..397424299389c68292755f0ce341891c5fffc52f 100644 --- a/tests/unittests/backup_utils/b_jsonutil/b_jsonutil_other_test.cpp +++ b/tests/unittests/backup_utils/b_jsonutil/b_jsonutil_other_test.cpp @@ -301,4 +301,104 @@ HWTEST_F(BJsonUtilTest, b_jsonutil_BuildBundleNameIndexInfo_0601, testing::ext:: } GTEST_LOG_(INFO) << "BJsonUtilTest-end BuildBundleNameIndexInfo_0601"; } + +/** + * @tc.number: b_jsonutil_BuildInitSessionErrInfo_0701 + * @tc.name: b_jsonutil_BuildInitSessionErrInfo_0701 + * @tc.desc: Test function of BuildInitSessionErrInfo interface. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 0 + * @tc.require: I6F3GV + */ +HWTEST_F(BJsonUtilTest, b_jsonutil_BuildInitSessionErrInfo_0701, testing::ext::TestSize.Level0) +{ + GTEST_LOG_(INFO) << "BJsonUtilTest-begin BuildInitSessionErrInfo_0701"; + try { + int32_t userId = 0; + std::string callerName; + std::string activeTime; + int cjson = 0; + EXPECT_CALL(*cJsonMock, cJSON_CreateObject()).WillOnce(Return(nullptr)); + auto result = BJsonUtil::BuildInitSessionErrInfo(userId, callerName, activeTime); + EXPECT_EQ(result, ""); + + EXPECT_CALL(*cJsonMock, cJSON_CreateObject()).WillOnce(Return(reinterpret_cast(&cjson))); + EXPECT_CALL(*cJsonMock, cJSON_CreateArray()).WillOnce(Return(nullptr)); + EXPECT_CALL(*cJsonMock, cJSON_Delete(_)).WillOnce(Return()); + result = BJsonUtil::BuildInitSessionErrInfo(userId, callerName, activeTime); + EXPECT_EQ(result, ""); + + EXPECT_CALL(*cJsonMock, cJSON_CreateObject()).WillOnce(Return(reinterpret_cast(&cjson))); + EXPECT_CALL(*cJsonMock, cJSON_CreateArray()).WillOnce(Return(reinterpret_cast(&cjson))); + EXPECT_CALL(*cJsonMock, cJSON_AddItemToObject(_, _, _)).WillOnce(Return(true)); + EXPECT_CALL(*cJsonMock, cJSON_CreateObject()).WillOnce(Return(nullptr)); + EXPECT_CALL(*cJsonMock, cJSON_Delete(_)).WillOnce(Return()); + result = BJsonUtil::BuildInitSessionErrInfo(userId, callerName, activeTime); + EXPECT_EQ(result, ""); + + EXPECT_CALL(*cJsonMock, cJSON_CreateObject()).WillOnce(Return(reinterpret_cast(&cjson))); + EXPECT_CALL(*cJsonMock, cJSON_CreateArray()).WillOnce(Return(reinterpret_cast(&cjson))); + EXPECT_CALL(*cJsonMock, cJSON_AddItemToObject(_, _, _)).WillOnce(Return(true)); + EXPECT_CALL(*cJsonMock, cJSON_CreateObject()) + .WillOnce(Return(reinterpret_cast(&cjson))) + .WillOnce(Return(nullptr)); + EXPECT_CALL(*cJsonMock, cJSON_AddItemToArray(_, _)).WillOnce(Return(true)); + EXPECT_CALL(*cJsonMock, cJSON_AddStringToObject(_, _, _)) + .WillOnce(Return(nullptr)) + .WillOnce(Return(nullptr)) + .WillOnce(Return(nullptr)); + EXPECT_CALL(*cJsonMock, cJSON_Print(_)).WillOnce(Return(nullptr)); + EXPECT_CALL(*cJsonMock, cJSON_Delete(_)).WillOnce(Return()); + result = BJsonUtil::BuildInitSessionErrInfo(userId, callerName, activeTime); + EXPECT_EQ(result, ""); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "BJsonUtilTest-an exception occurred."; + } + GTEST_LOG_(INFO) << "BJsonUtilTest-end BuildInitSessionErrInfo_0701"; +} + +/** + * @tc.number: b_jsonutil_WriteToStr_0801 + * @tc.name: b_jsonutil_WriteToStr_0801 + * @tc.desc: Test function of WriteToStr interface. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 0 + * @tc.require: I6F3GV + */ +HWTEST_F(BJsonUtilTest, b_jsonutil_WriteToStr_0801, testing::ext::TestSize.Level0) +{ + GTEST_LOG_(INFO) << "BJsonUtilTest-begin WriteToStr_0801"; + try { + std::vector bundleDataList; + size_t listSize = 0; + std::string scanning; + std::string jsonStr; + int cjson = 0; + EXPECT_CALL(*cJsonMock, cJSON_CreateObject()).WillOnce(Return(nullptr)); + auto result = BJsonUtil::WriteToStr(bundleDataList, listSize, scanning, jsonStr); + EXPECT_FALSE(result); + + EXPECT_CALL(*cJsonMock, cJSON_CreateObject()).WillOnce(Return(reinterpret_cast(&cjson))); + EXPECT_CALL(*cJsonMock, cJSON_CreateArray()).WillOnce(Return(nullptr)); + EXPECT_CALL(*cJsonMock, cJSON_Delete(_)).WillOnce(Return()); + result = BJsonUtil::WriteToStr(bundleDataList, listSize, scanning, jsonStr); + EXPECT_FALSE(result); + + EXPECT_CALL(*cJsonMock, cJSON_CreateObject()).WillOnce(Return(reinterpret_cast(&cjson))); + EXPECT_CALL(*cJsonMock, cJSON_CreateArray()).WillOnce(Return(reinterpret_cast(&cjson))); + EXPECT_CALL(*cJsonMock, cJSON_AddItemToObject(_, _, _)).WillOnce(Return(true)); + EXPECT_CALL(*cJsonMock, cJSON_AddStringToObject(_, _, _)).WillOnce(Return(nullptr)); + EXPECT_CALL(*cJsonMock, cJSON_Print(_)).WillOnce(Return(nullptr)); + EXPECT_CALL(*cJsonMock, cJSON_Delete(_)).WillOnce(Return()); + result = BJsonUtil::WriteToStr(bundleDataList, listSize, scanning, jsonStr); + EXPECT_FALSE(result); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "BJsonUtilTest-an exception occurred."; + } + GTEST_LOG_(INFO) << "BJsonUtilTest-end WriteToStr_0801"; +} } \ No newline at end of file