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;