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

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

Issue 1190823003: Remove dependency on headers stream from QuicSession. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@Final_0616
Patch Set: deleted an include Created 5 years, 6 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 | « net/quic/quic_connection_test.cc ('k') | 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 21 matching lines...) Expand all
32 QuicCryptoClientStreamTest() 32 QuicCryptoClientStreamTest()
33 : server_id_(kServerHostname, kServerPort, false, PRIVACY_MODE_DISABLED) { 33 : server_id_(kServerHostname, kServerPort, false, PRIVACY_MODE_DISABLED) {
34 CreateConnection(); 34 CreateConnection();
35 } 35 }
36 36
37 void CreateConnection() { 37 void CreateConnection() {
38 connection_ = new PacketSavingConnection(Perspective::IS_CLIENT); 38 connection_ = new PacketSavingConnection(Perspective::IS_CLIENT);
39 // Advance the time, because timers do not like uninitialized times. 39 // Advance the time, because timers do not like uninitialized times.
40 connection_->AdvanceTime(QuicTime::Delta::FromSeconds(1)); 40 connection_->AdvanceTime(QuicTime::Delta::FromSeconds(1));
41 41
42 session_.reset(new TestClientSession(connection_, DefaultQuicConfig(), 42 session_.reset(new TestQuicSpdyClientSession(
43 server_id_, &crypto_config_)); 43 connection_, DefaultQuicConfig(), server_id_, &crypto_config_));
44 } 44 }
45 45
46 void CompleteCryptoHandshake() { 46 void CompleteCryptoHandshake() {
47 stream()->CryptoConnect(); 47 stream()->CryptoConnect();
48 CryptoTestUtils::HandshakeWithFakeServer(connection_, stream()); 48 CryptoTestUtils::HandshakeWithFakeServer(connection_, stream());
49 } 49 }
50 50
51 void ConstructHandshakeMessage() { 51 void ConstructHandshakeMessage() {
52 CryptoFramer framer; 52 CryptoFramer framer;
53 message_data_.reset(framer.ConstructHandshakeMessage(message_)); 53 message_data_.reset(framer.ConstructHandshakeMessage(message_));
54 } 54 }
55 55
56 QuicCryptoClientStream* stream() { return session_->GetCryptoStream(); } 56 QuicCryptoClientStream* stream() { return session_->GetCryptoStream(); }
57 57
58 PacketSavingConnection* connection_; 58 PacketSavingConnection* connection_;
59 scoped_ptr<TestClientSession> session_; 59 scoped_ptr<TestQuicSpdyClientSession> session_;
60 QuicServerId server_id_; 60 QuicServerId server_id_;
61 CryptoHandshakeMessage message_; 61 CryptoHandshakeMessage message_;
62 scoped_ptr<QuicData> message_data_; 62 scoped_ptr<QuicData> message_data_;
63 QuicCryptoClientConfig crypto_config_; 63 QuicCryptoClientConfig crypto_config_;
64 }; 64 };
65 65
66 TEST_F(QuicCryptoClientStreamTest, NotInitiallyConected) { 66 TEST_F(QuicCryptoClientStreamTest, NotInitiallyConected) {
67 EXPECT_FALSE(stream()->encryption_established()); 67 EXPECT_FALSE(stream()->encryption_established());
68 EXPECT_FALSE(stream()->handshake_confirmed()); 68 EXPECT_FALSE(stream()->handshake_confirmed());
69 } 69 }
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after
197 CryptoFramer::ConstructHandshakeMessage(server_config_update)); 197 CryptoFramer::ConstructHandshakeMessage(server_config_update));
198 stream()->ProcessRawData(data->data(), data->length()); 198 stream()->ProcessRawData(data->data(), data->length());
199 } 199 }
200 200
201 class QuicCryptoClientStreamStatelessTest : public ::testing::Test { 201 class QuicCryptoClientStreamStatelessTest : public ::testing::Test {
202 public: 202 public:
203 QuicCryptoClientStreamStatelessTest() 203 QuicCryptoClientStreamStatelessTest()
204 : server_crypto_config_(QuicCryptoServerConfig::TESTING, 204 : server_crypto_config_(QuicCryptoServerConfig::TESTING,
205 QuicRandom::GetInstance()), 205 QuicRandom::GetInstance()),
206 server_id_(kServerHostname, kServerPort, false, PRIVACY_MODE_DISABLED) { 206 server_id_(kServerHostname, kServerPort, false, PRIVACY_MODE_DISABLED) {
207 TestClientSession* client_session = nullptr; 207 TestQuicSpdyClientSession* client_session = nullptr;
208 CreateClientSessionForTest(server_id_, 208 CreateClientSessionForTest(server_id_,
209 /* supports_stateless_rejects= */ true, 209 /* supports_stateless_rejects= */ true,
210 QuicTime::Delta::FromSeconds(100000), 210 QuicTime::Delta::FromSeconds(100000),
211 &client_crypto_config_, &client_connection_, 211 &client_crypto_config_, &client_connection_,
212 &client_session); 212 &client_session);
213 CHECK(client_session); 213 CHECK(client_session);
214 client_session_.reset(client_session); 214 client_session_.reset(client_session);
215 } 215 }
216 216
217 QuicCryptoServerStream* server_stream() { 217 QuicCryptoServerStream* server_stream() {
218 return server_session_->GetCryptoStream(); 218 return server_session_->GetCryptoStream();
219 } 219 }
220 220
221 void AdvanceHandshakeWithFakeServer() { 221 void AdvanceHandshakeWithFakeServer() {
222 client_session_->GetCryptoStream()->CryptoConnect(); 222 client_session_->GetCryptoStream()->CryptoConnect();
223 CryptoTestUtils::AdvanceHandshake(client_connection_, 223 CryptoTestUtils::AdvanceHandshake(client_connection_,
224 client_session_->GetCryptoStream(), 0, 224 client_session_->GetCryptoStream(), 0,
225 server_connection_, server_stream(), 0); 225 server_connection_, server_stream(), 0);
226 } 226 }
227 227
228 // Initializes the server_stream_ for stateless rejects. 228 // Initializes the server_stream_ for stateless rejects.
229 void InitializeFakeStatelessRejectServer() { 229 void InitializeFakeStatelessRejectServer() {
230 TestServerSession* server_session = nullptr; 230 TestQuicSpdyServerSession* server_session = nullptr;
231 CreateServerSessionForTest(server_id_, QuicTime::Delta::FromSeconds(100000), 231 CreateServerSessionForTest(server_id_, QuicTime::Delta::FromSeconds(100000),
232 &server_crypto_config_, &server_connection_, 232 &server_crypto_config_, &server_connection_,
233 &server_session); 233 &server_session);
234 CHECK(server_session); 234 CHECK(server_session);
235 server_session_.reset(server_session); 235 server_session_.reset(server_session);
236 CryptoTestUtils::SetupCryptoServerConfigForTest( 236 CryptoTestUtils::SetupCryptoServerConfigForTest(
237 server_connection_->clock(), server_connection_->random_generator(), 237 server_connection_->clock(), server_connection_->random_generator(),
238 server_session_->config(), &server_crypto_config_); 238 server_session_->config(), &server_crypto_config_);
239 server_stream()->set_use_stateless_rejects_if_peer_supported(true); 239 server_stream()->set_use_stateless_rejects_if_peer_supported(true);
240 } 240 }
241 241
242 // Client crypto stream state 242 // Client crypto stream state
243 PacketSavingConnection* client_connection_; 243 PacketSavingConnection* client_connection_;
244 scoped_ptr<TestClientSession> client_session_; 244 scoped_ptr<TestQuicSpdyClientSession> client_session_;
245 QuicCryptoClientConfig client_crypto_config_; 245 QuicCryptoClientConfig client_crypto_config_;
246 246
247 // Server crypto stream state 247 // Server crypto stream state
248 PacketSavingConnection* server_connection_; 248 PacketSavingConnection* server_connection_;
249 scoped_ptr<TestServerSession> server_session_; 249 scoped_ptr<TestQuicSpdyServerSession> server_session_;
250 QuicCryptoServerConfig server_crypto_config_; 250 QuicCryptoServerConfig server_crypto_config_;
251 QuicServerId server_id_; 251 QuicServerId server_id_;
252 }; 252 };
253 253
254 TEST_F(QuicCryptoClientStreamStatelessTest, StatelessReject) { 254 TEST_F(QuicCryptoClientStreamStatelessTest, StatelessReject) {
255 ValueRestore<bool> old_flag(&FLAGS_enable_quic_stateless_reject_support, 255 ValueRestore<bool> old_flag(&FLAGS_enable_quic_stateless_reject_support,
256 true); 256 true);
257 257
258 QuicCryptoClientConfig::CachedState* client_state = 258 QuicCryptoClientConfig::CachedState* client_state =
259 client_crypto_config_.LookupOrCreate(server_id_); 259 client_crypto_config_.LookupOrCreate(server_id_);
(...skipping 20 matching lines...) Expand all
280 client_state->GetNextServerDesignatedConnectionId(); 280 client_state->GetNextServerDesignatedConnectionId();
281 QuicConnectionId expected_id = 281 QuicConnectionId expected_id =
282 server_session_->connection()->random_generator()->RandUint64(); 282 server_session_->connection()->random_generator()->RandUint64();
283 EXPECT_EQ(expected_id, server_designated_id); 283 EXPECT_EQ(expected_id, server_designated_id);
284 EXPECT_FALSE(client_state->has_server_designated_connection_id()); 284 EXPECT_FALSE(client_state->has_server_designated_connection_id());
285 } 285 }
286 286
287 } // namespace 287 } // namespace
288 } // namespace test 288 } // namespace test
289 } // namespace net 289 } // namespace net
OLDNEW
« no previous file with comments | « net/quic/quic_connection_test.cc ('k') | net/quic/quic_crypto_server_stream_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698