/* * Copyright (c) 2021-2022 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 MODULETEST_OHOS_ABILITY_RUNTIME_MOCK_ABILITY_MGR_SERVICE_H #define MODULETEST_OHOS_ABILITY_RUNTIME_MOCK_ABILITY_MGR_SERVICE_H #include "gmock/gmock.h" #include "semaphore_ex.h" #include "ability_manager_stub.h" namespace OHOS { namespace AAFwk { class MockAbilityMgrService : public AbilityManagerStub { public: MOCK_METHOD3(StartAbility, int(const Want &want, int32_t userId, int requestCode)); MOCK_METHOD4(StartAbility, int(const Want &want, const sptr &callerToken, int32_t userId, int requestCode)); MOCK_METHOD2(TerminateAbilityByCaller, int(const sptr &callerToken, int requestCode)); MOCK_METHOD3(TerminateAbility, int(const sptr &token, int resultCode, const Want *resultWant)); virtual int CloseAbility(const sptr &token, int resultCode = DEFAULT_INVAL_VALUE, const Want *resultWant = nullptr) override { return 0; } virtual int MinimizeAbility(const sptr &token, bool fromUser = false) override { return 0; } MOCK_METHOD4(ConnectAbility, int(const Want &want, const sptr &connect, const sptr &callerToken, int32_t userId)); MOCK_METHOD1(DisconnectAbility, int(const sptr &connect)); MOCK_METHOD3(AcquireDataAbility, sptr(const Uri &, bool, const sptr &)); MOCK_METHOD2(ReleaseDataAbility, int(sptr, const sptr &)); MOCK_METHOD2(AttachAbilityThread, int(const sptr &scheduler, const sptr &token)); MOCK_METHOD3(AbilityTransitionDone, int(const sptr &token, int state, const PacMap &)); MOCK_METHOD2( ScheduleConnectAbilityDone, int(const sptr &token, const sptr &remoteObject)); MOCK_METHOD1(ScheduleDisconnectAbilityDone, int(const sptr &token)); MOCK_METHOD1(ScheduleCommandAbilityDone, int(const sptr &)); MOCK_METHOD2(DumpState, void(const std::string &args, std::vector &state)); MOCK_METHOD5( DumpSysState, void(const std::string &args, std::vector& info, bool isClient, bool isUserID, int UserID)); MOCK_METHOD2(TerminateAbilityResult, int(const sptr &, int startId)); MOCK_METHOD2(StopServiceAbility, int(const Want &, int32_t userId)); MOCK_METHOD1(GetMissionIdByToken, int32_t(const sptr &token)); MOCK_METHOD1(KillProcess, int(const std::string &)); MOCK_METHOD2(UninstallApp, int(const std::string &, int32_t)); MOCK_METHOD4(OnRemoteRequest, int(uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option)); MOCK_METHOD2( GetWantSender, sptr(const WantSenderInfo &wantSenderInfo, const sptr &callerToken)); MOCK_METHOD2(SendWantSender, int(const sptr &target, const SenderInfo &senderInfo)); MOCK_METHOD1(CancelWantSender, void(const sptr &sender)); MOCK_METHOD1(GetPendingWantUid, int(const sptr &target)); MOCK_METHOD1(GetPendingWantUserId, int(const sptr &target)); MOCK_METHOD1(GetPendingWantBundleName, std::string(const sptr &target)); MOCK_METHOD1(GetPendingWantCode, int(const sptr &target)); MOCK_METHOD1(GetPendingWantType, int(const sptr &target)); MOCK_METHOD2(RegisterCancelListener, void(const sptr &sender, const sptr &receiver)); MOCK_METHOD2(UnregisterCancelListener, void(const sptr &sender, const sptr &receiver)); MOCK_METHOD2(GetPendingRequestWant, int(const sptr &target, std::shared_ptr &want)); MOCK_METHOD5(StartAbility, int(const Want &want, const AbilityStartSetting &abilityStartSetting, const sptr &callerToken, int32_t userId, int requestCode)); MOCK_METHOD3(StartContinuation, int(const Want &want, const sptr &abilityToken, int32_t status)); MOCK_METHOD2(NotifyContinuationResult, int(int32_t missionId, int32_t result)); MOCK_METHOD5(ContinueMission, int(const std::string &srcDeviceId, const std::string &dstDeviceId, int32_t missionId, const sptr &callBack, AAFwk::WantParams &wantParams)); MOCK_METHOD3(ContinueAbility, int(const std::string &deviceId, int32_t missionId, uint32_t versionCode)); MOCK_METHOD3(NotifyCompleteContinuation, void(const std::string &deviceId, int32_t sessionId, bool isSuccess)); MOCK_METHOD1(LockMissionForCleanup, int(int32_t missionId)); MOCK_METHOD1(UnlockMissionForCleanup, int(int32_t missionId)); MOCK_METHOD1(RegisterMissionListener, int(const sptr &listener)); MOCK_METHOD1(UnRegisterMissionListener, int(const sptr &listener)); MOCK_METHOD3( GetMissionInfos, int(const std::string& deviceId, int32_t numMax, std::vector &missionInfos)); MOCK_METHOD3(GetMissionInfo, int(const std::string& deviceId, int32_t missionId, MissionInfo &missionInfo)); MOCK_METHOD1(CleanMission, int(int32_t missionId)); MOCK_METHOD0(CleanAllMissions, int()); MOCK_METHOD1(MoveMissionToFront, int(int32_t missionId)); MOCK_METHOD2(MoveMissionToFront, int(int32_t missionId, const StartOptions &startOptions)); MOCK_METHOD2(SetMissionLabel, int(const sptr &token, const std::string &label)); MOCK_METHOD2(SetMissionIcon, int(const sptr &token, const std::shared_ptr &icon)); MOCK_METHOD1(ClearUpApplicationData, int(const std::string &)); MOCK_METHOD2(GetWantSenderInfo, int(const sptr &target, std::shared_ptr &info)); MOCK_METHOD1(GetAbilityRunningInfos, int(std::vector &info)); MOCK_METHOD2(GetExtensionRunningInfos, int(int upperLimit, std::vector &info)); MOCK_METHOD1(GetProcessRunningInfos, int(std::vector &info)); MOCK_METHOD3(StartAbilityByCall, int(const Want &, const sptr &, const sptr &)); #ifdef ABILITY_COMMAND_FOR_TEST MOCK_METHOD0(BlockAppService, int()); MOCK_METHOD0(BlockAmsService, int()); MOCK_METHOD1(BlockAbility, int(int32_t abilityRecordId)); #endif virtual int StartAbility( const Want &want, const StartOptions &startOptions, const sptr &callerToken, int32_t userId = DEFAULT_INVAL_VALUE, int requestCode = DEFAULT_INVAL_VALUE) { return 0; } virtual int StartUser(int userId) override { return 0; } virtual int StopUser(int userId, const sptr &callback) override { return 0; } virtual int StartSyncRemoteMissions(const std::string& devId, bool fixConflict, int64_t tag) override { return 0; } virtual int StopSyncRemoteMissions(const std::string& devId) override { return 0; } virtual int RegisterMissionListener(const std::string &deviceId, const sptr &listener) override { return 0; } virtual int UnRegisterMissionListener(const std::string &deviceId, const sptr &listener) override { return 0; } void CallRequestDone(const sptr &token, const sptr &callStub) override { return; } virtual int ReleaseCall(const sptr &connect, const AppExecFwk::ElementName &element) override { return 0; } virtual int GetMissionSnapshot(const std::string& deviceId, int32_t missionId, MissionSnapshot& snapshot, bool isLowResolution) { return 0; } virtual void UpdateMissionSnapShot(const sptr& token) { return; } virtual int RegisterSnapshotHandler(const sptr& handler) { return 0; } virtual int RegisterWindowManagerServiceHandler(const sptr& handler) override { return 0; } virtual void CompleteFirstFrameDrawing(const sptr &abilityToken) override {} virtual int SetAbilityController(const sptr &abilityController, bool imAStabilityTest) override { return 0; } virtual bool IsRunningInStabilityTest() override { return true; } virtual int SendANRProcessID(int pid) override { return 0; } virtual int StartUserTest(const Want &want, const sptr &observer) override { return 0; } virtual int FinishUserTest( const std::string &msg, const int64_t &resultCode, const std::string &bundleName) override { return 0; } virtual int GetTopAbility(sptr &token) override { return 0; } virtual int DelegatorDoAbilityForeground(const sptr &token) override { return 0; } virtual int DelegatorDoAbilityBackground(const sptr &token) override { return 0; } void Wait() { sem_.Wait(); } int Post() { sem_.Post(); return 0; } void PostVoid() { sem_.Post(); } #ifdef ABILITY_COMMAND_FOR_TEST virtual int ForceTimeoutForTest(const std::string &abilityName, const std::string &state) override { return 0; } #endif private: Semaphore sem_; }; } // namespace AAFwk } // namespace OHOS #endif // MODULETEST_OHOS_ABILITY_RUNTIME_MOCK_ABILITY_MGR_SERVICE_H