From 346a6f5c8d7d8959144d8d370a6e266ce9e971d1 Mon Sep 17 00:00:00 2001 From: chensihan Date: Wed, 11 Sep 2024 15:34:12 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=94=A8=E4=BE=8B=20Sign?= =?UTF-8?q?ed-off-by:=20chensihan=20?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module_ipc/service_stub_test.cpp | 109 +++++++++++++ .../svc_session_manager_ex_test.cpp | 151 ++++++++++++++++++ 2 files changed, 260 insertions(+) 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 25a5ca178..af6f635d2 100644 --- a/tests/unittests/backup_sa/module_ipc/service_stub_test.cpp +++ b/tests/unittests/backup_sa/module_ipc/service_stub_test.cpp @@ -1490,4 +1490,113 @@ HWTEST_F(ServiceStubTest, SUB_backup_sa_ServiceStub_CmdGetAppLocalListAndDoIncre } GTEST_LOG_(INFO) << "ServiceStubTest-end SUB_backup_sa_ServiceStub_CmdGetAppLocalListAndDoIncrementalBackup_0100"; } + +/** + * @tc.number: SUB_backup_sa_ServiceStub_CmdStartExtTimer_0100 + * @tc.name: SUB_backup_sa_ServiceStub_CmdStartExtTimer_0100 + * @tc.desc: Test function of CmdStartExtTimer interface for SUCCESS and FAILURE. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I6F3GV + */ +HWTEST_F(ServiceStubTest, SUB_backup_sa_ServiceStub_CmdStartExtTimer_0100, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "ServiceStubTest-begin SUB_backup_sa_ServiceStub_CmdStartExtTimer_0100"; + try { + MessageParcel data; + MessageParcel reply; + EXPECT_TRUE(service != nullptr); + EXPECT_CALL(*service, StartExtTimer(_)).WillOnce(Return(-1)); + auto err = service->CmdStartExtTimer(data, reply); + EXPECT_EQ(err, BError(BError::Codes::SA_BROKEN_IPC)); + + EXPECT_CALL(*service, StartExtTimer(_)).WillOnce(Return(0)); + EXPECT_CALL(*messageParcelMock, WriteBool(_)).WillOnce(Return(false)); + err = service->CmdStartExtTimer(data, reply); + EXPECT_EQ(err, BError(BError::Codes::SA_BROKEN_IPC)); + + EXPECT_CALL(*service, StartExtTimer(_)).WillOnce(Return(0)); + EXPECT_CALL(*messageParcelMock, WriteBool(_)).WillOnce(Return(true)); + err = service->CmdStartExtTimer(data, reply); + EXPECT_EQ(err, BError(BError::Codes::OK)); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "ServiceStubTest-an exception occurred by CmdStartExtTimer."; + } + GTEST_LOG_(INFO) << "ServiceStubTest-end SUB_backup_sa_ServiceStub_CmdStartExtTimer_0100"; +} + +/** + * @tc.number: SUB_backup_sa_ServiceStub_CmdStartFwkTimer_0100 + * @tc.name: SUB_backup_sa_ServiceStub_CmdStartFwkTimer_0100 + * @tc.desc: Test function of CmdStartFwkTimer interface for SUCCESS and FAILURE. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I6F3GV + */ +HWTEST_F(ServiceStubTest, SUB_backup_sa_ServiceStub_CmdStartFwkTimer_0100, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "ServiceStubTest-begin SUB_backup_sa_ServiceStub_CmdStartFwkTimer_0100"; + try { + MessageParcel data; + MessageParcel reply; + EXPECT_TRUE(service != nullptr); + EXPECT_CALL(*service, StartFwkTimer(_)).WillOnce(Return(-1)); + auto err = service->CmdStartFwkTimer(data, reply); + EXPECT_EQ(err, BError(BError::Codes::SA_BROKEN_IPC)); + + EXPECT_CALL(*service, StartFwkTimer(_)).WillOnce(Return(0)); + EXPECT_CALL(*messageParcelMock, WriteBool(_)).WillOnce(Return(false)); + err = service->CmdStartFwkTimer(data, reply); + EXPECT_EQ(err, BError(BError::Codes::SA_BROKEN_IPC)); + + EXPECT_CALL(*service, StartFwkTimer(_)).WillOnce(Return(0)); + EXPECT_CALL(*messageParcelMock, WriteBool(_)).WillOnce(Return(true)); + err = service->CmdStartFwkTimer(data, reply); + EXPECT_EQ(err, BError(BError::Codes::OK)); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "ServiceStubTest-an exception occurred by CmdStartFwkTimer."; + } + GTEST_LOG_(INFO) << "ServiceStubTest-end SUB_backup_sa_ServiceStub_CmdStartFwkTimer_0100"; +} + +/** + * @tc.number: SUB_backup_sa_ServiceStub_CmdReportAppProcessInfo_0100 + * @tc.name: SUB_backup_sa_ServiceStub_CmdReportAppProcessInfo_0100 + * @tc.desc: Test function of CmdReportAppProcessInfo interface for SUCCESS and FAILURE. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I6F3GV + */ +HWTEST_F(ServiceStubTest, SUB_backup_sa_ServiceStub_CmdReportAppProcessInfo_0100, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "ServiceStubTest-begin SUB_backup_sa_ServiceStub_CmdReportAppProcessInfo_0100"; + try { + MessageParcel data; + MessageParcel reply; + EXPECT_TRUE(service != nullptr); + EXPECT_CALL(*messageParcelMock, ReadString(_)).WillOnce(Return(false)); + auto err = service->CmdReportAppProcessInfo(data, reply); + EXPECT_EQ(err, BError(BError::Codes::SA_INVAL_ARG)); + + EXPECT_CALL(*messageParcelMock, ReadString(_)).WillOnce(Return(true)); + EXPECT_CALL(*messageParcelMock, ReadString(_)).WillOnce(Return(false)); + err = service->CmdReportAppProcessInfo(data, reply); + EXPECT_EQ(err, BError(BError::Codes::SA_INVAL_ARG)); + + EXPECT_CALL(*messageParcelMock, ReadString(_)).WillOnce(Return(true)); + EXPECT_CALL(*messageParcelMock, ReadString(_)).WillOnce(Return(true)); + EXPECT_CALL(*service, ReportAppProcessInfo(_, _)).WillOnce(Return(0)); + err = service->CmdReportAppProcessInfo(data, reply); + EXPECT_EQ(err, BError(BError::Codes::OK)); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "ServiceStubTest-an exception occurred by CmdReportAppProcessInfo."; + } + GTEST_LOG_(INFO) << "ServiceStubTest-end SUB_backup_sa_ServiceStub_CmdReportAppProcessInfo_0100"; +} } // namespace OHOS::FileManagement::Backup \ No newline at end of file diff --git a/tests/unittests/backup_sa/module_ipc/svc_session_manager_ex_test.cpp b/tests/unittests/backup_sa/module_ipc/svc_session_manager_ex_test.cpp index 8bc97f1f7..9c326f448 100644 --- a/tests/unittests/backup_sa/module_ipc/svc_session_manager_ex_test.cpp +++ b/tests/unittests/backup_sa/module_ipc/svc_session_manager_ex_test.cpp @@ -146,4 +146,155 @@ HWTEST_F(SvcSessionManagerTest, SUB_backup_sa_session_GetServiceSchedAction_0105 GTEST_LOG_(INFO) << "SvcSessionManagerTest-an exception occurred by GetServiceSchedAction."; } GTEST_LOG_(INFO) << "SvcSessionManagerTest-end SUB_backup_sa_session_GetServiceSchedAction_0105"; +} + +/** + * @tc.number: SUB_backup_sa_session_CleanAndCheckIfNeedWait_0100 + * @tc.name: SUB_backup_sa_session_CleanAndCheckIfNeedWait_0100 + * @tc.desc: 测试 CleanAndCheckIfNeedWait + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I6F3GV + */ +HWTEST_F(SvcSessionManagerTest, SUB_backup_sa_session_CleanAndCheckIfNeedWait_0100, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "SvcSessionManagerTest-begin SUB_backup_sa_session_CleanAndCheckIfNeedWait_0100"; + try { + ErrCode err; + std::vector bundleNameList; + bundleNameList.push_back(BUNDLE_NAME); + + sessionManagerPtr_->impl_.clientToken = CLIENT_TOKEN_ID; + sessionManagerPtr_->impl_.backupExtNameMap.clear(); + + auto ret = sessionManagerPtr_->CleanAndCheckIfNeedWait(err, bundleNameList); + EXPECT_FALSE(ret); + + sessionManagerPtr_->impl_.backupExtNameMap.clear(); + sessionManagerPtr_->impl_.backupExtNameMap[BUNDLE_NAME] = {}; + sessionManagerPtr_->impl_.restoreDataType = RestoreTypeEnum::RESTORE_DATA_READDY; + ret = sessionManagerPtr_->CleanAndCheckIfNeedWait(err, bundleNameList); + EXPECT_FALSE(ret); + + sessionManagerPtr_->impl_.backupExtNameMap.clear(); + sessionManagerPtr_->impl_.backupExtNameMap[BUNDLE_NAME] = {}; + sessionManagerPtr_->impl_.restoreDataType = RestoreTypeEnum::RESTORE_DATA_WAIT_SEND; + ret = sessionManagerPtr_->CleanAndCheckIfNeedWait(err, bundleNameList); + EXPECT_FALSE(ret); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "SvcSessionManagerTest-an exception occurred by CleanAndCheckIfNeedWait."; + } + GTEST_LOG_(INFO) << "SvcSessionManagerTest-end SUB_backup_sa_session_CleanAndCheckIfNeedWait_0100"; +} + +/** + * @tc.number: SUB_backup_sa_session_CleanAndCheckIfNeedWait_0200 + * @tc.name: SUB_backup_sa_session_CleanAndCheckIfNeedWait_0200 + * @tc.desc: 测试 CleanAndCheckIfNeedWait + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I6F3GV + */ +HWTEST_F(SvcSessionManagerTest, SUB_backup_sa_session_CleanAndCheckIfNeedWait_0200, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "SvcSessionManagerTest-begin SUB_backup_sa_session_CleanAndCheckIfNeedWait_0200"; + try { + ErrCode err; + std::vector bundleNameList; + bundleNameList.push_back(BUNDLE_NAME); + + sessionManagerPtr_->impl_.clientToken = CLIENT_TOKEN_ID; + + BackupExtInfo extInfo {}; + extInfo.schedAction = BConstants::ServiceSchedAction::WAIT; + extInfo.backUpConnection = nullptr; + sessionManagerPtr_->impl_.backupExtNameMap.clear(); + sessionManagerPtr_->impl_.backupExtNameMap[BUNDLE_NAME] = extInfo; + auto ret = sessionManagerPtr_->CleanAndCheckIfNeedWait(err, bundleNameList); + EXPECT_FALSE(ret); + + BackupExtInfo extInfo2 {}; + extInfo2.schedAction = BConstants::ServiceSchedAction::RUNNING; + extInfo2.isInPublishFile = true; + extInfo2.backUpConnection = nullptr; + extInfo2.fwkTimerStatus = true; + extInfo2.extTimerStatus = false; + sessionManagerPtr_->impl_.backupExtNameMap.clear(); + sessionManagerPtr_->impl_.backupExtNameMap[BUNDLE_NAME] = extInfo2; + ret = sessionManagerPtr_->CleanAndCheckIfNeedWait(err, bundleNameList); + EXPECT_FALSE(ret); + + BackupExtInfo extInfo3 {}; + extInfo3.schedAction = BConstants::ServiceSchedAction::START; + extInfo3.isInPublishFile = true; + extInfo3.backUpConnection = nullptr; + extInfo3.fwkTimerStatus = true; + extInfo3.extTimerStatus = false; + sessionManagerPtr_->impl_.backupExtNameMap.clear(); + sessionManagerPtr_->impl_.backupExtNameMap[BUNDLE_NAME] = extInfo3; + ret = sessionManagerPtr_->CleanAndCheckIfNeedWait(err, bundleNameList); + EXPECT_FALSE(ret); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "SvcSessionManagerTest-an exception occurred by CleanAndCheckIfNeedWait."; + } + GTEST_LOG_(INFO) << "SvcSessionManagerTest-end SUB_backup_sa_session_CleanAndCheckIfNeedWait_0200"; +} + +/** + * @tc.number: SUB_backup_sa_session_CleanAndCheckIfNeedWait_0300 + * @tc.name: SUB_backup_sa_session_CleanAndCheckIfNeedWait_0300 + * @tc.desc: 测试 CleanAndCheckIfNeedWait + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I6F3GV + */ +HWTEST_F(SvcSessionManagerTest, SUB_backup_sa_session_CleanAndCheckIfNeedWait_0300, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "SvcSessionManagerTest-begin SUB_backup_sa_session_CleanAndCheckIfNeedWait_0300"; + try { + ErrCode err; + std::vector bundleNameList; + bundleNameList.push_back(BUNDLE_NAME); + + sessionManagerPtr_->impl_.clientToken = CLIENT_TOKEN_ID; + + BackupExtInfo extInfo {}; + extInfo.schedAction = BConstants::ServiceSchedAction::WAIT; + extInfo.backUpConnection = sptr(new SvcBackupConnection(nullptr, nullptr, BUNDLE_NAME));; + sessionManagerPtr_->impl_.backupExtNameMap.clear(); + sessionManagerPtr_->impl_.backupExtNameMap[BUNDLE_NAME] = extInfo; + auto ret = sessionManagerPtr_->CleanAndCheckIfNeedWait(err, bundleNameList); + EXPECT_FALSE(ret); + + BackupExtInfo extInfo2 {}; + extInfo2.schedAction = BConstants::ServiceSchedAction::RUNNING; + extInfo2.isInPublishFile = true; + extInfo2.backUpConnection = sptr(new SvcBackupConnection(nullptr, nullptr, BUNDLE_NAME));; + extInfo2.fwkTimerStatus = true; + extInfo2.extTimerStatus = false; + sessionManagerPtr_->impl_.backupExtNameMap.clear(); + sessionManagerPtr_->impl_.backupExtNameMap[BUNDLE_NAME] = extInfo2; + ret = sessionManagerPtr_->CleanAndCheckIfNeedWait(err, bundleNameList); + EXPECT_FALSE(ret); + + BackupExtInfo extInfo3 {}; + extInfo3.schedAction = BConstants::ServiceSchedAction::START; + extInfo3.isInPublishFile = true; + extInfo3.backUpConnection = sptr(new SvcBackupConnection(nullptr, nullptr, BUNDLE_NAME));; + extInfo3.fwkTimerStatus = true; + extInfo3.extTimerStatus = false; + sessionManagerPtr_->impl_.backupExtNameMap.clear(); + sessionManagerPtr_->impl_.backupExtNameMap[BUNDLE_NAME] = extInfo3; + ret = sessionManagerPtr_->CleanAndCheckIfNeedWait(err, bundleNameList); + EXPECT_FALSE(ret); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "SvcSessionManagerTest-an exception occurred by CleanAndCheckIfNeedWait."; + } + GTEST_LOG_(INFO) << "SvcSessionManagerTest-end SUB_backup_sa_session_CleanAndCheckIfNeedWait_0300"; } \ No newline at end of file -- Gitee From 4ef83f2c0ad21aa7e6d8b37959aae9730998bbd0 Mon Sep 17 00:00:00 2001 From: chensihan Date: Wed, 11 Sep 2024 16:42:17 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dut?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: chensihan --- tests/unittests/backup_sa/module_ipc/service_stub_test.cpp | 4 ++-- .../backup_sa/module_ipc/svc_session_manager_ex_test.cpp | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) 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 af6f635d2..3c51a861b 100644 --- a/tests/unittests/backup_sa/module_ipc/service_stub_test.cpp +++ b/tests/unittests/backup_sa/module_ipc/service_stub_test.cpp @@ -1584,12 +1584,12 @@ HWTEST_F(ServiceStubTest, SUB_backup_sa_ServiceStub_CmdReportAppProcessInfo_0100 EXPECT_EQ(err, BError(BError::Codes::SA_INVAL_ARG)); EXPECT_CALL(*messageParcelMock, ReadString(_)).WillOnce(Return(true)); - EXPECT_CALL(*messageParcelMock, ReadString(_)).WillOnce(Return(false)); + EXPECT_CALL(*messageParcelMock, ReadInt32(_)).WillOnce(Return(false)); err = service->CmdReportAppProcessInfo(data, reply); EXPECT_EQ(err, BError(BError::Codes::SA_INVAL_ARG)); EXPECT_CALL(*messageParcelMock, ReadString(_)).WillOnce(Return(true)); - EXPECT_CALL(*messageParcelMock, ReadString(_)).WillOnce(Return(true)); + EXPECT_CALL(*messageParcelMock, ReadInt32(_)).WillOnce(Return(true)); EXPECT_CALL(*service, ReportAppProcessInfo(_, _)).WillOnce(Return(0)); err = service->CmdReportAppProcessInfo(data, reply); EXPECT_EQ(err, BError(BError::Codes::OK)); diff --git a/tests/unittests/backup_sa/module_ipc/svc_session_manager_ex_test.cpp b/tests/unittests/backup_sa/module_ipc/svc_session_manager_ex_test.cpp index 9c326f448..b8e7eac57 100644 --- a/tests/unittests/backup_sa/module_ipc/svc_session_manager_ex_test.cpp +++ b/tests/unittests/backup_sa/module_ipc/svc_session_manager_ex_test.cpp @@ -225,7 +225,7 @@ HWTEST_F(SvcSessionManagerTest, SUB_backup_sa_session_CleanAndCheckIfNeedWait_02 sessionManagerPtr_->impl_.backupExtNameMap.clear(); sessionManagerPtr_->impl_.backupExtNameMap[BUNDLE_NAME] = extInfo2; ret = sessionManagerPtr_->CleanAndCheckIfNeedWait(err, bundleNameList); - EXPECT_FALSE(ret); + EXPECT_TRUE(ret); BackupExtInfo extInfo3 {}; extInfo3.schedAction = BConstants::ServiceSchedAction::START; @@ -280,7 +280,7 @@ HWTEST_F(SvcSessionManagerTest, SUB_backup_sa_session_CleanAndCheckIfNeedWait_03 sessionManagerPtr_->impl_.backupExtNameMap.clear(); sessionManagerPtr_->impl_.backupExtNameMap[BUNDLE_NAME] = extInfo2; ret = sessionManagerPtr_->CleanAndCheckIfNeedWait(err, bundleNameList); - EXPECT_FALSE(ret); + EXPECT_TRUE(ret); BackupExtInfo extInfo3 {}; extInfo3.schedAction = BConstants::ServiceSchedAction::START; -- Gitee