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

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

Powered by Google App Engine
This is Rietveld 408576698