/* * 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 WEBRTC_PC_TEST_MOCK_PEERCONNECTION_H_ #define WEBRTC_PC_TEST_MOCK_PEERCONNECTION_H_ #include #include "webrtc/call/call.h" #include "webrtc/logging/rtc_event_log/rtc_event_log.h" #include "webrtc/pc/peerconnection.h" #include "webrtc/rtc_base/thread.h" #include "webrtc/test/gmock.h" namespace webrtc { // The factory isn't really used; it just satisfies the base PeerConnection. class FakePeerConnectionFactory : public rtc::RefCountedObject { public: FakePeerConnectionFactory() : rtc::RefCountedObject( rtc::Thread::Current(), rtc::Thread::Current(), rtc::Thread::Current(), nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, std::unique_ptr(), std::unique_ptr(), std::unique_ptr()) {} }; class MockPeerConnection : public rtc::RefCountedObject { public: MockPeerConnection() : rtc::RefCountedObject( new FakePeerConnectionFactory(), std::unique_ptr(), std::unique_ptr()) {} MOCK_METHOD0(local_streams, rtc::scoped_refptr()); MOCK_METHOD0(remote_streams, rtc::scoped_refptr()); MOCK_METHOD0(session, WebRtcSession*()); MOCK_CONST_METHOD0(GetSenders, std::vector>()); MOCK_CONST_METHOD0(GetReceivers, std::vector>()); MOCK_CONST_METHOD0(sctp_data_channels, const std::vector>&()); }; } // namespace webrtc #endif // WEBRTC_PC_TEST_MOCK_PEERCONNECTION_H_