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 |