Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(628)

Side by Side Diff: net/quic/quic_crypto_client_stream_test.cc

Issue 1783783003: Add a QuicCompressedCertsCache instance to QuicDispatcher, plumbing to QuicServerSessionBase but no… (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@116273065
Patch Set: Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | net/quic/quic_crypto_server_stream_test.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "net/quic/quic_crypto_client_stream.h" 5 #include "net/quic/quic_crypto_client_stream.h"
6 6
7 #include "base/memory/scoped_ptr.h" 7 #include "base/memory/scoped_ptr.h"
8 #include "net/quic/crypto/aes_128_gcm_12_encrypter.h" 8 #include "net/quic/crypto/aes_128_gcm_12_encrypter.h"
9 #include "net/quic/crypto/quic_decrypter.h" 9 #include "net/quic/crypto/quic_decrypter.h"
10 #include "net/quic/crypto/quic_encrypter.h" 10 #include "net/quic/crypto/quic_encrypter.h"
(...skipping 245 matching lines...) Expand 10 before | Expand all | Expand 10 after
256 EXPECT_EQ(0u, stream()->crypto_negotiated_params().token_binding_key_param); 256 EXPECT_EQ(0u, stream()->crypto_negotiated_params().token_binding_key_param);
257 } 257 }
258 258
259 class QuicCryptoClientStreamStatelessTest : public ::testing::Test { 259 class QuicCryptoClientStreamStatelessTest : public ::testing::Test {
260 public: 260 public:
261 QuicCryptoClientStreamStatelessTest() 261 QuicCryptoClientStreamStatelessTest()
262 : client_crypto_config_(CryptoTestUtils::ProofVerifierForTesting()), 262 : client_crypto_config_(CryptoTestUtils::ProofVerifierForTesting()),
263 server_crypto_config_(QuicCryptoServerConfig::TESTING, 263 server_crypto_config_(QuicCryptoServerConfig::TESTING,
264 QuicRandom::GetInstance(), 264 QuicRandom::GetInstance(),
265 CryptoTestUtils::ProofSourceForTesting()), 265 CryptoTestUtils::ProofSourceForTesting()),
266 server_compressed_certs_cache_(
267 QuicCompressedCertsCache::kQuicCompressedCertsCacheSize),
266 server_id_(kServerHostname, kServerPort, PRIVACY_MODE_DISABLED) { 268 server_id_(kServerHostname, kServerPort, PRIVACY_MODE_DISABLED) {
267 TestQuicSpdyClientSession* client_session = nullptr; 269 TestQuicSpdyClientSession* client_session = nullptr;
268 CreateClientSessionForTest( 270 CreateClientSessionForTest(
269 server_id_, 271 server_id_,
270 /* supports_stateless_rejects= */ true, 272 /* supports_stateless_rejects= */ true,
271 QuicTime::Delta::FromSeconds(100000), QuicSupportedVersions(), &helper_, 273 QuicTime::Delta::FromSeconds(100000), QuicSupportedVersions(), &helper_,
272 &client_crypto_config_, &client_connection_, &client_session); 274 &client_crypto_config_, &client_connection_, &client_session);
273 CHECK(client_session); 275 CHECK(client_session);
274 client_session_.reset(client_session); 276 client_session_.reset(client_session);
275 } 277 }
276 278
277 QuicCryptoServerStream* server_stream() { 279 QuicCryptoServerStream* server_stream() {
278 return server_session_->GetCryptoStream(); 280 return server_session_->GetCryptoStream();
279 } 281 }
280 282
281 void AdvanceHandshakeWithFakeServer() { 283 void AdvanceHandshakeWithFakeServer() {
282 client_session_->GetCryptoStream()->CryptoConnect(); 284 client_session_->GetCryptoStream()->CryptoConnect();
283 CryptoTestUtils::AdvanceHandshake(client_connection_, 285 CryptoTestUtils::AdvanceHandshake(client_connection_,
284 client_session_->GetCryptoStream(), 0, 286 client_session_->GetCryptoStream(), 0,
285 server_connection_, server_stream(), 0); 287 server_connection_, server_stream(), 0);
286 } 288 }
287 289
288 // Initializes the server_stream_ for stateless rejects. 290 // Initializes the server_stream_ for stateless rejects.
289 void InitializeFakeStatelessRejectServer() { 291 void InitializeFakeStatelessRejectServer() {
290 TestQuicSpdyServerSession* server_session = nullptr; 292 TestQuicSpdyServerSession* server_session = nullptr;
291 CreateServerSessionForTest(server_id_, QuicTime::Delta::FromSeconds(100000), 293 CreateServerSessionForTest(
292 QuicSupportedVersions(), &helper_, 294 server_id_, QuicTime::Delta::FromSeconds(100000),
293 &server_crypto_config_, &server_connection_, 295 QuicSupportedVersions(), &helper_, &server_crypto_config_,
294 &server_session); 296 &server_compressed_certs_cache_, &server_connection_, &server_session);
295 CHECK(server_session); 297 CHECK(server_session);
296 server_session_.reset(server_session); 298 server_session_.reset(server_session);
297 CryptoTestUtils::FakeServerOptions options; 299 CryptoTestUtils::FakeServerOptions options;
298 CryptoTestUtils::SetupCryptoServerConfigForTest( 300 CryptoTestUtils::SetupCryptoServerConfigForTest(
299 server_connection_->clock(), server_connection_->random_generator(), 301 server_connection_->clock(), server_connection_->random_generator(),
300 server_session_->config(), &server_crypto_config_, options); 302 server_session_->config(), &server_crypto_config_, options);
301 FLAGS_enable_quic_stateless_reject_support = true; 303 FLAGS_enable_quic_stateless_reject_support = true;
302 } 304 }
303 305
304 MockConnectionHelper helper_; 306 MockConnectionHelper helper_;
305 307
306 // Client crypto stream state 308 // Client crypto stream state
307 PacketSavingConnection* client_connection_; 309 PacketSavingConnection* client_connection_;
308 scoped_ptr<TestQuicSpdyClientSession> client_session_; 310 scoped_ptr<TestQuicSpdyClientSession> client_session_;
309 QuicCryptoClientConfig client_crypto_config_; 311 QuicCryptoClientConfig client_crypto_config_;
310 312
311 // Server crypto stream state 313 // Server crypto stream state
312 PacketSavingConnection* server_connection_; 314 PacketSavingConnection* server_connection_;
313 scoped_ptr<TestQuicSpdyServerSession> server_session_; 315 scoped_ptr<TestQuicSpdyServerSession> server_session_;
314 QuicCryptoServerConfig server_crypto_config_; 316 QuicCryptoServerConfig server_crypto_config_;
317 QuicCompressedCertsCache server_compressed_certs_cache_;
315 QuicServerId server_id_; 318 QuicServerId server_id_;
316 }; 319 };
317 320
318 TEST_F(QuicCryptoClientStreamStatelessTest, StatelessReject) { 321 TEST_F(QuicCryptoClientStreamStatelessTest, StatelessReject) {
319 ValueRestore<bool> old_flag(&FLAGS_enable_quic_stateless_reject_support, 322 ValueRestore<bool> old_flag(&FLAGS_enable_quic_stateless_reject_support,
320 true); 323 true);
321 324
322 QuicCryptoClientConfig::CachedState* client_state = 325 QuicCryptoClientConfig::CachedState* client_state =
323 client_crypto_config_.LookupOrCreate(server_id_); 326 client_crypto_config_.LookupOrCreate(server_id_);
324 327
(...skipping 19 matching lines...) Expand all
344 client_state->GetNextServerDesignatedConnectionId(); 347 client_state->GetNextServerDesignatedConnectionId();
345 QuicConnectionId expected_id = 348 QuicConnectionId expected_id =
346 server_session_->connection()->random_generator()->RandUint64(); 349 server_session_->connection()->random_generator()->RandUint64();
347 EXPECT_EQ(expected_id, server_designated_id); 350 EXPECT_EQ(expected_id, server_designated_id);
348 EXPECT_FALSE(client_state->has_server_designated_connection_id()); 351 EXPECT_FALSE(client_state->has_server_designated_connection_id());
349 } 352 }
350 353
351 } // namespace 354 } // namespace
352 } // namespace test 355 } // namespace test
353 } // namespace net 356 } // namespace net
OLDNEW
« no previous file with comments | « no previous file | net/quic/quic_crypto_server_stream_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698