| OLD | NEW |
| 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 111 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 122 } | 122 } |
| 123 | 123 |
| 124 TEST_P(QuicCryptoServerStreamTest, ConnectedAfterCHLO) { | 124 TEST_P(QuicCryptoServerStreamTest, ConnectedAfterCHLO) { |
| 125 // CompleteCryptoHandshake returns the number of client hellos sent. This | 125 // CompleteCryptoHandshake returns the number of client hellos sent. This |
| 126 // test should send: | 126 // test should send: |
| 127 // * One to get a source-address token and certificates. | 127 // * One to get a source-address token and certificates. |
| 128 // * One to complete the handshake. | 128 // * One to complete the handshake. |
| 129 EXPECT_EQ(2, CompleteCryptoHandshake()); | 129 EXPECT_EQ(2, CompleteCryptoHandshake()); |
| 130 EXPECT_TRUE(stream_.encryption_established()); | 130 EXPECT_TRUE(stream_.encryption_established()); |
| 131 EXPECT_TRUE(stream_.handshake_confirmed()); | 131 EXPECT_TRUE(stream_.handshake_confirmed()); |
| 132 EXPECT_EQ(1, stream_.num_server_config_update_messages_sent()); | |
| 133 } | 132 } |
| 134 | 133 |
| 135 TEST_P(QuicCryptoServerStreamTest, ZeroRTT) { | 134 TEST_P(QuicCryptoServerStreamTest, ZeroRTT) { |
| 136 PacketSavingConnection* client_conn = new PacketSavingConnection(false); | 135 PacketSavingConnection* client_conn = new PacketSavingConnection(false); |
| 137 PacketSavingConnection* server_conn = new PacketSavingConnection(false); | 136 PacketSavingConnection* server_conn = new PacketSavingConnection(false); |
| 138 client_conn->AdvanceTime(QuicTime::Delta::FromSeconds(100000)); | 137 client_conn->AdvanceTime(QuicTime::Delta::FromSeconds(100000)); |
| 139 server_conn->AdvanceTime(QuicTime::Delta::FromSeconds(100000)); | 138 server_conn->AdvanceTime(QuicTime::Delta::FromSeconds(100000)); |
| 140 | 139 |
| 141 QuicConfig client_config; | 140 QuicConfig client_config; |
| 142 scoped_ptr<TestClientSession> client_session( | 141 scoped_ptr<TestClientSession> client_session( |
| (...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 213 EXPECT_EQ(1u, messages_moved.first); | 212 EXPECT_EQ(1u, messages_moved.first); |
| 214 EXPECT_EQ(1u, messages_moved.second); | 213 EXPECT_EQ(1u, messages_moved.second); |
| 215 EXPECT_TRUE(client->handshake_confirmed()); | 214 EXPECT_TRUE(client->handshake_confirmed()); |
| 216 EXPECT_TRUE(server->handshake_confirmed()); | 215 EXPECT_TRUE(server->handshake_confirmed()); |
| 217 } else { | 216 } else { |
| 218 CryptoTestUtils::CommunicateHandshakeMessages( | 217 CryptoTestUtils::CommunicateHandshakeMessages( |
| 219 client_conn, client.get(), server_conn, server.get()); | 218 client_conn, client.get(), server_conn, server.get()); |
| 220 } | 219 } |
| 221 | 220 |
| 222 EXPECT_EQ(1, client->num_sent_client_hellos()); | 221 EXPECT_EQ(1, client->num_sent_client_hellos()); |
| 223 EXPECT_EQ(1, server->num_server_config_update_messages_sent()); | |
| 224 } | 222 } |
| 225 | 223 |
| 226 TEST_P(QuicCryptoServerStreamTest, MessageAfterHandshake) { | 224 TEST_P(QuicCryptoServerStreamTest, MessageAfterHandshake) { |
| 227 CompleteCryptoHandshake(); | 225 CompleteCryptoHandshake(); |
| 228 EXPECT_CALL(*connection_, SendConnectionClose( | 226 EXPECT_CALL(*connection_, SendConnectionClose( |
| 229 QUIC_CRYPTO_MESSAGE_AFTER_HANDSHAKE_COMPLETE)); | 227 QUIC_CRYPTO_MESSAGE_AFTER_HANDSHAKE_COMPLETE)); |
| 230 message_.set_tag(kCHLO); | 228 message_.set_tag(kCHLO); |
| 231 ConstructHandshakeMessage(); | 229 ConstructHandshakeMessage(); |
| 232 stream_.ProcessRawData(message_data_->data(), message_data_->length()); | 230 stream_.ProcessRawData(message_data_->data(), message_data_->length()); |
| 233 } | 231 } |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 266 client_options_.channel_id_source_async = true; | 264 client_options_.channel_id_source_async = true; |
| 267 // CompleteCryptoHandshake verifies | 265 // CompleteCryptoHandshake verifies |
| 268 // stream_.crypto_negotiated_params().channel_id is correct. | 266 // stream_.crypto_negotiated_params().channel_id is correct. |
| 269 EXPECT_EQ(2, CompleteCryptoHandshake()); | 267 EXPECT_EQ(2, CompleteCryptoHandshake()); |
| 270 EXPECT_TRUE(stream_.encryption_established()); | 268 EXPECT_TRUE(stream_.encryption_established()); |
| 271 EXPECT_TRUE(stream_.handshake_confirmed()); | 269 EXPECT_TRUE(stream_.handshake_confirmed()); |
| 272 } | 270 } |
| 273 | 271 |
| 274 TEST_P(QuicCryptoServerStreamTest, OnlySendSCUPAfterHandshakeComplete) { | 272 TEST_P(QuicCryptoServerStreamTest, OnlySendSCUPAfterHandshakeComplete) { |
| 275 // An attempt to send a SCUP before completing handshake should fail. | 273 // An attempt to send a SCUP before completing handshake should fail. |
| 276 stream_.SendServerConfigUpdate(nullptr, false); | 274 stream_.SendServerConfigUpdate(nullptr); |
| 277 EXPECT_EQ(0, stream_.num_server_config_update_messages_sent()); | 275 EXPECT_EQ(0, stream_.num_server_config_update_messages_sent()); |
| 278 } | 276 } |
| 279 | 277 |
| 280 } // namespace | 278 } // namespace |
| 281 } // namespace test | 279 } // namespace test |
| 282 } // namespace net | 280 } // namespace net |
| OLD | NEW |