Create a SessionCache for TLS resumption in QUIC HTTP EndToEndTest PiperOrigin-RevId: 315395282 Change-Id: I3eceff945deda46d92d3a47f791579064b5c1de1
diff --git a/quic/core/http/end_to_end_test.cc b/quic/core/http/end_to_end_test.cc index d1daa7c..03c83d2 100644 --- a/quic/core/http/end_to_end_test.cc +++ b/quic/core/http/end_to_end_test.cc
@@ -57,6 +57,7 @@ #include "net/third_party/quiche/src/quic/test_tools/quic_test_server.h" #include "net/third_party/quiche/src/quic/test_tools/quic_test_utils.h" #include "net/third_party/quiche/src/quic/test_tools/server_thread.h" +#include "net/third_party/quiche/src/quic/test_tools/simple_session_cache.h" #include "net/third_party/quiche/src/quic/tools/quic_backend_response.h" #include "net/third_party/quiche/src/quic/tools/quic_client.h" #include "net/third_party/quiche/src/quic/tools/quic_memory_cache_backend.h" @@ -212,7 +213,8 @@ QuicTestClient* client = new QuicTestClient(server_address_, server_hostname_, client_config_, client_supported_versions_, - crypto_test_utils::ProofVerifierForTesting()); + crypto_test_utils::ProofVerifierForTesting(), + std::make_unique<SimpleSessionCache>()); client->UseWriter(writer); if (!pre_shared_key_client_.empty()) { client->client()->SetPreSharedKey(pre_shared_key_client_);
diff --git a/quic/test_tools/quic_test_client.cc b/quic/test_tools/quic_test_client.cc index 1b8abdd..503f585 100644 --- a/quic/test_tools/quic_test_client.cc +++ b/quic/test_tools/quic_test_client.cc
@@ -210,6 +210,22 @@ const ParsedQuicVersionVector& supported_versions, QuicEpollServer* epoll_server, std::unique_ptr<ProofVerifier> proof_verifier) + : MockableQuicClient(server_address, + server_id, + config, + supported_versions, + epoll_server, + std::move(proof_verifier), + nullptr) {} + +MockableQuicClient::MockableQuicClient( + QuicSocketAddress server_address, + const QuicServerId& server_id, + const QuicConfig& config, + const ParsedQuicVersionVector& supported_versions, + QuicEpollServer* epoll_server, + std::unique_ptr<ProofVerifier> proof_verifier, + std::unique_ptr<SessionCache> session_cache) : QuicClient( server_address, server_id, @@ -218,8 +234,8 @@ epoll_server, std::make_unique<MockableQuicClientEpollNetworkHelper>(epoll_server, this), - QuicWrapUnique( - new RecordingProofVerifier(std::move(proof_verifier)))), + QuicWrapUnique(new RecordingProofVerifier(std::move(proof_verifier))), + std::move(session_cache)), override_server_connection_id_(EmptyQuicConnectionId()), server_connection_id_overridden_(false), override_client_connection_id_(EmptyQuicConnectionId()), @@ -342,6 +358,24 @@ Initialize(); } +QuicTestClient::QuicTestClient( + QuicSocketAddress server_address, + const std::string& server_hostname, + const QuicConfig& config, + const ParsedQuicVersionVector& supported_versions, + std::unique_ptr<ProofVerifier> proof_verifier, + std::unique_ptr<SessionCache> session_cache) + : client_(new MockableQuicClient( + server_address, + QuicServerId(server_hostname, server_address.port(), false), + config, + supported_versions, + &epoll_server_, + std::move(proof_verifier), + std::move(session_cache))) { + Initialize(); +} + QuicTestClient::QuicTestClient() = default; QuicTestClient::~QuicTestClient() {
diff --git a/quic/test_tools/quic_test_client.h b/quic/test_tools/quic_test_client.h index b14ac99..4dc5a72 100644 --- a/quic/test_tools/quic_test_client.h +++ b/quic/test_tools/quic_test_client.h
@@ -49,6 +49,14 @@ const ParsedQuicVersionVector& supported_versions, QuicEpollServer* epoll_server, std::unique_ptr<ProofVerifier> proof_verifier); + + MockableQuicClient(QuicSocketAddress server_address, + const QuicServerId& server_id, + const QuicConfig& config, + const ParsedQuicVersionVector& supported_versions, + QuicEpollServer* epoll_server, + std::unique_ptr<ProofVerifier> proof_verifier, + std::unique_ptr<SessionCache> session_cache); MockableQuicClient(const MockableQuicClient&) = delete; MockableQuicClient& operator=(const MockableQuicClient&) = delete; @@ -100,6 +108,12 @@ const QuicConfig& config, const ParsedQuicVersionVector& supported_versions, std::unique_ptr<ProofVerifier> proof_verifier); + QuicTestClient(QuicSocketAddress server_address, + const std::string& server_hostname, + const QuicConfig& config, + const ParsedQuicVersionVector& supported_versions, + std::unique_ptr<ProofVerifier> proof_verifier, + std::unique_ptr<SessionCache> session_cache); ~QuicTestClient() override;