diff --git a/interfaces/innerkits/samgr_proxy/include/if_system_ability_manager.h b/interfaces/innerkits/samgr_proxy/include/if_system_ability_manager.h index 02d6157dad58bab04a9b2e772a6aefaf43650d45..f1523911d0688c0abb64a7c3e6e381c113c6ed64 100644 --- a/interfaces/innerkits/samgr_proxy/include/if_system_ability_manager.h +++ b/interfaces/innerkits/samgr_proxy/include/if_system_ability_manager.h @@ -297,7 +297,11 @@ public: * @param systemAbilityId, need to obtain the said of sa. * @return nullptr indicates acquistion failure. */ - virtual sptr GetLocalAbilityManagerProxy(int32_t systemAbilityId) = 0; + virtual sptr GetLocalAbilityManagerProxy(int32_t systemAbilityId) + { + (void)systemAbilityId; + return nullptr; + } /** * GetRunningSaExtensionInfoList, Return list of started said and process hanlde that match extension. diff --git a/services/samgr/native/test/unittest/BUILD.gn b/services/samgr/native/test/unittest/BUILD.gn index a76daa2d09f4579d98f96989d3fb3abdc9f17995..5c63267ad29103030e2ee3913d67e0de47f1cd54 100644 --- a/services/samgr/native/test/unittest/BUILD.gn +++ b/services/samgr/native/test/unittest/BUILD.gn @@ -473,6 +473,7 @@ ohos_unittest("SystemAbilityMgrProxyTest") { "${samgr_services_dir}/test/unittest/src/mock_iro_sendrequest.cpp", "${samgr_services_dir}/test/unittest/src/mock_permission.cpp", "${samgr_services_dir}/test/unittest/src/sa_status_change_mock.cpp", + "${samgr_services_dir}/test/unittest/src/system_ability_manager_mock.cpp", "${samgr_services_dir}/test/unittest/src/system_ability_mgr_proxy_test.cpp", "//foundation/systemabilitymgr/samgr/frameworks/native/source/system_ability_manager_proxy.cpp", "//foundation/systemabilitymgr/samgr/frameworks/native/source/system_process_status_change_stub.cpp", diff --git a/services/samgr/native/test/unittest/include/system_ability_manager_mock.h b/services/samgr/native/test/unittest/include/system_ability_manager_mock.h new file mode 100644 index 0000000000000000000000000000000000000000..1e356b02e2fbbc306c88e3ae4c8f157d87f6359b --- /dev/null +++ b/services/samgr/native/test/unittest/include/system_ability_manager_mock.h @@ -0,0 +1,101 @@ +/* + * Copyright (c) 2025 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. + */ + +#ifndef SAMGR_TEST_UNITTEST_INCLUDE_SYSTEM_ABILITY_MANAGER_MOCK_H +#define SAMGR_TEST_UNITTEST_INCLUDE_SYSTEM_ABILITY_MANAGER_MOCK_H + +#include "if_system_ability_manager.h" + +namespace OHOS { +class ISystemAbilityManagerMock : public ISystemAbilityManager { +public: + + std::vector ListSystemAbilities(unsigned int dumpFlags = DUMP_FLAG_PRIORITY_ALL) override; + + sptr GetSystemAbility(int32_t systemAbilityId) override; + + sptr CheckSystemAbility(int32_t systemAbilityId) override; + + int32_t RemoveSystemAbility(int32_t systemAbilityId) override; + + int32_t SubscribeSystemAbility(int32_t systemAbilityId, + const sptr& listener) override; + + int32_t UnSubscribeSystemAbility(int32_t systemAbilityId, + const sptr& listener) override; + + sptr GetSystemAbility(int32_t systemAbilityId, const std::string& deviceId) override; + + sptr CheckSystemAbility(int32_t systemAbilityId, const std::string& deviceId) override; + + int32_t AddOnDemandSystemAbilityInfo(int32_t systemAbilityId, + const std::u16string& localAbilityManagerName) override; + + sptr CheckSystemAbility(int32_t systemAbilityId, bool& isExist) override; + + int32_t AddSystemAbility(int32_t systemAbilityId, const sptr& ability, + const SAExtraProp& extraProp = SAExtraProp(false, DUMP_FLAG_PRIORITY_DEFAULT, u"", u"")) override; + + int32_t AddSystemProcess(const std::u16string& procName, const sptr& procObject) override; + + sptr LoadSystemAbility(int32_t systemAbilityId, int32_t timeout) override; + + int32_t LoadSystemAbility(int32_t systemAbilityId, const sptr& callback) override; + + int32_t LoadSystemAbility(int32_t systemAbilityId, const std::string& deviceId, + const sptr& callback) override; + + int32_t UnloadSystemAbility(int32_t systemAbilityId) override; + + int32_t CancelUnloadSystemAbility(int32_t systemAbilityId) override; + + int32_t UnloadAllIdleSystemAbility() override; + + int32_t GetSystemProcessInfo(int32_t systemAbilityId, SystemProcessInfo& systemProcessInfo) override; + + int32_t GetRunningSystemProcess(std::list& systemProcessInfos) override; + + int32_t SubscribeSystemProcess(const sptr& listener) override; + + int32_t SendStrategy(int32_t type, std::vector& systemAbilityIds, + int32_t level, std::string& action) override; + + int32_t UnSubscribeSystemProcess(const sptr& listener) override; + + int32_t GetExtensionSaIds(const std::string& extension, std::vector &saIds) override; + + int32_t GetExtensionRunningSaList(const std::string& extension, + std::vector>& saList) override; + + int32_t GetRunningSaExtensionInfoList(const std::string& extension, + std::vector& infoList) override; + + int32_t GetCommonEventExtraDataIdlist(int32_t saId, std::vector& extraDataIdList, + const std::string& eventName = "") override; + + int32_t GetOnDemandReasonExtraData(int64_t extraDataId, MessageParcel& extraDataParcel) override; + + int32_t GetOnDemandPolicy(int32_t systemAbilityId, OnDemandPolicyType type, + std::vector& abilityOnDemandEvents) override; + + int32_t UpdateOnDemandPolicy(int32_t systemAbilityId, OnDemandPolicyType type, + const std::vector& abilityOnDemandEvents) override; + + int32_t GetOnDemandSystemAbilityIds(std::vector& systemAbilityIds) override; + + sptr AsObject() override; +}; +} +#endif /* SAMGR_TEST_UNITTEST_INCLUDE_SYSTEM_ABILITY_MANAGER_MOCK_H */ diff --git a/services/samgr/native/test/unittest/src/system_ability_manager_mock.cpp b/services/samgr/native/test/unittest/src/system_ability_manager_mock.cpp new file mode 100644 index 0000000000000000000000000000000000000000..f1f740f190803acc942a1d65d7991e3706ec35aa --- /dev/null +++ b/services/samgr/native/test/unittest/src/system_ability_manager_mock.cpp @@ -0,0 +1,197 @@ +/* + * Copyright (c) 2025 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 "system_ability_manager_mock.h" + +namespace OHOS { +std::vector ISystemAbilityManagerMock::ListSystemAbilities(unsigned int dumpFlags) +{ + std::vector vecSystemAbility; + return vecSystemAbility; +} + +sptr ISystemAbilityManagerMock::GetSystemAbility(int32_t systemAbilityId) +{ + return nullptr; +} + +sptr ISystemAbilityManagerMock::CheckSystemAbility(int32_t systemAbilityId) +{ + return nullptr; +} + +int32_t ISystemAbilityManagerMock::RemoveSystemAbility(int32_t systemAbilityId) +{ + return 0; +} + +int32_t ISystemAbilityManagerMock::SubscribeSystemAbility(int32_t systemAbilityId, + const sptr& listener) +{ + return 0; +} + +int32_t ISystemAbilityManagerMock::UnSubscribeSystemAbility(int32_t systemAbilityId, + const sptr& listener) +{ + return 0; +} + +sptr ISystemAbilityManagerMock::GetSystemAbility(int32_t systemAbilityId, + const std::string& deviceId) +{ + return nullptr; +} + +sptr ISystemAbilityManagerMock::CheckSystemAbility(int32_t systemAbilityId, + const std::string& deviceId) +{ + return nullptr; +} + +int32_t ISystemAbilityManagerMock::AddOnDemandSystemAbilityInfo(int32_t systemAbilityId, + const std::u16string& localAbilityManagerName) +{ + return 0; +} + +sptr ISystemAbilityManagerMock::CheckSystemAbility(int32_t systemAbilityId, bool& isExist) +{ + return nullptr; +} + +int32_t ISystemAbilityManagerMock::AddSystemAbility(int32_t systemAbilityId, const sptr& ability, + const SAExtraProp& extraProp) +{ + return 0; +} + +int32_t ISystemAbilityManagerMock::AddSystemProcess(const std::u16string& procName, + const sptr& procObject) +{ + return 0; +} + + +sptr ISystemAbilityManagerMock::LoadSystemAbility(int32_t systemAbilityId, int32_t timeout) +{ + return nullptr; +} + + +int32_t ISystemAbilityManagerMock::LoadSystemAbility(int32_t systemAbilityId, + const sptr& callback) +{ + return 0; +} + +int32_t ISystemAbilityManagerMock::LoadSystemAbility(int32_t systemAbilityId, const std::string& deviceId, + const sptr& callback) +{ + return 0; +} + +int32_t ISystemAbilityManagerMock::UnloadSystemAbility(int32_t systemAbilityId) +{ + return 0; +} + +int32_t ISystemAbilityManagerMock::CancelUnloadSystemAbility(int32_t systemAbilityId) +{ + return 0; +} + +int32_t ISystemAbilityManagerMock::UnloadAllIdleSystemAbility() +{ + return 0; +} + +int32_t ISystemAbilityManagerMock::GetSystemProcessInfo(int32_t systemAbilityId, SystemProcessInfo& systemProcessInfo) +{ + return 0; +} + +int32_t ISystemAbilityManagerMock::GetRunningSystemProcess(std::list& systemProcessInfos) +{ + return 0; +} + +int32_t ISystemAbilityManagerMock::SubscribeSystemProcess(const sptr& listener) +{ + return 0; +} + +int32_t ISystemAbilityManagerMock::SendStrategy(int32_t type, std::vector& systemAbilityIds, + int32_t level, std::string& action) +{ + return 0; +} + +int32_t ISystemAbilityManagerMock::UnSubscribeSystemProcess(const sptr& listener) +{ + return 0; +} + +int32_t ISystemAbilityManagerMock::GetExtensionSaIds(const std::string& extension, std::vector &saIds) +{ + return 0; +} + +int32_t ISystemAbilityManagerMock::GetExtensionRunningSaList(const std::string& extension, + std::vector>& saList) +{ + return 0; +} + +int32_t ISystemAbilityManagerMock::GetRunningSaExtensionInfoList(const std::string& extension, + std::vector& infoList) +{ + return 0; +} + +int32_t ISystemAbilityManagerMock::GetCommonEventExtraDataIdlist(int32_t saId, std::vector& extraDataIdList, + const std::string& eventName) +{ + return 0; +} + +int32_t ISystemAbilityManagerMock::GetOnDemandReasonExtraData(int64_t extraDataId, MessageParcel& extraDataParcel) +{ + return 0; +} + +int32_t ISystemAbilityManagerMock::GetOnDemandPolicy(int32_t systemAbilityId, OnDemandPolicyType type, + std::vector& abilityOnDemandEvents) +{ + return 0; +} + +int32_t ISystemAbilityManagerMock::UpdateOnDemandPolicy(int32_t systemAbilityId, OnDemandPolicyType type, + const std::vector& abilityOnDemandEvents) +{ + return 0; +} + +int32_t ISystemAbilityManagerMock::GetOnDemandSystemAbilityIds(std::vector& systemAbilityIds) +{ + return 0; +} + +sptr ISystemAbilityManagerMock::AsObject() +{ + return nullptr; +} + +} diff --git a/services/samgr/native/test/unittest/src/system_ability_mgr_proxy_test.cpp b/services/samgr/native/test/unittest/src/system_ability_mgr_proxy_test.cpp index 89c2da2790e952a0cdf7c707fa4fc3d60623065b..1d9c6f59994e67131e40e67937328e0fc4323ed5 100644 --- a/services/samgr/native/test/unittest/src/system_ability_mgr_proxy_test.cpp +++ b/services/samgr/native/test/unittest/src/system_ability_mgr_proxy_test.cpp @@ -20,6 +20,7 @@ #include "mock_iro_sendrequest.h" #include "sam_mock_permission.h" #include "sa_status_change_mock.h" +#include "system_ability_manager_mock.h" #include "system_ability_load_callback_proxy.h" #include "system_ability_status_change_proxy.h" #include "system_ability_load_callback_stub.h" @@ -1285,4 +1286,14 @@ HWTEST_F(SystemAbilityMgrProxyTest, GetLocalAbilityManagerProxy002, TestSize.Lev auto ret = samgrProxy->GetLocalAbilityManagerProxy(TEST_SAID_INVALID); EXPECT_TRUE(ret == nullptr); } + +HWTEST_F(SystemAbilityMgrProxyTest, GetLocalAbilityManagerProxy003, TestSize.Level3) +{ + DTEST_LOG << " GetLocalAbilityManagerProxy003 begin " << std::endl; + sptr samgrMock = new ISystemAbilityManagerMock; + EXPECT_TRUE(samgrMock != nullptr); + auto ret = samgrMock->GetLocalAbilityManagerProxy(TEST_SAID_INVALID); + EXPECT_TRUE(ret == nullptr); + DTEST_LOG << " GetLocalAbilityManagerProxy003 end " << std::endl; +} } \ No newline at end of file