#include "net/quic/quic_proxy_datagram_client_socket.h"
#include "base/functional/bind.h"
#include "base/memory/ptr_util.h"
#include "base/memory/raw_ptr.h"
#include "base/run_loop.h"
#include "base/strings/utf_string_conversions.h"
#include "base/task/single_thread_task_runner.h"
#include "net/base/network_anonymization_key.h"
#include "net/base/proxy_chain.h"
#include "net/base/proxy_server.h"
#include "net/base/proxy_string_util.h"
#include "net/base/test_proxy_delegate.h"
#include "net/http/http_response_headers.h"
#include "net/log/net_log.h"
#include "net/log/test_net_log.h"
#include "net/log/test_net_log_util.h"
#include "net/quic/quic_chromium_client_session.h"
#include "net/quic/quic_http_utils.h"
#include "net/quic/quic_proxy_client_socket_test_base.h"
#include "net/quic/test_quic_crypto_client_config_handle.h"
#include "net/quic/test_task_runner.h"
#include "net/ssl/ssl_config_service_defaults.h"
#include "net/test/gtest_util.h"
#include "net/test/test_data_directory.h"
#include "net/test/test_with_task_environment.h"
#include "net/third_party/quiche/src/quiche/common/http/http_header_block.h"
#include "net/third_party/quiche/src/quiche/quic/test_tools/qpack/qpack_test_utils.h"
#include "net/third_party/quiche/src/quiche/quic/test_tools/quic_spdy_session_peer.h"
#include "net/third_party/quiche/src/quiche/quic/test_tools/quic_test_utils.h"
#include "net/traffic_annotation/network_traffic_annotation_test_helper.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "url/gurl.h"
#include "url/scheme_host_port.h"
_;
AnyNumber;
Return;
namespace net::test {
namespace {
constexpr char kTestHeaderName[] = …;
}
class EstablishedCryptoStream : public quic::test::MockQuicCryptoStream { … };
class QuicProxyDatagramClientSocketTest : public QuicProxyClientSocketTestBase { … };
TEST_P(QuicProxyDatagramClientSocketTest, ConnectSendsCorrectRequest) { … }
TEST_P(QuicProxyDatagramClientSocketTest, ProxyDelegateHeaders) { … }
TEST_P(QuicProxyDatagramClientSocketTest, ProxyDelegateFails) { … }
TEST_P(QuicProxyDatagramClientSocketTest, ConnectFails) { … }
TEST_P(QuicProxyDatagramClientSocketTest, WriteSendsData) { … }
TEST_P(QuicProxyDatagramClientSocketTest, WriteOnClosedSocket) { … }
TEST_P(QuicProxyDatagramClientSocketTest, OnHttp3DatagramAddsDatagram) { … }
TEST_P(QuicProxyDatagramClientSocketTest, ReadReadsDataInQueue) { … }
TEST_P(QuicProxyDatagramClientSocketTest, AsyncReadWhenQueueIsEmpty) { … }
TEST_P(QuicProxyDatagramClientSocketTest,
MaxQueueLimitDiscardsIncomingDatagram) { … }
INSTANTIATE_TEST_SUITE_P(…);
}