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