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 OHOS_ABILITY_RUNTIME_ABILITY_SCHEDULER_MOCK_H
17 #define OHOS_ABILITY_RUNTIME_ABILITY_SCHEDULER_MOCK_H
18 
19 #pragma once
20 #include <iremote_object.h>
21 #include <iremote_stub.h>
22 #include <gmock/gmock.h>
23 #include "ability_scheduler_interface.h"
24 
25 namespace OHOS {
26 namespace AAFwk {
27 class AbilitySchedulerMock : public IRemoteStub<IAbilityScheduler> {
28 public:
AbilitySchedulerMock()29     AbilitySchedulerMock() : code_(0)
30     {}
~AbilitySchedulerMock()31     virtual ~AbilitySchedulerMock()
32     {}
33 
34     MOCK_METHOD3(ScheduleAbilityTransaction, bool(const Want&, const LifeCycleStateInfo&, sptr<SessionInfo>));
35     MOCK_METHOD3(SendResult, void(int, int, const Want&));
36     MOCK_METHOD1(ScheduleConnectAbility, void(const Want&));
37     MOCK_METHOD1(ScheduleDisconnectAbility, void(const Want&));
38     MOCK_METHOD0(ScheduleSaveAbilityState, void());
39     MOCK_METHOD1(ScheduleRestoreAbilityState, void(const PacMap&));
40     MOCK_METHOD1(ScheduleNewWant, void(const Want&));
41     MOCK_METHOD4(SendRequest, int(uint32_t, MessageParcel&, MessageParcel&, MessageOption&));
42     MOCK_METHOD3(ScheduleCommandAbility, void(const Want&, bool, int));
43     MOCK_METHOD3(ScheduleCommandAbilityWindow, void(const Want &, const sptr<SessionInfo> &, WindowCommand));
44     MOCK_METHOD1(NotifyContinuationResult, void(int32_t result));
45     MOCK_METHOD2(ContinueAbility, void(const std::string& deviceId, uint32_t versionCode));
46     MOCK_METHOD2(DumpAbilityInfo, void(const std::vector<std::string>& params, std::vector<std::string>& info));
47     MOCK_METHOD1(ScheduleShareData, void(const int32_t &uniqueId));
48     MOCK_METHOD0(SchedulePrepareTerminateAbility, bool());
InvokeSendRequest(uint32_t code,MessageParcel & data,MessageParcel & reply,MessageOption & option)49     int InvokeSendRequest(uint32_t code, MessageParcel& data, MessageParcel& reply, MessageOption& option)
50     {
51         code_ = code;
52         return 0;
53     }
54 
InvokeErrorSendRequest(uint32_t code,MessageParcel & data,MessageParcel & reply,MessageOption & option)55     int InvokeErrorSendRequest(uint32_t code, MessageParcel& data, MessageParcel& reply, MessageOption& option)
56     {
57         code_ = code;
58         return UNKNOWN_ERROR;
59     }
60 
GetFileTypes(const Uri & uri,const std::string & mimeTypeFilter)61     std::vector<std::string> GetFileTypes(const Uri& uri, const std::string& mimeTypeFilter)
62     {
63         std::vector<std::string> types;
64         return types;
65     }
66 
OpenFile(const Uri & uri,const std::string & mode)67     int OpenFile(const Uri& uri, const std::string& mode)
68     {
69         return -1;
70     }
71 
Insert(const Uri & uri,const NativeRdb::ValuesBucket & value)72     int Insert(const Uri& uri, const NativeRdb::ValuesBucket& value)
73     {
74         return -1;
75     }
76 
Update(const Uri & uri,const NativeRdb::ValuesBucket & value,const NativeRdb::DataAbilityPredicates & predicates)77     int Update(const Uri& uri, const NativeRdb::ValuesBucket& value, const NativeRdb::DataAbilityPredicates& predicates)
78     {
79         return -1;
80     }
81 
Delete(const Uri & uri,const NativeRdb::DataAbilityPredicates & predicates)82     int Delete(const Uri& uri, const NativeRdb::DataAbilityPredicates& predicates)
83     {
84         return -1;
85     }
86 
Call(const Uri & uri,const std::string & method,const std::string & arg,const AppExecFwk::PacMap & pacMap)87     std::shared_ptr<AppExecFwk::PacMap> Call(
88         const Uri& uri, const std::string& method, const std::string& arg, const AppExecFwk::PacMap& pacMap)
89     {
90         return nullptr;
91     }
92 
Query(const Uri & uri,std::vector<std::string> & columns,const NativeRdb::DataAbilityPredicates & predicates)93     std::shared_ptr<NativeRdb::AbsSharedResultSet> Query(
94         const Uri& uri, std::vector<std::string>& columns, const NativeRdb::DataAbilityPredicates& predicates)
95     {
96         return nullptr;
97     }
98 
GetType(const Uri & uri)99     virtual std::string GetType(const Uri& uri) override
100     {
101         return " ";
102     }
103 
OpenRawFile(const Uri & uri,const std::string & mode)104     int OpenRawFile(const Uri& uri, const std::string& mode)
105     {
106         return -1;
107     }
108 
Reload(const Uri & uri,const PacMap & extras)109     bool Reload(const Uri& uri, const PacMap& extras)
110     {
111         return false;
112     }
113 
BatchInsert(const Uri & uri,const std::vector<NativeRdb::ValuesBucket> & values)114     int BatchInsert(const Uri& uri, const std::vector<NativeRdb::ValuesBucket>& values)
115     {
116         return -1;
117     }
118 
NormalizeUri(const Uri & uri)119     Uri NormalizeUri(const Uri& uri)
120     {
121         Uri urivalue("");
122         return urivalue;
123     }
124 
DenormalizeUri(const Uri & uri)125     Uri DenormalizeUri(const Uri& uri)
126     {
127         Uri urivalue("");
128         return urivalue;
129     }
130 
ScheduleRegisterObserver(const Uri & uri,const sptr<IDataAbilityObserver> & dataObserver)131     virtual bool ScheduleRegisterObserver(const Uri& uri, const sptr<IDataAbilityObserver>& dataObserver)
132     {
133         return true;
134     }
135 
ScheduleUnregisterObserver(const Uri & uri,const sptr<IDataAbilityObserver> & dataObserver)136     virtual bool ScheduleUnregisterObserver(const Uri& uri, const sptr<IDataAbilityObserver>& dataObserver)
137     {
138         return true;
139     }
140 
ScheduleNotifyChange(const Uri & uri)141     virtual bool ScheduleNotifyChange(const Uri& uri)
142     {
143         return true;
144     }
145 
ExecuteBatch(const std::vector<std::shared_ptr<AppExecFwk::DataAbilityOperation>> & operations)146     virtual std::vector<std::shared_ptr<AppExecFwk::DataAbilityResult>> ExecuteBatch(
147         const std::vector<std::shared_ptr<AppExecFwk::DataAbilityOperation>>& operations)
148     {
149         return std::vector<std::shared_ptr<AppExecFwk::DataAbilityResult>>();
150     }
151 
CallRequest()152     virtual void CallRequest()
153     {
154         return;
155     }
156 
OnExecuteIntent(const Want & want)157     virtual void OnExecuteIntent(const Want &want)
158     {
159         return;
160     }
161 
CreateModalUIExtension(const Want & want)162     virtual int CreateModalUIExtension(const Want &want)
163     {
164         return 0;
165     }
166 
UpdateSessionToken(sptr<IRemoteObject> sessionToken)167     virtual void UpdateSessionToken(sptr<IRemoteObject> sessionToken) override {}
168 
169     int code_ = 0;
170 };
171 }  // namespace AAFwk
172 }  // namespace OHOS
173 #endif // OHOS_ABILITY_RUNTIME_ABILITY_SCHEDULER_MOCK_H