/* * 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 P2P_BASE_MOCK_ICE_TRANSPORT_H_ #define P2P_BASE_MOCK_ICE_TRANSPORT_H_ #include #include #include #include "p2p/base/ice_transport_internal.h" #include "rtc_base/gunit.h" #include "test/gmock.h" using ::testing::_; using ::testing::Return; namespace cricket { // Used in Chromium/remoting/protocol/channel_socket_adapter_unittest.cc class MockIceTransport : public IceTransportInternal { public: MockIceTransport() { SignalReadyToSend(this); SignalWritableState(this); } MOCK_METHOD(int, SendPacket, (const char* data, size_t len, const rtc::PacketOptions& options, int flags), (override)); MOCK_METHOD(int, SetOption, (rtc::Socket::Option opt, int value), (override)); MOCK_METHOD(int, GetError, (), (override)); MOCK_METHOD(cricket::IceRole, GetIceRole, (), (const, override)); MOCK_METHOD(bool, GetStats, (cricket::IceTransportStats * ice_transport_stats), (override)); IceTransportState GetState() const override { return IceTransportState::STATE_INIT; } webrtc::IceTransportState GetIceTransportState() const override { return webrtc::IceTransportState::kNew; } const std::string& transport_name() const override { return transport_name_; } int component() const override { return 0; } void SetIceRole(IceRole role) override {} void SetIceTiebreaker(uint64_t tiebreaker) override {} // The ufrag and pwd in |ice_params| must be set // before candidate gathering can start. void SetIceParameters(const IceParameters& ice_params) override {} void SetRemoteIceParameters(const IceParameters& ice_params) override {} void SetRemoteIceMode(IceMode mode) override {} void SetIceConfig(const IceConfig& config) override {} absl::optional GetRttEstimate() override { return absl::nullopt; } const Connection* selected_connection() const override { return nullptr; } absl::optional GetSelectedCandidatePair() const override { return absl::nullopt; } void MaybeStartGathering() override {} void AddRemoteCandidate(const Candidate& candidate) override {} void RemoveRemoteCandidate(const Candidate& candidate) override {} void RemoveAllRemoteCandidates() override {} IceGatheringState gathering_state() const override { return IceGatheringState::kIceGatheringComplete; } bool receiving() const override { return true; } bool writable() const override { return true; } private: std::string transport_name_; }; } // namespace cricket #endif // P2P_BASE_MOCK_ICE_TRANSPORT_H_