| /* | |
| * Copyright 2016 The WebRTC project authors. All Rights Reserved. | |
| * | |
| * Use of this source code is governed by a BSD-style license | |
| * that can be found in the LICENSE file in the root of the source | |
| * tree. An additional intellectual property rights grant can be found | |
| * in the file PATENTS. All contributing project authors may | |
| * be found in the AUTHORS file in the root of the source tree. | |
| */ | |
| #ifndef API_TEST_MOCK_PEERCONNECTIONINTERFACE_H_ | |
| #define API_TEST_MOCK_PEERCONNECTIONINTERFACE_H_ | |
| #include <cstdint> | |
| #include <memory> | |
| #include <optional> | |
| #include <string> | |
| #include <type_traits> | |
| #include <vector> | |
| #include "api/adaptation/resource.h" | |
| #include "api/data_channel_event_observer_interface.h" | |
| #include "api/data_channel_interface.h" | |
| #include "api/dtls_transport_interface.h" | |
| #include "api/jsep.h" | |
| #include "api/make_ref_counted.h" | |
| #include "api/media_stream_interface.h" | |
| #include "api/media_types.h" | |
| #include "api/peer_connection_interface.h" | |
| #include "api/rtc_error.h" | |
| #include "api/rtc_event_log_output.h" | |
| #include "api/rtp_parameters.h" | |
| #include "api/rtp_receiver_interface.h" | |
| #include "api/rtp_sender_interface.h" | |
| #include "api/rtp_transceiver_interface.h" | |
| #include "api/scoped_refptr.h" | |
| #include "api/sctp_transport_interface.h" | |
| #include "api/set_remote_description_observer_interface.h" | |
| #include "api/stats/rtc_stats_collector_callback.h" | |
| #include "api/transport/bandwidth_estimation_settings.h" | |
| #include "api/transport/bitrate_settings.h" | |
| #include "rtc_base/ref_counted_object.h" | |
| #include "rtc_base/thread.h" | |
| #include "test/gmock.h" | |
| namespace webrtc { | |
| class MockPeerConnectionInterface : public PeerConnectionInterface { | |
| public: | |
| static scoped_refptr<MockPeerConnectionInterface> Create() { | |
| return make_ref_counted<MockPeerConnectionInterface>(); | |
| } | |
| // PeerConnectionInterface | |
| MOCK_METHOD(scoped_refptr<StreamCollectionInterface>, | |
| local_streams, | |
| (), | |
| (override)); | |
| MOCK_METHOD(scoped_refptr<StreamCollectionInterface>, | |
| remote_streams, | |
| (), | |
| (override)); | |
| MOCK_METHOD(bool, AddStream, (MediaStreamInterface*), (override)); | |
| MOCK_METHOD(void, RemoveStream, (MediaStreamInterface*), (override)); | |
| MOCK_METHOD(RTCErrorOr<scoped_refptr<RtpSenderInterface>>, | |
| AddTrack, | |
| (scoped_refptr<MediaStreamTrackInterface>, | |
| const std::vector<std::string>&), | |
| (override)); | |
| MOCK_METHOD(RTCErrorOr<scoped_refptr<RtpSenderInterface>>, | |
| AddTrack, | |
| (scoped_refptr<MediaStreamTrackInterface>, | |
| const std::vector<std::string>&, | |
| const std::vector<RtpEncodingParameters>&), | |
| (override)); | |
| MOCK_METHOD(RTCError, | |
| RemoveTrackOrError, | |
| (scoped_refptr<RtpSenderInterface>), | |
| (override)); | |
| MOCK_METHOD(RTCErrorOr<scoped_refptr<RtpTransceiverInterface>>, | |
| AddTransceiver, | |
| (scoped_refptr<MediaStreamTrackInterface>), | |
| (override)); | |
| MOCK_METHOD(RTCErrorOr<scoped_refptr<RtpTransceiverInterface>>, | |
| AddTransceiver, | |
| (scoped_refptr<MediaStreamTrackInterface>, | |
| const RtpTransceiverInit&), | |
| (override)); | |
| MOCK_METHOD(RTCErrorOr<scoped_refptr<RtpTransceiverInterface>>, | |
| AddTransceiver, | |
| (MediaType), | |
| (override)); | |
| MOCK_METHOD(RTCErrorOr<scoped_refptr<RtpTransceiverInterface>>, | |
| AddTransceiver, | |
| (MediaType, const RtpTransceiverInit&), | |
| (override)); | |
| MOCK_METHOD(scoped_refptr<RtpSenderInterface>, | |
| CreateSender, | |
| (const std::string&, const std::string&), | |
| (override)); | |
| MOCK_METHOD(std::vector<scoped_refptr<RtpSenderInterface>>, | |
| GetSenders, | |
| (), | |
| (const, override)); | |
| MOCK_METHOD(std::vector<scoped_refptr<RtpReceiverInterface>>, | |
| GetReceivers, | |
| (), | |
| (const, override)); | |
| MOCK_METHOD(std::vector<scoped_refptr<RtpTransceiverInterface>>, | |
| GetTransceivers, | |
| (), | |
| (const, override)); | |
| #pragma clang diagnostic push | |
| #pragma clang diagnostic ignored "-Wdeprecated-declarations" | |
| MOCK_METHOD(bool, | |
| GetStats, | |
| (StatsObserver*, MediaStreamTrackInterface*, StatsOutputLevel), | |
| (override)); | |
| #pragma clang diagnostic pop | |
| MOCK_METHOD(void, GetStats, (RTCStatsCollectorCallback*), (override)); | |
| MOCK_METHOD(void, | |
| GetStats, | |
| (scoped_refptr<RtpSenderInterface>, | |
| scoped_refptr<RTCStatsCollectorCallback>), | |
| (override)); | |
| MOCK_METHOD(void, | |
| GetStats, | |
| (scoped_refptr<RtpReceiverInterface>, | |
| scoped_refptr<RTCStatsCollectorCallback>), | |
| (override)); | |
| MOCK_METHOD(void, ClearStatsCache, (), (override)); | |
| MOCK_METHOD(scoped_refptr<SctpTransportInterface>, | |
| GetSctpTransport, | |
| (), | |
| (const, override)); | |
| MOCK_METHOD(RTCErrorOr<scoped_refptr<DataChannelInterface>>, | |
| CreateDataChannelOrError, | |
| (const std::string&, const DataChannelInit*), | |
| (override)); | |
| MOCK_METHOD(const SessionDescriptionInterface*, | |
| local_description, | |
| (), | |
| (const, override)); | |
| MOCK_METHOD(const SessionDescriptionInterface*, | |
| remote_description, | |
| (), | |
| (const, override)); | |
| MOCK_METHOD(const SessionDescriptionInterface*, | |
| current_local_description, | |
| (), | |
| (const, override)); | |
| MOCK_METHOD(const SessionDescriptionInterface*, | |
| current_remote_description, | |
| (), | |
| (const, override)); | |
| MOCK_METHOD(const SessionDescriptionInterface*, | |
| pending_local_description, | |
| (), | |
| (const, override)); | |
| MOCK_METHOD(const SessionDescriptionInterface*, | |
| pending_remote_description, | |
| (), | |
| (const, override)); | |
| MOCK_METHOD(void, RestartIce, (), (override)); | |
| MOCK_METHOD(void, | |
| CreateOffer, | |
| (CreateSessionDescriptionObserver*, const RTCOfferAnswerOptions&), | |
| (override)); | |
| MOCK_METHOD(void, | |
| CreateAnswer, | |
| (CreateSessionDescriptionObserver*, const RTCOfferAnswerOptions&), | |
| (override)); | |
| MOCK_METHOD(void, | |
| SetLocalDescription, | |
| (SetSessionDescriptionObserver*, SessionDescriptionInterface*), | |
| (override)); | |
| MOCK_METHOD(void, | |
| SetRemoteDescription, | |
| (SetSessionDescriptionObserver*, SessionDescriptionInterface*), | |
| (override)); | |
| MOCK_METHOD(void, | |
| SetRemoteDescription, | |
| (std::unique_ptr<SessionDescriptionInterface>, | |
| scoped_refptr<SetRemoteDescriptionObserverInterface>), | |
| (override)); | |
| MOCK_METHOD(bool, | |
| ShouldFireNegotiationNeededEvent, | |
| (uint32_t event_id), | |
| (override)); | |
| MOCK_METHOD(PeerConnectionInterface::RTCConfiguration, | |
| GetConfiguration, | |
| (), | |
| (override)); | |
| MOCK_METHOD(RTCError, | |
| SetConfiguration, | |
| (const PeerConnectionInterface::RTCConfiguration&), | |
| (override)); | |
| MOCK_METHOD(bool, AddIceCandidate, (const IceCandidate*), (override)); | |
| MOCK_METHOD(bool, | |
| RemoveIceCandidate, | |
| (const IceCandidate* candidate), | |
| (override)); | |
| MOCK_METHOD(RTCError, SetBitrate, (const BitrateSettings&), (override)); | |
| MOCK_METHOD(void, | |
| ReconfigureBandwidthEstimation, | |
| (const BandwidthEstimationSettings&), | |
| (override)); | |
| MOCK_METHOD(void, SetAudioPlayout, (bool), (override)); | |
| MOCK_METHOD(void, SetAudioRecording, (bool), (override)); | |
| MOCK_METHOD(scoped_refptr<DtlsTransportInterface>, | |
| LookupDtlsTransportByMid, | |
| (const std::string&), | |
| (override)); | |
| MOCK_METHOD(SignalingState, signaling_state, (), (override)); | |
| MOCK_METHOD(IceConnectionState, ice_connection_state, (), (override)); | |
| MOCK_METHOD(IceConnectionState, | |
| standardized_ice_connection_state, | |
| (), | |
| (override)); | |
| MOCK_METHOD(PeerConnectionState, peer_connection_state, (), (override)); | |
| MOCK_METHOD(IceGatheringState, ice_gathering_state, (), (override)); | |
| MOCK_METHOD(void, | |
| AddAdaptationResource, | |
| (scoped_refptr<Resource>), | |
| (override)); | |
| MOCK_METHOD(std::optional<bool>, can_trickle_ice_candidates, (), (override)); | |
| MOCK_METHOD(bool, | |
| StartRtcEventLog, | |
| (std::unique_ptr<RtcEventLogOutput>, int64_t), | |
| (override)); | |
| MOCK_METHOD(bool, | |
| StartRtcEventLog, | |
| (std::unique_ptr<RtcEventLogOutput>), | |
| (override)); | |
| MOCK_METHOD(void, | |
| SetDataChannelEventObserver, | |
| (std::unique_ptr<DataChannelEventObserverInterface>), | |
| (override)); | |
| MOCK_METHOD(void, StopRtcEventLog, (), (override)); | |
| MOCK_METHOD(void, Close, (), (override)); | |
| MOCK_METHOD(Thread*, signaling_thread, (), (const, override)); | |
| }; | |
| static_assert( | |
| !std::is_abstract_v<RefCountedObject<MockPeerConnectionInterface>>, | |
| ""); | |
| } // namespace webrtc | |
| #endif // API_TEST_MOCK_PEERCONNECTIONINTERFACE_H_ |