1 /* 2 * Copyright (c) 2021-2022 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16 #ifndef MODULETEST_OHOS_ABILITY_RUNTIME_MOCK_ABILITY_MGR_SERVICE_H 17 #define MODULETEST_OHOS_ABILITY_RUNTIME_MOCK_ABILITY_MGR_SERVICE_H 18 19 #include "gmock/gmock.h" 20 #include "semaphore_ex.h" 21 #include "ability_manager_stub.h" 22 23 namespace OHOS { 24 namespace AAFwk { 25 class MockAbilityMgrService : public AbilityManagerStub { 26 public: 27 MOCK_METHOD3(StartAbility, int(const Want &want, int32_t userId, int requestCode)); 28 MOCK_METHOD4(StartAbility, int(const Want &want, const sptr<IRemoteObject> &callerToken, 29 int32_t userId, int requestCode)); 30 MOCK_METHOD2(TerminateAbilityByCaller, int(const sptr<IRemoteObject> &callerToken, int requestCode)); 31 MOCK_METHOD3(TerminateAbility, int(const sptr<IRemoteObject> &token, int resultCode, const Want *resultWant)); 32 virtual int CloseAbility(const sptr<IRemoteObject> &token, int resultCode = DEFAULT_INVAL_VALUE, 33 const Want *resultWant = nullptr) override 34 { 35 return 0; 36 } 37 38 virtual int MinimizeAbility(const sptr<IRemoteObject> &token, bool fromUser = false) override 39 { 40 return 0; 41 } 42 MOCK_METHOD4(ConnectAbility, int(const Want &want, const sptr<IAbilityConnection> &connect, 43 const sptr<IRemoteObject> &callerToken, int32_t userId)); 44 MOCK_METHOD1(DisconnectAbility, int(const sptr<IAbilityConnection> &connect)); 45 MOCK_METHOD3(AcquireDataAbility, sptr<IAbilityScheduler>(const Uri &, bool, const sptr<IRemoteObject> &)); 46 MOCK_METHOD2(ReleaseDataAbility, int(sptr<IAbilityScheduler>, const sptr<IRemoteObject> &)); 47 MOCK_METHOD2(AttachAbilityThread, int(const sptr<IAbilityScheduler> &scheduler, const sptr<IRemoteObject> &token)); 48 MOCK_METHOD3(AbilityTransitionDone, int(const sptr<IRemoteObject> &token, int state, const PacMap &)); 49 MOCK_METHOD2( 50 ScheduleConnectAbilityDone, int(const sptr<IRemoteObject> &token, const sptr<IRemoteObject> &remoteObject)); 51 MOCK_METHOD1(ScheduleDisconnectAbilityDone, int(const sptr<IRemoteObject> &token)); 52 MOCK_METHOD1(ScheduleCommandAbilityDone, int(const sptr<IRemoteObject> &)); 53 MOCK_METHOD2(DumpState, void(const std::string &args, std::vector<std::string> &state)); 54 MOCK_METHOD5( 55 DumpSysState, 56 void(const std::string &args, std::vector<std::string>& info, bool isClient, bool isUserID, int UserID)); 57 MOCK_METHOD2(TerminateAbilityResult, int(const sptr<IRemoteObject> &, int startId)); 58 MOCK_METHOD2(StopServiceAbility, int(const Want &, int32_t userId)); 59 MOCK_METHOD1(GetMissionIdByToken, int32_t(const sptr<IRemoteObject> &token)); 60 MOCK_METHOD1(KillProcess, int(const std::string &)); 61 MOCK_METHOD2(UninstallApp, int(const std::string &, int32_t)); 62 MOCK_METHOD4(OnRemoteRequest, int(uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option)); 63 MOCK_METHOD2( 64 GetWantSender, sptr<IWantSender>(const WantSenderInfo &wantSenderInfo, const sptr<IRemoteObject> &callerToken)); 65 MOCK_METHOD2(SendWantSender, int(const sptr<IWantSender> &target, const SenderInfo &senderInfo)); 66 MOCK_METHOD1(CancelWantSender, void(const sptr<IWantSender> &sender)); 67 MOCK_METHOD1(GetPendingWantUid, int(const sptr<IWantSender> &target)); 68 MOCK_METHOD1(GetPendingWantUserId, int(const sptr<IWantSender> &target)); 69 MOCK_METHOD1(GetPendingWantBundleName, std::string(const sptr<IWantSender> &target)); 70 MOCK_METHOD1(GetPendingWantCode, int(const sptr<IWantSender> &target)); 71 MOCK_METHOD1(GetPendingWantType, int(const sptr<IWantSender> &target)); 72 MOCK_METHOD2(RegisterCancelListener, void(const sptr<IWantSender> &sender, const sptr<IWantReceiver> &receiver)); 73 MOCK_METHOD2(UnregisterCancelListener, void(const sptr<IWantSender> &sender, const sptr<IWantReceiver> &receiver)); 74 MOCK_METHOD2(GetPendingRequestWant, int(const sptr<IWantSender> &target, std::shared_ptr<Want> &want)); 75 MOCK_METHOD5(StartAbility, int(const Want &want, const AbilityStartSetting &abilityStartSetting, 76 const sptr<IRemoteObject> &callerToken, int32_t userId, int requestCode)); 77 MOCK_METHOD3(StartContinuation, int(const Want &want, const sptr<IRemoteObject> &abilityToken, int32_t status)); 78 MOCK_METHOD2(NotifyContinuationResult, int(int32_t missionId, int32_t result)); 79 MOCK_METHOD5(ContinueMission, int(const std::string &srcDeviceId, const std::string &dstDeviceId, 80 int32_t missionId, const sptr<IRemoteObject> &callBack, AAFwk::WantParams &wantParams)); 81 MOCK_METHOD3(ContinueAbility, int(const std::string &deviceId, int32_t missionId, uint32_t versionCode)); 82 MOCK_METHOD3(NotifyCompleteContinuation, void(const std::string &deviceId, int32_t sessionId, bool isSuccess)); 83 84 MOCK_METHOD1(LockMissionForCleanup, int(int32_t missionId)); 85 MOCK_METHOD1(UnlockMissionForCleanup, int(int32_t missionId)); 86 MOCK_METHOD1(RegisterMissionListener, int(const sptr<IMissionListener> &listener)); 87 MOCK_METHOD1(UnRegisterMissionListener, int(const sptr<IMissionListener> &listener)); 88 MOCK_METHOD3( 89 GetMissionInfos, int(const std::string& deviceId, int32_t numMax, std::vector<MissionInfo> &missionInfos)); 90 MOCK_METHOD3(GetMissionInfo, int(const std::string& deviceId, int32_t missionId, MissionInfo &missionInfo)); 91 MOCK_METHOD1(CleanMission, int(int32_t missionId)); 92 MOCK_METHOD0(CleanAllMissions, int()); 93 MOCK_METHOD1(MoveMissionToFront, int(int32_t missionId)); 94 MOCK_METHOD2(MoveMissionToFront, int(int32_t missionId, const StartOptions &startOptions)); 95 MOCK_METHOD2(SetMissionLabel, int(const sptr<IRemoteObject> &token, const std::string &label)); 96 MOCK_METHOD2(SetMissionIcon, int(const sptr<IRemoteObject> &token, 97 const std::shared_ptr<OHOS::Media::PixelMap> &icon)); 98 MOCK_METHOD1(ClearUpApplicationData, int(const std::string &)); 99 100 MOCK_METHOD2(GetWantSenderInfo, int(const sptr<IWantSender> &target, std::shared_ptr<WantSenderInfo> &info)); 101 102 MOCK_METHOD1(GetAbilityRunningInfos, int(std::vector<AbilityRunningInfo> &info)); 103 MOCK_METHOD2(GetExtensionRunningInfos, int(int upperLimit, std::vector<ExtensionRunningInfo> &info)); 104 MOCK_METHOD1(GetProcessRunningInfos, int(std::vector<AppExecFwk::RunningProcessInfo> &info)); 105 MOCK_METHOD3(StartAbilityByCall, int(const Want &, const sptr<IAbilityConnection> &, const sptr<IRemoteObject> &)); 106 #ifdef ABILITY_COMMAND_FOR_TEST 107 MOCK_METHOD0(BlockAppService, int()); 108 MOCK_METHOD0(BlockAmsService, int()); 109 MOCK_METHOD1(BlockAbility, int(int32_t abilityRecordId)); 110 #endif 111 112 virtual int StartAbility( 113 const Want &want, 114 const StartOptions &startOptions, 115 const sptr<IRemoteObject> &callerToken, 116 int32_t userId = DEFAULT_INVAL_VALUE, 117 int requestCode = DEFAULT_INVAL_VALUE) 118 { 119 return 0; 120 } 121 StartUser(int userId)122 virtual int StartUser(int userId) override 123 { 124 return 0; 125 } 126 StopUser(int userId,const sptr<IStopUserCallback> & callback)127 virtual int StopUser(int userId, const sptr<IStopUserCallback> &callback) override 128 { 129 return 0; 130 } StartSyncRemoteMissions(const std::string & devId,bool fixConflict,int64_t tag)131 virtual int StartSyncRemoteMissions(const std::string& devId, bool fixConflict, int64_t tag) override 132 { 133 return 0; 134 } StopSyncRemoteMissions(const std::string & devId)135 virtual int StopSyncRemoteMissions(const std::string& devId) override 136 { 137 return 0; 138 } RegisterMissionListener(const std::string & deviceId,const sptr<IRemoteMissionListener> & listener)139 virtual int RegisterMissionListener(const std::string &deviceId, 140 const sptr<IRemoteMissionListener> &listener) override 141 { 142 return 0; 143 } UnRegisterMissionListener(const std::string & deviceId,const sptr<IRemoteMissionListener> & listener)144 virtual int UnRegisterMissionListener(const std::string &deviceId, 145 const sptr<IRemoteMissionListener> &listener) override 146 { 147 return 0; 148 } CallRequestDone(const sptr<IRemoteObject> & token,const sptr<IRemoteObject> & callStub)149 void CallRequestDone(const sptr<IRemoteObject> &token, const sptr<IRemoteObject> &callStub) override 150 { 151 return; 152 } ReleaseCall(const sptr<IAbilityConnection> & connect,const AppExecFwk::ElementName & element)153 virtual int ReleaseCall(const sptr<IAbilityConnection> &connect, 154 const AppExecFwk::ElementName &element) override 155 { 156 return 0; 157 } GetMissionSnapshot(const std::string & deviceId,int32_t missionId,MissionSnapshot & snapshot,bool isLowResolution)158 virtual int GetMissionSnapshot(const std::string& deviceId, int32_t missionId, 159 MissionSnapshot& snapshot, bool isLowResolution) 160 { 161 return 0; 162 } UpdateMissionSnapShot(const sptr<IRemoteObject> & token)163 virtual void UpdateMissionSnapShot(const sptr<IRemoteObject>& token) 164 { 165 return; 166 } RegisterSnapshotHandler(const sptr<ISnapshotHandler> & handler)167 virtual int RegisterSnapshotHandler(const sptr<ISnapshotHandler>& handler) 168 { 169 return 0; 170 } 171 RegisterWindowManagerServiceHandler(const sptr<IWindowManagerServiceHandler> & handler)172 virtual int RegisterWindowManagerServiceHandler(const sptr<IWindowManagerServiceHandler>& handler) override 173 { 174 return 0; 175 } 176 CompleteFirstFrameDrawing(const sptr<IRemoteObject> & abilityToken)177 virtual void CompleteFirstFrameDrawing(const sptr<IRemoteObject> &abilityToken) override {} 178 SetAbilityController(const sptr<AppExecFwk::IAbilityController> & abilityController,bool imAStabilityTest)179 virtual int SetAbilityController(const sptr<AppExecFwk::IAbilityController> &abilityController, 180 bool imAStabilityTest) override 181 { 182 return 0; 183 } 184 IsRunningInStabilityTest()185 virtual bool IsRunningInStabilityTest() override 186 { 187 return true; 188 } 189 SendANRProcessID(int pid)190 virtual int SendANRProcessID(int pid) override 191 { 192 return 0; 193 } 194 StartUserTest(const Want & want,const sptr<IRemoteObject> & observer)195 virtual int StartUserTest(const Want &want, const sptr<IRemoteObject> &observer) override 196 { 197 return 0; 198 } 199 FinishUserTest(const std::string & msg,const int64_t & resultCode,const std::string & bundleName)200 virtual int FinishUserTest( 201 const std::string &msg, const int64_t &resultCode, const std::string &bundleName) override 202 { 203 return 0; 204 } 205 GetTopAbility(sptr<IRemoteObject> & token)206 virtual int GetTopAbility(sptr<IRemoteObject> &token) override 207 { 208 return 0; 209 } 210 DelegatorDoAbilityForeground(const sptr<IRemoteObject> & token)211 virtual int DelegatorDoAbilityForeground(const sptr<IRemoteObject> &token) override 212 { 213 return 0; 214 } 215 DelegatorDoAbilityBackground(const sptr<IRemoteObject> & token)216 virtual int DelegatorDoAbilityBackground(const sptr<IRemoteObject> &token) override 217 { 218 return 0; 219 } 220 Wait()221 void Wait() 222 { 223 sem_.Wait(); 224 } 225 Post()226 int Post() 227 { 228 sem_.Post(); 229 return 0; 230 } 231 PostVoid()232 void PostVoid() 233 { 234 sem_.Post(); 235 } 236 237 #ifdef ABILITY_COMMAND_FOR_TEST ForceTimeoutForTest(const std::string & abilityName,const std::string & state)238 virtual int ForceTimeoutForTest(const std::string &abilityName, const std::string &state) override 239 { 240 return 0; 241 } 242 #endif 243 244 private: 245 Semaphore sem_; 246 }; 247 } // namespace AAFwk 248 } // namespace OHOS 249 #endif // MODULETEST_OHOS_ABILITY_RUNTIME_MOCK_ABILITY_MGR_SERVICE_H 250