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

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

Issue 1415933006: QUIC - delete #ifdef USE_OPENSSL in unittests (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix minor typos 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
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_chromium_client_session.h" 5 #include "net/quic/quic_chromium_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/socket_performance_watcher.h" 13 #include "net/base/socket_performance_watcher.h"
14 #include "net/base/test_completion_callback.h" 14 #include "net/base/test_completion_callback.h"
15 #include "net/base/test_data_directory.h" 15 #include "net/base/test_data_directory.h"
16 #include "net/cert/cert_verify_result.h" 16 #include "net/cert/cert_verify_result.h"
17 #include "net/http/transport_security_state.h" 17 #include "net/http/transport_security_state.h"
18 #include "net/log/test_net_log.h" 18 #include "net/log/test_net_log.h"
19 #include "net/quic/crypto/aes_128_gcm_12_encrypter.h" 19 #include "net/quic/crypto/aes_128_gcm_12_encrypter.h"
20 #include "net/quic/crypto/crypto_protocol.h" 20 #include "net/quic/crypto/crypto_protocol.h"
21 #include "net/quic/crypto/proof_verifier_chromium.h" 21 #include "net/quic/crypto/proof_verifier_chromium.h"
22 #include "net/quic/crypto/quic_decrypter.h" 22 #include "net/quic/crypto/quic_decrypter.h"
23 #include "net/quic/crypto/quic_encrypter.h" 23 #include "net/quic/crypto/quic_encrypter.h"
24 #include "net/quic/crypto/quic_server_info.h" 24 #include "net/quic/crypto/quic_server_info.h"
25 #include "net/quic/quic_flags.h"
25 #include "net/quic/quic_packet_reader.h" 26 #include "net/quic/quic_packet_reader.h"
27 #include "net/quic/quic_protocol.h"
26 #include "net/quic/test_tools/crypto_test_utils.h" 28 #include "net/quic/test_tools/crypto_test_utils.h"
27 #include "net/quic/test_tools/quic_chromium_client_session_peer.h" 29 #include "net/quic/test_tools/quic_chromium_client_session_peer.h"
28 #include "net/quic/test_tools/quic_spdy_session_peer.h" 30 #include "net/quic/test_tools/quic_spdy_session_peer.h"
29 #include "net/quic/test_tools/quic_test_utils.h" 31 #include "net/quic/test_tools/quic_test_utils.h"
30 #include "net/quic/test_tools/simple_quic_framer.h" 32 #include "net/quic/test_tools/simple_quic_framer.h"
31 #include "net/socket/socket_test_util.h" 33 #include "net/socket/socket_test_util.h"
32 #include "net/spdy/spdy_test_utils.h" 34 #include "net/spdy/spdy_test_utils.h"
33 #include "net/test/cert_test_util.h" 35 #include "net/test/cert_test_util.h"
34 #include "net/udp/datagram_client_socket.h" 36 #include "net/udp/datagram_client_socket.h"
35 37
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
105 MockClock clock_; 107 MockClock clock_;
106 MockRandom random_; 108 MockRandom random_;
107 QuicConnectionVisitorInterface* visitor_; 109 QuicConnectionVisitorInterface* visitor_;
108 TestCompletionCallback callback_; 110 TestCompletionCallback callback_;
109 }; 111 };
110 112
111 INSTANTIATE_TEST_CASE_P(Tests, 113 INSTANTIATE_TEST_CASE_P(Tests,
112 QuicChromiumClientSessionTest, 114 QuicChromiumClientSessionTest,
113 ::testing::ValuesIn(QuicSupportedVersions())); 115 ::testing::ValuesIn(QuicSupportedVersions()));
114 116
115 #if defined(OPENSSL)
116
117 TEST_P(QuicChromiumClientSessionTest, CryptoConnect) { 117 TEST_P(QuicChromiumClientSessionTest, CryptoConnect) {
118 CompleteCryptoHandshake(); 118 CompleteCryptoHandshake();
119 } 119 }
120 120
121 TEST_P(QuicChromiumClientSessionTest, MaxNumStreams) { 121 TEST_P(QuicChromiumClientSessionTest, MaxNumStreams) {
122 CompleteCryptoHandshake(); 122 CompleteCryptoHandshake();
123 123
124 std::vector<QuicReliableClientStream*> streams; 124 std::vector<QuicReliableClientStream*> streams;
125 for (size_t i = 0; i < kDefaultMaxStreamsPerConnection; i++) { 125 for (size_t i = 0; i < kDefaultMaxStreamsPerConnection; i++) {
126 QuicReliableClientStream* stream = session_.CreateOutgoingDynamicStream(); 126 QuicReliableClientStream* stream = session_.CreateOutgoingDynamicStream();
127 EXPECT_TRUE(stream); 127 EXPECT_TRUE(stream);
128 streams.push_back(stream); 128 streams.push_back(stream);
129 } 129 }
130 EXPECT_FALSE(session_.CreateOutgoingDynamicStream()); 130 EXPECT_FALSE(session_.CreateOutgoingDynamicStream());
131 131
132 EXPECT_EQ(kDefaultMaxStreamsPerConnection, session_.GetNumOpenStreams());
133
132 // Close a stream and ensure I can now open a new one. 134 // Close a stream and ensure I can now open a new one.
133 session_.CloseStream(streams[0]->id()); 135 QuicStreamId stream_id = streams[0]->id();
136 session_.CloseStream(stream_id);
137
138 if (FLAGS_quic_count_unfinished_as_open_streams) {
Ryan Hamilton 2015/11/05 05:26:46 Since this flag is true and we have no plans to ma
ramant (doing other things) 2015/11/05 17:36:43 Done.
139 EXPECT_FALSE(session_.CreateOutgoingDynamicStream());
140 QuicRstStreamFrame rst1(stream_id, QUIC_STREAM_NO_ERROR, 0);
141 session_.OnRstStream(rst1);
142 }
143 EXPECT_EQ(kDefaultMaxStreamsPerConnection - 1, session_.GetNumOpenStreams());
134 EXPECT_TRUE(session_.CreateOutgoingDynamicStream()); 144 EXPECT_TRUE(session_.CreateOutgoingDynamicStream());
135 } 145 }
136 146
137 TEST_P(QuicChromiumClientSessionTest, MaxNumStreamsViaRequest) { 147 TEST_P(QuicChromiumClientSessionTest, MaxNumStreamsViaRequest) {
138 CompleteCryptoHandshake(); 148 CompleteCryptoHandshake();
139 149
140 std::vector<QuicReliableClientStream*> streams; 150 std::vector<QuicReliableClientStream*> streams;
141 for (size_t i = 0; i < kDefaultMaxStreamsPerConnection; i++) { 151 for (size_t i = 0; i < kDefaultMaxStreamsPerConnection; i++) {
142 QuicReliableClientStream* stream = session_.CreateOutgoingDynamicStream(); 152 QuicReliableClientStream* stream = session_.CreateOutgoingDynamicStream();
143 EXPECT_TRUE(stream); 153 EXPECT_TRUE(stream);
144 streams.push_back(stream); 154 streams.push_back(stream);
145 } 155 }
146 156
147 QuicReliableClientStream* stream; 157 QuicReliableClientStream* stream;
148 QuicChromiumClientSession::StreamRequest stream_request; 158 QuicChromiumClientSession::StreamRequest stream_request;
149 TestCompletionCallback callback; 159 TestCompletionCallback callback;
150 ASSERT_EQ(ERR_IO_PENDING, 160 ASSERT_EQ(ERR_IO_PENDING,
151 stream_request.StartRequest(session_.GetWeakPtr(), &stream, 161 stream_request.StartRequest(session_.GetWeakPtr(), &stream,
152 callback.callback())); 162 callback.callback()));
153 163
154 // Close a stream and ensure I can now open a new one. 164 // Close a stream and ensure I can now open a new one.
155 session_.CloseStream(streams[0]->id()); 165 QuicStreamId stream_id = streams[0]->id();
166 session_.CloseStream(stream_id);
167 if (FLAGS_quic_count_unfinished_as_open_streams) {
168 QuicRstStreamFrame rst1(stream_id, QUIC_STREAM_NO_ERROR, 0);
169 session_.OnRstStream(rst1);
170 }
156 ASSERT_TRUE(callback.have_result()); 171 ASSERT_TRUE(callback.have_result());
157 EXPECT_EQ(OK, callback.WaitForResult()); 172 EXPECT_EQ(OK, callback.WaitForResult());
158 EXPECT_TRUE(stream != nullptr); 173 EXPECT_TRUE(stream != nullptr);
159 } 174 }
160 175
161 TEST_P(QuicChromiumClientSessionTest, GoAwayReceived) { 176 TEST_P(QuicChromiumClientSessionTest, GoAwayReceived) {
162 CompleteCryptoHandshake(); 177 CompleteCryptoHandshake();
163 178
164 // After receiving a GoAway, I should no longer be able to create outgoing 179 // After receiving a GoAway, I should no longer be able to create outgoing
165 // streams. 180 // streams.
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
251 ASSERT_TRUE(details.cert_verify_result.verified_cert.get()); 266 ASSERT_TRUE(details.cert_verify_result.verified_cert.get());
252 267
253 CompleteCryptoHandshake(); 268 CompleteCryptoHandshake();
254 session_.OnProofVerifyDetailsAvailable(details); 269 session_.OnProofVerifyDetailsAvailable(details);
255 QuicChromiumClientSessionPeer::SetHostname(&session_, "www.example.org"); 270 QuicChromiumClientSessionPeer::SetHostname(&session_, "www.example.org");
256 QuicChromiumClientSessionPeer::SetChannelIDSent(&session_, true); 271 QuicChromiumClientSessionPeer::SetChannelIDSent(&session_, true);
257 272
258 EXPECT_TRUE(session_.CanPool("mail.example.org", PRIVACY_MODE_DISABLED)); 273 EXPECT_TRUE(session_.CanPool("mail.example.org", PRIVACY_MODE_DISABLED));
259 } 274 }
260 275
261 #endif
262
263 } // namespace 276 } // namespace
264 } // namespace test 277 } // namespace test
265 } // namespace net 278 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698