OLD | NEW |
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 <vector> | 5 #include <vector> |
6 | 6 |
7 #include "base/basictypes.h" | |
8 #include "base/compiler_specific.h" | 7 #include "base/compiler_specific.h" |
| 8 #include "base/macros.h" |
9 #include "base/memory/scoped_ptr.h" | 9 #include "base/memory/scoped_ptr.h" |
10 #include "base/run_loop.h" | 10 #include "base/run_loop.h" |
11 #include "base/stl_util.h" | 11 #include "base/stl_util.h" |
12 #include "base/strings/stringprintf.h" | 12 #include "base/strings/stringprintf.h" |
13 #include "net/base/network_quality_estimator.h" | 13 #include "net/base/network_quality_estimator.h" |
14 #include "net/base/socket_performance_watcher.h" | 14 #include "net/base/socket_performance_watcher.h" |
15 #include "net/base/test_completion_callback.h" | 15 #include "net/base/test_completion_callback.h" |
16 #include "net/base/test_data_directory.h" | 16 #include "net/base/test_data_directory.h" |
17 #include "net/cert/mock_cert_verifier.h" | 17 #include "net/cert/mock_cert_verifier.h" |
18 #include "net/cert/multi_log_ct_verifier.h" | 18 #include "net/cert/multi_log_ct_verifier.h" |
(...skipping 325 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
344 ASSERT_TRUE(response != nullptr); | 344 ASSERT_TRUE(response != nullptr); |
345 ASSERT_TRUE(response->headers.get() != nullptr); | 345 ASSERT_TRUE(response->headers.get() != nullptr); |
346 EXPECT_EQ("HTTP/1.1 200 OK", response->headers->GetStatusLine()); | 346 EXPECT_EQ("HTTP/1.1 200 OK", response->headers->GetStatusLine()); |
347 EXPECT_TRUE(response->was_fetched_via_spdy); | 347 EXPECT_TRUE(response->was_fetched_via_spdy); |
348 EXPECT_TRUE(response->was_npn_negotiated); | 348 EXPECT_TRUE(response->was_npn_negotiated); |
349 EXPECT_EQ(HttpResponseInfo::CONNECTION_INFO_QUIC1_SPDY3, | 349 EXPECT_EQ(HttpResponseInfo::CONNECTION_INFO_QUIC1_SPDY3, |
350 response->connection_info); | 350 response->connection_info); |
351 } | 351 } |
352 | 352 |
353 void CheckResponsePort(const scoped_ptr<HttpNetworkTransaction>& trans, | 353 void CheckResponsePort(const scoped_ptr<HttpNetworkTransaction>& trans, |
354 uint16 port) { | 354 uint16_t port) { |
355 const HttpResponseInfo* response = trans->GetResponseInfo(); | 355 const HttpResponseInfo* response = trans->GetResponseInfo(); |
356 ASSERT_TRUE(response != nullptr); | 356 ASSERT_TRUE(response != nullptr); |
357 EXPECT_EQ(port, response->socket_address.port()); | 357 EXPECT_EQ(port, response->socket_address.port()); |
358 } | 358 } |
359 | 359 |
360 void CheckWasHttpResponse(const scoped_ptr<HttpNetworkTransaction>& trans) { | 360 void CheckWasHttpResponse(const scoped_ptr<HttpNetworkTransaction>& trans) { |
361 const HttpResponseInfo* response = trans->GetResponseInfo(); | 361 const HttpResponseInfo* response = trans->GetResponseInfo(); |
362 ASSERT_TRUE(response != nullptr); | 362 ASSERT_TRUE(response != nullptr); |
363 ASSERT_TRUE(response->headers.get() != nullptr); | 363 ASSERT_TRUE(response->headers.get() != nullptr); |
364 EXPECT_EQ("HTTP/1.1 200 OK", response->headers->GetStatusLine()); | 364 EXPECT_EQ("HTTP/1.1 200 OK", response->headers->GetStatusLine()); |
(...skipping 23 matching lines...) Expand all Loading... |
388 RunTransaction(trans); | 388 RunTransaction(trans); |
389 CheckWasHttpResponse(trans); | 389 CheckWasHttpResponse(trans); |
390 CheckResponseData(trans, expected); | 390 CheckResponseData(trans, expected); |
391 } | 391 } |
392 | 392 |
393 void SendRequestAndExpectQuicResponse(const std::string& expected) { | 393 void SendRequestAndExpectQuicResponse(const std::string& expected) { |
394 SendRequestAndExpectQuicResponseMaybeFromProxy(expected, false, 443); | 394 SendRequestAndExpectQuicResponseMaybeFromProxy(expected, false, 443); |
395 } | 395 } |
396 | 396 |
397 void SendRequestAndExpectQuicResponseOnPort(const std::string& expected, | 397 void SendRequestAndExpectQuicResponseOnPort(const std::string& expected, |
398 uint16 port) { | 398 uint16_t port) { |
399 SendRequestAndExpectQuicResponseMaybeFromProxy(expected, false, port); | 399 SendRequestAndExpectQuicResponseMaybeFromProxy(expected, false, port); |
400 } | 400 } |
401 | 401 |
402 void SendRequestAndExpectQuicResponseFromProxyOnPort( | 402 void SendRequestAndExpectQuicResponseFromProxyOnPort( |
403 const std::string& expected, | 403 const std::string& expected, |
404 uint16 port) { | 404 uint16_t port) { |
405 SendRequestAndExpectQuicResponseMaybeFromProxy(expected, true, port); | 405 SendRequestAndExpectQuicResponseMaybeFromProxy(expected, true, port); |
406 } | 406 } |
407 | 407 |
408 void AddQuicAlternateProtocolMapping( | 408 void AddQuicAlternateProtocolMapping( |
409 MockCryptoClientStream::HandshakeMode handshake_mode) { | 409 MockCryptoClientStream::HandshakeMode handshake_mode) { |
410 crypto_client_stream_factory_.set_handshake_mode(handshake_mode); | 410 crypto_client_stream_factory_.set_handshake_mode(handshake_mode); |
411 HostPortPair host_port_pair = HostPortPair::FromURL(request_.url); | 411 HostPortPair host_port_pair = HostPortPair::FromURL(request_.url); |
412 AlternativeService alternative_service(QUIC, host_port_pair.host(), 443); | 412 AlternativeService alternative_service(QUIC, host_port_pair.host(), 443); |
413 base::Time expiration = base::Time::Now() + base::TimeDelta::FromDays(1); | 413 base::Time expiration = base::Time::Now() + base::TimeDelta::FromDays(1); |
414 http_server_properties_.SetAlternativeService( | 414 http_server_properties_.SetAlternativeService( |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
459 HttpNetworkSession::Params params_; | 459 HttpNetworkSession::Params params_; |
460 HttpRequestInfo request_; | 460 HttpRequestInfo request_; |
461 BoundTestNetLog net_log_; | 461 BoundTestNetLog net_log_; |
462 StaticSocketDataProvider hanging_data_; | 462 StaticSocketDataProvider hanging_data_; |
463 SSLSocketDataProvider ssl_data_; | 463 SSLSocketDataProvider ssl_data_; |
464 | 464 |
465 private: | 465 private: |
466 void SendRequestAndExpectQuicResponseMaybeFromProxy( | 466 void SendRequestAndExpectQuicResponseMaybeFromProxy( |
467 const std::string& expected, | 467 const std::string& expected, |
468 bool used_proxy, | 468 bool used_proxy, |
469 uint16 port) { | 469 uint16_t port) { |
470 scoped_ptr<HttpNetworkTransaction> trans( | 470 scoped_ptr<HttpNetworkTransaction> trans( |
471 new HttpNetworkTransaction(DEFAULT_PRIORITY, session_.get())); | 471 new HttpNetworkTransaction(DEFAULT_PRIORITY, session_.get())); |
472 ProxyHeadersHandler proxy_headers_handler; | 472 ProxyHeadersHandler proxy_headers_handler; |
473 trans->SetBeforeProxyHeadersSentCallback( | 473 trans->SetBeforeProxyHeadersSentCallback( |
474 base::Bind(&ProxyHeadersHandler::OnBeforeProxyHeadersSent, | 474 base::Bind(&ProxyHeadersHandler::OnBeforeProxyHeadersSent, |
475 base::Unretained(&proxy_headers_handler))); | 475 base::Unretained(&proxy_headers_handler))); |
476 RunTransaction(trans); | 476 RunTransaction(trans); |
477 CheckWasQuicResponse(trans); | 477 CheckWasQuicResponse(trans); |
478 CheckResponsePort(trans, port); | 478 CheckResponsePort(trans, port); |
479 CheckResponseData(trans, expected); | 479 CheckResponseData(trans, expected); |
(...skipping 1359 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1839 request_.url = GURL("https://www.example.org:443"); | 1839 request_.url = GURL("https://www.example.org:443"); |
1840 AddHangingNonAlternateProtocolSocketData(); | 1840 AddHangingNonAlternateProtocolSocketData(); |
1841 CreateSessionWithNextProtos(); | 1841 CreateSessionWithNextProtos(); |
1842 AddQuicAlternateProtocolMapping(MockCryptoClientStream::CONFIRM_HANDSHAKE); | 1842 AddQuicAlternateProtocolMapping(MockCryptoClientStream::CONFIRM_HANDSHAKE); |
1843 SendRequestAndExpectQuicResponse("hello!"); | 1843 SendRequestAndExpectQuicResponse("hello!"); |
1844 EXPECT_TRUE(rtt_observer_.rtt_notification_received()); | 1844 EXPECT_TRUE(rtt_observer_.rtt_notification_received()); |
1845 } | 1845 } |
1846 | 1846 |
1847 } // namespace test | 1847 } // namespace test |
1848 } // namespace net | 1848 } // namespace net |
OLD | NEW |