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

Side by Side Diff: net/quic/quic_client_session_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_client_session_base.cc ('k') | net/quic/quic_connection.h » ('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_client_session.h" 5 #include "net/quic/quic_client_session.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/base64.h" 9 #include "base/base64.h"
10 #include "base/files/file_path.h" 10 #include "base/files/file_path.h"
11 #include "base/rand_util.h" 11 #include "base/rand_util.h"
12 #include "base/thread_task_runner_handle.h" 12 #include "base/thread_task_runner_handle.h"
13 #include "net/base/test_completion_callback.h" 13 #include "net/base/test_completion_callback.h"
14 #include "net/base/test_data_directory.h" 14 #include "net/base/test_data_directory.h"
15 #include "net/cert/cert_verify_result.h" 15 #include "net/cert/cert_verify_result.h"
16 #include "net/http/transport_security_state.h" 16 #include "net/http/transport_security_state.h"
17 #include "net/log/test_net_log.h" 17 #include "net/log/test_net_log.h"
18 #include "net/quic/crypto/aes_128_gcm_12_encrypter.h" 18 #include "net/quic/crypto/aes_128_gcm_12_encrypter.h"
19 #include "net/quic/crypto/crypto_protocol.h" 19 #include "net/quic/crypto/crypto_protocol.h"
20 #include "net/quic/crypto/proof_verifier_chromium.h" 20 #include "net/quic/crypto/proof_verifier_chromium.h"
21 #include "net/quic/crypto/quic_decrypter.h" 21 #include "net/quic/crypto/quic_decrypter.h"
22 #include "net/quic/crypto/quic_encrypter.h" 22 #include "net/quic/crypto/quic_encrypter.h"
23 #include "net/quic/crypto/quic_server_info.h" 23 #include "net/quic/crypto/quic_server_info.h"
24 #include "net/quic/test_tools/crypto_test_utils.h" 24 #include "net/quic/test_tools/crypto_test_utils.h"
25 #include "net/quic/test_tools/quic_client_session_peer.h" 25 #include "net/quic/test_tools/quic_client_session_peer.h"
26 #include "net/quic/test_tools/quic_spdy_session_peer.h"
26 #include "net/quic/test_tools/quic_test_utils.h" 27 #include "net/quic/test_tools/quic_test_utils.h"
27 #include "net/quic/test_tools/simple_quic_framer.h" 28 #include "net/quic/test_tools/simple_quic_framer.h"
28 #include "net/socket/socket_test_util.h" 29 #include "net/socket/socket_test_util.h"
29 #include "net/spdy/spdy_test_utils.h" 30 #include "net/spdy/spdy_test_utils.h"
30 #include "net/test/cert_test_util.h" 31 #include "net/test/cert_test_util.h"
31 #include "net/udp/datagram_client_socket.h" 32 #include "net/udp/datagram_client_socket.h"
32 33
33 using testing::_; 34 using testing::_;
34 35
35 namespace net { 36 namespace net {
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
102 103
103 TEST_P(QuicClientSessionTest, CryptoConnect) { 104 TEST_P(QuicClientSessionTest, CryptoConnect) {
104 CompleteCryptoHandshake(); 105 CompleteCryptoHandshake();
105 } 106 }
106 107
107 TEST_P(QuicClientSessionTest, MaxNumStreams) { 108 TEST_P(QuicClientSessionTest, MaxNumStreams) {
108 CompleteCryptoHandshake(); 109 CompleteCryptoHandshake();
109 110
110 std::vector<QuicReliableClientStream*> streams; 111 std::vector<QuicReliableClientStream*> streams;
111 for (size_t i = 0; i < kDefaultMaxStreamsPerConnection; i++) { 112 for (size_t i = 0; i < kDefaultMaxStreamsPerConnection; i++) {
112 QuicReliableClientStream* stream = session_.CreateOutgoingDataStream(); 113 QuicReliableClientStream* stream = session_.CreateOutgoingDynamicStream();
113 EXPECT_TRUE(stream); 114 EXPECT_TRUE(stream);
114 streams.push_back(stream); 115 streams.push_back(stream);
115 } 116 }
116 EXPECT_FALSE(session_.CreateOutgoingDataStream()); 117 EXPECT_FALSE(session_.CreateOutgoingDynamicStream());
117 118
118 // Close a stream and ensure I can now open a new one. 119 // Close a stream and ensure I can now open a new one.
119 session_.CloseStream(streams[0]->id()); 120 session_.CloseStream(streams[0]->id());
120 EXPECT_TRUE(session_.CreateOutgoingDataStream()); 121 EXPECT_TRUE(session_.CreateOutgoingDynamicStream());
121 } 122 }
122 123
123 TEST_P(QuicClientSessionTest, MaxNumStreamsViaRequest) { 124 TEST_P(QuicClientSessionTest, MaxNumStreamsViaRequest) {
124 CompleteCryptoHandshake(); 125 CompleteCryptoHandshake();
125 126
126 std::vector<QuicReliableClientStream*> streams; 127 std::vector<QuicReliableClientStream*> streams;
127 for (size_t i = 0; i < kDefaultMaxStreamsPerConnection; i++) { 128 for (size_t i = 0; i < kDefaultMaxStreamsPerConnection; i++) {
128 QuicReliableClientStream* stream = session_.CreateOutgoingDataStream(); 129 QuicReliableClientStream* stream = session_.CreateOutgoingDynamicStream();
129 EXPECT_TRUE(stream); 130 EXPECT_TRUE(stream);
130 streams.push_back(stream); 131 streams.push_back(stream);
131 } 132 }
132 133
133 QuicReliableClientStream* stream; 134 QuicReliableClientStream* stream;
134 QuicClientSession::StreamRequest stream_request; 135 QuicClientSession::StreamRequest stream_request;
135 TestCompletionCallback callback; 136 TestCompletionCallback callback;
136 ASSERT_EQ(ERR_IO_PENDING, 137 ASSERT_EQ(ERR_IO_PENDING,
137 stream_request.StartRequest(session_.GetWeakPtr(), &stream, 138 stream_request.StartRequest(session_.GetWeakPtr(), &stream,
138 callback.callback())); 139 callback.callback()));
139 140
140 // Close a stream and ensure I can now open a new one. 141 // Close a stream and ensure I can now open a new one.
141 session_.CloseStream(streams[0]->id()); 142 session_.CloseStream(streams[0]->id());
142 ASSERT_TRUE(callback.have_result()); 143 ASSERT_TRUE(callback.have_result());
143 EXPECT_EQ(OK, callback.WaitForResult()); 144 EXPECT_EQ(OK, callback.WaitForResult());
144 EXPECT_TRUE(stream != nullptr); 145 EXPECT_TRUE(stream != nullptr);
145 } 146 }
146 147
147 TEST_P(QuicClientSessionTest, GoAwayReceived) { 148 TEST_P(QuicClientSessionTest, GoAwayReceived) {
148 CompleteCryptoHandshake(); 149 CompleteCryptoHandshake();
149 150
150 // After receiving a GoAway, I should no longer be able to create outgoing 151 // After receiving a GoAway, I should no longer be able to create outgoing
151 // streams. 152 // streams.
152 session_.OnGoAway(QuicGoAwayFrame(QUIC_PEER_GOING_AWAY, 1u, "Going away.")); 153 session_.OnGoAway(QuicGoAwayFrame(QUIC_PEER_GOING_AWAY, 1u, "Going away."));
153 EXPECT_EQ(nullptr, session_.CreateOutgoingDataStream()); 154 EXPECT_EQ(nullptr, session_.CreateOutgoingDynamicStream());
154 } 155 }
155 156
156 TEST_P(QuicClientSessionTest, CanPool) { 157 TEST_P(QuicClientSessionTest, CanPool) {
157 // Load a cert that is valid for: 158 // Load a cert that is valid for:
158 // www.example.org 159 // www.example.org
159 // mail.example.org 160 // mail.example.org
160 // www.example.com 161 // www.example.com
161 162
162 ProofVerifyDetailsChromium details; 163 ProofVerifyDetailsChromium details;
163 details.cert_verify_result.verified_cert = 164 details.cert_verify_result.verified_cert =
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
236 session_.OnProofVerifyDetailsAvailable(details); 237 session_.OnProofVerifyDetailsAvailable(details);
237 CompleteCryptoHandshake(); 238 CompleteCryptoHandshake();
238 QuicClientSessionPeer::SetChannelIDSent(&session_, true); 239 QuicClientSessionPeer::SetChannelIDSent(&session_, true);
239 240
240 EXPECT_TRUE(session_.CanPool("mail.example.org", PRIVACY_MODE_DISABLED)); 241 EXPECT_TRUE(session_.CanPool("mail.example.org", PRIVACY_MODE_DISABLED));
241 } 242 }
242 243
243 } // namespace 244 } // namespace
244 } // namespace test 245 } // namespace test
245 } // namespace net 246 } // namespace net
OLDNEW
« no previous file with comments | « net/quic/quic_client_session_base.cc ('k') | net/quic/quic_connection.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698