1 /*
2  * Copyright (c) 2021 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 UNITTEST_OHOS_ABILITY_RUNTIME_WANT_SENDER_STUB_MOCK_H
17 #define UNITTEST_OHOS_ABILITY_RUNTIME_WANT_SENDER_STUB_MOCK_H
18 #include <gmock/gmock.h>
19 #include <iremote_object.h>
20 #include <iremote_stub.h>
21 #include "want_receiver_interface.h"
22 
23 namespace OHOS {
24 namespace AAFwk {
25 class WantReceiverStubMock : public IRemoteStub<IWantReceiver> {
26 public:
27     DECLARE_INTERFACE_DESCRIPTOR(u"WantReceiverStubMock");
28 
WantReceiverStubMock()29     WantReceiverStubMock() : code_(0) {}
~WantReceiverStubMock()30     virtual ~WantReceiverStubMock() {}
31 
32     MOCK_METHOD4(SendRequest, int(uint32_t, MessageParcel&, MessageParcel&, MessageOption&));
33 
InvokeSendRequest(uint32_t code,MessageParcel & data,MessageParcel & reply,MessageOption & option)34     int InvokeSendRequest(uint32_t code, MessageParcel& data, MessageParcel& reply, MessageOption& option)
35     {
36         code_ = code;
37         return NO_ERROR;
38     }
39 
40     int code_ = 0;
41 
Send(const int32_t resultCode)42     virtual void Send(const int32_t resultCode) {};
PerformReceive(const Want & want,int resultCode,const std::string & data,const WantParams & extras,bool serialized,bool sticky,int sendingUser)43     virtual void PerformReceive(const Want& want, int resultCode, const std::string& data, const WantParams& extras,
44         bool serialized, bool sticky, int sendingUser) {}
45 };
46 }  // namespace AAFwk
47 }  // namespace OHOS
48 
49 #endif  // UNITTEST_OHOS_ABILITY_RUNTIME_WANT_SENDER_STUB_MOCK_H
50