From fd43b91ca33849a4c00a78138bc3c299be5d7d51 Mon Sep 17 00:00:00 2001 From: zhubingwei Date: Mon, 24 Jun 2024 13:57:06 +0800 Subject: [PATCH] =?UTF-8?q?[BUG]=20TDD=E5=A2=9E=E5=BC=BAability=5Fmanager?= =?UTF-8?q?=5Fservice=203?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zhubingwei --- .../ability_manager_service_third_test.cpp | 113 +++++++++++++++++- .../mock_ability_interceptor_executer.h | 2 +- .../src/mock_ability_interceptor_executer.cpp | 2 +- 3 files changed, 114 insertions(+), 3 deletions(-) diff --git a/test/unittest/ability_manager_service_third_test/ability_manager_service_third_test.cpp b/test/unittest/ability_manager_service_third_test/ability_manager_service_third_test.cpp index be7505f9ce..ad80d843ba 100644 --- a/test/unittest/ability_manager_service_third_test/ability_manager_service_third_test.cpp +++ b/test/unittest/ability_manager_service_third_test/ability_manager_service_third_test.cpp @@ -20,7 +20,7 @@ #include "mock_ipc_skeleton.h" #include "mock_permission_verification.h" #include "mock_my_flag.h" -#include "mock_permission_verification.h" + #include "ability_manager_service.h" #include "ability_start_setting.h" #include "recovery_param.h" @@ -54,6 +54,8 @@ class AbilityManagerServiceThirdTest : public testing::Test { public: static void SetUpTestCase(); static void TearDownTestCase(); + std::shared_ptr MockAbilityRecord(AbilityType); + sptr MockToken(AbilityType); void SetUp(); void TearDown(); @@ -69,6 +71,23 @@ void AbilityManagerServiceThirdTest::TearDownTestCase() {} void AbilityManagerServiceThirdTest::SetUp() {} void AbilityManagerServiceThirdTest::TearDown() {} +std::shared_ptr AbilityManagerServiceThirdTest::MockAbilityRecord(AbilityType abilityType) +{ + AbilityRequest abilityRequest; + abilityRequest.appInfo.bundleName = "com.test.demo"; + abilityRequest.abilityInfo.name = "MainAbility"; + abilityRequest.abilityInfo.type = abilityType; + return AbilityRecord::CreateAbilityRecord(abilityRequest); +} + +sptr AbilityManagerServiceThirdTest::MockToken(AbilityType abilityType) +{ + std::shared_ptr abilityRecord = MockAbilityRecord(abilityType); + if (!abilityRecord) { + return nullptr; + } + return abilityRecord->GetToken(); +} /* * Feature: AbilityManagerService @@ -1984,6 +2003,7 @@ HWTEST_F(AbilityManagerServiceThirdTest, RequestDialogService_002, TestSize.Leve */ HWTEST_F(AbilityManagerServiceThirdTest, RequestDialogServiceInner_001, TestSize.Level1) { + TAG_LOGI(AAFwkTag::TEST, "AbilityManagerServiceThirdTest RequestDialogServiceInner_001 start"); auto abilityMs = std::make_shared(); Want want; const sptr callerToken; @@ -1991,6 +2011,15 @@ HWTEST_F(AbilityManagerServiceThirdTest, RequestDialogServiceInner_001, TestSize int32_t userId = 0; auto result = abilityMs->RequestDialogServiceInner(want, callerToken, requestCode, userId); EXPECT_EQ(result, ERR_INVALID_CALLER); + + abilityMs->subManagersHelper_ = std::make_shared(nullptr, nullptr); + abilityMs->subManagersHelper_->currentUIAbilityManager_ = std::make_shared(); + std::shared_ptr abilityRecord = MockAbilityRecord(AbilityType::PAGE); + sptr callerToken2 = abilityRecord->GetToken(); + + result = abilityMs->RequestDialogServiceInner(want, callerToken2, requestCode, userId); + EXPECT_EQ(result, ERR_INVALID_CALLER); + TAG_LOGI(AAFwkTag::TEST, "AbilityManagerServiceThirdTest RequestDialogServiceInner_001 end"); } /* @@ -2107,6 +2136,23 @@ HWTEST_F(AbilityManagerServiceThirdTest, AppUpgradeCompleted_002, TestSize.Level EXPECT_TRUE(abilityMs != nullptr); } +/* + * Feature: AbilityManagerService + * Function: GetConfiguration + * SubFunction: NA + * FunctionPoints: AbilityManagerService GetConfiguration + */ +HWTEST_F(AbilityManagerServiceThirdTest, GetConfiguration_001, TestSize.Level1) +{ + TAG_LOGI(AAFwkTag::TEST, "AbilityManagerServiceThirdTest GetConfiguration_001 start"); + auto abilityMs_ = std::make_shared(); + AppExecFwk::Configuration config; + abilityMs_->SubscribeBackgroundTask(); + EXPECT_EQ(abilityMs_->GetConfiguration(config), 0); + abilityMs_->UnSubscribeBackgroundTask(); + TAG_LOGI(AAFwkTag::TEST, "AbilityManagerServiceThirdTest GetConfiguration_001 end"); +} + /* * Feature: AbilityManagerService * Function: GetAppMgr @@ -2119,6 +2165,42 @@ HWTEST_F(AbilityManagerServiceThirdTest, GetAppMgr_001, TestSize.Level1) EXPECT_NE(result, nullptr); } +/* + * Feature: AbilityManagerService + * Function: ReportAbilitStartInfoToRSS + * FunctionPoints: AbilityManagerService ReportAbilitStartInfoToRSS + */ +HWTEST_F(AbilityManagerServiceThirdTest, ReportAbilitStartInfoToRSS_001, TestSize.Level1) +{ + TAG_LOGI(AAFwkTag::TEST, "AbilityManagerServiceThirdTest ReportAbilitStartInfoToRSS start"); + auto abilityMs = std::make_shared(); + AppExecFwk::AbilityInfo abilityInfo; + abilityInfo.type = AppExecFwk::AbilityType::PAGE; + abilityMs->ReportAbilitStartInfoToRSS(abilityInfo); + EXPECT_EQ(abilityInfo.type, AppExecFwk::AbilityType::PAGE); + TAG_LOGI(AAFwkTag::TEST, "AbilityManagerServiceThirdTest ReportAbilitStartInfoToRSS end"); +} + +/* + * Feature: AbilityManagerService + * Function: ReportAbilitAssociatedStartInfoToRSS + * FunctionPoints: AbilityManagerService ReportAbilitAssociatedStartInfoToRSS + */ +HWTEST_F(AbilityManagerServiceThirdTest, ReportAbilitAssociatedStartInfoToRSS_001, TestSize.Level1) +{ + TAG_LOGI(AAFwkTag::TEST, "AbilityManagerServiceThirdTest ReportAbilitAssociatedStartInfoToRSS start"); + auto abilityMs = std::make_shared(); + AppExecFwk::AbilityInfo abilityInfo; + abilityInfo.type = AppExecFwk::AbilityType::PAGE; + sptr callerToken = nullptr; + int64_t type = 0; + abilityMs->ReportAbilitAssociatedStartInfoToRSS(abilityInfo, type, callerToken); + callerToken = MockToken(AbilityType::PAGE); + abilityMs->ReportAbilitAssociatedStartInfoToRSS(abilityInfo, type, callerToken); + EXPECT_EQ(abilityInfo.type, AppExecFwk::AbilityType::PAGE); + TAG_LOGI(AAFwkTag::TEST, "AbilityManagerServiceThirdTest ReportAbilitAssociatedStartInfoToRSS end"); +} + /* * Feature: AbilityManagerService * Function: OnAddSystemAbility @@ -2401,6 +2483,35 @@ HWTEST_F(AbilityManagerServiceThirdTest, StartExtensionAbilityInner_003, TestSiz EXPECT_EQ(result, ERR_INVALID_CALLER); } +/* + * Feature: AbilityManagerService + * Function: StartExtensionAbilityInner + * FunctionPoints: AbilityManagerService StartExtensionAbilityInner + */ +HWTEST_F(AbilityManagerServiceThirdTest, StartExtensionAbilityInner_004, TestSize.Level1) +{ + TAG_LOGI(AAFwkTag::TEST, "AbilityManagerServiceThirdTest StartExtensionAbilityInner_004 start"); + auto abilityMs = std::make_shared(); + Want want; + sptr callerToken = nullptr; + int32_t userId = 0; + AppExecFwk::ExtensionAbilityType extensionType = AppExecFwk::ExtensionAbilityType::VPN; + bool checkSystemCaller = true; + bool isImplicit = true; + bool isDlp = true; + abilityMs->interceptorExecuter_ = std::make_shared(); + abilityMs->subManagersHelper_ = std::make_shared(nullptr, nullptr); + auto result = abilityMs->StartExtensionAbilityInner(want, callerToken, userId, extensionType, checkSystemCaller, + isImplicit, isDlp); + EXPECT_EQ(result, ERR_IMPLICIT_START_ABILITY_FAIL); + + abilityMs-> implicitStartProcessor_ = std::make_shared(); + result = abilityMs->StartExtensionAbilityInner(want, callerToken, userId, extensionType, checkSystemCaller, + isImplicit, isDlp); + EXPECT_EQ(result, ERR_IMPLICIT_START_ABILITY_FAIL); + TAG_LOGI(AAFwkTag::TEST, "AbilityManagerServiceThirdTest StartExtensionAbilityInner_004 end"); +} + /* * Feature: AbilityManagerService * Function: MoveAbilityToBackground diff --git a/test/unittest/ability_manager_service_third_test/mock/include/mock_ability_interceptor_executer.h b/test/unittest/ability_manager_service_third_test/mock/include/mock_ability_interceptor_executer.h index 60374db238..5b2569f566 100644 --- a/test/unittest/ability_manager_service_third_test/mock/include/mock_ability_interceptor_executer.h +++ b/test/unittest/ability_manager_service_third_test/mock/include/mock_ability_interceptor_executer.h @@ -27,7 +27,7 @@ using InterceptorMap = std::unordered_map