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 UNITTEST_OHOS_ABILITY_RUNTIME_ABILITY_MANAGER_STUB_MOCK_H 17 #define UNITTEST_OHOS_ABILITY_RUNTIME_ABILITY_MANAGER_STUB_MOCK_H 18 #include <gmock/gmock.h> 19 #include <iremote_object.h> 20 #include <iremote_stub.h> 21 #include "ability_manager_interface.h" 22 23 namespace OHOS { 24 namespace AAFwk { 25 class AbilityManagerStubTestMock : public IRemoteStub<IAbilityManager> { 26 public: 27 DECLARE_INTERFACE_DESCRIPTOR(u"IAbilityManagerMock"); 28 AbilityManagerStubTestMock()29 AbilityManagerStubTestMock() : code_(0) 30 {} ~AbilityManagerStubTestMock()31 virtual ~AbilityManagerStubTestMock() 32 {} 33 34 MOCK_METHOD4(SendRequest, int(uint32_t, MessageParcel&, MessageParcel&, MessageOption&)); 35 InvokeSendRequest(uint32_t code,MessageParcel & data,MessageParcel & reply,MessageOption & option)36 int InvokeSendRequest(uint32_t code, MessageParcel& data, MessageParcel& reply, MessageOption& option) 37 { 38 code_ = code; 39 40 return 0; 41 } 42 GetForegroundUIAbilities(std::vector<AppExecFwk::AbilityStateData> & list)43 virtual int32_t GetForegroundUIAbilities(std::vector<AppExecFwk::AbilityStateData> &list) 44 { 45 return 0; 46 } 47 InvokeErrorSendRequest(uint32_t code,MessageParcel & data,MessageParcel & reply,MessageOption & option)48 int InvokeErrorSendRequest(uint32_t code, MessageParcel& data, MessageParcel& reply, MessageOption& option) 49 { 50 code_ = code; 51 return UNKNOWN_ERROR; 52 } 53 54 int code_ = 0; 55 56 virtual int StartAbility(const Want& want, int32_t userId = DEFAULT_INVAL_VALUE, int requestCode = -1) 57 { 58 return 0; 59 } 60 61 virtual int StartAbility(const Want& want, 62 const AbilityStartSetting& abilityStartSetting, 63 const sptr<IRemoteObject>& callerToken, 64 int32_t userId = DEFAULT_INVAL_VALUE, 65 int requestCode = DEFAULT_INVAL_VALUE) 66 { 67 return 0; 68 } 69 70 virtual int StartAbility( 71 const Want& want, 72 const StartOptions& startOptions, 73 const sptr<IRemoteObject>& callerToken, 74 int32_t userId = DEFAULT_INVAL_VALUE, 75 int requestCode = DEFAULT_INVAL_VALUE) 76 { 77 return 0; 78 } 79 80 virtual int StartAbilityAsCaller( 81 const Want& want, 82 const StartOptions& startOptions, 83 const sptr<IRemoteObject>& callerToken, 84 sptr<IRemoteObject> asCallerSourceToken, 85 int32_t userId = DEFAULT_INVAL_VALUE, 86 int requestCode = DEFAULT_INVAL_VALUE) 87 { 88 return 0; 89 } 90 91 virtual int StartAbilityByUIContentSession( 92 const Want &want, 93 const sptr<IRemoteObject> &callerToken, 94 const sptr<SessionInfo> &sessionInfo, 95 int32_t userId = DEFAULT_INVAL_VALUE, 96 int requestCode = DEFAULT_INVAL_VALUE) 97 { 98 return 0; 99 } 100 101 virtual int StartAbilityByUIContentSession( 102 const Want &want, 103 const StartOptions &startOptions, 104 const sptr<IRemoteObject> &callerToken, 105 const sptr<SessionInfo> &sessionInfo, 106 int32_t userId = DEFAULT_INVAL_VALUE, 107 int requestCode = DEFAULT_INVAL_VALUE) 108 { 109 return 0; 110 } 111 RegisterSessionHandler(const sptr<IRemoteObject> & callerToken)112 virtual int RegisterSessionHandler(const sptr<IRemoteObject> &callerToken) 113 { 114 return 0; 115 } 116 117 virtual int TerminateAbility(const sptr<IRemoteObject>& token, int resultCode, const Want* resultWant = nullptr) 118 { 119 return 0; 120 } 121 int CloseAbility(const sptr<IRemoteObject>& token, int resultCode = DEFAULT_INVAL_VALUE, 122 const Want* resultWant = nullptr) override 123 { 124 return 0; 125 } MinimizeAbility(const sptr<IRemoteObject> & token,bool fromUser)126 int MinimizeAbility(const sptr<IRemoteObject>& token, bool fromUser) override 127 { 128 return 0; 129 } 130 131 virtual int ConnectAbility( 132 const Want& want, 133 const sptr<IAbilityConnection>& connect, 134 const sptr<IRemoteObject>& callerToken, 135 int32_t userId = DEFAULT_INVAL_VALUE) 136 { 137 return 0; 138 } 139 AcquireDataAbility(const Uri & uri,bool tryBind,const sptr<IRemoteObject> & callerToken)140 sptr<IAbilityScheduler> AcquireDataAbility( 141 const Uri& uri, bool tryBind, const sptr<IRemoteObject>& callerToken) override 142 { 143 return nullptr; 144 } 145 ReleaseDataAbility(sptr<IAbilityScheduler> dataAbilityScheduler,const sptr<IRemoteObject> & callerToken)146 virtual int ReleaseDataAbility(sptr<IAbilityScheduler> dataAbilityScheduler, const sptr<IRemoteObject>& callerToken) 147 { 148 return 0; 149 } 150 DisconnectAbility(sptr<IAbilityConnection> connect)151 virtual int DisconnectAbility(sptr<IAbilityConnection> connect) 152 { 153 return 0; 154 } 155 AttachAbilityThread(const sptr<IAbilityScheduler> & scheduler,const sptr<IRemoteObject> & token)156 virtual int AttachAbilityThread(const sptr<IAbilityScheduler>& scheduler, const sptr<IRemoteObject>& token) 157 { 158 return 0; 159 } 160 AbilityTransitionDone(const sptr<IRemoteObject> & token,int state,const PacMap & saveData)161 virtual int AbilityTransitionDone(const sptr<IRemoteObject>& token, int state, const PacMap& saveData) 162 { 163 return 0; 164 } 165 ScheduleConnectAbilityDone(const sptr<IRemoteObject> & token,const sptr<IRemoteObject> & remoteObject)166 virtual int ScheduleConnectAbilityDone(const sptr<IRemoteObject>& token, const sptr<IRemoteObject>& remoteObject) 167 { 168 return 0; 169 } 170 ScheduleDisconnectAbilityDone(const sptr<IRemoteObject> & token)171 virtual int ScheduleDisconnectAbilityDone(const sptr<IRemoteObject>& token) 172 { 173 return 0; 174 } 175 ScheduleCommandAbilityDone(const sptr<IRemoteObject> & token)176 virtual int ScheduleCommandAbilityDone(const sptr<IRemoteObject>& token) 177 { 178 return 0; 179 } 180 ScheduleCommandAbilityWindowDone(const sptr<IRemoteObject> & token,const sptr<SessionInfo> & sessionInfo,WindowCommand winCmd,AbilityCommand abilityCmd)181 virtual int ScheduleCommandAbilityWindowDone( 182 const sptr<IRemoteObject> &token, 183 const sptr<SessionInfo> &sessionInfo, 184 WindowCommand winCmd, 185 AbilityCommand abilityCmd) 186 { 187 return 0; 188 } 189 DumpState(const std::string & args,std::vector<std::string> & state)190 virtual void DumpState(const std::string& args, std::vector<std::string>& state) 191 {} 192 DumpSysState(const std::string & args,std::vector<std::string> & info,bool isClient,bool isUserID,int UserID)193 virtual void DumpSysState( 194 const std::string& args, std::vector<std::string>& info, bool isClient, bool isUserID, int UserID) 195 {} 196 197 virtual int StopServiceAbility(const Want& want, int32_t userId = DEFAULT_INVAL_VALUE, 198 const sptr<IRemoteObject> &token = nullptr) 199 { 200 return 0; 201 } 202 203 virtual int KillProcess(const std::string& bundleName, bool clearPageStack = false, int32_t appIndex = 0) 204 { 205 return 0; 206 } 207 UninstallApp(const std::string & bundleName,int32_t uid)208 virtual int UninstallApp(const std::string& bundleName, int32_t uid) 209 { 210 return 0; 211 } 212 GetMissionIdByToken(const sptr<IRemoteObject> & token)213 int32_t GetMissionIdByToken(const sptr<IRemoteObject>& token) override 214 { 215 return 0; 216 } 217 GetAbilityTokenByCalleeObj(const sptr<IRemoteObject> & callStub,sptr<IRemoteObject> & token)218 void GetAbilityTokenByCalleeObj(const sptr<IRemoteObject> &callStub, sptr<IRemoteObject> &token) override 219 { 220 return; 221 } 222 StartUser(int userId,sptr<IUserCallback> callback,bool isAppRecovery)223 int StartUser(int userId, sptr<IUserCallback> callback, bool isAppRecovery) override 224 { 225 return 0; 226 } 227 StopUser(int userId,const sptr<IUserCallback> & callback)228 int StopUser(int userId, const sptr<IUserCallback>& callback) override 229 { 230 return 0; 231 } 232 int LogoutUser(int32_t userId, sptr<IUserCallback> callback = nullptr) override 233 { 234 return 0; 235 } StartSyncRemoteMissions(const std::string & devId,bool fixConflict,int64_t tag)236 int StartSyncRemoteMissions(const std::string& devId, bool fixConflict, int64_t tag) override 237 { 238 return 0; 239 } StopSyncRemoteMissions(const std::string & devId)240 int StopSyncRemoteMissions(const std::string& devId) override 241 { 242 return 0; 243 } RegisterMissionListener(const std::string & deviceId,const sptr<IRemoteMissionListener> & listener)244 int RegisterMissionListener(const std::string& deviceId, 245 const sptr<IRemoteMissionListener>& listener) override 246 { 247 return 0; 248 } UnRegisterMissionListener(const std::string & deviceId,const sptr<IRemoteMissionListener> & listener)249 int UnRegisterMissionListener(const std::string& deviceId, 250 const sptr<IRemoteMissionListener>& listener) override 251 { 252 return 0; 253 } ReleaseCall(const sptr<IAbilityConnection> & connect,const AppExecFwk::ElementName & element)254 int ReleaseCall(const sptr<IAbilityConnection>& connect, 255 const AppExecFwk::ElementName& element) override 256 { 257 return 0; 258 } GetMissionSnapshot(const std::string & deviceId,int32_t missionId,MissionSnapshot & snapshot,bool isLowResolution)259 virtual int GetMissionSnapshot(const std::string& deviceId, int32_t missionId, 260 MissionSnapshot& snapshot, bool isLowResolution) 261 { 262 return 0; 263 } 264 RegisterSnapshotHandler(const sptr<ISnapshotHandler> & handler)265 virtual int RegisterSnapshotHandler(const sptr<ISnapshotHandler>& handler) 266 { 267 return 0; 268 } 269 270 int RegisterWindowManagerServiceHandler(const sptr<IWindowManagerServiceHandler>& handler, 271 bool animationEnabled = true) override 272 { 273 return 0; 274 } 275 CompleteFirstFrameDrawing(const sptr<IRemoteObject> & abilityToken)276 void CompleteFirstFrameDrawing(const sptr<IRemoteObject>& abilityToken) override {} 277 SetAbilityController(const sptr<AppExecFwk::IAbilityController> & abilityController,bool imAStabilityTest)278 int SetAbilityController(const sptr<AppExecFwk::IAbilityController>& abilityController, 279 bool imAStabilityTest) override 280 { 281 return 0; 282 } 283 IsRunningInStabilityTest()284 bool IsRunningInStabilityTest() override 285 { 286 return true; 287 } 288 SetMissionIcon(const sptr<IRemoteObject> & token,const std::shared_ptr<OHOS::Media::PixelMap> & icon)289 int SetMissionIcon(const sptr<IRemoteObject>& token, 290 const std::shared_ptr<OHOS::Media::PixelMap>& icon) override 291 { 292 if (!token || !icon) { 293 return -1; 294 } 295 296 return 0; 297 } 298 299 MOCK_METHOD4(StartAbility, int(const Want& want, const sptr<IRemoteObject>& callerToken, 300 int32_t userId, int requestCode)); 301 MOCK_METHOD4(StartAbilityByInsightIntent, int32_t(const Want& want, const sptr<IRemoteObject>& callerToken, 302 uint64_t intentId, int32_t userId)); 303 MOCK_METHOD5(StartAbilityAsCaller, int(const Want& want, const sptr<IRemoteObject>& callerToken, 304 sptr<IRemoteObject> asCallerSourceToken, int32_t userId, int requestCode)); 305 MOCK_METHOD3( 306 GetWantSender, sptr<IWantSender>(const WantSenderInfo& wantSenderInfo, const sptr<IRemoteObject>& callerToken, 307 int32_t uid)); 308 MOCK_METHOD2(SendWantSender, int(sptr<IWantSender> target, const SenderInfo& senderInfo)); 309 MOCK_METHOD1(CancelWantSender, void(const sptr<IWantSender>& sender)); 310 MOCK_METHOD1(GetPendingWantUid, int(const sptr<IWantSender>& target)); 311 MOCK_METHOD1(GetPendingWantUserId, int(const sptr<IWantSender>& target)); 312 MOCK_METHOD1(GetPendingWantBundleName, std::string(const sptr<IWantSender>& target)); 313 MOCK_METHOD1(GetPendingWantCode, int(const sptr<IWantSender>& target)); 314 MOCK_METHOD1(GetPendingWantType, int(const sptr<IWantSender>& target)); 315 MOCK_METHOD2(RegisterCancelListener, void(const sptr<IWantSender>& sender, const sptr<IWantReceiver>& receiver)); 316 MOCK_METHOD2(UnregisterCancelListener, void(const sptr<IWantSender>& sender, const sptr<IWantReceiver>& receiver)); 317 MOCK_METHOD2(GetPendingRequestWant, int(const sptr<IWantSender>& target, std::shared_ptr<Want>& want)); 318 MOCK_METHOD3(StartContinuation, int(const Want& want, const sptr<IRemoteObject>& abilityToken, int32_t status)); 319 MOCK_METHOD2(NotifyContinuationResult, int(int32_t missionId, int32_t result)); 320 MOCK_METHOD5(ContinueMission, int(const std::string& srcDeviceId, const std::string& dstDeviceId, 321 int32_t missionId, const sptr<IRemoteObject>& callBack, AAFwk::WantParams& wantParams)); 322 MOCK_METHOD3(ContinueAbility, int(const std::string& deviceId, int32_t missionId, uint32_t versionCode)); 323 MOCK_METHOD3(NotifyCompleteContinuation, void(const std::string& deviceId, int32_t sessionId, bool isSuccess)); 324 325 MOCK_METHOD1(LockMissionForCleanup, int(int32_t missionId)); 326 MOCK_METHOD1(UnlockMissionForCleanup, int(int32_t missionId)); 327 MOCK_METHOD1(RegisterMissionListener, int(const sptr<IMissionListener>& listener)); 328 MOCK_METHOD1(UnRegisterMissionListener, int(const sptr<IMissionListener>& listener)); 329 MOCK_METHOD3( 330 GetMissionInfos, int(const std::string& deviceId, int32_t numMax, std::vector<MissionInfo>& missionInfos)); 331 MOCK_METHOD3(GetMissionInfo, int(const std::string& deviceId, int32_t missionId, MissionInfo& missionInfo)); 332 MOCK_METHOD1(CleanMission, int(int32_t missionId)); 333 MOCK_METHOD0(CleanAllMissions, int()); 334 MOCK_METHOD1(MoveMissionToFront, int(int32_t missionId)); 335 MOCK_METHOD2(MoveMissionToFront, int(int32_t missionId, const StartOptions& startOptions)); 336 MOCK_METHOD2(MoveMissionsToForeground, int(const std::vector<int32_t>& missionIds, int32_t topMissionId)); 337 MOCK_METHOD2(MoveMissionsToBackground, int(const std::vector<int32_t>& missionIds, std::vector<int32_t>& result)); 338 MOCK_METHOD2(SetMissionContinueState, int(const sptr<IRemoteObject>& token, const AAFwk::ContinueState& state)); 339 MOCK_METHOD2(SetMissionLabel, int(const sptr<IRemoteObject>& token, const std::string& label)); 340 MOCK_METHOD2(GetWantSenderInfo, int(const sptr<IWantSender>& target, std::shared_ptr<WantSenderInfo>& info)); 341 MOCK_METHOD1(GetAbilityRunningInfos, int(std::vector<AbilityRunningInfo>& info)); 342 MOCK_METHOD2(GetExtensionRunningInfos, int(int upperLimit, std::vector<ExtensionRunningInfo>& info)); 343 MOCK_METHOD1(GetProcessRunningInfos, int(std::vector<AppExecFwk::RunningProcessInfo>& info)); 344 MOCK_METHOD2(AcquireShareData, int32_t(const int32_t &missionId, const sptr<IAcquireShareDataCallback> &shareData)); 345 MOCK_METHOD4(ShareDataDone, int32_t(const sptr<IRemoteObject> &token, 346 const int32_t &resultCode, const int32_t &uniqueId, WantParams &wantParam)); 347 SendResultToAbility(int requestCode,int resultCode,Want & resultWant)348 int SendResultToAbility(int requestCode, int resultCode, Want& resultWant) override 349 { 350 return 0; 351 } 352 353 int StartAbilityByCall(const Want& want, const sptr<IAbilityConnection>& connect, 354 const sptr<IRemoteObject>& callerToken, int32_t userId = DEFAULT_INVAL_VALUE) override 355 { 356 return 0; 357 } 358 CallRequestDone(const sptr<IRemoteObject> & token,const sptr<IRemoteObject> & callStub)359 void CallRequestDone(const sptr<IRemoteObject> &token, const sptr<IRemoteObject> &callStub) override 360 { 361 return; 362 } 363 StartUserTest(const Want & want,const sptr<IRemoteObject> & observer)364 int StartUserTest(const Want &want, const sptr<IRemoteObject> &observer) override 365 { 366 return 0; 367 } 368 FinishUserTest(const std::string & msg,const int64_t & resultCode,const std::string & bundleName)369 int FinishUserTest( 370 const std::string& msg, const int64_t& resultCode, const std::string& bundleName) override 371 { 372 return 0; 373 } 374 GetTopAbility(sptr<IRemoteObject> & token)375 int GetTopAbility(sptr<IRemoteObject>& token) override 376 { 377 return 0; 378 } 379 DelegatorDoAbilityForeground(const sptr<IRemoteObject> & token)380 int DelegatorDoAbilityForeground(const sptr<IRemoteObject>& token) override 381 { 382 return 0; 383 } 384 DelegatorDoAbilityBackground(const sptr<IRemoteObject> & token)385 int DelegatorDoAbilityBackground(const sptr<IRemoteObject>& token) override 386 { 387 return 0; 388 } 389 DoAbilityForeground(const sptr<IRemoteObject> & token,uint32_t flag)390 int DoAbilityForeground(const sptr<IRemoteObject>& token, uint32_t flag) override 391 { 392 return 0; 393 } 394 DoAbilityBackground(const sptr<IRemoteObject> & token,uint32_t flag)395 int DoAbilityBackground(const sptr<IRemoteObject>& token, uint32_t flag) override 396 { 397 return 0; 398 } 399 ReportDrawnCompleted(const sptr<IRemoteObject> & callerToken)400 int32_t ReportDrawnCompleted(const sptr<IRemoteObject>& callerToken) override 401 { 402 return 0; 403 } 404 SetApplicationAutoStartupByEDM(const AutoStartupInfo & info,bool flag)405 int32_t SetApplicationAutoStartupByEDM(const AutoStartupInfo &info, bool flag) override 406 { 407 return 0; 408 } 409 CancelApplicationAutoStartupByEDM(const AutoStartupInfo & info,bool flag)410 int32_t CancelApplicationAutoStartupByEDM(const AutoStartupInfo &info, bool flag) override 411 { 412 return 0; 413 } 414 415 #ifdef ABILITY_COMMAND_FOR_TEST ForceTimeoutForTest(const std::string & abilityName,const std::string & state)416 int ForceTimeoutForTest(const std::string& abilityName, const std::string& state) override 417 { 418 return 0; 419 } 420 #endif 421 MOCK_METHOD2(IsValidMissionIds, int32_t(const std::vector<int32_t>&, std::vector<MissionValidResult>&)); 422 MOCK_METHOD1(RegisterAppDebugListener, int32_t(sptr<AppExecFwk::IAppDebugListener> listener)); 423 MOCK_METHOD1(UnregisterAppDebugListener, int32_t(sptr<AppExecFwk::IAppDebugListener> listener)); 424 MOCK_METHOD2(AttachAppDebug, int32_t(const std::string &bundleName, bool isDebugFromLocal)); 425 MOCK_METHOD2(DetachAppDebug, int32_t(const std::string &bundleName, bool isDebugFromLocal)); 426 MOCK_METHOD3(ExecuteIntent, int32_t(uint64_t key, const sptr<IRemoteObject> &callerToken, 427 const InsightIntentExecuteParam ¶m)); 428 MOCK_METHOD3(ExecuteInsightIntentDone, int32_t(const sptr<IRemoteObject> &token, uint64_t intentId, 429 const InsightIntentExecuteResult &result)); 430 MOCK_METHOD5(StartAbilityWithSpecifyTokenId, int(const Want& want, const sptr<IRemoteObject>& callerToken, 431 uint32_t specifyTokenId, int32_t userId, int requestCode)); 432 }; 433 } // namespace AAFwk 434 } // namespace OHOS 435 436 #endif 437