blob: d54be7896793e8438267d3ff8d40b66dada1b409 [file] [log] [blame]
/*
* Copyright (c) 2022 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_PACKET_SOCKET_FACTORY_H_
#define API_TEST_MOCK_PACKET_SOCKET_FACTORY_H_
#include <cstdint>
#include <memory>
#include <type_traits>
#include "api/async_dns_resolver.h"
#include "api/packet_socket_factory.h"
#include "rtc_base/async_packet_socket.h"
#include "rtc_base/socket_address.h"
#include "test/gmock.h"
namespace rtc {
class MockPacketSocketFactory : public PacketSocketFactory {
public:
MOCK_METHOD(AsyncPacketSocket*,
CreateUdpSocket,
(const SocketAddress&, uint16_t, uint16_t),
(override));
MOCK_METHOD(AsyncListenSocket*,
CreateServerTcpSocket,
(const SocketAddress&, uint16_t, uint16_t, int opts),
(override));
MOCK_METHOD(AsyncPacketSocket*,
CreateClientTcpSocket,
(const SocketAddress& local_address,
const SocketAddress&,
const PacketSocketTcpOptions&),
(override));
MOCK_METHOD(std::unique_ptr<webrtc::AsyncDnsResolverInterface>,
CreateAsyncDnsResolver,
(),
(override));
};
static_assert(!std::is_abstract_v<MockPacketSocketFactory>, "");
} // namespace rtc
#endif // API_TEST_MOCK_PACKET_SOCKET_FACTORY_H_