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

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

Issue 1413613016: Factoring a QuicCryptoServerStreamBase API out of QuicCryptoServerStream (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@106845547
Patch Set: Created 5 years, 1 month 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 | « net/quic/quic_crypto_server_stream.cc ('k') | net/tools/quic/quic_dispatcher_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_server_stream.h" 5 #include "net/quic/quic_crypto_server_stream.h"
6 6
7 #include <map> 7 #include <map>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/memory/scoped_ptr.h" 10 #include "base/memory/scoped_ptr.h"
(...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after
187 }; 187 };
188 188
189 INSTANTIATE_TEST_CASE_P(Tests, QuicCryptoServerStreamTest, testing::Bool()); 189 INSTANTIATE_TEST_CASE_P(Tests, QuicCryptoServerStreamTest, testing::Bool());
190 190
191 TEST_P(QuicCryptoServerStreamTest, NotInitiallyConected) { 191 TEST_P(QuicCryptoServerStreamTest, NotInitiallyConected) {
192 EXPECT_FALSE(server_stream()->encryption_established()); 192 EXPECT_FALSE(server_stream()->encryption_established());
193 EXPECT_FALSE(server_stream()->handshake_confirmed()); 193 EXPECT_FALSE(server_stream()->handshake_confirmed());
194 } 194 }
195 195
196 TEST_P(QuicCryptoServerStreamTest, NotInitiallySendingStatelessRejects) { 196 TEST_P(QuicCryptoServerStreamTest, NotInitiallySendingStatelessRejects) {
197 EXPECT_FALSE(server_stream()->use_stateless_rejects_if_peer_supported()); 197 EXPECT_FALSE(server_stream()->UseStatelessRejectsIfPeerSupported());
198 EXPECT_FALSE(server_stream()->peer_supports_stateless_rejects()); 198 EXPECT_FALSE(server_stream()->PeerSupportsStatelessRejects());
199 } 199 }
200 200
201 TEST_P(QuicCryptoServerStreamTest, ConnectedAfterCHLO) { 201 TEST_P(QuicCryptoServerStreamTest, ConnectedAfterCHLO) {
202 // CompleteCryptoHandshake returns the number of client hellos sent. This 202 // CompleteCryptoHandshake returns the number of client hellos sent. This
203 // test should send: 203 // test should send:
204 // * One to get a source-address token and certificates. 204 // * One to get a source-address token and certificates.
205 // * One to complete the handshake. 205 // * One to complete the handshake.
206 EXPECT_EQ(2, CompleteCryptoHandshake()); 206 EXPECT_EQ(2, CompleteCryptoHandshake());
207 EXPECT_TRUE(server_stream()->encryption_established()); 207 EXPECT_TRUE(server_stream()->encryption_established());
208 EXPECT_TRUE(server_stream()->handshake_confirmed()); 208 EXPECT_TRUE(server_stream()->handshake_confirmed());
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
244 ValueRestore<bool> old_flag(&FLAGS_enable_quic_stateless_reject_support, 244 ValueRestore<bool> old_flag(&FLAGS_enable_quic_stateless_reject_support,
245 true); 245 true);
246 InitializeServer(); 246 InitializeServer();
247 247
248 InitializeFakeClient(/* supports_stateless_rejects= */ true); 248 InitializeFakeClient(/* supports_stateless_rejects= */ true);
249 AdvanceHandshakeWithFakeClient(); 249 AdvanceHandshakeWithFakeClient();
250 250
251 // On the first round, encryption will not be established. 251 // On the first round, encryption will not be established.
252 EXPECT_FALSE(server_stream()->encryption_established()); 252 EXPECT_FALSE(server_stream()->encryption_established());
253 EXPECT_FALSE(server_stream()->handshake_confirmed()); 253 EXPECT_FALSE(server_stream()->handshake_confirmed());
254 EXPECT_EQ(1, server_stream()->num_handshake_messages()); 254 EXPECT_EQ(1, server_stream()->NumHandshakeMessages());
255 EXPECT_EQ(0, server_stream()->num_handshake_messages_with_server_nonces()); 255 EXPECT_EQ(0, server_stream()->NumHandshakeMessagesWithServerNonces());
256 256
257 // Now check the client state. 257 // Now check the client state.
258 QuicCryptoClientConfig::CachedState* client_state = 258 QuicCryptoClientConfig::CachedState* client_state =
259 client_crypto_config_.LookupOrCreate(server_id_); 259 client_crypto_config_.LookupOrCreate(server_id_);
260 260
261 ASSERT_TRUE(client_state->has_server_designated_connection_id()); 261 ASSERT_TRUE(client_state->has_server_designated_connection_id());
262 const QuicConnectionId server_designated_connection_id = 262 const QuicConnectionId server_designated_connection_id =
263 client_state->GetNextServerDesignatedConnectionId(); 263 client_state->GetNextServerDesignatedConnectionId();
264 const QuicConnectionId expected_id = 264 const QuicConnectionId expected_id =
265 server_connection_->random_generator()->RandUint64(); 265 server_connection_->random_generator()->RandUint64();
(...skipping 10 matching lines...) Expand all
276 client_stream()->CryptoConnect(); 276 client_stream()->CryptoConnect();
277 277
278 // In the stateless case, the second handshake contains a server-nonce, so the 278 // In the stateless case, the second handshake contains a server-nonce, so the
279 // AsyncStrikeRegisterVerification() case will still succeed (unlike a 0-RTT 279 // AsyncStrikeRegisterVerification() case will still succeed (unlike a 0-RTT
280 // handshake). 280 // handshake).
281 AdvanceHandshakeWithFakeClient(); 281 AdvanceHandshakeWithFakeClient();
282 282
283 // On the second round, encryption will be established. 283 // On the second round, encryption will be established.
284 EXPECT_TRUE(server_stream()->encryption_established()); 284 EXPECT_TRUE(server_stream()->encryption_established());
285 EXPECT_TRUE(server_stream()->handshake_confirmed()); 285 EXPECT_TRUE(server_stream()->handshake_confirmed());
286 EXPECT_EQ(2, server_stream()->num_handshake_messages()); 286 EXPECT_EQ(2, server_stream()->NumHandshakeMessages());
287 EXPECT_EQ(1, server_stream()->num_handshake_messages_with_server_nonces()); 287 EXPECT_EQ(1, server_stream()->NumHandshakeMessagesWithServerNonces());
288 } 288 }
289 289
290 TEST_P(QuicCryptoServerStreamTest, NoStatelessRejectIfNoClientSupport) { 290 TEST_P(QuicCryptoServerStreamTest, NoStatelessRejectIfNoClientSupport) {
291 ValueRestore<bool> old_flag(&FLAGS_enable_quic_stateless_reject_support, 291 ValueRestore<bool> old_flag(&FLAGS_enable_quic_stateless_reject_support,
292 true); 292 true);
293 InitializeServer(); 293 InitializeServer();
294 294
295 // The server is configured to use stateless rejects, but the client does not 295 // The server is configured to use stateless rejects, but the client does not
296 // support it. 296 // support it.
297 InitializeFakeClient(/* supports_stateless_rejects= */ false); 297 InitializeFakeClient(/* supports_stateless_rejects= */ false);
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
398 // CompleteCryptoHandshake verifies 398 // CompleteCryptoHandshake verifies
399 // server_stream()->crypto_negotiated_params().channel_id is correct. 399 // server_stream()->crypto_negotiated_params().channel_id is correct.
400 EXPECT_EQ(2, CompleteCryptoHandshake()); 400 EXPECT_EQ(2, CompleteCryptoHandshake());
401 EXPECT_TRUE(server_stream()->encryption_established()); 401 EXPECT_TRUE(server_stream()->encryption_established());
402 EXPECT_TRUE(server_stream()->handshake_confirmed()); 402 EXPECT_TRUE(server_stream()->handshake_confirmed());
403 } 403 }
404 404
405 TEST_P(QuicCryptoServerStreamTest, OnlySendSCUPAfterHandshakeComplete) { 405 TEST_P(QuicCryptoServerStreamTest, OnlySendSCUPAfterHandshakeComplete) {
406 // An attempt to send a SCUP before completing handshake should fail. 406 // An attempt to send a SCUP before completing handshake should fail.
407 server_stream()->SendServerConfigUpdate(nullptr); 407 server_stream()->SendServerConfigUpdate(nullptr);
408 EXPECT_EQ(0, server_stream()->num_server_config_update_messages_sent()); 408 EXPECT_EQ(0, server_stream()->NumServerConfigUpdateMessagesSent());
409 } 409 }
410 410
411 TEST_P(QuicCryptoServerStreamTest, DoesPeerSupportStatelessRejects) { 411 TEST_P(QuicCryptoServerStreamTest, DoesPeerSupportStatelessRejects) {
412 ConstructHandshakeMessage(); 412 ConstructHandshakeMessage();
413 QuicConfig stateless_reject_config = DefaultQuicConfigStatelessRejects(); 413 QuicConfig stateless_reject_config = DefaultQuicConfigStatelessRejects();
414 stateless_reject_config.ToHandshakeMessage(&message_); 414 stateless_reject_config.ToHandshakeMessage(&message_);
415 EXPECT_TRUE( 415 EXPECT_TRUE(
416 QuicCryptoServerStreamPeer::DoesPeerSupportStatelessRejects(message_)); 416 QuicCryptoServerStreamPeer::DoesPeerSupportStatelessRejects(message_));
417 417
418 message_.Clear(); 418 message_.Clear();
419 QuicConfig stateful_reject_config = DefaultQuicConfig(); 419 QuicConfig stateful_reject_config = DefaultQuicConfig();
420 stateful_reject_config.ToHandshakeMessage(&message_); 420 stateful_reject_config.ToHandshakeMessage(&message_);
421 EXPECT_FALSE( 421 EXPECT_FALSE(
422 QuicCryptoServerStreamPeer::DoesPeerSupportStatelessRejects(message_)); 422 QuicCryptoServerStreamPeer::DoesPeerSupportStatelessRejects(message_));
423 } 423 }
424 424
425 } // namespace 425 } // namespace
426 426
427 } // namespace test 427 } // namespace test
428 } // namespace net 428 } // namespace net
OLDNEW
« no previous file with comments | « net/quic/quic_crypto_server_stream.cc ('k') | net/tools/quic/quic_dispatcher_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698