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_METHOD3(ScheduleAbilityTransaction, void(const Want&, const LifeCycleStateInfo&, sptr<SessionInfo>)); 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_METHOD3(ScheduleCommandAbilityWindow, void(const Want &, const sptr<SessionInfo> &, WindowCommand)); 42 MOCK_METHOD1(NotifyContinuationResult, void(int32_t result)); 43 MOCK_METHOD2(ContinueAbility, void(const std::string& deviceId, uint32_t versionCode)); 44 MOCK_METHOD2(DumpAbilityInfo, void(const std::vector<std::string>& params, std::vector<std::string>& info)); 45 MOCK_METHOD1(ScheduleShareData, void(const int32_t &uniqueId)); 46 MOCK_METHOD0(SchedulePrepareTerminateAbility, bool()); InvokeSendRequest(uint32_t code,MessageParcel & data,MessageParcel & reply,MessageOption & option)47 int InvokeSendRequest(uint32_t code, MessageParcel& data, MessageParcel& reply, MessageOption& option) 48 { 49 code_ = code; 50 return 0; 51 } 52 InvokeErrorSendRequest(uint32_t code,MessageParcel & data,MessageParcel & reply,MessageOption & option)53 int InvokeErrorSendRequest(uint32_t code, MessageParcel& data, MessageParcel& reply, MessageOption& option) 54 { 55 code_ = code; 56 return UNKNOWN_ERROR; 57 } 58 GetFileTypes(const Uri & uri,const std::string & mimeTypeFilter)59 std::vector<std::string> GetFileTypes(const Uri& uri, const std::string& mimeTypeFilter) 60 { 61 std::vector<std::string> types; 62 return types; 63 } 64 OpenFile(const Uri & uri,const std::string & mode)65 int OpenFile(const Uri& uri, const std::string& mode) 66 { 67 return -1; 68 } 69 Insert(const Uri & uri,const NativeRdb::ValuesBucket & value)70 int Insert(const Uri& uri, const NativeRdb::ValuesBucket& value) 71 { 72 return -1; 73 } 74 Update(const Uri & uri,const NativeRdb::ValuesBucket & value,const NativeRdb::DataAbilityPredicates & predicates)75 int Update(const Uri& uri, const NativeRdb::ValuesBucket& value, const NativeRdb::DataAbilityPredicates& predicates) 76 { 77 return -1; 78 } 79 Delete(const Uri & uri,const NativeRdb::DataAbilityPredicates & predicates)80 int Delete(const Uri& uri, const NativeRdb::DataAbilityPredicates& predicates) 81 { 82 return -1; 83 } 84 Call(const Uri & uri,const std::string & method,const std::string & arg,const AppExecFwk::PacMap & pacMap)85 std::shared_ptr<AppExecFwk::PacMap> Call( 86 const Uri& uri, const std::string& method, const std::string& arg, const AppExecFwk::PacMap& pacMap) 87 { 88 return nullptr; 89 } 90 Query(const Uri & uri,std::vector<std::string> & columns,const NativeRdb::DataAbilityPredicates & predicates)91 std::shared_ptr<NativeRdb::AbsSharedResultSet> Query( 92 const Uri& uri, std::vector<std::string>& columns, const NativeRdb::DataAbilityPredicates& predicates) 93 { 94 return nullptr; 95 } 96 GetType(const Uri & uri)97 virtual std::string GetType(const Uri& uri) override 98 { 99 return " "; 100 } 101 OpenRawFile(const Uri & uri,const std::string & mode)102 int OpenRawFile(const Uri& uri, const std::string& mode) 103 { 104 return -1; 105 } 106 Reload(const Uri & uri,const PacMap & extras)107 bool Reload(const Uri& uri, const PacMap& extras) 108 { 109 return false; 110 } 111 BatchInsert(const Uri & uri,const std::vector<NativeRdb::ValuesBucket> & values)112 int BatchInsert(const Uri& uri, const std::vector<NativeRdb::ValuesBucket>& values) 113 { 114 return -1; 115 } 116 NormalizeUri(const Uri & uri)117 Uri NormalizeUri(const Uri& uri) 118 { 119 Uri urivalue(""); 120 return urivalue; 121 } 122 DenormalizeUri(const Uri & uri)123 Uri DenormalizeUri(const Uri& uri) 124 { 125 Uri urivalue(""); 126 return urivalue; 127 } 128 ScheduleRegisterObserver(const Uri & uri,const sptr<IDataAbilityObserver> & dataObserver)129 virtual bool ScheduleRegisterObserver(const Uri& uri, const sptr<IDataAbilityObserver>& dataObserver) 130 { 131 return true; 132 } 133 ScheduleUnregisterObserver(const Uri & uri,const sptr<IDataAbilityObserver> & dataObserver)134 virtual bool ScheduleUnregisterObserver(const Uri& uri, const sptr<IDataAbilityObserver>& dataObserver) 135 { 136 return true; 137 } 138 ScheduleNotifyChange(const Uri & uri)139 virtual bool ScheduleNotifyChange(const Uri& uri) 140 { 141 return true; 142 } 143 ExecuteBatch(const std::vector<std::shared_ptr<AppExecFwk::DataAbilityOperation>> & operations)144 virtual std::vector<std::shared_ptr<AppExecFwk::DataAbilityResult>> ExecuteBatch( 145 const std::vector<std::shared_ptr<AppExecFwk::DataAbilityOperation>>& operations) 146 { 147 return std::vector<std::shared_ptr<AppExecFwk::DataAbilityResult>>(); 148 } 149 CallRequest()150 virtual void CallRequest() 151 { 152 return; 153 } 154 155 #ifdef ABILITY_COMMAND_FOR_TEST BlockAbility()156 virtual int BlockAbility() 157 { 158 return 0; 159 } 160 #endif 161 162 int code_ = 0; 163 }; 164 } // namespace AAFwk 165 } // namespace OHOS 166