#include <memory>
#include "base/strings/strcat.h"
#include "net/base/network_anonymization_key.h"
#include "net/base/proxy_chain.h"
#include "net/base/proxy_server.h"
#include "net/base/session_usage.h"
#include "net/cert/x509_certificate.h"
#include "net/quic/address_utils.h"
#include "net/quic/crypto/proof_verifier_chromium.h"
#include "net/quic/quic_context.h"
#include "net/quic/quic_http_stream.h"
#include "net/quic/quic_session_pool.h"
#include "net/quic/quic_session_pool_test_base.h"
#include "net/quic/quic_socket_data_provider.h"
#include "net/quic/quic_test_packet_maker.h"
#include "net/test/cert_test_util.h"
#include "net/test/test_data_directory.h"
#include "net/third_party/quiche/src/quiche/quic/core/quic_types.h"
#include "net/third_party/quiche/src/quiche/quic/core/quic_versions.h"
#include "net/third_party/quiche/src/quiche/quic/test_tools/quic_config_peer.h"
#include "net/third_party/quiche/src/quiche/quic/test_tools/quic_test_utils.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace net::test {
class QuicSessionPoolProxyJobTest
: public QuicSessionPoolTestBase,
public ::testing::TestWithParam<quic::ParsedQuicVersion> { … };
INSTANTIATE_TEST_SUITE_P(…);
TEST_P(QuicSessionPoolProxyJobTest, CreateProxiedQuicSession) { … }
TEST_P(QuicSessionPoolProxyJobTest, DoubleProxiedQuicSession) { … }
TEST_P(QuicSessionPoolProxyJobTest, CreateProxySessionFails) { … }
TEST_P(QuicSessionPoolProxyJobTest, CreateSessionFails) { … }
TEST_P(QuicSessionPoolProxyJobTest,
ProxiedQuicSessionWithServerPreferredAddressShouldNotMigrate) { … }
}