diff --git a/test/unittest/frameworks_kits_ability_ability_runtime_test/ability_context_impl_test.cpp b/test/unittest/frameworks_kits_ability_ability_runtime_test/ability_context_impl_test.cpp index f4e16d11a8f626fd4cc2af55fbdb79afece57b06..105a6ff8e485e6c6e452146bb91fca1698ae4d0e 100644 --- a/test/unittest/frameworks_kits_ability_ability_runtime_test/ability_context_impl_test.cpp +++ b/test/unittest/frameworks_kits_ability_ability_runtime_test/ability_context_impl_test.cpp @@ -31,6 +31,7 @@ #include "mock_lifecycle_observer.h" #include "mock_serviceability_manager_service.h" #include "scene_board_judgement.h" +#include "session/host/include/session.h" #include "sys_mgr_client.h" #include "system_ability_definition.h" @@ -2205,6 +2206,52 @@ HWTEST_F(AbilityContextImplTest, RevokeDelegator_0600, Function | MediumTest | L } } +/** + * @tc.number: Ability_Context_Impl_RevokeDelegator_0700 + * @tc.name: RevokeDelegator + * @tc.desc: Verify that function RevokeDelegator. + */ +HWTEST_F(AbilityContextImplTest, RevokeDelegator_0700, Function | MediumTest | Level1) +{ + auto context = std::make_unique(); + context->isHook_ = true; + context->hookOff_ = false; + AAFwk::AbilityManagerClient::GetInstance()->proxy_ = g_mockAbilityMs; + Rosen::SessionInfo info; + sptr session = new Rosen::Session(info); + context->SetWeakSessionToken(session->AsObject()); + auto result = context->RevokeDelegator(); + if (!Rosen::SceneBoardJudgement::IsSceneBoardEnabled()) { + EXPECT_EQ(result, AAFwk::ERR_CAPABILITY_NOT_SUPPORT); + } else { + EXPECT_EQ(result, ERR_INVALID_VALUE); + } +} + +/** + * @tc.number: Ability_Context_Impl_RevokeDelegator_0800 + * @tc.name: RevokeDelegator + * @tc.desc: Verify that function RevokeDelegator. + */ +HWTEST_F(AbilityContextImplTest, RevokeDelegator_0800, Function | MediumTest | Level1) +{ + auto context = std::make_unique(); + context->isHook_ = true; + context->hookOff_ = false; + AAFwk::AbilityManagerClient::GetInstance()->proxy_ = g_mockAbilityMs; + Rosen::SessionInfo info; + sptr session = new Rosen::Session(info); + context->SetWeakSessionToken(session->AsObject()); + std::shared_ptr abilityCallback = std::make_shared(); + context->RegisterAbilityCallback(abilityCallback); + auto result = context->RevokeDelegator(); + if (!Rosen::SceneBoardJudgement::IsSceneBoardEnabled()) { + EXPECT_EQ(result, AAFwk::ERR_CAPABILITY_NOT_SUPPORT); + } else { + EXPECT_EQ(result, ERR_OK); + } +} + /** * @tc.number: Ability_Context_Impl_AddCompletionHandler_0100 * @tc.name: AddCompletionHandler