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

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

Issue 2886273002: Change GetAlternativeServies to return alternative service infos. (Closed)
Patch Set: address comments in ps #3 Created 3 years, 7 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 | « net/http/bidirectional_stream_unittest.cc ('k') | net/http/http_server_properties.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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 <stdint.h> 9 #include <stdint.h>
10 10
(...skipping 10083 matching lines...) Expand 10 before | Expand all | Expand 10 after
10094 10094
10095 std::unique_ptr<HttpNetworkSession> session(CreateSession(&session_deps_)); 10095 std::unique_ptr<HttpNetworkSession> session(CreateSession(&session_deps_));
10096 HttpNetworkTransaction trans(DEFAULT_PRIORITY, session.get()); 10096 HttpNetworkTransaction trans(DEFAULT_PRIORITY, session.get());
10097 10097
10098 int rv = trans.Start(&request, callback.callback(), NetLogWithSource()); 10098 int rv = trans.Start(&request, callback.callback(), NetLogWithSource());
10099 EXPECT_THAT(rv, IsError(ERR_IO_PENDING)); 10099 EXPECT_THAT(rv, IsError(ERR_IO_PENDING));
10100 10100
10101 url::SchemeHostPort test_server(request.url); 10101 url::SchemeHostPort test_server(request.url);
10102 HttpServerProperties* http_server_properties = 10102 HttpServerProperties* http_server_properties =
10103 session->http_server_properties(); 10103 session->http_server_properties();
10104 AlternativeServiceVector alternative_service_vector = 10104 EXPECT_TRUE(
10105 http_server_properties->GetAlternativeServices(test_server); 10105 http_server_properties->GetAlternativeServiceInfos(test_server).empty());
10106 EXPECT_TRUE(alternative_service_vector.empty());
10107 10106
10108 EXPECT_THAT(callback.WaitForResult(), IsOk()); 10107 EXPECT_THAT(callback.WaitForResult(), IsOk());
10109 10108
10110 const HttpResponseInfo* response = trans.GetResponseInfo(); 10109 const HttpResponseInfo* response = trans.GetResponseInfo();
10111 ASSERT_TRUE(response); 10110 ASSERT_TRUE(response);
10112 ASSERT_TRUE(response->headers); 10111 ASSERT_TRUE(response->headers);
10113 EXPECT_EQ("HTTP/1.1 200 OK", response->headers->GetStatusLine()); 10112 EXPECT_EQ("HTTP/1.1 200 OK", response->headers->GetStatusLine());
10114 EXPECT_FALSE(response->was_fetched_via_spdy); 10113 EXPECT_FALSE(response->was_fetched_via_spdy);
10115 EXPECT_FALSE(response->was_alpn_negotiated); 10114 EXPECT_FALSE(response->was_alpn_negotiated);
10116 10115
10117 std::string response_data; 10116 std::string response_data;
10118 ASSERT_THAT(ReadTransaction(&trans, &response_data), IsOk()); 10117 ASSERT_THAT(ReadTransaction(&trans, &response_data), IsOk());
10119 EXPECT_EQ("hello world", response_data); 10118 EXPECT_EQ("hello world", response_data);
10120 10119
10121 alternative_service_vector = 10120 AlternativeServiceInfoVector alternative_service_info_vector =
10122 http_server_properties->GetAlternativeServices(test_server); 10121 http_server_properties->GetAlternativeServiceInfos(test_server);
10123 ASSERT_EQ(1u, alternative_service_vector.size()); 10122 ASSERT_EQ(1u, alternative_service_info_vector.size());
10124 EXPECT_EQ(kProtoHTTP2, alternative_service_vector[0].protocol); 10123 AlternativeService alternative_service(kProtoHTTP2, "mail.example.org", 443);
10125 EXPECT_EQ("mail.example.org", alternative_service_vector[0].host); 10124 EXPECT_EQ(alternative_service,
10126 EXPECT_EQ(443, alternative_service_vector[0].port); 10125 alternative_service_info_vector[0].alternative_service);
10127 } 10126 }
10128 10127
10129 // Regression test for https://crbug.com/615497. 10128 // Regression test for https://crbug.com/615497.
10130 TEST_F(HttpNetworkTransactionTest, 10129 TEST_F(HttpNetworkTransactionTest,
10131 DoNotParseAlternativeServiceHeaderOnInsecureRequest) { 10130 DoNotParseAlternativeServiceHeaderOnInsecureRequest) {
10132 MockRead data_reads[] = { 10131 MockRead data_reads[] = {
10133 MockRead("HTTP/1.1 200 OK\r\n"), 10132 MockRead("HTTP/1.1 200 OK\r\n"),
10134 MockRead(kAlternativeServiceHttpHeader), 10133 MockRead(kAlternativeServiceHttpHeader),
10135 MockRead("\r\n"), 10134 MockRead("\r\n"),
10136 MockRead("hello world"), 10135 MockRead("hello world"),
10137 MockRead(SYNCHRONOUS, OK), 10136 MockRead(SYNCHRONOUS, OK),
10138 }; 10137 };
10139 10138
10140 HttpRequestInfo request; 10139 HttpRequestInfo request;
10141 request.method = "GET"; 10140 request.method = "GET";
10142 request.url = GURL("http://www.example.org/"); 10141 request.url = GURL("http://www.example.org/");
10143 request.load_flags = 0; 10142 request.load_flags = 0;
10144 10143
10145 StaticSocketDataProvider data(data_reads, arraysize(data_reads), NULL, 0); 10144 StaticSocketDataProvider data(data_reads, arraysize(data_reads), NULL, 0);
10146 session_deps_.socket_factory->AddSocketDataProvider(&data); 10145 session_deps_.socket_factory->AddSocketDataProvider(&data);
10147 10146
10148 TestCompletionCallback callback; 10147 TestCompletionCallback callback;
10149 10148
10150 std::unique_ptr<HttpNetworkSession> session(CreateSession(&session_deps_)); 10149 std::unique_ptr<HttpNetworkSession> session(CreateSession(&session_deps_));
10151 HttpNetworkTransaction trans(DEFAULT_PRIORITY, session.get()); 10150 HttpNetworkTransaction trans(DEFAULT_PRIORITY, session.get());
10152 10151
10153 url::SchemeHostPort test_server(request.url); 10152 url::SchemeHostPort test_server(request.url);
10154 HttpServerProperties* http_server_properties = 10153 HttpServerProperties* http_server_properties =
10155 session->http_server_properties(); 10154 session->http_server_properties();
10156 AlternativeServiceVector alternative_service_vector = 10155 EXPECT_TRUE(
10157 http_server_properties->GetAlternativeServices(test_server); 10156 http_server_properties->GetAlternativeServiceInfos(test_server).empty());
10158 EXPECT_TRUE(alternative_service_vector.empty());
10159 10157
10160 int rv = trans.Start(&request, callback.callback(), NetLogWithSource()); 10158 int rv = trans.Start(&request, callback.callback(), NetLogWithSource());
10161 EXPECT_THAT(rv, IsError(ERR_IO_PENDING)); 10159 EXPECT_THAT(rv, IsError(ERR_IO_PENDING));
10162 EXPECT_THAT(callback.WaitForResult(), IsOk()); 10160 EXPECT_THAT(callback.WaitForResult(), IsOk());
10163 10161
10164 const HttpResponseInfo* response = trans.GetResponseInfo(); 10162 const HttpResponseInfo* response = trans.GetResponseInfo();
10165 ASSERT_TRUE(response); 10163 ASSERT_TRUE(response);
10166 ASSERT_TRUE(response->headers); 10164 ASSERT_TRUE(response->headers);
10167 EXPECT_EQ("HTTP/1.1 200 OK", response->headers->GetStatusLine()); 10165 EXPECT_EQ("HTTP/1.1 200 OK", response->headers->GetStatusLine());
10168 EXPECT_FALSE(response->was_fetched_via_spdy); 10166 EXPECT_FALSE(response->was_fetched_via_spdy);
10169 EXPECT_FALSE(response->was_alpn_negotiated); 10167 EXPECT_FALSE(response->was_alpn_negotiated);
10170 10168
10171 std::string response_data; 10169 std::string response_data;
10172 ASSERT_THAT(ReadTransaction(&trans, &response_data), IsOk()); 10170 ASSERT_THAT(ReadTransaction(&trans, &response_data), IsOk());
10173 EXPECT_EQ("hello world", response_data); 10171 EXPECT_EQ("hello world", response_data);
10174 10172
10175 alternative_service_vector = 10173 EXPECT_TRUE(
10176 http_server_properties->GetAlternativeServices(test_server); 10174 http_server_properties->GetAlternativeServiceInfos(test_server).empty());
10177 EXPECT_TRUE(alternative_service_vector.empty());
10178 } 10175 }
10179 10176
10180 // HTTP/2 Alternative Services should be disabled by default. 10177 // HTTP/2 Alternative Services should be disabled by default.
10181 // TODO(bnc): Remove when https://crbug.com/615413 is fixed. 10178 // TODO(bnc): Remove when https://crbug.com/615413 is fixed.
10182 TEST_F(HttpNetworkTransactionTest, 10179 TEST_F(HttpNetworkTransactionTest,
10183 DisableHTTP2AlternativeServicesWithDifferentHost) { 10180 DisableHTTP2AlternativeServicesWithDifferentHost) {
10184 session_deps_.enable_http2_alternative_service = false; 10181 session_deps_.enable_http2_alternative_service = false;
10185 10182
10186 HttpRequestInfo request; 10183 HttpRequestInfo request;
10187 request.method = "GET"; 10184 request.method = "GET";
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
10264 TEST_F(HttpNetworkTransactionTest, ClearAlternativeServices) { 10261 TEST_F(HttpNetworkTransactionTest, ClearAlternativeServices) {
10265 // Set an alternative service for origin. 10262 // Set an alternative service for origin.
10266 std::unique_ptr<HttpNetworkSession> session(CreateSession(&session_deps_)); 10263 std::unique_ptr<HttpNetworkSession> session(CreateSession(&session_deps_));
10267 HttpServerProperties* http_server_properties = 10264 HttpServerProperties* http_server_properties =
10268 session->http_server_properties(); 10265 session->http_server_properties();
10269 url::SchemeHostPort test_server("https", "www.example.org", 443); 10266 url::SchemeHostPort test_server("https", "www.example.org", 443);
10270 AlternativeService alternative_service(kProtoQUIC, "", 80); 10267 AlternativeService alternative_service(kProtoQUIC, "", 80);
10271 base::Time expiration = base::Time::Now() + base::TimeDelta::FromDays(1); 10268 base::Time expiration = base::Time::Now() + base::TimeDelta::FromDays(1);
10272 http_server_properties->SetAlternativeService( 10269 http_server_properties->SetAlternativeService(
10273 test_server, alternative_service, expiration); 10270 test_server, alternative_service, expiration);
10274 AlternativeServiceVector alternative_service_vector = 10271 EXPECT_EQ(
10275 http_server_properties->GetAlternativeServices(test_server); 10272 1u,
10276 EXPECT_EQ(1u, alternative_service_vector.size()); 10273 http_server_properties->GetAlternativeServiceInfos(test_server).size());
10277 10274
10278 // Send a clear header. 10275 // Send a clear header.
10279 MockRead data_reads[] = { 10276 MockRead data_reads[] = {
10280 MockRead("HTTP/1.1 200 OK\r\n"), 10277 MockRead("HTTP/1.1 200 OK\r\n"),
10281 MockRead("Alt-Svc: clear\r\n"), 10278 MockRead("Alt-Svc: clear\r\n"),
10282 MockRead("\r\n"), 10279 MockRead("\r\n"),
10283 MockRead("hello world"), 10280 MockRead("hello world"),
10284 MockRead(SYNCHRONOUS, OK), 10281 MockRead(SYNCHRONOUS, OK),
10285 }; 10282 };
10286 StaticSocketDataProvider data(data_reads, arraysize(data_reads), nullptr, 0); 10283 StaticSocketDataProvider data(data_reads, arraysize(data_reads), nullptr, 0);
(...skipping 17 matching lines...) Expand all
10304 ASSERT_TRUE(response); 10301 ASSERT_TRUE(response);
10305 ASSERT_TRUE(response->headers); 10302 ASSERT_TRUE(response->headers);
10306 EXPECT_EQ("HTTP/1.1 200 OK", response->headers->GetStatusLine()); 10303 EXPECT_EQ("HTTP/1.1 200 OK", response->headers->GetStatusLine());
10307 EXPECT_FALSE(response->was_fetched_via_spdy); 10304 EXPECT_FALSE(response->was_fetched_via_spdy);
10308 EXPECT_FALSE(response->was_alpn_negotiated); 10305 EXPECT_FALSE(response->was_alpn_negotiated);
10309 10306
10310 std::string response_data; 10307 std::string response_data;
10311 ASSERT_THAT(ReadTransaction(&trans, &response_data), IsOk()); 10308 ASSERT_THAT(ReadTransaction(&trans, &response_data), IsOk());
10312 EXPECT_EQ("hello world", response_data); 10309 EXPECT_EQ("hello world", response_data);
10313 10310
10314 alternative_service_vector = 10311 EXPECT_TRUE(
10315 http_server_properties->GetAlternativeServices(test_server); 10312 http_server_properties->GetAlternativeServiceInfos(test_server).empty());
10316 EXPECT_TRUE(alternative_service_vector.empty());
10317 } 10313 }
10318 10314
10319 TEST_F(HttpNetworkTransactionTest, HonorMultipleAlternativeServiceHeaders) { 10315 TEST_F(HttpNetworkTransactionTest, HonorMultipleAlternativeServiceHeaders) {
10320 MockRead data_reads[] = { 10316 MockRead data_reads[] = {
10321 MockRead("HTTP/1.1 200 OK\r\n"), 10317 MockRead("HTTP/1.1 200 OK\r\n"),
10322 MockRead("Alt-Svc: h2=\"www.example.com:443\","), 10318 MockRead("Alt-Svc: h2=\"www.example.com:443\","),
10323 MockRead("h2=\":1234\"\r\n\r\n"), 10319 MockRead("h2=\":1234\"\r\n\r\n"),
10324 MockRead("hello world"), 10320 MockRead("hello world"),
10325 MockRead(SYNCHRONOUS, OK), 10321 MockRead(SYNCHRONOUS, OK),
10326 }; 10322 };
(...skipping 12 matching lines...) Expand all
10339 10335
10340 std::unique_ptr<HttpNetworkSession> session(CreateSession(&session_deps_)); 10336 std::unique_ptr<HttpNetworkSession> session(CreateSession(&session_deps_));
10341 HttpNetworkTransaction trans(DEFAULT_PRIORITY, session.get()); 10337 HttpNetworkTransaction trans(DEFAULT_PRIORITY, session.get());
10342 10338
10343 int rv = trans.Start(&request, callback.callback(), NetLogWithSource()); 10339 int rv = trans.Start(&request, callback.callback(), NetLogWithSource());
10344 EXPECT_THAT(rv, IsError(ERR_IO_PENDING)); 10340 EXPECT_THAT(rv, IsError(ERR_IO_PENDING));
10345 10341
10346 url::SchemeHostPort test_server("https", "www.example.org", 443); 10342 url::SchemeHostPort test_server("https", "www.example.org", 443);
10347 HttpServerProperties* http_server_properties = 10343 HttpServerProperties* http_server_properties =
10348 session->http_server_properties(); 10344 session->http_server_properties();
10349 AlternativeServiceVector alternative_service_vector = 10345 EXPECT_TRUE(
10350 http_server_properties->GetAlternativeServices(test_server); 10346 http_server_properties->GetAlternativeServiceInfos(test_server).empty());
10351 EXPECT_TRUE(alternative_service_vector.empty());
10352 10347
10353 EXPECT_THAT(callback.WaitForResult(), IsOk()); 10348 EXPECT_THAT(callback.WaitForResult(), IsOk());
10354 10349
10355 const HttpResponseInfo* response = trans.GetResponseInfo(); 10350 const HttpResponseInfo* response = trans.GetResponseInfo();
10356 ASSERT_TRUE(response); 10351 ASSERT_TRUE(response);
10357 ASSERT_TRUE(response->headers); 10352 ASSERT_TRUE(response->headers);
10358 EXPECT_EQ("HTTP/1.1 200 OK", response->headers->GetStatusLine()); 10353 EXPECT_EQ("HTTP/1.1 200 OK", response->headers->GetStatusLine());
10359 EXPECT_FALSE(response->was_fetched_via_spdy); 10354 EXPECT_FALSE(response->was_fetched_via_spdy);
10360 EXPECT_FALSE(response->was_alpn_negotiated); 10355 EXPECT_FALSE(response->was_alpn_negotiated);
10361 10356
10362 std::string response_data; 10357 std::string response_data;
10363 ASSERT_THAT(ReadTransaction(&trans, &response_data), IsOk()); 10358 ASSERT_THAT(ReadTransaction(&trans, &response_data), IsOk());
10364 EXPECT_EQ("hello world", response_data); 10359 EXPECT_EQ("hello world", response_data);
10365 10360
10366 alternative_service_vector = 10361 AlternativeServiceInfoVector alternative_service_info_vector =
10367 http_server_properties->GetAlternativeServices(test_server); 10362 http_server_properties->GetAlternativeServiceInfos(test_server);
10368 ASSERT_EQ(2u, alternative_service_vector.size()); 10363 ASSERT_EQ(2u, alternative_service_info_vector.size());
10369 EXPECT_EQ(kProtoHTTP2, alternative_service_vector[0].protocol); 10364
10370 EXPECT_EQ("www.example.com", alternative_service_vector[0].host); 10365 AlternativeService alternative_service(kProtoHTTP2, "www.example.com", 443);
10371 EXPECT_EQ(443, alternative_service_vector[0].port); 10366 EXPECT_EQ(alternative_service,
10372 EXPECT_EQ(kProtoHTTP2, alternative_service_vector[1].protocol); 10367 alternative_service_info_vector[0].alternative_service);
10373 EXPECT_EQ("www.example.org", alternative_service_vector[1].host); 10368 AlternativeService alternative_service_2(kProtoHTTP2, "www.example.org",
10374 EXPECT_EQ(1234, alternative_service_vector[1].port); 10369 1234);
10370 EXPECT_EQ(alternative_service_2,
10371 alternative_service_info_vector[1].alternative_service);
10375 } 10372 }
10376 10373
10377 TEST_F(HttpNetworkTransactionTest, IdentifyQuicBroken) { 10374 TEST_F(HttpNetworkTransactionTest, IdentifyQuicBroken) {
10378 url::SchemeHostPort server("https", "origin.example.org", 443); 10375 url::SchemeHostPort server("https", "origin.example.org", 443);
10379 HostPortPair alternative("alternative.example.org", 443); 10376 HostPortPair alternative("alternative.example.org", 443);
10380 std::string origin_url = "https://origin.example.org:443"; 10377 std::string origin_url = "https://origin.example.org:443";
10381 std::string alternative_url = "https://alternative.example.org:443"; 10378 std::string alternative_url = "https://alternative.example.org:443";
10382 10379
10383 // Negotiate HTTP/1.1 with alternative.example.org. 10380 // Negotiate HTTP/1.1 with alternative.example.org.
10384 SSLSocketDataProvider ssl(ASYNC, OK); 10381 SSLSocketDataProvider ssl(ASYNC, OK);
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
10479 AlternativeService alternative_service2(kProtoQUIC, alternative2); 10476 AlternativeService alternative_service2(kProtoQUIC, alternative2);
10480 AlternativeServiceInfo alternative_service_info2(alternative_service2, 10477 AlternativeServiceInfo alternative_service_info2(alternative_service2,
10481 expiration); 10478 expiration);
10482 alternative_service_info_vector.push_back(alternative_service_info2); 10479 alternative_service_info_vector.push_back(alternative_service_info2);
10483 10480
10484 http_server_properties->SetAlternativeServices( 10481 http_server_properties->SetAlternativeServices(
10485 server, alternative_service_info_vector); 10482 server, alternative_service_info_vector);
10486 10483
10487 // Mark one of the QUIC alternative service as broken. 10484 // Mark one of the QUIC alternative service as broken.
10488 http_server_properties->MarkAlternativeServiceBroken(alternative_service1); 10485 http_server_properties->MarkAlternativeServiceBroken(alternative_service1);
10489 10486 EXPECT_EQ(2u,
10490 const AlternativeServiceVector alternative_service_vector = 10487 http_server_properties->GetAlternativeServiceInfos(server).size());
10491 http_server_properties->GetAlternativeServices(server);
10492 10488
10493 HttpRequestInfo request; 10489 HttpRequestInfo request;
10494 HttpNetworkTransaction trans(DEFAULT_PRIORITY, session.get()); 10490 HttpNetworkTransaction trans(DEFAULT_PRIORITY, session.get());
10495 request.method = "GET"; 10491 request.method = "GET";
10496 request.url = GURL(origin_url); 10492 request.url = GURL(origin_url);
10497 TestCompletionCallback callback; 10493 TestCompletionCallback callback;
10498 NetErrorDetails details; 10494 NetErrorDetails details;
10499 EXPECT_FALSE(details.quic_broken); 10495 EXPECT_FALSE(details.quic_broken);
10500 10496
10501 trans.Start(&request, callback.callback(), NetLogWithSource()); 10497 trans.Start(&request, callback.callback(), NetLogWithSource());
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
10548 10544
10549 const HttpResponseInfo* response = trans.GetResponseInfo(); 10545 const HttpResponseInfo* response = trans.GetResponseInfo();
10550 ASSERT_TRUE(response); 10546 ASSERT_TRUE(response);
10551 ASSERT_TRUE(response->headers); 10547 ASSERT_TRUE(response->headers);
10552 EXPECT_EQ("HTTP/1.1 200 OK", response->headers->GetStatusLine()); 10548 EXPECT_EQ("HTTP/1.1 200 OK", response->headers->GetStatusLine());
10553 10549
10554 std::string response_data; 10550 std::string response_data;
10555 ASSERT_THAT(ReadTransaction(&trans, &response_data), IsOk()); 10551 ASSERT_THAT(ReadTransaction(&trans, &response_data), IsOk());
10556 EXPECT_EQ("hello world", response_data); 10552 EXPECT_EQ("hello world", response_data);
10557 10553
10558 const AlternativeServiceVector alternative_service_vector = 10554 const AlternativeServiceInfoVector alternative_service_info_vector =
10559 http_server_properties->GetAlternativeServices(server); 10555 http_server_properties->GetAlternativeServiceInfos(server);
10560 ASSERT_EQ(1u, alternative_service_vector.size()); 10556 ASSERT_EQ(1u, alternative_service_info_vector.size());
10561 EXPECT_EQ(alternative_service, alternative_service_vector[0]); 10557 EXPECT_EQ(alternative_service,
10562 EXPECT_TRUE(http_server_properties->IsAlternativeServiceBroken( 10558 alternative_service_info_vector[0].alternative_service);
10563 alternative_service_vector[0])); 10559 EXPECT_TRUE(
10560 http_server_properties->IsAlternativeServiceBroken(alternative_service));
10564 } 10561 }
10565 10562
10566 // Ensure that we are not allowed to redirect traffic via an alternate protocol 10563 // Ensure that we are not allowed to redirect traffic via an alternate protocol
10567 // to an unrestricted (port >= 1024) when the original traffic was on a 10564 // to an unrestricted (port >= 1024) when the original traffic was on a
10568 // restricted port (port < 1024). Ensure that we can redirect in all other 10565 // restricted port (port < 1024). Ensure that we can redirect in all other
10569 // cases. 10566 // cases.
10570 TEST_F(HttpNetworkTransactionTest, AlternateProtocolPortRestrictedBlocked) { 10567 TEST_F(HttpNetworkTransactionTest, AlternateProtocolPortRestrictedBlocked) {
10571 HttpRequestInfo restricted_port_request; 10568 HttpRequestInfo restricted_port_request;
10572 restricted_port_request.method = "GET"; 10569 restricted_port_request.method = "GET";
10573 restricted_port_request.url = GURL("https://www.example.org:1023/"); 10570 restricted_port_request.url = GURL("https://www.example.org:1023/");
(...skipping 6375 matching lines...) Expand 10 before | Expand all | Expand 10 after
16949 16946
16950 TestCompletionCallback callback; 16947 TestCompletionCallback callback;
16951 HttpNetworkTransaction trans(DEFAULT_PRIORITY, session.get()); 16948 HttpNetworkTransaction trans(DEFAULT_PRIORITY, session.get());
16952 int rv = trans.Start(&request, callback.callback(), NetLogWithSource()); 16949 int rv = trans.Start(&request, callback.callback(), NetLogWithSource());
16953 EXPECT_THAT(rv, IsError(ERR_IO_PENDING)); 16950 EXPECT_THAT(rv, IsError(ERR_IO_PENDING));
16954 16951
16955 EXPECT_THAT(callback.WaitForResult(), IsError(ERR_NO_SUPPORTED_PROXIES)); 16952 EXPECT_THAT(callback.WaitForResult(), IsError(ERR_NO_SUPPORTED_PROXIES));
16956 } 16953 }
16957 16954
16958 } // namespace net 16955 } // namespace net
OLDNEW
« no previous file with comments | « net/http/bidirectional_stream_unittest.cc ('k') | net/http/http_server_properties.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698