1 /* 2 * Copyright (c) 2021-2023 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_METHOD5(StartAbilityAsCaller, int(const Want& want, const sptr<IRemoteObject>& callerToken, 31 sptr<IRemoteObject> asCallerSourceToken, int32_t userId, int requestCode)); 32 MOCK_METHOD6(StartAbilityAsCaller, int(const Want &want, const StartOptions &startOptions, 33 const sptr<IRemoteObject> &callerToken, sptr<IRemoteObject> asCallerSourceToken, 34 int32_t userId, int requestCode)); 35 MOCK_METHOD3(TerminateAbility, int(const sptr<IRemoteObject>& token, int resultCode, const Want* resultWant)); 36 virtual int CloseAbility(const sptr<IRemoteObject>& token, int resultCode = DEFAULT_INVAL_VALUE, 37 const Want* resultWant = nullptr) override 38 { 39 return 0; 40 } 41 42 virtual int MinimizeAbility(const sptr<IRemoteObject>& token, bool fromUser = false) override 43 { 44 return 0; 45 } 46 MOCK_METHOD4(ConnectAbility, int(const Want& want, const sptr<IAbilityConnection>& connect, 47 const sptr<IRemoteObject>& callerToken, int32_t userId)); 48 MOCK_METHOD1(DisconnectAbility, int(sptr<IAbilityConnection> connect)); 49 MOCK_METHOD3(AcquireDataAbility, sptr<IAbilityScheduler>(const Uri&, bool, const sptr<IRemoteObject>&)); 50 MOCK_METHOD2(ReleaseDataAbility, int(sptr<IAbilityScheduler>, const sptr<IRemoteObject>&)); 51 MOCK_METHOD2(AttachAbilityThread, int(const sptr<IAbilityScheduler>& scheduler, const sptr<IRemoteObject>& token)); 52 MOCK_METHOD3(AbilityTransitionDone, int(const sptr<IRemoteObject>& token, int state, const PacMap&)); 53 MOCK_METHOD2( 54 ScheduleConnectAbilityDone, int(const sptr<IRemoteObject>& token, const sptr<IRemoteObject>& remoteObject)); 55 MOCK_METHOD1(ScheduleDisconnectAbilityDone, int(const sptr<IRemoteObject>& token)); 56 MOCK_METHOD1(ScheduleCommandAbilityDone, int(const sptr<IRemoteObject>&)); 57 MOCK_METHOD4(ScheduleCommandAbilityWindowDone, int(const sptr<IRemoteObject> &token, 58 const sptr<SessionInfo> &sessionInfo, WindowCommand winCmd, AbilityCommand abilityCmd)); 59 MOCK_METHOD2(DumpState, void(const std::string& args, std::vector<std::string>& state)); 60 MOCK_METHOD5( 61 DumpSysState, 62 void(const std::string& args, std::vector<std::string>& info, bool isClient, bool isUserID, int UserID)); 63 MOCK_METHOD3(StopServiceAbility, int(const Want&, int32_t userId, const sptr<IRemoteObject> &token)); 64 MOCK_METHOD1(GetMissionIdByToken, int32_t(const sptr<IRemoteObject>& token)); 65 MOCK_METHOD2(GetAbilityTokenByCalleeObj, void(const sptr<IRemoteObject> &callStub, sptr<IRemoteObject> &token)); 66 MOCK_METHOD2(KillProcess, int(const std::string&, const bool clearPageStack)); 67 MOCK_METHOD2(UninstallApp, int(const std::string&, int32_t)); 68 MOCK_METHOD3(UninstallApp, int32_t(const std::string&, int32_t, int32_t)); 69 MOCK_METHOD4(OnRemoteRequest, int(uint32_t code, MessageParcel& data, MessageParcel& reply, MessageOption& option)); 70 MOCK_METHOD3( 71 GetWantSender, sptr<IWantSender>(const WantSenderInfo& wantSenderInfo, const sptr<IRemoteObject>& callerToken, 72 int32_t uid)); 73 MOCK_METHOD2(SendWantSender, int(sptr<IWantSender> target, const SenderInfo& senderInfo)); 74 MOCK_METHOD1(CancelWantSender, void(const sptr<IWantSender>& sender)); 75 MOCK_METHOD1(GetPendingWantUid, int(const sptr<IWantSender>& target)); 76 MOCK_METHOD1(GetPendingWantUserId, int(const sptr<IWantSender>& target)); 77 MOCK_METHOD1(GetPendingWantBundleName, std::string(const sptr<IWantSender>& target)); 78 MOCK_METHOD1(GetPendingWantCode, int(const sptr<IWantSender>& target)); 79 MOCK_METHOD1(GetPendingWantType, int(const sptr<IWantSender>& target)); 80 MOCK_METHOD2(RegisterCancelListener, void(const sptr<IWantSender>& sender, const sptr<IWantReceiver>& receiver)); 81 MOCK_METHOD2(UnregisterCancelListener, void(const sptr<IWantSender>& sender, const sptr<IWantReceiver>& receiver)); 82 MOCK_METHOD2(GetPendingRequestWant, int(const sptr<IWantSender>& target, std::shared_ptr<Want>& want)); 83 MOCK_METHOD5(StartAbility, int(const Want& want, const AbilityStartSetting& abilityStartSetting, 84 const sptr<IRemoteObject>& callerToken, int32_t userId, int requestCode)); 85 MOCK_METHOD4(StartAbilityByInsightIntent, int32_t(const Want& want, const sptr<IRemoteObject>& callerToken, 86 uint64_t intentId, int32_t userId)); 87 MOCK_METHOD3(StartContinuation, int(const Want& want, const sptr<IRemoteObject>& abilityToken, int32_t status)); 88 MOCK_METHOD2(NotifyContinuationResult, int(int32_t missionId, int32_t result)); 89 MOCK_METHOD5(ContinueMission, int(const std::string& srcDeviceId, const std::string& dstDeviceId, 90 int32_t missionId, const sptr<IRemoteObject>& callBack, AAFwk::WantParams& wantParams)); 91 MOCK_METHOD3(ContinueAbility, int(const std::string& deviceId, int32_t missionId, uint32_t versionCode)); 92 MOCK_METHOD3(NotifyCompleteContinuation, void(const std::string& deviceId, int32_t sessionId, bool isSuccess)); 93 94 MOCK_METHOD1(LockMissionForCleanup, int(int32_t missionId)); 95 MOCK_METHOD1(UnlockMissionForCleanup, int(int32_t missionId)); 96 MOCK_METHOD1(RegisterMissionListener, int(const sptr<IMissionListener>& listener)); 97 MOCK_METHOD1(UnRegisterMissionListener, int(const sptr<IMissionListener>& listener)); 98 MOCK_METHOD3( 99 GetMissionInfos, int(const std::string& deviceId, int32_t numMax, std::vector<MissionInfo>& missionInfos)); 100 MOCK_METHOD3(GetMissionInfo, int(const std::string& deviceId, int32_t missionId, MissionInfo& missionInfo)); 101 MOCK_METHOD1(CleanMission, int(int32_t missionId)); 102 MOCK_METHOD0(CleanAllMissions, int()); 103 MOCK_METHOD1(MoveMissionToFront, int(int32_t missionId)); 104 MOCK_METHOD2(MoveMissionToFront, int(int32_t missionId, const StartOptions& startOptions)); 105 MOCK_METHOD2(MoveMissionsToForeground, int(const std::vector<int32_t>& missionIds, int32_t topMissionId)); 106 MOCK_METHOD2(MoveMissionsToBackground, int(const std::vector<int32_t>& missionIds, std::vector<int32_t>& result)); 107 MOCK_METHOD2(SetMissionContinueState, int(const sptr<IRemoteObject>& token, const AAFwk::ContinueState& state)); 108 MOCK_METHOD2(SetMissionLabel, int(const sptr<IRemoteObject>& token, const std::string& label)); 109 MOCK_METHOD2(SetMissionIcon, int(const sptr<IRemoteObject>& token, 110 const std::shared_ptr<OHOS::Media::PixelMap>& icon)); 111 112 MOCK_METHOD2(GetWantSenderInfo, int(const sptr<IWantSender>& target, std::shared_ptr<WantSenderInfo>& info)); 113 114 MOCK_METHOD1(GetAbilityRunningInfos, int(std::vector<AbilityRunningInfo>& info)); 115 MOCK_METHOD2(GetExtensionRunningInfos, int(int upperLimit, std::vector<ExtensionRunningInfo>& info)); 116 MOCK_METHOD1(GetProcessRunningInfos, int(std::vector<AppExecFwk::RunningProcessInfo>& info)); 117 MOCK_METHOD4(StartAbilityByCall, 118 int(const Want&, const sptr<IAbilityConnection>&, const sptr<IRemoteObject>&, int32_t)); 119 MOCK_METHOD2(AcquireShareData, int32_t(const int32_t &missionId, const sptr<IAcquireShareDataCallback> &shareData)); 120 MOCK_METHOD4(ShareDataDone, int32_t(const sptr<IRemoteObject> &token, 121 const int32_t &resultCode, const int32_t &uniqueId, WantParams &wantParam)); 122 123 virtual int StartAbility( 124 const Want& want, 125 const StartOptions& startOptions, 126 const sptr<IRemoteObject>& callerToken, 127 int32_t userId = DEFAULT_INVAL_VALUE, 128 int requestCode = DEFAULT_INVAL_VALUE) 129 { 130 return 0; 131 } 132 StartUser(int userId,sptr<IUserCallback> callback)133 virtual int StartUser(int userId, sptr<IUserCallback> callback) override 134 { 135 return 0; 136 } 137 StopUser(int userId,const sptr<IUserCallback> & callback)138 virtual int StopUser(int userId, const sptr<IUserCallback>& callback) override 139 { 140 return 0; 141 } 142 LogoutUser(int32_t userId)143 virtual int LogoutUser(int32_t userId) override 144 { 145 return 0; 146 } 147 StartSyncRemoteMissions(const std::string & devId,bool fixConflict,int64_t tag)148 virtual int StartSyncRemoteMissions(const std::string& devId, bool fixConflict, int64_t tag) override 149 { 150 return 0; 151 } GetForegroundUIAbilities(std::vector<AppExecFwk::AbilityStateData> & list)152 virtual int32_t GetForegroundUIAbilities(std::vector<AppExecFwk::AbilityStateData> &list) 153 { 154 return 0; 155 } StopSyncRemoteMissions(const std::string & devId)156 virtual int StopSyncRemoteMissions(const std::string& devId) override 157 { 158 return 0; 159 } RegisterMissionListener(const std::string & deviceId,const sptr<IRemoteMissionListener> & listener)160 virtual int RegisterMissionListener(const std::string& deviceId, 161 const sptr<IRemoteMissionListener>& listener) override 162 { 163 return 0; 164 } UnRegisterMissionListener(const std::string & deviceId,const sptr<IRemoteMissionListener> & listener)165 virtual int UnRegisterMissionListener(const std::string& deviceId, 166 const sptr<IRemoteMissionListener>& listener) override 167 { 168 return 0; 169 } CallRequestDone(const sptr<IRemoteObject> & token,const sptr<IRemoteObject> & callStub)170 void CallRequestDone(const sptr<IRemoteObject> &token, const sptr<IRemoteObject> &callStub) override 171 { 172 return; 173 } ReleaseCall(const sptr<IAbilityConnection> & connect,const AppExecFwk::ElementName & element)174 virtual int ReleaseCall(const sptr<IAbilityConnection> &connect, 175 const AppExecFwk::ElementName &element) override 176 { 177 return 0; 178 } GetMissionSnapshot(const std::string & deviceId,int32_t missionId,MissionSnapshot & snapshot,bool isLowResolution)179 virtual int GetMissionSnapshot(const std::string& deviceId, int32_t missionId, 180 MissionSnapshot& snapshot, bool isLowResolution) 181 { 182 return 0; 183 } RegisterSnapshotHandler(const sptr<ISnapshotHandler> & handler)184 virtual int RegisterSnapshotHandler(const sptr<ISnapshotHandler>& handler) 185 { 186 return 0; 187 } 188 189 virtual int RegisterWindowManagerServiceHandler(const sptr<IWindowManagerServiceHandler>& handler, 190 bool animationEnabled = true) override 191 { 192 return 0; 193 } 194 CompleteFirstFrameDrawing(const sptr<IRemoteObject> & abilityToken)195 virtual void CompleteFirstFrameDrawing(const sptr<IRemoteObject>& abilityToken) override {} 196 SetAbilityController(const sptr<AppExecFwk::IAbilityController> & abilityController,bool imAStabilityTest)197 virtual int SetAbilityController(const sptr<AppExecFwk::IAbilityController>& abilityController, 198 bool imAStabilityTest) override 199 { 200 return 0; 201 } 202 IsRunningInStabilityTest()203 virtual bool IsRunningInStabilityTest() override 204 { 205 return true; 206 } 207 StartUserTest(const Want & want,const sptr<IRemoteObject> & observer)208 virtual int StartUserTest(const Want& want, const sptr<IRemoteObject>& observer) override 209 { 210 return 0; 211 } 212 FinishUserTest(const std::string & msg,const int64_t & resultCode,const std::string & bundleName)213 virtual int FinishUserTest( 214 const std::string& msg, const int64_t& resultCode, const std::string& bundleName) override 215 { 216 return 0; 217 } 218 GetTopAbility(sptr<IRemoteObject> & token)219 virtual int GetTopAbility(sptr<IRemoteObject>& token) override 220 { 221 return 0; 222 } 223 DelegatorDoAbilityForeground(const sptr<IRemoteObject> & token)224 virtual int DelegatorDoAbilityForeground(const sptr<IRemoteObject>& token) override 225 { 226 return 0; 227 } 228 DelegatorDoAbilityBackground(const sptr<IRemoteObject> & token)229 virtual int DelegatorDoAbilityBackground(const sptr<IRemoteObject>& token) override 230 { 231 return 0; 232 } 233 ReportDrawnCompleted(const sptr<IRemoteObject> & callerToken)234 int32_t ReportDrawnCompleted(const sptr<IRemoteObject>& callerToken) override 235 { 236 return 0; 237 } 238 Wait()239 void Wait() 240 { 241 sem_.Wait(); 242 } 243 Post()244 int Post() 245 { 246 sem_.Post(); 247 return 0; 248 } 249 PostVoid()250 void PostVoid() 251 { 252 sem_.Post(); 253 } 254 SetApplicationAutoStartupByEDM(const AutoStartupInfo & info,bool flag)255 int32_t SetApplicationAutoStartupByEDM(const AutoStartupInfo &info, bool flag) override 256 { 257 return 0; 258 } 259 CancelApplicationAutoStartupByEDM(const AutoStartupInfo & info,bool flag)260 int32_t CancelApplicationAutoStartupByEDM(const AutoStartupInfo &info, bool flag) override 261 { 262 return 0; 263 } 264 265 #ifdef ABILITY_COMMAND_FOR_TEST ForceTimeoutForTest(const std::string & abilityName,const std::string & state)266 virtual int ForceTimeoutForTest(const std::string& abilityName, const std::string& state) override 267 { 268 return 0; 269 } 270 #endif 271 MOCK_METHOD2(IsValidMissionIds, int32_t(const std::vector<int32_t>&, std::vector<MissionValidResult>&)); 272 MOCK_METHOD1(RegisterAppDebugListener, int32_t(sptr<AppExecFwk::IAppDebugListener> listener)); 273 MOCK_METHOD1(UnregisterAppDebugListener, int32_t(sptr<AppExecFwk::IAppDebugListener> listener)); 274 MOCK_METHOD1(AttachAppDebug, int32_t(const std::string &bundleName)); 275 MOCK_METHOD1(DetachAppDebug, int32_t(const std::string &bundleName)); 276 MOCK_METHOD3(ExecuteIntent, int32_t(uint64_t key, const sptr<IRemoteObject> &callerToken, 277 const InsightIntentExecuteParam ¶m)); 278 MOCK_METHOD3(ExecuteInsightIntentDone, int32_t(const sptr<IRemoteObject> &token, uint64_t intentId, 279 const InsightIntentExecuteResult &result)); 280 MOCK_METHOD5(StartAbilityWithSpecifyTokenId, int(const Want& want, const sptr<IRemoteObject>& callerToken, 281 uint32_t specifyTokenId, int32_t userId, int requestCode)); 282 283 private: 284 Semaphore sem_; 285 }; 286 } // namespace AAFwk 287 } // namespace OHOS 288 #endif // MODULETEST_OHOS_ABILITY_RUNTIME_MOCK_ABILITY_MGR_SERVICE_H 289