• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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