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

Side by Side Diff: net/http/http_network_transaction_spdy21_unittest.cc

Issue 9959033: Move NextProto enum to a new file net/socket/next_proto.h (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Address wtc's comments Created 8 years, 8 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 | Annotate | Revision Log
« no previous file with comments | « net/http/http_network_layer.cc ('k') | net/http/http_network_transaction_spdy2_unittest.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/http/http_network_transaction.h" 5 #include "net/http/http_network_transaction.h"
6 6
7 #include <math.h> // ceil 7 #include <math.h> // ceil
8 #include <stdarg.h> 8 #include <stdarg.h>
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after
167 167
168 class HttpNetworkTransactionSpdy21Test : public PlatformTest { 168 class HttpNetworkTransactionSpdy21Test : public PlatformTest {
169 protected: 169 protected:
170 struct SimpleGetHelperResult { 170 struct SimpleGetHelperResult {
171 int rv; 171 int rv;
172 std::string status_line; 172 std::string status_line;
173 std::string response_data; 173 std::string response_data;
174 }; 174 };
175 175
176 virtual void SetUp() { 176 virtual void SetUp() {
177 SpdySession::set_default_protocol(SSLClientSocket::kProtoSPDY21); 177 SpdySession::set_default_protocol(kProtoSPDY21);
178 NetworkChangeNotifier::NotifyObserversOfIPAddressChangeForTests(); 178 NetworkChangeNotifier::NotifyObserversOfIPAddressChangeForTests();
179 MessageLoop::current()->RunAllPending(); 179 MessageLoop::current()->RunAllPending();
180 } 180 }
181 181
182 virtual void TearDown() { 182 virtual void TearDown() {
183 NetworkChangeNotifier::NotifyObserversOfIPAddressChangeForTests(); 183 NetworkChangeNotifier::NotifyObserversOfIPAddressChangeForTests();
184 MessageLoop::current()->RunAllPending(); 184 MessageLoop::current()->RunAllPending();
185 // Empty the current queue. 185 // Empty the current queue.
186 MessageLoop::current()->RunAllPending(); 186 MessageLoop::current()->RunAllPending();
187 PlatformTest::TearDown(); 187 PlatformTest::TearDown();
(...skipping 1975 matching lines...) Expand 10 before | Expand all | Expand 10 after
2163 }; 2163 };
2164 2164
2165 scoped_ptr<DelayedSocketData> spdy_data( 2165 scoped_ptr<DelayedSocketData> spdy_data(
2166 new DelayedSocketData( 2166 new DelayedSocketData(
2167 1, // wait for one write to finish before reading. 2167 1, // wait for one write to finish before reading.
2168 spdy_reads, arraysize(spdy_reads), 2168 spdy_reads, arraysize(spdy_reads),
2169 spdy_writes, arraysize(spdy_writes))); 2169 spdy_writes, arraysize(spdy_writes)));
2170 session_deps.socket_factory.AddSocketDataProvider(spdy_data.get()); 2170 session_deps.socket_factory.AddSocketDataProvider(spdy_data.get());
2171 2171
2172 SSLSocketDataProvider ssl(ASYNC, OK); 2172 SSLSocketDataProvider ssl(ASYNC, OK);
2173 ssl.SetNextProto(SSLClientSocket::kProtoSPDY21); 2173 ssl.SetNextProto(kProtoSPDY21);
2174 session_deps.socket_factory.AddSSLSocketDataProvider(&ssl); 2174 session_deps.socket_factory.AddSSLSocketDataProvider(&ssl);
2175 2175
2176 TestCompletionCallback callback1; 2176 TestCompletionCallback callback1;
2177 2177
2178 scoped_ptr<HttpTransaction> trans(new HttpNetworkTransaction(session)); 2178 scoped_ptr<HttpTransaction> trans(new HttpNetworkTransaction(session));
2179 2179
2180 int rv = trans->Start(&request, callback1.callback(), log.bound()); 2180 int rv = trans->Start(&request, callback1.callback(), log.bound());
2181 EXPECT_EQ(ERR_IO_PENDING, rv); 2181 EXPECT_EQ(ERR_IO_PENDING, rv);
2182 2182
2183 rv = callback1.WaitForResult(); 2183 rv = callback1.WaitForResult();
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
2247 CreateMockRead(*body_data, 6), 2247 CreateMockRead(*body_data, 6),
2248 MockRead(ASYNC, 0, 7), 2248 MockRead(ASYNC, 0, 7),
2249 }; 2249 };
2250 2250
2251 scoped_ptr<OrderedSocketData> data( 2251 scoped_ptr<OrderedSocketData> data(
2252 new OrderedSocketData(spdy_reads, arraysize(spdy_reads), 2252 new OrderedSocketData(spdy_reads, arraysize(spdy_reads),
2253 spdy_writes, arraysize(spdy_writes))); 2253 spdy_writes, arraysize(spdy_writes)));
2254 session_deps.socket_factory.AddSocketDataProvider(data.get()); 2254 session_deps.socket_factory.AddSocketDataProvider(data.get());
2255 2255
2256 SSLSocketDataProvider ssl(ASYNC, OK); 2256 SSLSocketDataProvider ssl(ASYNC, OK);
2257 ssl.SetNextProto(SSLClientSocket::kProtoSPDY21); 2257 ssl.SetNextProto(kProtoSPDY21);
2258 session_deps.socket_factory.AddSSLSocketDataProvider(&ssl); 2258 session_deps.socket_factory.AddSSLSocketDataProvider(&ssl);
2259 2259
2260 TestCompletionCallback callback1; 2260 TestCompletionCallback callback1;
2261 2261
2262 scoped_ptr<HttpTransaction> trans(new HttpNetworkTransaction(session)); 2262 scoped_ptr<HttpTransaction> trans(new HttpNetworkTransaction(session));
2263 2263
2264 int rv = trans->Start(&request, callback1.callback(), log.bound()); 2264 int rv = trans->Start(&request, callback1.callback(), log.bound());
2265 EXPECT_EQ(ERR_IO_PENDING, rv); 2265 EXPECT_EQ(ERR_IO_PENDING, rv);
2266 2266
2267 rv = callback1.WaitForResult(); 2267 rv = callback1.WaitForResult();
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
2342 MockRead(ASYNC, 0, 8), 2342 MockRead(ASYNC, 0, 8),
2343 }; 2343 };
2344 2344
2345 scoped_ptr<OrderedSocketData> spdy_data( 2345 scoped_ptr<OrderedSocketData> spdy_data(
2346 new OrderedSocketData( 2346 new OrderedSocketData(
2347 spdy_reads, arraysize(spdy_reads), 2347 spdy_reads, arraysize(spdy_reads),
2348 spdy_writes, arraysize(spdy_writes))); 2348 spdy_writes, arraysize(spdy_writes)));
2349 session_deps.socket_factory.AddSocketDataProvider(spdy_data.get()); 2349 session_deps.socket_factory.AddSocketDataProvider(spdy_data.get());
2350 2350
2351 SSLSocketDataProvider ssl(ASYNC, OK); 2351 SSLSocketDataProvider ssl(ASYNC, OK);
2352 ssl.SetNextProto(SSLClientSocket::kProtoSPDY21); 2352 ssl.SetNextProto(kProtoSPDY21);
2353 session_deps.socket_factory.AddSSLSocketDataProvider(&ssl); 2353 session_deps.socket_factory.AddSSLSocketDataProvider(&ssl);
2354 SSLSocketDataProvider ssl2(ASYNC, OK); 2354 SSLSocketDataProvider ssl2(ASYNC, OK);
2355 ssl2.was_npn_negotiated = false; 2355 ssl2.was_npn_negotiated = false;
2356 ssl2.protocol_negotiated = SSLClientSocket::kProtoUnknown; 2356 ssl2.protocol_negotiated = kProtoUnknown;
2357 session_deps.socket_factory.AddSSLSocketDataProvider(&ssl2); 2357 session_deps.socket_factory.AddSSLSocketDataProvider(&ssl2);
2358 2358
2359 TestCompletionCallback callback1; 2359 TestCompletionCallback callback1;
2360 2360
2361 int rv = trans->Start(&request, callback1.callback(), log.bound()); 2361 int rv = trans->Start(&request, callback1.callback(), log.bound());
2362 EXPECT_EQ(ERR_IO_PENDING, rv); 2362 EXPECT_EQ(ERR_IO_PENDING, rv);
2363 2363
2364 rv = callback1.WaitForResult(); 2364 rv = callback1.WaitForResult();
2365 EXPECT_EQ(OK, rv); 2365 EXPECT_EQ(OK, rv);
2366 2366
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
2421 MockRead(ASYNC, 0, 8), 2421 MockRead(ASYNC, 0, 8),
2422 }; 2422 };
2423 2423
2424 scoped_ptr<OrderedSocketData> spdy_data( 2424 scoped_ptr<OrderedSocketData> spdy_data(
2425 new OrderedSocketData( 2425 new OrderedSocketData(
2426 spdy_reads, arraysize(spdy_reads), 2426 spdy_reads, arraysize(spdy_reads),
2427 spdy_writes, arraysize(spdy_writes))); 2427 spdy_writes, arraysize(spdy_writes)));
2428 session_deps.socket_factory.AddSocketDataProvider(spdy_data.get()); 2428 session_deps.socket_factory.AddSocketDataProvider(spdy_data.get());
2429 2429
2430 SSLSocketDataProvider ssl(ASYNC, OK); 2430 SSLSocketDataProvider ssl(ASYNC, OK);
2431 ssl.SetNextProto(SSLClientSocket::kProtoSPDY21); 2431 ssl.SetNextProto(kProtoSPDY21);
2432 session_deps.socket_factory.AddSSLSocketDataProvider(&ssl); 2432 session_deps.socket_factory.AddSSLSocketDataProvider(&ssl);
2433 SSLSocketDataProvider ssl2(ASYNC, OK); 2433 SSLSocketDataProvider ssl2(ASYNC, OK);
2434 ssl2.SetNextProto(SSLClientSocket::kProtoSPDY21); 2434 ssl2.SetNextProto(kProtoSPDY21);
2435 ssl2.protocol_negotiated = SSLClientSocket::kProtoSPDY21; 2435 ssl2.protocol_negotiated = kProtoSPDY21;
2436 session_deps.socket_factory.AddSSLSocketDataProvider(&ssl2); 2436 session_deps.socket_factory.AddSSLSocketDataProvider(&ssl2);
2437 2437
2438 TestCompletionCallback callback1; 2438 TestCompletionCallback callback1;
2439 2439
2440 int rv = trans->Start(&request, callback1.callback(), log.bound()); 2440 int rv = trans->Start(&request, callback1.callback(), log.bound());
2441 EXPECT_EQ(ERR_IO_PENDING, rv); 2441 EXPECT_EQ(ERR_IO_PENDING, rv);
2442 2442
2443 rv = callback1.WaitForResult(); 2443 rv = callback1.WaitForResult();
2444 EXPECT_EQ(OK, rv); 2444 EXPECT_EQ(OK, rv);
2445 2445
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
2485 MockRead(ASYNC, 0, 4), 2485 MockRead(ASYNC, 0, 4),
2486 }; 2486 };
2487 2487
2488 scoped_ptr<OrderedSocketData> spdy_data( 2488 scoped_ptr<OrderedSocketData> spdy_data(
2489 new OrderedSocketData( 2489 new OrderedSocketData(
2490 spdy_reads, arraysize(spdy_reads), 2490 spdy_reads, arraysize(spdy_reads),
2491 spdy_writes, arraysize(spdy_writes))); 2491 spdy_writes, arraysize(spdy_writes)));
2492 session_deps.socket_factory.AddSocketDataProvider(spdy_data.get()); 2492 session_deps.socket_factory.AddSocketDataProvider(spdy_data.get());
2493 2493
2494 SSLSocketDataProvider ssl(ASYNC, OK); 2494 SSLSocketDataProvider ssl(ASYNC, OK);
2495 ssl.SetNextProto(SSLClientSocket::kProtoSPDY21); 2495 ssl.SetNextProto(kProtoSPDY21);
2496 session_deps.socket_factory.AddSSLSocketDataProvider(&ssl); 2496 session_deps.socket_factory.AddSSLSocketDataProvider(&ssl);
2497 SSLSocketDataProvider ssl2(ASYNC, OK); 2497 SSLSocketDataProvider ssl2(ASYNC, OK);
2498 ssl2.SetNextProto(SSLClientSocket::kProtoSPDY21); 2498 ssl2.SetNextProto(kProtoSPDY21);
2499 session_deps.socket_factory.AddSSLSocketDataProvider(&ssl2); 2499 session_deps.socket_factory.AddSSLSocketDataProvider(&ssl2);
2500 2500
2501 TestCompletionCallback callback1; 2501 TestCompletionCallback callback1;
2502 2502
2503 int rv = trans->Start(&request, callback1.callback(), log.bound()); 2503 int rv = trans->Start(&request, callback1.callback(), log.bound());
2504 EXPECT_EQ(ERR_IO_PENDING, rv); 2504 EXPECT_EQ(ERR_IO_PENDING, rv);
2505 2505
2506 rv = callback1.WaitForResult(); 2506 rv = callback1.WaitForResult();
2507 EXPECT_EQ(OK, rv); 2507 EXPECT_EQ(OK, rv);
2508 2508
(...skipping 2081 matching lines...) Expand 10 before | Expand all | Expand 10 after
4590 CreateMockRead(*resp.get(), 1, SYNCHRONOUS), 4590 CreateMockRead(*resp.get(), 1, SYNCHRONOUS),
4591 MockRead(ASYNC, 0, 2), // EOF 4591 MockRead(ASYNC, 0, 2), // EOF
4592 }; 4592 };
4593 4593
4594 scoped_ptr<DelayedSocketData> data( 4594 scoped_ptr<DelayedSocketData> data(
4595 new DelayedSocketData( 4595 new DelayedSocketData(
4596 1, // wait for one write to finish before reading. 4596 1, // wait for one write to finish before reading.
4597 data_reads, arraysize(data_reads), 4597 data_reads, arraysize(data_reads),
4598 data_writes, arraysize(data_writes))); 4598 data_writes, arraysize(data_writes)));
4599 SSLSocketDataProvider proxy_ssl(ASYNC, OK); // SSL to the proxy 4599 SSLSocketDataProvider proxy_ssl(ASYNC, OK); // SSL to the proxy
4600 proxy_ssl.SetNextProto(SSLClientSocket::kProtoSPDY21); 4600 proxy_ssl.SetNextProto(kProtoSPDY21);
4601 4601
4602 session_deps.socket_factory.AddSocketDataProvider(data.get()); 4602 session_deps.socket_factory.AddSocketDataProvider(data.get());
4603 session_deps.socket_factory.AddSSLSocketDataProvider(&proxy_ssl); 4603 session_deps.socket_factory.AddSSLSocketDataProvider(&proxy_ssl);
4604 4604
4605 TestCompletionCallback callback; 4605 TestCompletionCallback callback;
4606 4606
4607 scoped_ptr<HttpTransaction> trans( 4607 scoped_ptr<HttpTransaction> trans(
4608 new HttpNetworkTransaction(CreateSession(&session_deps))); 4608 new HttpNetworkTransaction(CreateSession(&session_deps)));
4609 4609
4610 int rv = trans->Start(&request, callback.callback(), BoundNetLog()); 4610 int rv = trans->Start(&request, callback.callback(), BoundNetLog());
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
4709 CreateMockRead(*body.get(), 2, SYNCHRONOUS), 4709 CreateMockRead(*body.get(), 2, SYNCHRONOUS),
4710 MockRead(ASYNC, 0, 3), // EOF 4710 MockRead(ASYNC, 0, 3), // EOF
4711 }; 4711 };
4712 4712
4713 scoped_ptr<DelayedSocketData> data( 4713 scoped_ptr<DelayedSocketData> data(
4714 new DelayedSocketData( 4714 new DelayedSocketData(
4715 1, // wait for one write to finish before reading. 4715 1, // wait for one write to finish before reading.
4716 data_reads, arraysize(data_reads), 4716 data_reads, arraysize(data_reads),
4717 data_writes, arraysize(data_writes))); 4717 data_writes, arraysize(data_writes)));
4718 SSLSocketDataProvider proxy_ssl(ASYNC, OK); // SSL to the proxy 4718 SSLSocketDataProvider proxy_ssl(ASYNC, OK); // SSL to the proxy
4719 proxy_ssl.SetNextProto(SSLClientSocket::kProtoSPDY21); 4719 proxy_ssl.SetNextProto(kProtoSPDY21);
4720 4720
4721 session_deps.socket_factory.AddSocketDataProvider(data.get()); 4721 session_deps.socket_factory.AddSocketDataProvider(data.get());
4722 session_deps.socket_factory.AddSSLSocketDataProvider(&proxy_ssl); 4722 session_deps.socket_factory.AddSSLSocketDataProvider(&proxy_ssl);
4723 4723
4724 TestCompletionCallback callback; 4724 TestCompletionCallback callback;
4725 4725
4726 scoped_ptr<HttpTransaction> trans( 4726 scoped_ptr<HttpTransaction> trans(
4727 new HttpNetworkTransaction(CreateSession(&session_deps))); 4727 new HttpNetworkTransaction(CreateSession(&session_deps)));
4728 4728
4729 int rv = trans->Start(&request, callback.callback(), BoundNetLog()); 4729 int rv = trans->Start(&request, callback.callback(), BoundNetLog());
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
4819 MockRead(SYNCHRONOUS, ERR_IO_PENDING), 4819 MockRead(SYNCHRONOUS, ERR_IO_PENDING),
4820 }; 4820 };
4821 4821
4822 scoped_ptr<OrderedSocketData> spdy_data( 4822 scoped_ptr<OrderedSocketData> spdy_data(
4823 new OrderedSocketData( 4823 new OrderedSocketData(
4824 spdy_reads, arraysize(spdy_reads), 4824 spdy_reads, arraysize(spdy_reads),
4825 spdy_writes, arraysize(spdy_writes))); 4825 spdy_writes, arraysize(spdy_writes)));
4826 session_deps.socket_factory.AddSocketDataProvider(spdy_data.get()); 4826 session_deps.socket_factory.AddSocketDataProvider(spdy_data.get());
4827 // Negotiate SPDY to the proxy 4827 // Negotiate SPDY to the proxy
4828 SSLSocketDataProvider proxy(ASYNC, OK); 4828 SSLSocketDataProvider proxy(ASYNC, OK);
4829 proxy.SetNextProto(SSLClientSocket::kProtoSPDY21); 4829 proxy.SetNextProto(kProtoSPDY21);
4830 session_deps.socket_factory.AddSSLSocketDataProvider(&proxy); 4830 session_deps.socket_factory.AddSSLSocketDataProvider(&proxy);
4831 // Vanilla SSL to the server 4831 // Vanilla SSL to the server
4832 SSLSocketDataProvider server(ASYNC, OK); 4832 SSLSocketDataProvider server(ASYNC, OK);
4833 session_deps.socket_factory.AddSSLSocketDataProvider(&server); 4833 session_deps.socket_factory.AddSSLSocketDataProvider(&server);
4834 4834
4835 TestCompletionCallback callback1; 4835 TestCompletionCallback callback1;
4836 4836
4837 scoped_ptr<HttpTransaction> trans(new HttpNetworkTransaction(session)); 4837 scoped_ptr<HttpTransaction> trans(new HttpNetworkTransaction(session));
4838 4838
4839 int rv = trans->Start(&request, callback1.callback(), log.bound()); 4839 int rv = trans->Start(&request, callback1.callback(), log.bound());
(...skipping 2071 matching lines...) Expand 10 before | Expand all | Expand 10 after
6911 MockRead(kAlternateProtocolHttpHeader), 6911 MockRead(kAlternateProtocolHttpHeader),
6912 MockRead("hello world"), 6912 MockRead("hello world"),
6913 MockRead(ASYNC, OK), 6913 MockRead(ASYNC, OK),
6914 }; 6914 };
6915 6915
6916 StaticSocketDataProvider first_transaction( 6916 StaticSocketDataProvider first_transaction(
6917 data_reads, arraysize(data_reads), NULL, 0); 6917 data_reads, arraysize(data_reads), NULL, 0);
6918 session_deps.socket_factory.AddSocketDataProvider(&first_transaction); 6918 session_deps.socket_factory.AddSocketDataProvider(&first_transaction);
6919 6919
6920 SSLSocketDataProvider ssl(ASYNC, OK); 6920 SSLSocketDataProvider ssl(ASYNC, OK);
6921 ssl.SetNextProto(SSLClientSocket::kProtoSPDY21); 6921 ssl.SetNextProto(kProtoSPDY21);
6922 session_deps.socket_factory.AddSSLSocketDataProvider(&ssl); 6922 session_deps.socket_factory.AddSSLSocketDataProvider(&ssl);
6923 6923
6924 scoped_ptr<SpdyFrame> req(ConstructSpdyGet(NULL, 0, false, 1, LOWEST)); 6924 scoped_ptr<SpdyFrame> req(ConstructSpdyGet(NULL, 0, false, 1, LOWEST));
6925 MockWrite spdy_writes[] = { CreateMockWrite(*req) }; 6925 MockWrite spdy_writes[] = { CreateMockWrite(*req) };
6926 6926
6927 scoped_ptr<SpdyFrame> resp(ConstructSpdyGetSynReply(NULL, 0, 1)); 6927 scoped_ptr<SpdyFrame> resp(ConstructSpdyGetSynReply(NULL, 0, 1));
6928 scoped_ptr<SpdyFrame> data(ConstructSpdyBodyFrame(1, true)); 6928 scoped_ptr<SpdyFrame> data(ConstructSpdyBodyFrame(1, true));
6929 MockRead spdy_reads[] = { 6929 MockRead spdy_reads[] = {
6930 CreateMockRead(*resp), 6930 CreateMockRead(*resp),
6931 CreateMockRead(*data), 6931 CreateMockRead(*data),
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
7010 MockConnect never_finishing_connect(SYNCHRONOUS, ERR_IO_PENDING); 7010 MockConnect never_finishing_connect(SYNCHRONOUS, ERR_IO_PENDING);
7011 StaticSocketDataProvider hanging_socket( 7011 StaticSocketDataProvider hanging_socket(
7012 NULL, 0, NULL, 0); 7012 NULL, 0, NULL, 0);
7013 hanging_socket.set_connect_data(never_finishing_connect); 7013 hanging_socket.set_connect_data(never_finishing_connect);
7014 // Socket 2 and 3 are the hanging Alternate-Protocol and 7014 // Socket 2 and 3 are the hanging Alternate-Protocol and
7015 // non-Alternate-Protocol jobs from the 2nd transaction. 7015 // non-Alternate-Protocol jobs from the 2nd transaction.
7016 session_deps.socket_factory.AddSocketDataProvider(&hanging_socket); 7016 session_deps.socket_factory.AddSocketDataProvider(&hanging_socket);
7017 session_deps.socket_factory.AddSocketDataProvider(&hanging_socket); 7017 session_deps.socket_factory.AddSocketDataProvider(&hanging_socket);
7018 7018
7019 SSLSocketDataProvider ssl(ASYNC, OK); 7019 SSLSocketDataProvider ssl(ASYNC, OK);
7020 ssl.SetNextProto(SSLClientSocket::kProtoSPDY21); 7020 ssl.SetNextProto(kProtoSPDY21);
7021 session_deps.socket_factory.AddSSLSocketDataProvider(&ssl); 7021 session_deps.socket_factory.AddSSLSocketDataProvider(&ssl);
7022 7022
7023 scoped_ptr<SpdyFrame> req1(ConstructSpdyGet(NULL, 0, false, 1, LOWEST)); 7023 scoped_ptr<SpdyFrame> req1(ConstructSpdyGet(NULL, 0, false, 1, LOWEST));
7024 scoped_ptr<SpdyFrame> req2(ConstructSpdyGet(NULL, 0, false, 3, LOWEST)); 7024 scoped_ptr<SpdyFrame> req2(ConstructSpdyGet(NULL, 0, false, 3, LOWEST));
7025 MockWrite spdy_writes[] = { 7025 MockWrite spdy_writes[] = {
7026 CreateMockWrite(*req1), 7026 CreateMockWrite(*req1),
7027 CreateMockWrite(*req2), 7027 CreateMockWrite(*req2),
7028 }; 7028 };
7029 scoped_ptr<SpdyFrame> resp1(ConstructSpdyGetSynReply(NULL, 0, 1)); 7029 scoped_ptr<SpdyFrame> resp1(ConstructSpdyGetSynReply(NULL, 0, 1));
7030 scoped_ptr<SpdyFrame> data1(ConstructSpdyBodyFrame(1, true)); 7030 scoped_ptr<SpdyFrame> data1(ConstructSpdyBodyFrame(1, true));
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
7116 MockRead(kAlternateProtocolHttpHeader), 7116 MockRead(kAlternateProtocolHttpHeader),
7117 MockRead("hello world"), 7117 MockRead("hello world"),
7118 MockRead(ASYNC, OK), 7118 MockRead(ASYNC, OK),
7119 }; 7119 };
7120 7120
7121 StaticSocketDataProvider first_transaction( 7121 StaticSocketDataProvider first_transaction(
7122 data_reads, arraysize(data_reads), NULL, 0); 7122 data_reads, arraysize(data_reads), NULL, 0);
7123 session_deps.socket_factory.AddSocketDataProvider(&first_transaction); 7123 session_deps.socket_factory.AddSocketDataProvider(&first_transaction);
7124 7124
7125 SSLSocketDataProvider ssl(ASYNC, OK); 7125 SSLSocketDataProvider ssl(ASYNC, OK);
7126 ssl.SetNextProto(SSLClientSocket::kProtoSPDY21); 7126 ssl.SetNextProto(kProtoSPDY21);
7127 session_deps.socket_factory.AddSSLSocketDataProvider(&ssl); 7127 session_deps.socket_factory.AddSSLSocketDataProvider(&ssl);
7128 7128
7129 MockConnect never_finishing_connect(SYNCHRONOUS, ERR_IO_PENDING); 7129 MockConnect never_finishing_connect(SYNCHRONOUS, ERR_IO_PENDING);
7130 StaticSocketDataProvider hanging_alternate_protocol_socket( 7130 StaticSocketDataProvider hanging_alternate_protocol_socket(
7131 NULL, 0, NULL, 0); 7131 NULL, 0, NULL, 0);
7132 hanging_alternate_protocol_socket.set_connect_data( 7132 hanging_alternate_protocol_socket.set_connect_data(
7133 never_finishing_connect); 7133 never_finishing_connect);
7134 session_deps.socket_factory.AddSocketDataProvider( 7134 session_deps.socket_factory.AddSocketDataProvider(
7135 &hanging_alternate_protocol_socket); 7135 &hanging_alternate_protocol_socket);
7136 7136
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after
7249 MockRead(kAlternateProtocolHttpHeader), 7249 MockRead(kAlternateProtocolHttpHeader),
7250 MockRead("hello world"), 7250 MockRead("hello world"),
7251 MockRead(ASYNC, OK), 7251 MockRead(ASYNC, OK),
7252 }; 7252 };
7253 7253
7254 StaticSocketDataProvider first_transaction( 7254 StaticSocketDataProvider first_transaction(
7255 data_reads, arraysize(data_reads), NULL, 0); 7255 data_reads, arraysize(data_reads), NULL, 0);
7256 session_deps.socket_factory.AddSocketDataProvider(&first_transaction); 7256 session_deps.socket_factory.AddSocketDataProvider(&first_transaction);
7257 7257
7258 SSLSocketDataProvider ssl(ASYNC, OK); 7258 SSLSocketDataProvider ssl(ASYNC, OK);
7259 ssl.SetNextProto(SSLClientSocket::kProtoSPDY21); 7259 ssl.SetNextProto(kProtoSPDY21);
7260 session_deps.socket_factory.AddSSLSocketDataProvider(&ssl); 7260 session_deps.socket_factory.AddSSLSocketDataProvider(&ssl);
7261 7261
7262 scoped_ptr<SpdyFrame> req(ConstructSpdyGet(NULL, 0, false, 1, LOWEST)); 7262 scoped_ptr<SpdyFrame> req(ConstructSpdyGet(NULL, 0, false, 1, LOWEST));
7263 MockWrite spdy_writes[] = { 7263 MockWrite spdy_writes[] = {
7264 MockWrite("CONNECT www.google.com:443 HTTP/1.1\r\n" 7264 MockWrite("CONNECT www.google.com:443 HTTP/1.1\r\n"
7265 "Host: www.google.com\r\n" 7265 "Host: www.google.com\r\n"
7266 "Proxy-Connection: keep-alive\r\n\r\n"), // 0 7266 "Proxy-Connection: keep-alive\r\n\r\n"), // 0
7267 CreateMockWrite(*req) // 3 7267 CreateMockWrite(*req) // 3
7268 }; 7268 };
7269 7269
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
7353 MockRead(kAlternateProtocolHttpHeader), 7353 MockRead(kAlternateProtocolHttpHeader),
7354 MockRead("hello world"), 7354 MockRead("hello world"),
7355 MockRead(ASYNC, OK), 7355 MockRead(ASYNC, OK),
7356 }; 7356 };
7357 7357
7358 StaticSocketDataProvider first_transaction( 7358 StaticSocketDataProvider first_transaction(
7359 data_reads, arraysize(data_reads), NULL, 0); 7359 data_reads, arraysize(data_reads), NULL, 0);
7360 session_deps.socket_factory.AddSocketDataProvider(&first_transaction); 7360 session_deps.socket_factory.AddSocketDataProvider(&first_transaction);
7361 7361
7362 SSLSocketDataProvider ssl(ASYNC, OK); 7362 SSLSocketDataProvider ssl(ASYNC, OK);
7363 ssl.SetNextProto(SSLClientSocket::kProtoSPDY21); 7363 ssl.SetNextProto(kProtoSPDY21);
7364 session_deps.socket_factory.AddSSLSocketDataProvider(&ssl); 7364 session_deps.socket_factory.AddSSLSocketDataProvider(&ssl);
7365 7365
7366 scoped_ptr<SpdyFrame> req(ConstructSpdyGet(NULL, 0, false, 1, LOWEST)); 7366 scoped_ptr<SpdyFrame> req(ConstructSpdyGet(NULL, 0, false, 1, LOWEST));
7367 MockWrite spdy_writes[] = { CreateMockWrite(*req) }; 7367 MockWrite spdy_writes[] = { CreateMockWrite(*req) };
7368 7368
7369 scoped_ptr<SpdyFrame> resp(ConstructSpdyGetSynReply(NULL, 0, 1)); 7369 scoped_ptr<SpdyFrame> resp(ConstructSpdyGetSynReply(NULL, 0, 1));
7370 scoped_ptr<SpdyFrame> data(ConstructSpdyBodyFrame(1, true)); 7370 scoped_ptr<SpdyFrame> data(ConstructSpdyBodyFrame(1, true));
7371 MockRead spdy_reads[] = { 7371 MockRead spdy_reads[] = {
7372 CreateMockRead(*resp), 7372 CreateMockRead(*resp),
7373 CreateMockRead(*data), 7373 CreateMockRead(*data),
(...skipping 814 matching lines...) Expand 10 before | Expand all | Expand 10 after
8188 MockRead data_reads[] = { 8188 MockRead data_reads[] = {
8189 MockRead("HTTP/1.1 200 OK\r\n"), 8189 MockRead("HTTP/1.1 200 OK\r\n"),
8190 MockRead(kAlternateProtocolHttpHeader), 8190 MockRead(kAlternateProtocolHttpHeader),
8191 MockRead("hello world"), 8191 MockRead("hello world"),
8192 MockRead(SYNCHRONOUS, OK), 8192 MockRead(SYNCHRONOUS, OK),
8193 }; 8193 };
8194 8194
8195 SSLSocketDataProvider ssl(ASYNC, OK); 8195 SSLSocketDataProvider ssl(ASYNC, OK);
8196 ssl.next_proto_status = SSLClientSocket::kNextProtoNegotiated; 8196 ssl.next_proto_status = SSLClientSocket::kNextProtoNegotiated;
8197 ssl.next_proto = "http/1.1"; 8197 ssl.next_proto = "http/1.1";
8198 ssl.protocol_negotiated = SSLClientSocket::kProtoHTTP11; 8198 ssl.protocol_negotiated = kProtoHTTP11;
8199 8199
8200 session_deps.socket_factory.AddSSLSocketDataProvider(&ssl); 8200 session_deps.socket_factory.AddSSLSocketDataProvider(&ssl);
8201 8201
8202 StaticSocketDataProvider data(data_reads, arraysize(data_reads), 8202 StaticSocketDataProvider data(data_reads, arraysize(data_reads),
8203 data_writes, arraysize(data_writes)); 8203 data_writes, arraysize(data_writes));
8204 session_deps.socket_factory.AddSocketDataProvider(&data); 8204 session_deps.socket_factory.AddSocketDataProvider(&data);
8205 8205
8206 TestCompletionCallback callback; 8206 TestCompletionCallback callback;
8207 8207
8208 scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); 8208 scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps));
(...skipping 27 matching lines...) Expand all
8236 HttpStreamFactory::set_use_alternate_protocols(true); 8236 HttpStreamFactory::set_use_alternate_protocols(true);
8237 HttpStreamFactory::SetNextProtos(SpdyNextProtos()); 8237 HttpStreamFactory::SetNextProtos(SpdyNextProtos());
8238 SessionDependencies session_deps; 8238 SessionDependencies session_deps;
8239 8239
8240 HttpRequestInfo request; 8240 HttpRequestInfo request;
8241 request.method = "GET"; 8241 request.method = "GET";
8242 request.url = GURL("https://www.google.com/"); 8242 request.url = GURL("https://www.google.com/");
8243 request.load_flags = 0; 8243 request.load_flags = 0;
8244 8244
8245 SSLSocketDataProvider ssl(ASYNC, OK); 8245 SSLSocketDataProvider ssl(ASYNC, OK);
8246 ssl.SetNextProto(SSLClientSocket::kProtoSPDY21); 8246 ssl.SetNextProto(kProtoSPDY21);
8247 session_deps.socket_factory.AddSSLSocketDataProvider(&ssl); 8247 session_deps.socket_factory.AddSSLSocketDataProvider(&ssl);
8248 8248
8249 scoped_ptr<SpdyFrame> req(ConstructSpdyGet(NULL, 0, false, 1, LOWEST)); 8249 scoped_ptr<SpdyFrame> req(ConstructSpdyGet(NULL, 0, false, 1, LOWEST));
8250 MockWrite spdy_writes[] = { CreateMockWrite(*req) }; 8250 MockWrite spdy_writes[] = { CreateMockWrite(*req) };
8251 8251
8252 MockRead spdy_reads[] = { 8252 MockRead spdy_reads[] = {
8253 MockRead(SYNCHRONOUS, 0, 0) // Not async - return 0 immediately. 8253 MockRead(SYNCHRONOUS, 0, 0) // Not async - return 0 immediately.
8254 }; 8254 };
8255 8255
8256 scoped_ptr<DelayedSocketData> spdy_data( 8256 scoped_ptr<DelayedSocketData> spdy_data(
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
8367 // SPDY response 8367 // SPDY response
8368 CreateMockRead(*resp.get(), 6), 8368 CreateMockRead(*resp.get(), 6),
8369 CreateMockRead(*data.get(), 6), 8369 CreateMockRead(*data.get(), 6),
8370 MockRead(ASYNC, 0, 0, 6), 8370 MockRead(ASYNC, 0, 0, 6),
8371 }; 8371 };
8372 scoped_ptr<OrderedSocketData> data_2( 8372 scoped_ptr<OrderedSocketData> data_2(
8373 new OrderedSocketData(data_reads_2, arraysize(data_reads_2), 8373 new OrderedSocketData(data_reads_2, arraysize(data_reads_2),
8374 data_writes_2, arraysize(data_writes_2))); 8374 data_writes_2, arraysize(data_writes_2)));
8375 8375
8376 SSLSocketDataProvider ssl(ASYNC, OK); 8376 SSLSocketDataProvider ssl(ASYNC, OK);
8377 ssl.SetNextProto(SSLClientSocket::kProtoSPDY21); 8377 ssl.SetNextProto(kProtoSPDY21);
8378 8378
8379 MockConnect never_finishing_connect(SYNCHRONOUS, ERR_IO_PENDING); 8379 MockConnect never_finishing_connect(SYNCHRONOUS, ERR_IO_PENDING);
8380 StaticSocketDataProvider hanging_non_alternate_protocol_socket( 8380 StaticSocketDataProvider hanging_non_alternate_protocol_socket(
8381 NULL, 0, NULL, 0); 8381 NULL, 0, NULL, 0);
8382 hanging_non_alternate_protocol_socket.set_connect_data( 8382 hanging_non_alternate_protocol_socket.set_connect_data(
8383 never_finishing_connect); 8383 never_finishing_connect);
8384 8384
8385 session_deps.socket_factory.AddSocketDataProvider(&data_1); 8385 session_deps.socket_factory.AddSocketDataProvider(&data_1);
8386 session_deps.socket_factory.AddSocketDataProvider(data_2.get()); 8386 session_deps.socket_factory.AddSocketDataProvider(data_2.get());
8387 session_deps.socket_factory.AddSSLSocketDataProvider(&ssl); 8387 session_deps.socket_factory.AddSSLSocketDataProvider(&ssl);
(...skipping 260 matching lines...) Expand 10 before | Expand all | Expand 10 after
8648 }; 8648 };
8649 8649
8650 scoped_ptr<DelayedSocketData> spdy_data( 8650 scoped_ptr<DelayedSocketData> spdy_data(
8651 new DelayedSocketData( 8651 new DelayedSocketData(
8652 1, // wait for one write to finish before reading. 8652 1, // wait for one write to finish before reading.
8653 spdy_reads, arraysize(spdy_reads), 8653 spdy_reads, arraysize(spdy_reads),
8654 spdy_writes, arraysize(spdy_writes))); 8654 spdy_writes, arraysize(spdy_writes)));
8655 session_deps.socket_factory.AddSocketDataProvider(spdy_data.get()); 8655 session_deps.socket_factory.AddSocketDataProvider(spdy_data.get());
8656 8656
8657 SSLSocketDataProvider ssl(ASYNC, OK); 8657 SSLSocketDataProvider ssl(ASYNC, OK);
8658 ssl.SetNextProto(SSLClientSocket::kProtoSPDY21); 8658 ssl.SetNextProto(kProtoSPDY21);
8659 session_deps.socket_factory.AddSSLSocketDataProvider(&ssl); 8659 session_deps.socket_factory.AddSSLSocketDataProvider(&ssl);
8660 8660
8661 scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); 8661 scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps));
8662 8662
8663 // Set up an initial SpdySession in the pool to reuse. 8663 // Set up an initial SpdySession in the pool to reuse.
8664 HostPortPair host_port_pair("www.google.com", 443); 8664 HostPortPair host_port_pair("www.google.com", 443);
8665 HostPortProxyPair pair(host_port_pair, ProxyServer::Direct()); 8665 HostPortProxyPair pair(host_port_pair, ProxyServer::Direct());
8666 scoped_refptr<SpdySession> spdy_session = 8666 scoped_refptr<SpdySession> spdy_session =
8667 session->spdy_session_pool()->Get(pair, BoundNetLog()); 8667 session->spdy_session_pool()->Get(pair, BoundNetLog());
8668 scoped_refptr<TransportSocketParams> transport_params( 8668 scoped_refptr<TransportSocketParams> transport_params(
(...skipping 416 matching lines...) Expand 10 before | Expand all | Expand 10 after
9085 params.ssl_config_service = session_deps.ssl_config_service; 9085 params.ssl_config_service = session_deps.ssl_config_service;
9086 params.http_auth_handler_factory = 9086 params.http_auth_handler_factory =
9087 session_deps.http_auth_handler_factory.get(); 9087 session_deps.http_auth_handler_factory.get();
9088 params.http_server_properties = &session_deps.http_server_properties; 9088 params.http_server_properties = &session_deps.http_server_properties;
9089 params.net_log = session_deps.net_log; 9089 params.net_log = session_deps.net_log;
9090 scoped_refptr<HttpNetworkSession> session(new HttpNetworkSession(params)); 9090 scoped_refptr<HttpNetworkSession> session(new HttpNetworkSession(params));
9091 SpdySessionPoolPeer pool_peer(session->spdy_session_pool()); 9091 SpdySessionPoolPeer pool_peer(session->spdy_session_pool());
9092 pool_peer.DisableDomainAuthenticationVerification(); 9092 pool_peer.DisableDomainAuthenticationVerification();
9093 9093
9094 SSLSocketDataProvider ssl(ASYNC, OK); 9094 SSLSocketDataProvider ssl(ASYNC, OK);
9095 ssl.SetNextProto(SSLClientSocket::kProtoSPDY21); 9095 ssl.SetNextProto(kProtoSPDY21);
9096 session_deps.socket_factory.AddSSLSocketDataProvider(&ssl); 9096 session_deps.socket_factory.AddSSLSocketDataProvider(&ssl);
9097 9097
9098 scoped_ptr<SpdyFrame> host1_req(ConstructSpdyGet( 9098 scoped_ptr<SpdyFrame> host1_req(ConstructSpdyGet(
9099 "https://www.google.com", false, 1, LOWEST)); 9099 "https://www.google.com", false, 1, LOWEST));
9100 scoped_ptr<SpdyFrame> host2_req(ConstructSpdyGet( 9100 scoped_ptr<SpdyFrame> host2_req(ConstructSpdyGet(
9101 "https://www.gmail.com", false, 3, LOWEST)); 9101 "https://www.gmail.com", false, 3, LOWEST));
9102 MockWrite spdy_writes[] = { 9102 MockWrite spdy_writes[] = {
9103 CreateMockWrite(*host1_req, 1), 9103 CreateMockWrite(*host1_req, 1),
9104 CreateMockWrite(*host2_req, 4), 9104 CreateMockWrite(*host2_req, 4),
9105 }; 9105 };
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after
9236 params.ssl_config_service = session_deps.ssl_config_service; 9236 params.ssl_config_service = session_deps.ssl_config_service;
9237 params.http_auth_handler_factory = 9237 params.http_auth_handler_factory =
9238 session_deps.http_auth_handler_factory.get(); 9238 session_deps.http_auth_handler_factory.get();
9239 params.http_server_properties = &session_deps.http_server_properties; 9239 params.http_server_properties = &session_deps.http_server_properties;
9240 params.net_log = session_deps.net_log; 9240 params.net_log = session_deps.net_log;
9241 scoped_refptr<HttpNetworkSession> session(new HttpNetworkSession(params)); 9241 scoped_refptr<HttpNetworkSession> session(new HttpNetworkSession(params));
9242 SpdySessionPoolPeer pool_peer(session->spdy_session_pool()); 9242 SpdySessionPoolPeer pool_peer(session->spdy_session_pool());
9243 pool_peer.DisableDomainAuthenticationVerification(); 9243 pool_peer.DisableDomainAuthenticationVerification();
9244 9244
9245 SSLSocketDataProvider ssl(ASYNC, OK); 9245 SSLSocketDataProvider ssl(ASYNC, OK);
9246 ssl.SetNextProto(SSLClientSocket::kProtoSPDY21); 9246 ssl.SetNextProto(kProtoSPDY21);
9247 session_deps.socket_factory.AddSSLSocketDataProvider(&ssl); 9247 session_deps.socket_factory.AddSSLSocketDataProvider(&ssl);
9248 9248
9249 scoped_ptr<SpdyFrame> host1_req(ConstructSpdyGet( 9249 scoped_ptr<SpdyFrame> host1_req(ConstructSpdyGet(
9250 "https://www.google.com", false, 1, LOWEST)); 9250 "https://www.google.com", false, 1, LOWEST));
9251 scoped_ptr<SpdyFrame> host2_req(ConstructSpdyGet( 9251 scoped_ptr<SpdyFrame> host2_req(ConstructSpdyGet(
9252 "https://www.gmail.com", false, 3, LOWEST)); 9252 "https://www.gmail.com", false, 3, LOWEST));
9253 MockWrite spdy_writes[] = { 9253 MockWrite spdy_writes[] = {
9254 CreateMockWrite(*host1_req, 1), 9254 CreateMockWrite(*host1_req, 1),
9255 CreateMockWrite(*host2_req, 4), 9255 CreateMockWrite(*host2_req, 4),
9256 }; 9256 };
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
9371 StaticSocketDataProvider* data[] = { &data1, &data2 }; 9371 StaticSocketDataProvider* data[] = { &data1, &data2 };
9372 9372
9373 SimpleGetHelperResult out = SimpleGetHelperForData(data, arraysize(data)); 9373 SimpleGetHelperResult out = SimpleGetHelperForData(data, arraysize(data));
9374 9374
9375 EXPECT_EQ(OK, out.rv); 9375 EXPECT_EQ(OK, out.rv);
9376 EXPECT_EQ("HTTP/1.0 200 OK", out.status_line); 9376 EXPECT_EQ("HTTP/1.0 200 OK", out.status_line);
9377 EXPECT_EQ("hello world", out.response_data); 9377 EXPECT_EQ("hello world", out.response_data);
9378 } 9378 }
9379 9379
9380 } // namespace net 9380 } // namespace net
OLDNEW
« no previous file with comments | « net/http/http_network_layer.cc ('k') | net/http/http_network_transaction_spdy2_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698