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