xref: /aosp_15_r20/external/webrtc/api/test/mock_peerconnectioninterface.h (revision d9f758449e529ab9291ac668be2861e7a55c2422)
1*d9f75844SAndroid Build Coastguard Worker /*
2*d9f75844SAndroid Build Coastguard Worker  *  Copyright 2016 The WebRTC project authors. All Rights Reserved.
3*d9f75844SAndroid Build Coastguard Worker  *
4*d9f75844SAndroid Build Coastguard Worker  *  Use of this source code is governed by a BSD-style license
5*d9f75844SAndroid Build Coastguard Worker  *  that can be found in the LICENSE file in the root of the source
6*d9f75844SAndroid Build Coastguard Worker  *  tree. An additional intellectual property rights grant can be found
7*d9f75844SAndroid Build Coastguard Worker  *  in the file PATENTS.  All contributing project authors may
8*d9f75844SAndroid Build Coastguard Worker  *  be found in the AUTHORS file in the root of the source tree.
9*d9f75844SAndroid Build Coastguard Worker  */
10*d9f75844SAndroid Build Coastguard Worker 
11*d9f75844SAndroid Build Coastguard Worker #ifndef API_TEST_MOCK_PEERCONNECTIONINTERFACE_H_
12*d9f75844SAndroid Build Coastguard Worker #define API_TEST_MOCK_PEERCONNECTIONINTERFACE_H_
13*d9f75844SAndroid Build Coastguard Worker 
14*d9f75844SAndroid Build Coastguard Worker #include <memory>
15*d9f75844SAndroid Build Coastguard Worker #include <string>
16*d9f75844SAndroid Build Coastguard Worker #include <type_traits>
17*d9f75844SAndroid Build Coastguard Worker #include <utility>
18*d9f75844SAndroid Build Coastguard Worker #include <vector>
19*d9f75844SAndroid Build Coastguard Worker 
20*d9f75844SAndroid Build Coastguard Worker #include "api/peer_connection_interface.h"
21*d9f75844SAndroid Build Coastguard Worker #include "api/scoped_refptr.h"
22*d9f75844SAndroid Build Coastguard Worker #include "api/sctp_transport_interface.h"
23*d9f75844SAndroid Build Coastguard Worker #include "rtc_base/ref_counted_object.h"
24*d9f75844SAndroid Build Coastguard Worker #include "test/gmock.h"
25*d9f75844SAndroid Build Coastguard Worker 
26*d9f75844SAndroid Build Coastguard Worker namespace webrtc {
27*d9f75844SAndroid Build Coastguard Worker 
28*d9f75844SAndroid Build Coastguard Worker class MockPeerConnectionInterface : public webrtc::PeerConnectionInterface {
29*d9f75844SAndroid Build Coastguard Worker  public:
Create()30*d9f75844SAndroid Build Coastguard Worker   static rtc::scoped_refptr<MockPeerConnectionInterface> Create() {
31*d9f75844SAndroid Build Coastguard Worker     return rtc::make_ref_counted<MockPeerConnectionInterface>();
32*d9f75844SAndroid Build Coastguard Worker   }
33*d9f75844SAndroid Build Coastguard Worker 
34*d9f75844SAndroid Build Coastguard Worker   // PeerConnectionInterface
35*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(rtc::scoped_refptr<StreamCollectionInterface>,
36*d9f75844SAndroid Build Coastguard Worker               local_streams,
37*d9f75844SAndroid Build Coastguard Worker               (),
38*d9f75844SAndroid Build Coastguard Worker               (override));
39*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(rtc::scoped_refptr<StreamCollectionInterface>,
40*d9f75844SAndroid Build Coastguard Worker               remote_streams,
41*d9f75844SAndroid Build Coastguard Worker               (),
42*d9f75844SAndroid Build Coastguard Worker               (override));
43*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(bool, AddStream, (MediaStreamInterface*), (override));
44*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(void, RemoveStream, (MediaStreamInterface*), (override));
45*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(RTCErrorOr<rtc::scoped_refptr<RtpSenderInterface>>,
46*d9f75844SAndroid Build Coastguard Worker               AddTrack,
47*d9f75844SAndroid Build Coastguard Worker               (rtc::scoped_refptr<MediaStreamTrackInterface>,
48*d9f75844SAndroid Build Coastguard Worker                const std::vector<std::string>&),
49*d9f75844SAndroid Build Coastguard Worker               (override));
50*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(RTCErrorOr<rtc::scoped_refptr<RtpSenderInterface>>,
51*d9f75844SAndroid Build Coastguard Worker               AddTrack,
52*d9f75844SAndroid Build Coastguard Worker               (rtc::scoped_refptr<MediaStreamTrackInterface>,
53*d9f75844SAndroid Build Coastguard Worker                const std::vector<std::string>&,
54*d9f75844SAndroid Build Coastguard Worker                const std::vector<RtpEncodingParameters>&),
55*d9f75844SAndroid Build Coastguard Worker               (override));
56*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(RTCError,
57*d9f75844SAndroid Build Coastguard Worker               RemoveTrackOrError,
58*d9f75844SAndroid Build Coastguard Worker               (rtc::scoped_refptr<RtpSenderInterface>),
59*d9f75844SAndroid Build Coastguard Worker               (override));
60*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(RTCErrorOr<rtc::scoped_refptr<RtpTransceiverInterface>>,
61*d9f75844SAndroid Build Coastguard Worker               AddTransceiver,
62*d9f75844SAndroid Build Coastguard Worker               (rtc::scoped_refptr<MediaStreamTrackInterface>),
63*d9f75844SAndroid Build Coastguard Worker               (override));
64*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(RTCErrorOr<rtc::scoped_refptr<RtpTransceiverInterface>>,
65*d9f75844SAndroid Build Coastguard Worker               AddTransceiver,
66*d9f75844SAndroid Build Coastguard Worker               (rtc::scoped_refptr<MediaStreamTrackInterface>,
67*d9f75844SAndroid Build Coastguard Worker                const RtpTransceiverInit&),
68*d9f75844SAndroid Build Coastguard Worker               (override));
69*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(RTCErrorOr<rtc::scoped_refptr<RtpTransceiverInterface>>,
70*d9f75844SAndroid Build Coastguard Worker               AddTransceiver,
71*d9f75844SAndroid Build Coastguard Worker               (cricket::MediaType),
72*d9f75844SAndroid Build Coastguard Worker               (override));
73*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(RTCErrorOr<rtc::scoped_refptr<RtpTransceiverInterface>>,
74*d9f75844SAndroid Build Coastguard Worker               AddTransceiver,
75*d9f75844SAndroid Build Coastguard Worker               (cricket::MediaType, const RtpTransceiverInit&),
76*d9f75844SAndroid Build Coastguard Worker               (override));
77*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(rtc::scoped_refptr<RtpSenderInterface>,
78*d9f75844SAndroid Build Coastguard Worker               CreateSender,
79*d9f75844SAndroid Build Coastguard Worker               (const std::string&, const std::string&),
80*d9f75844SAndroid Build Coastguard Worker               (override));
81*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(std::vector<rtc::scoped_refptr<RtpSenderInterface>>,
82*d9f75844SAndroid Build Coastguard Worker               GetSenders,
83*d9f75844SAndroid Build Coastguard Worker               (),
84*d9f75844SAndroid Build Coastguard Worker               (const, override));
85*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(std::vector<rtc::scoped_refptr<RtpReceiverInterface>>,
86*d9f75844SAndroid Build Coastguard Worker               GetReceivers,
87*d9f75844SAndroid Build Coastguard Worker               (),
88*d9f75844SAndroid Build Coastguard Worker               (const, override));
89*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(std::vector<rtc::scoped_refptr<RtpTransceiverInterface>>,
90*d9f75844SAndroid Build Coastguard Worker               GetTransceivers,
91*d9f75844SAndroid Build Coastguard Worker               (),
92*d9f75844SAndroid Build Coastguard Worker               (const, override));
93*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(bool,
94*d9f75844SAndroid Build Coastguard Worker               GetStats,
95*d9f75844SAndroid Build Coastguard Worker               (StatsObserver*, MediaStreamTrackInterface*, StatsOutputLevel),
96*d9f75844SAndroid Build Coastguard Worker               (override));
97*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(void, GetStats, (RTCStatsCollectorCallback*), (override));
98*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(void,
99*d9f75844SAndroid Build Coastguard Worker               GetStats,
100*d9f75844SAndroid Build Coastguard Worker               (rtc::scoped_refptr<RtpSenderInterface>,
101*d9f75844SAndroid Build Coastguard Worker                rtc::scoped_refptr<RTCStatsCollectorCallback>),
102*d9f75844SAndroid Build Coastguard Worker               (override));
103*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(void,
104*d9f75844SAndroid Build Coastguard Worker               GetStats,
105*d9f75844SAndroid Build Coastguard Worker               (rtc::scoped_refptr<RtpReceiverInterface>,
106*d9f75844SAndroid Build Coastguard Worker                rtc::scoped_refptr<RTCStatsCollectorCallback>),
107*d9f75844SAndroid Build Coastguard Worker               (override));
108*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(void, ClearStatsCache, (), (override));
109*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(rtc::scoped_refptr<SctpTransportInterface>,
110*d9f75844SAndroid Build Coastguard Worker               GetSctpTransport,
111*d9f75844SAndroid Build Coastguard Worker               (),
112*d9f75844SAndroid Build Coastguard Worker               (const, override));
113*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(RTCErrorOr<rtc::scoped_refptr<DataChannelInterface>>,
114*d9f75844SAndroid Build Coastguard Worker               CreateDataChannelOrError,
115*d9f75844SAndroid Build Coastguard Worker               (const std::string&, const DataChannelInit*),
116*d9f75844SAndroid Build Coastguard Worker               (override));
117*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(const SessionDescriptionInterface*,
118*d9f75844SAndroid Build Coastguard Worker               local_description,
119*d9f75844SAndroid Build Coastguard Worker               (),
120*d9f75844SAndroid Build Coastguard Worker               (const, override));
121*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(const SessionDescriptionInterface*,
122*d9f75844SAndroid Build Coastguard Worker               remote_description,
123*d9f75844SAndroid Build Coastguard Worker               (),
124*d9f75844SAndroid Build Coastguard Worker               (const, override));
125*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(const SessionDescriptionInterface*,
126*d9f75844SAndroid Build Coastguard Worker               current_local_description,
127*d9f75844SAndroid Build Coastguard Worker               (),
128*d9f75844SAndroid Build Coastguard Worker               (const, override));
129*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(const SessionDescriptionInterface*,
130*d9f75844SAndroid Build Coastguard Worker               current_remote_description,
131*d9f75844SAndroid Build Coastguard Worker               (),
132*d9f75844SAndroid Build Coastguard Worker               (const, override));
133*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(const SessionDescriptionInterface*,
134*d9f75844SAndroid Build Coastguard Worker               pending_local_description,
135*d9f75844SAndroid Build Coastguard Worker               (),
136*d9f75844SAndroid Build Coastguard Worker               (const, override));
137*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(const SessionDescriptionInterface*,
138*d9f75844SAndroid Build Coastguard Worker               pending_remote_description,
139*d9f75844SAndroid Build Coastguard Worker               (),
140*d9f75844SAndroid Build Coastguard Worker               (const, override));
141*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(void, RestartIce, (), (override));
142*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(void,
143*d9f75844SAndroid Build Coastguard Worker               CreateOffer,
144*d9f75844SAndroid Build Coastguard Worker               (CreateSessionDescriptionObserver*, const RTCOfferAnswerOptions&),
145*d9f75844SAndroid Build Coastguard Worker               (override));
146*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(void,
147*d9f75844SAndroid Build Coastguard Worker               CreateAnswer,
148*d9f75844SAndroid Build Coastguard Worker               (CreateSessionDescriptionObserver*, const RTCOfferAnswerOptions&),
149*d9f75844SAndroid Build Coastguard Worker               (override));
150*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(void,
151*d9f75844SAndroid Build Coastguard Worker               SetLocalDescription,
152*d9f75844SAndroid Build Coastguard Worker               (SetSessionDescriptionObserver*, SessionDescriptionInterface*),
153*d9f75844SAndroid Build Coastguard Worker               (override));
154*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(void,
155*d9f75844SAndroid Build Coastguard Worker               SetRemoteDescription,
156*d9f75844SAndroid Build Coastguard Worker               (SetSessionDescriptionObserver*, SessionDescriptionInterface*),
157*d9f75844SAndroid Build Coastguard Worker               (override));
158*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(void,
159*d9f75844SAndroid Build Coastguard Worker               SetRemoteDescription,
160*d9f75844SAndroid Build Coastguard Worker               (std::unique_ptr<SessionDescriptionInterface>,
161*d9f75844SAndroid Build Coastguard Worker                rtc::scoped_refptr<SetRemoteDescriptionObserverInterface>),
162*d9f75844SAndroid Build Coastguard Worker               (override));
163*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(PeerConnectionInterface::RTCConfiguration,
164*d9f75844SAndroid Build Coastguard Worker               GetConfiguration,
165*d9f75844SAndroid Build Coastguard Worker               (),
166*d9f75844SAndroid Build Coastguard Worker               (override));
167*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(RTCError,
168*d9f75844SAndroid Build Coastguard Worker               SetConfiguration,
169*d9f75844SAndroid Build Coastguard Worker               (const PeerConnectionInterface::RTCConfiguration&),
170*d9f75844SAndroid Build Coastguard Worker               (override));
171*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(bool,
172*d9f75844SAndroid Build Coastguard Worker               AddIceCandidate,
173*d9f75844SAndroid Build Coastguard Worker               (const IceCandidateInterface*),
174*d9f75844SAndroid Build Coastguard Worker               (override));
175*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(bool,
176*d9f75844SAndroid Build Coastguard Worker               RemoveIceCandidates,
177*d9f75844SAndroid Build Coastguard Worker               (const std::vector<cricket::Candidate>&),
178*d9f75844SAndroid Build Coastguard Worker               (override));
179*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(RTCError, SetBitrate, (const BitrateSettings&), (override));
180*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(void, SetAudioPlayout, (bool), (override));
181*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(void, SetAudioRecording, (bool), (override));
182*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(rtc::scoped_refptr<DtlsTransportInterface>,
183*d9f75844SAndroid Build Coastguard Worker               LookupDtlsTransportByMid,
184*d9f75844SAndroid Build Coastguard Worker               (const std::string&),
185*d9f75844SAndroid Build Coastguard Worker               (override));
186*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(SignalingState, signaling_state, (), (override));
187*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(IceConnectionState, ice_connection_state, (), (override));
188*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(IceConnectionState,
189*d9f75844SAndroid Build Coastguard Worker               standardized_ice_connection_state,
190*d9f75844SAndroid Build Coastguard Worker               (),
191*d9f75844SAndroid Build Coastguard Worker               (override));
192*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(PeerConnectionState, peer_connection_state, (), (override));
193*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(IceGatheringState, ice_gathering_state, (), (override));
194*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(absl::optional<bool>, can_trickle_ice_candidates, (), (override));
195*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(bool,
196*d9f75844SAndroid Build Coastguard Worker               StartRtcEventLog,
197*d9f75844SAndroid Build Coastguard Worker               (std::unique_ptr<RtcEventLogOutput>, int64_t),
198*d9f75844SAndroid Build Coastguard Worker               (override));
199*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(bool,
200*d9f75844SAndroid Build Coastguard Worker               StartRtcEventLog,
201*d9f75844SAndroid Build Coastguard Worker               (std::unique_ptr<RtcEventLogOutput>),
202*d9f75844SAndroid Build Coastguard Worker               (override));
203*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(void, StopRtcEventLog, (), (override));
204*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(void, Close, (), (override));
205*d9f75844SAndroid Build Coastguard Worker };
206*d9f75844SAndroid Build Coastguard Worker 
207*d9f75844SAndroid Build Coastguard Worker static_assert(
208*d9f75844SAndroid Build Coastguard Worker     !std::is_abstract_v<rtc::RefCountedObject<MockPeerConnectionInterface>>,
209*d9f75844SAndroid Build Coastguard Worker     "");
210*d9f75844SAndroid Build Coastguard Worker 
211*d9f75844SAndroid Build Coastguard Worker }  // namespace webrtc
212*d9f75844SAndroid Build Coastguard Worker 
213*d9f75844SAndroid Build Coastguard Worker #endif  // API_TEST_MOCK_PEERCONNECTIONINTERFACE_H_
214