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_SCHEDULER_H
17 #define MODULETEST_OHOS_ABILITY_RUNTIME_MOCK_ABILITY_SCHEDULER_H
18 
19 #include "want.h"
20 #include "lifecycle_state_info.h"
21 #include "gmock/gmock.h"
22 #include "ability_scheduler_interface.h"
23 
24 namespace OHOS {
25 namespace AAFwk {
26 class MockAbilityScheduler : public IAbilityScheduler {
27 public:
28     MOCK_METHOD3(ScheduleAbilityTransaction, bool(const Want& want, const LifeCycleStateInfo& targetState,
29      sptr<SessionInfo> sessionInfo));
30     MOCK_METHOD1(ScheduleShareData, void(const int32_t &uniqueId));
31     MOCK_METHOD3(SendResult, void(int requestCode, int resultCode, const Want& resultWant));
32     MOCK_METHOD1(ScheduleConnectAbility, void(const Want& want));
33     MOCK_METHOD1(ScheduleDisconnectAbility, void(const Want& want));
34     MOCK_METHOD3(ScheduleCommandAbility, void(const Want& want, bool restart, int startid));
35     MOCK_METHOD3(ScheduleCommandAbilityWindow, void(const Want &, const sptr<SessionInfo> &, WindowCommand));
36     MOCK_METHOD0(AsObject, sptr<IRemoteObject>());
37     MOCK_METHOD0(ScheduleSaveAbilityState, void());
38     MOCK_METHOD1(ScheduleRestoreAbilityState, void(const PacMap& inState));
39     MOCK_METHOD1(ScheduleNewWant, void(const Want& want));
40     MOCK_METHOD2(ScheduleRegisterObserver, bool(const Uri& uri, const sptr<AAFwk::IDataAbilityObserver>& dataObserver));
41     MOCK_METHOD2(
42         ScheduleUnregisterObserver, bool(const Uri& uri, const sptr<AAFwk::IDataAbilityObserver>& dataObserver));
43     MOCK_METHOD1(ScheduleNotifyChange, bool(const Uri& uri));
44     MOCK_METHOD1(ExecuteBatch, std::vector<std::shared_ptr<AppExecFwk::DataAbilityResult>>(
45         const std::vector<std::shared_ptr<AppExecFwk::DataAbilityOperation>>& operations));
46     MOCK_METHOD1(NotifyContinuationResult, void(int32_t result));
47     MOCK_METHOD2(ContinueAbility, void(const std::string& deviceId, uint32_t versionCode));
48     MOCK_METHOD2(DumpAbilityInfo, void(const std::vector<std::string>& params, std::vector<std::string>& info));
49     MOCK_METHOD0(SchedulePrepareTerminateAbility, bool());
GetFileTypes(const Uri & uri,const std::string & mimeTypeFilter)50     std::vector<std::string> GetFileTypes(const Uri& uri, const std::string& mimeTypeFilter)
51     {
52         std::vector<std::string> types;
53         return types;
54     }
55 
OpenFile(const Uri & uri,const std::string & mode)56     int OpenFile(const Uri& uri, const std::string& mode)
57     {
58         return -1;
59     }
60 
Insert(const Uri & uri,const NativeRdb::ValuesBucket & value)61     int Insert(const Uri& uri, const NativeRdb::ValuesBucket& value)
62     {
63         return -1;
64     }
65 
Update(const Uri & uri,const NativeRdb::ValuesBucket & value,const NativeRdb::DataAbilityPredicates & predicates)66     int Update(const Uri& uri, const NativeRdb::ValuesBucket& value, const NativeRdb::DataAbilityPredicates& predicates)
67     {
68         return -1;
69     }
70 
Delete(const Uri & uri,const NativeRdb::DataAbilityPredicates & predicates)71     int Delete(const Uri& uri, const NativeRdb::DataAbilityPredicates& predicates)
72     {
73         return -1;
74     }
75 
Query(const Uri & uri,std::vector<std::string> & columns,const NativeRdb::DataAbilityPredicates & predicates)76     std::shared_ptr<NativeRdb::AbsSharedResultSet> Query(
77         const Uri& uri, std::vector<std::string>& columns, const NativeRdb::DataAbilityPredicates& predicates)
78     {
79         return nullptr;
80     }
81 
Call(const Uri & uri,const std::string & method,const std::string & arg,const AppExecFwk::PacMap & pacMap)82     std::shared_ptr<AppExecFwk::PacMap> Call(
83         const Uri& uri, const std::string& method, const std::string& arg, const AppExecFwk::PacMap& pacMap)
84     {
85         return nullptr;
86     }
87 
GetType(const Uri & uri)88     virtual std::string GetType(const Uri& uri) override
89     {
90         return " ";
91     }
92 
OpenRawFile(const Uri & uri,const std::string & mode)93     virtual int OpenRawFile(const Uri& uri, const std::string& mode) override
94     {
95         return -1;
96     }
97 
Reload(const Uri & uri,const PacMap & extras)98     virtual bool Reload(const Uri& uri, const PacMap& extras) override
99     {
100         return false;
101     }
102 
BatchInsert(const Uri & uri,const std::vector<NativeRdb::ValuesBucket> & values)103     virtual int BatchInsert(const Uri& uri, const std::vector<NativeRdb::ValuesBucket>& values) override
104     {
105         return -1;
106     }
107 
NormalizeUri(const Uri & uri)108     virtual Uri NormalizeUri(const Uri& uri) override
109     {
110         Uri urivalue("");
111         return urivalue;
112     }
113 
DenormalizeUri(const Uri & uri)114     virtual Uri DenormalizeUri(const Uri& uri) override
115     {
116         Uri urivalue("");
117         return urivalue;
118     }
CallRequest()119     virtual void CallRequest() override
120     {
121         return;
122     }
OnExecuteIntent(const Want & want)123     virtual void OnExecuteIntent(const Want &want) override
124     {
125         return;
126     }
CreateModalUIExtension(const Want & want)127     virtual int CreateModalUIExtension(const Want &want) override
128     {
129         return 0;
130     }
UpdateSessionToken(sptr<IRemoteObject> sessionToken)131     virtual void UpdateSessionToken(sptr<IRemoteObject> sessionToken) override {}
132 };
133 }  // namespace AAFwk
134 }  // namespace OHOS
135 
136 #endif  // MODULETEST_OHOS_ABILITY_RUNTIME_MOCK_ABILITY_SCHEDULER_H
137