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