2021-04-08 07:25:04 +00:00
|
|
|
/*
|
|
|
|
|
* Copyright 2021 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_ASYNC_DNS_RESOLVER_H_
|
|
|
|
|
#define API_TEST_MOCK_ASYNC_DNS_RESOLVER_H_
|
|
|
|
|
|
|
|
|
|
#include <memory>
|
|
|
|
|
|
2024-08-13 05:43:47 -07:00
|
|
|
#include "absl/functional/any_invocable.h"
|
2021-04-08 07:25:04 +00:00
|
|
|
#include "api/async_dns_resolver.h"
|
2024-08-13 05:43:47 -07:00
|
|
|
#include "rtc_base/socket_address.h"
|
2021-04-08 07:25:04 +00:00
|
|
|
#include "test/gmock.h"
|
|
|
|
|
|
|
|
|
|
namespace webrtc {
|
|
|
|
|
|
|
|
|
|
class MockAsyncDnsResolverResult : public AsyncDnsResolverResult {
|
|
|
|
|
public:
|
|
|
|
|
MOCK_METHOD(bool,
|
|
|
|
|
GetResolvedAddress,
|
|
|
|
|
(int, rtc::SocketAddress*),
|
2022-01-25 14:06:33 +01:00
|
|
|
(const, override));
|
|
|
|
|
MOCK_METHOD(int, GetError, (), (const, override));
|
2021-04-08 07:25:04 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
class MockAsyncDnsResolver : public AsyncDnsResolverInterface {
|
|
|
|
|
public:
|
|
|
|
|
MOCK_METHOD(void,
|
|
|
|
|
Start,
|
2023-08-30 19:39:05 +00:00
|
|
|
(const rtc::SocketAddress&, absl::AnyInvocable<void()>),
|
2021-04-08 07:25:04 +00:00
|
|
|
(override));
|
2022-08-11 11:52:57 +02:00
|
|
|
MOCK_METHOD(void,
|
|
|
|
|
Start,
|
2023-08-30 19:39:05 +00:00
|
|
|
(const rtc::SocketAddress&,
|
|
|
|
|
int family,
|
|
|
|
|
absl::AnyInvocable<void()>),
|
2022-08-11 11:52:57 +02:00
|
|
|
(override));
|
2022-01-25 14:06:33 +01:00
|
|
|
MOCK_METHOD(AsyncDnsResolverResult&, result, (), (const, override));
|
2021-04-08 07:25:04 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
class MockAsyncDnsResolverFactory : public AsyncDnsResolverFactoryInterface {
|
|
|
|
|
public:
|
|
|
|
|
MOCK_METHOD(std::unique_ptr<webrtc::AsyncDnsResolverInterface>,
|
|
|
|
|
CreateAndResolve,
|
2023-08-30 19:39:05 +00:00
|
|
|
(const rtc::SocketAddress&, absl::AnyInvocable<void()>),
|
2021-04-08 07:25:04 +00:00
|
|
|
(override));
|
2022-08-11 11:52:57 +02:00
|
|
|
MOCK_METHOD(std::unique_ptr<webrtc::AsyncDnsResolverInterface>,
|
|
|
|
|
CreateAndResolve,
|
2023-08-30 19:39:05 +00:00
|
|
|
(const rtc::SocketAddress&, int, absl::AnyInvocable<void()>),
|
2022-08-11 11:52:57 +02:00
|
|
|
(override));
|
2021-04-08 07:25:04 +00:00
|
|
|
MOCK_METHOD(std::unique_ptr<webrtc::AsyncDnsResolverInterface>,
|
|
|
|
|
Create,
|
|
|
|
|
(),
|
|
|
|
|
(override));
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
} // namespace webrtc
|
|
|
|
|
|
|
|
|
|
#endif // API_TEST_MOCK_ASYNC_DNS_RESOLVER_H_
|