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

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

Issue 2881001: Cleaning up SPDY unit tests (Closed) Base URL: http://src.chromium.org/git/chromium.git
Patch Set: Undo mode changes Created 10 years, 5 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 | « no previous file | net/net.gyp » ('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) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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 <vector> 8 #include <vector>
9 9
10 #include "base/basictypes.h" 10 #include "base/basictypes.h"
(...skipping 5127 matching lines...) Expand 10 before | Expand all | Expand 10 after
5138 StaticSocketDataProvider first_transaction( 5138 StaticSocketDataProvider first_transaction(
5139 data_reads, arraysize(data_reads), NULL, 0); 5139 data_reads, arraysize(data_reads), NULL, 0);
5140 session_deps.socket_factory.AddSocketDataProvider(&first_transaction); 5140 session_deps.socket_factory.AddSocketDataProvider(&first_transaction);
5141 5141
5142 SSLSocketDataProvider ssl(true, OK); 5142 SSLSocketDataProvider ssl(true, OK);
5143 ssl.next_proto_status = SSLClientSocket::kNextProtoNegotiated; 5143 ssl.next_proto_status = SSLClientSocket::kNextProtoNegotiated;
5144 ssl.next_proto = "spdy/1"; 5144 ssl.next_proto = "spdy/1";
5145 ssl.was_npn_negotiated = true; 5145 ssl.was_npn_negotiated = true;
5146 session_deps.socket_factory.AddSSLSocketDataProvider(&ssl); 5146 session_deps.socket_factory.AddSSLSocketDataProvider(&ssl);
5147 5147
5148 MockWrite spdy_writes[] = { 5148 scoped_ptr<spdy::SpdyFrame> req(ConstructSpdyGet(NULL, 0));
5149 MockWrite(true, reinterpret_cast<const char*>(kGetSyn), 5149 MockWrite spdy_writes[] = { CreateMockWrite(req.get()) };
5150 arraysize(kGetSyn)),
5151 };
5152 5150
5151 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyGetSynReply(NULL, 0));
5153 MockRead spdy_reads[] = { 5152 MockRead spdy_reads[] = {
5154 MockRead(true, reinterpret_cast<const char*>(kGetSynReply), 5153 CreateMockRead(resp.get()),
5155 arraysize(kGetSynReply)),
5156 MockRead(true, reinterpret_cast<const char*>(kGetBodyFrame), 5154 MockRead(true, reinterpret_cast<const char*>(kGetBodyFrame),
5157 arraysize(kGetBodyFrame)), 5155 arraysize(kGetBodyFrame)),
5158 MockRead(true, 0, 0), 5156 MockRead(true, 0, 0),
5159 }; 5157 };
5160 5158
5161 scoped_refptr<DelayedSocketData> spdy_data( 5159 scoped_refptr<DelayedSocketData> spdy_data(
5162 new DelayedSocketData( 5160 new DelayedSocketData(
5163 1, // wait for one write to finish before reading. 5161 1, // wait for one write to finish before reading.
5164 spdy_reads, arraysize(spdy_reads), 5162 spdy_reads, arraysize(spdy_reads),
5165 spdy_writes, arraysize(spdy_writes))); 5163 spdy_writes, arraysize(spdy_writes)));
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
5270 StaticSocketDataProvider first_transaction( 5268 StaticSocketDataProvider first_transaction(
5271 data_reads, arraysize(data_reads), NULL, 0); 5269 data_reads, arraysize(data_reads), NULL, 0);
5272 session_deps.socket_factory.AddSocketDataProvider(&first_transaction); 5270 session_deps.socket_factory.AddSocketDataProvider(&first_transaction);
5273 5271
5274 SSLSocketDataProvider ssl(true, OK); 5272 SSLSocketDataProvider ssl(true, OK);
5275 ssl.next_proto_status = SSLClientSocket::kNextProtoNegotiated; 5273 ssl.next_proto_status = SSLClientSocket::kNextProtoNegotiated;
5276 ssl.next_proto = "spdy/1"; 5274 ssl.next_proto = "spdy/1";
5277 ssl.was_npn_negotiated = true; 5275 ssl.was_npn_negotiated = true;
5278 session_deps.socket_factory.AddSSLSocketDataProvider(&ssl); 5276 session_deps.socket_factory.AddSSLSocketDataProvider(&ssl);
5279 5277
5278 scoped_ptr<spdy::SpdyFrame> req(ConstructSpdyGet(NULL, 0));
5280 MockWrite spdy_writes[] = { 5279 MockWrite spdy_writes[] = {
5281 MockWrite("CONNECT www.google.com:443 HTTP/1.1\r\n" 5280 MockWrite("CONNECT www.google.com:443 HTTP/1.1\r\n"
5282 "Host: www.google.com\r\n" 5281 "Host: www.google.com\r\n"
5283 "Proxy-Connection: keep-alive\r\n\r\n"), // 0 5282 "Proxy-Connection: keep-alive\r\n\r\n"), // 0
5284 MockWrite(true, reinterpret_cast<const char*>(kGetSyn), 5283 CreateMockWrite(req.get()) // 3
5285 arraysize(kGetSyn)), // 3
5286 }; 5284 };
5287 5285
5288 const char kCONNECTResponse[] = "HTTP/1.1 200 Connected\r\n\r\n"; 5286 const char kCONNECTResponse[] = "HTTP/1.1 200 Connected\r\n\r\n";
5289 5287
5288 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyGetSynReply(NULL, 0));
5290 MockRead spdy_reads[] = { 5289 MockRead spdy_reads[] = {
5291 MockRead(true, kCONNECTResponse, arraysize(kCONNECTResponse) - 1, 1), // 1 5290 MockRead(true, kCONNECTResponse, arraysize(kCONNECTResponse) - 1, 1), // 1
5292 MockRead(true, reinterpret_cast<const char*>(kGetSynReply), // 2, 4 5291 CreateMockRead(resp.get(), 4), // 2, 4
5293 arraysize(kGetSynReply), 4),
5294 MockRead(true, reinterpret_cast<const char*>(kGetBodyFrame), // 5 5292 MockRead(true, reinterpret_cast<const char*>(kGetBodyFrame), // 5
5295 arraysize(kGetBodyFrame), 4), 5293 arraysize(kGetBodyFrame), 4),
5296 MockRead(true, 0, 0, 4), // 6 5294 MockRead(true, 0, 0, 4), // 6
5297 }; 5295 };
5298 5296
5299 scoped_refptr<OrderedSocketData> spdy_data( 5297 scoped_refptr<OrderedSocketData> spdy_data(
5300 new OrderedSocketData( 5298 new OrderedSocketData(
5301 spdy_reads, arraysize(spdy_reads), 5299 spdy_reads, arraysize(spdy_reads),
5302 spdy_writes, arraysize(spdy_writes))); 5300 spdy_writes, arraysize(spdy_writes)));
5303 session_deps.socket_factory.AddSocketDataProvider(spdy_data); 5301 session_deps.socket_factory.AddSocketDataProvider(spdy_data);
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
5371 session_deps.socket_factory.AddSocketDataProvider(&first_transaction); 5369 session_deps.socket_factory.AddSocketDataProvider(&first_transaction);
5372 5370
5373 SSLSocketDataProvider ssl(true, OK); 5371 SSLSocketDataProvider ssl(true, OK);
5374 ssl.next_proto_status = SSLClientSocket::kNextProtoNegotiated; 5372 ssl.next_proto_status = SSLClientSocket::kNextProtoNegotiated;
5375 ssl.next_proto = "spdy/1"; 5373 ssl.next_proto = "spdy/1";
5376 ssl.was_npn_negotiated = true; 5374 ssl.was_npn_negotiated = true;
5377 session_deps.socket_factory.AddSSLSocketDataProvider(&ssl); 5375 session_deps.socket_factory.AddSSLSocketDataProvider(&ssl);
5378 // Make sure we use ssl for spdy here. 5376 // Make sure we use ssl for spdy here.
5379 SpdySession::SetSSLMode(true); 5377 SpdySession::SetSSLMode(true);
5380 5378
5381 MockWrite spdy_writes[] = { 5379 scoped_ptr<spdy::SpdyFrame> req(ConstructSpdyGet(NULL, 0));
5382 MockWrite(true, reinterpret_cast<const char*>(kGetSyn), 5380 MockWrite spdy_writes[] = { CreateMockWrite(req.get()) };
5383 arraysize(kGetSyn)),
5384 };
5385 5381
5382 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyGetSynReply(NULL, 0));
5386 MockRead spdy_reads[] = { 5383 MockRead spdy_reads[] = {
5387 MockRead(true, reinterpret_cast<const char*>(kGetSynReply), 5384 CreateMockRead(resp.get()),
5388 arraysize(kGetSynReply)),
5389 MockRead(true, reinterpret_cast<const char*>(kGetBodyFrame), 5385 MockRead(true, reinterpret_cast<const char*>(kGetBodyFrame),
5390 arraysize(kGetBodyFrame)), 5386 arraysize(kGetBodyFrame)),
5391 MockRead(true, 0, 0), 5387 MockRead(true, 0, 0),
5392 }; 5388 };
5393 5389
5394 scoped_refptr<DelayedSocketData> spdy_data( 5390 scoped_refptr<DelayedSocketData> spdy_data(
5395 new DelayedSocketData( 5391 new DelayedSocketData(
5396 1, // wait for one write to finish before reading. 5392 1, // wait for one write to finish before reading.
5397 spdy_reads, arraysize(spdy_reads), 5393 spdy_reads, arraysize(spdy_reads),
5398 spdy_writes, arraysize(spdy_writes))); 5394 spdy_writes, arraysize(spdy_writes)));
(...skipping 711 matching lines...) Expand 10 before | Expand all | Expand 10 after
6110 request.method = "GET"; 6106 request.method = "GET";
6111 request.url = GURL("https://www.google.com/"); 6107 request.url = GURL("https://www.google.com/");
6112 request.load_flags = 0; 6108 request.load_flags = 0;
6113 6109
6114 SSLSocketDataProvider ssl(true, OK); 6110 SSLSocketDataProvider ssl(true, OK);
6115 ssl.next_proto_status = SSLClientSocket::kNextProtoNegotiated; 6111 ssl.next_proto_status = SSLClientSocket::kNextProtoNegotiated;
6116 ssl.next_proto = "spdy/1"; 6112 ssl.next_proto = "spdy/1";
6117 ssl.was_npn_negotiated = true; 6113 ssl.was_npn_negotiated = true;
6118 session_deps.socket_factory.AddSSLSocketDataProvider(&ssl); 6114 session_deps.socket_factory.AddSSLSocketDataProvider(&ssl);
6119 6115
6120 MockWrite spdy_writes[] = { 6116 scoped_ptr<spdy::SpdyFrame> req(ConstructSpdyGet(NULL, 0));
6121 MockWrite(true, reinterpret_cast<const char*>(kGetSyn), 6117 MockWrite spdy_writes[] = { CreateMockWrite(req.get()) };
6122 arraysize(kGetSyn)),
6123 };
6124 6118
6125 MockRead spdy_reads[] = { 6119 MockRead spdy_reads[] = {
6126 MockRead(false, 0, 0) // Not async - return 0 immediately. 6120 MockRead(false, 0, 0) // Not async - return 0 immediately.
6127 }; 6121 };
6128 6122
6129 scoped_refptr<DelayedSocketData> spdy_data( 6123 scoped_refptr<DelayedSocketData> spdy_data(
6130 new DelayedSocketData( 6124 new DelayedSocketData(
6131 0, // don't wait in this case, immediate hangup. 6125 0, // don't wait in this case, immediate hangup.
6132 spdy_reads, arraysize(spdy_reads), 6126 spdy_reads, arraysize(spdy_reads),
6133 spdy_writes, arraysize(spdy_writes))); 6127 spdy_writes, arraysize(spdy_writes)));
6134 session_deps.socket_factory.AddSocketDataProvider(spdy_data); 6128 session_deps.socket_factory.AddSocketDataProvider(spdy_data);
6135 6129
6136 TestCompletionCallback callback; 6130 TestCompletionCallback callback;
6137 6131
6138 scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); 6132 scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps));
6139 scoped_ptr<HttpNetworkTransaction> trans(new HttpNetworkTransaction(session)); 6133 scoped_ptr<HttpNetworkTransaction> trans(new HttpNetworkTransaction(session));
6140 6134
6141 int rv = trans->Start(&request, &callback, BoundNetLog()); 6135 int rv = trans->Start(&request, &callback, BoundNetLog());
6142 EXPECT_EQ(ERR_IO_PENDING, rv); 6136 EXPECT_EQ(ERR_IO_PENDING, rv);
6143 EXPECT_EQ(ERR_CONNECTION_CLOSED, callback.WaitForResult()); 6137 EXPECT_EQ(ERR_CONNECTION_CLOSED, callback.WaitForResult());
6144 6138
6145 HttpNetworkTransaction::SetNextProtos(""); 6139 HttpNetworkTransaction::SetNextProtos("");
6146 HttpNetworkTransaction::SetUseAlternateProtocols(false); 6140 HttpNetworkTransaction::SetUseAlternateProtocols(false);
6147 } 6141 }
6148 } // namespace net 6142 } // namespace net
OLDNEW
« no previous file with comments | « no previous file | net/net.gyp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698