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

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

Issue 2808010: Add field trial stats for alternate_protocol. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 10 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « net/http/http_network_transaction.cc ('k') | net/http/http_response_info.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 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 4908 matching lines...) Expand 10 before | Expand all | Expand 10 after
4919 alternate_protocols.HasAlternateProtocolFor(http_host_port_pair)); 4919 alternate_protocols.HasAlternateProtocolFor(http_host_port_pair));
4920 4920
4921 EXPECT_EQ(OK, callback.WaitForResult()); 4921 EXPECT_EQ(OK, callback.WaitForResult());
4922 4922
4923 const HttpResponseInfo* response = trans->GetResponseInfo(); 4923 const HttpResponseInfo* response = trans->GetResponseInfo();
4924 ASSERT_TRUE(response != NULL); 4924 ASSERT_TRUE(response != NULL);
4925 ASSERT_TRUE(response->headers != NULL); 4925 ASSERT_TRUE(response->headers != NULL);
4926 EXPECT_EQ("HTTP/1.1 200 OK", response->headers->GetStatusLine()); 4926 EXPECT_EQ("HTTP/1.1 200 OK", response->headers->GetStatusLine());
4927 EXPECT_FALSE(response->was_fetched_via_spdy); 4927 EXPECT_FALSE(response->was_fetched_via_spdy);
4928 EXPECT_FALSE(response->was_npn_negotiated); 4928 EXPECT_FALSE(response->was_npn_negotiated);
4929 EXPECT_FALSE(response->was_alternate_protocol_available);
4929 4930
4930 std::string response_data; 4931 std::string response_data;
4931 ASSERT_EQ(OK, ReadTransaction(trans.get(), &response_data)); 4932 ASSERT_EQ(OK, ReadTransaction(trans.get(), &response_data));
4932 EXPECT_EQ("hello world", response_data); 4933 EXPECT_EQ("hello world", response_data);
4933 4934
4934 ASSERT_TRUE(alternate_protocols.HasAlternateProtocolFor(http_host_port_pair)); 4935 ASSERT_TRUE(alternate_protocols.HasAlternateProtocolFor(http_host_port_pair));
4935 const HttpAlternateProtocols::PortProtocolPair alternate = 4936 const HttpAlternateProtocols::PortProtocolPair alternate =
4936 alternate_protocols.GetAlternateProtocolFor(http_host_port_pair); 4937 alternate_protocols.GetAlternateProtocolFor(http_host_port_pair);
4937 HttpAlternateProtocols::PortProtocolPair expected_alternate; 4938 HttpAlternateProtocols::PortProtocolPair expected_alternate;
4938 expected_alternate.port = 443; 4939 expected_alternate.port = 443;
(...skipping 249 matching lines...) Expand 10 before | Expand all | Expand 10 after
5188 rv = trans->Start(&request, &callback, BoundNetLog()); 5189 rv = trans->Start(&request, &callback, BoundNetLog());
5189 EXPECT_EQ(ERR_IO_PENDING, rv); 5190 EXPECT_EQ(ERR_IO_PENDING, rv);
5190 EXPECT_EQ(OK, callback.WaitForResult()); 5191 EXPECT_EQ(OK, callback.WaitForResult());
5191 5192
5192 response = trans->GetResponseInfo(); 5193 response = trans->GetResponseInfo();
5193 ASSERT_TRUE(response != NULL); 5194 ASSERT_TRUE(response != NULL);
5194 ASSERT_TRUE(response->headers != NULL); 5195 ASSERT_TRUE(response->headers != NULL);
5195 EXPECT_EQ("HTTP/1.1 200 OK", response->headers->GetStatusLine()); 5196 EXPECT_EQ("HTTP/1.1 200 OK", response->headers->GetStatusLine());
5196 EXPECT_TRUE(response->was_fetched_via_spdy); 5197 EXPECT_TRUE(response->was_fetched_via_spdy);
5197 EXPECT_TRUE(response->was_npn_negotiated); 5198 EXPECT_TRUE(response->was_npn_negotiated);
5199 EXPECT_TRUE(response->was_alternate_protocol_available);
5198 5200
5199 ASSERT_EQ(OK, ReadTransaction(trans.get(), &response_data)); 5201 ASSERT_EQ(OK, ReadTransaction(trans.get(), &response_data));
5200 EXPECT_EQ("hello!", response_data); 5202 EXPECT_EQ("hello!", response_data);
5201 5203
5202 HttpNetworkTransaction::SetNextProtos(""); 5204 HttpNetworkTransaction::SetNextProtos("");
5203 HttpNetworkTransaction::SetUseAlternateProtocols(false); 5205 HttpNetworkTransaction::SetUseAlternateProtocols(false);
5204 } 5206 }
5205 5207
5206 class CapturingProxyResolver : public ProxyResolver { 5208 class CapturingProxyResolver : public ProxyResolver {
5207 public: 5209 public:
(...skipping 220 matching lines...) Expand 10 before | Expand all | Expand 10 after
5428 rv = trans->Start(&request, &callback, BoundNetLog()); 5430 rv = trans->Start(&request, &callback, BoundNetLog());
5429 EXPECT_EQ(ERR_IO_PENDING, rv); 5431 EXPECT_EQ(ERR_IO_PENDING, rv);
5430 EXPECT_EQ(OK, callback.WaitForResult()); 5432 EXPECT_EQ(OK, callback.WaitForResult());
5431 5433
5432 response = trans->GetResponseInfo(); 5434 response = trans->GetResponseInfo();
5433 ASSERT_TRUE(response != NULL); 5435 ASSERT_TRUE(response != NULL);
5434 ASSERT_TRUE(response->headers != NULL); 5436 ASSERT_TRUE(response->headers != NULL);
5435 EXPECT_EQ("HTTP/1.1 200 OK", response->headers->GetStatusLine()); 5437 EXPECT_EQ("HTTP/1.1 200 OK", response->headers->GetStatusLine());
5436 EXPECT_TRUE(response->was_fetched_via_spdy); 5438 EXPECT_TRUE(response->was_fetched_via_spdy);
5437 EXPECT_TRUE(response->was_npn_negotiated); 5439 EXPECT_TRUE(response->was_npn_negotiated);
5440 EXPECT_TRUE(response->was_alternate_protocol_available);
5438 5441
5439 ASSERT_EQ(OK, ReadTransaction(trans.get(), &response_data)); 5442 ASSERT_EQ(OK, ReadTransaction(trans.get(), &response_data));
5440 EXPECT_EQ("hello!", response_data); 5443 EXPECT_EQ("hello!", response_data);
5441 5444
5442 HttpNetworkTransaction::SetNextProtos(""); 5445 HttpNetworkTransaction::SetNextProtos("");
5443 HttpNetworkTransaction::SetUseAlternateProtocols(false); 5446 HttpNetworkTransaction::SetUseAlternateProtocols(false);
5444 } 5447 }
5445 5448
5446 // Tests that ResolveCanonicalName is handled correctly by the 5449 // Tests that ResolveCanonicalName is handled correctly by the
5447 // HttpNetworkTransaction. 5450 // HttpNetworkTransaction.
(...skipping 637 matching lines...) Expand 10 before | Expand all | Expand 10 after
6085 ASSERT_TRUE(response != NULL); 6088 ASSERT_TRUE(response != NULL);
6086 ASSERT_TRUE(response->headers != NULL); 6089 ASSERT_TRUE(response->headers != NULL);
6087 EXPECT_EQ("HTTP/1.1 200 OK", response->headers->GetStatusLine()); 6090 EXPECT_EQ("HTTP/1.1 200 OK", response->headers->GetStatusLine());
6088 6091
6089 std::string response_data; 6092 std::string response_data;
6090 ASSERT_EQ(OK, ReadTransaction(trans.get(), &response_data)); 6093 ASSERT_EQ(OK, ReadTransaction(trans.get(), &response_data));
6091 EXPECT_EQ("hello world", response_data); 6094 EXPECT_EQ("hello world", response_data);
6092 6095
6093 EXPECT_FALSE(response->was_fetched_via_spdy); 6096 EXPECT_FALSE(response->was_fetched_via_spdy);
6094 EXPECT_TRUE(response->was_npn_negotiated); 6097 EXPECT_TRUE(response->was_npn_negotiated);
6098 EXPECT_FALSE(response->was_alternate_protocol_available);
6095 6099
6096 HttpNetworkTransaction::SetNextProtos(""); 6100 HttpNetworkTransaction::SetNextProtos("");
6097 HttpNetworkTransaction::SetUseAlternateProtocols(false); 6101 HttpNetworkTransaction::SetUseAlternateProtocols(false);
6098 } 6102 }
6099 6103
6100 TEST_F(HttpNetworkTransactionTest, SpdyPostNPNServerHangup) { 6104 TEST_F(HttpNetworkTransactionTest, SpdyPostNPNServerHangup) {
6101 // Simulate the SSL handshake completing with an NPN negotiation 6105 // Simulate the SSL handshake completing with an NPN negotiation
6102 // followed by an immediate server closing of the socket. 6106 // followed by an immediate server closing of the socket.
6103 // Fix crash: http://crbug.com/46369 6107 // Fix crash: http://crbug.com/46369
6104 HttpNetworkTransaction::SetUseAlternateProtocols(true); 6108 HttpNetworkTransaction::SetUseAlternateProtocols(true);
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
6139 scoped_ptr<HttpNetworkTransaction> trans(new HttpNetworkTransaction(session)); 6143 scoped_ptr<HttpNetworkTransaction> trans(new HttpNetworkTransaction(session));
6140 6144
6141 int rv = trans->Start(&request, &callback, BoundNetLog()); 6145 int rv = trans->Start(&request, &callback, BoundNetLog());
6142 EXPECT_EQ(ERR_IO_PENDING, rv); 6146 EXPECT_EQ(ERR_IO_PENDING, rv);
6143 EXPECT_EQ(ERR_CONNECTION_CLOSED, callback.WaitForResult()); 6147 EXPECT_EQ(ERR_CONNECTION_CLOSED, callback.WaitForResult());
6144 6148
6145 HttpNetworkTransaction::SetNextProtos(""); 6149 HttpNetworkTransaction::SetNextProtos("");
6146 HttpNetworkTransaction::SetUseAlternateProtocols(false); 6150 HttpNetworkTransaction::SetUseAlternateProtocols(false);
6147 } 6151 }
6148 } // namespace net 6152 } // namespace net
OLDNEW
« no previous file with comments | « net/http/http_network_transaction.cc ('k') | net/http/http_response_info.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698