| OLD | NEW |
| 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 "base/basictypes.h" | 5 #include "base/basictypes.h" |
| 6 #include "base/compiler_specific.h" | 6 #include "base/compiler_specific.h" |
| 7 #include "base/memory/scoped_ptr.h" | 7 #include "base/memory/scoped_ptr.h" |
| 8 #include "base/stl_util.h" | 8 #include "base/stl_util.h" |
| 9 #include "base/strings/string_number_conversions.h" | 9 #include "base/strings/string_number_conversions.h" |
| 10 #include "net/base/elements_upload_data_stream.h" | 10 #include "net/base/elements_upload_data_stream.h" |
| 11 #include "net/base/test_completion_callback.h" | 11 #include "net/base/test_completion_callback.h" |
| 12 #include "net/base/test_data_directory.h" | 12 #include "net/base/test_data_directory.h" |
| 13 #include "net/base/upload_bytes_element_reader.h" | 13 #include "net/base/upload_bytes_element_reader.h" |
| 14 #include "net/base/upload_data_stream.h" | 14 #include "net/base/upload_data_stream.h" |
| 15 #include "net/cert/mock_cert_verifier.h" | 15 #include "net/cert/mock_cert_verifier.h" |
| 16 #include "net/cert/multi_log_ct_verifier.h" |
| 16 #include "net/dns/mapped_host_resolver.h" | 17 #include "net/dns/mapped_host_resolver.h" |
| 17 #include "net/dns/mock_host_resolver.h" | 18 #include "net/dns/mock_host_resolver.h" |
| 18 #include "net/http/http_auth_handler_factory.h" | 19 #include "net/http/http_auth_handler_factory.h" |
| 19 #include "net/http/http_network_session.h" | 20 #include "net/http/http_network_session.h" |
| 20 #include "net/http/http_network_transaction.h" | 21 #include "net/http/http_network_transaction.h" |
| 21 #include "net/http/http_server_properties_impl.h" | 22 #include "net/http/http_server_properties_impl.h" |
| 22 #include "net/http/http_transaction_test_util.h" | 23 #include "net/http/http_transaction_test_util.h" |
| 23 #include "net/http/transport_security_state.h" | 24 #include "net/http/transport_security_state.h" |
| 24 #include "net/proxy/proxy_service.h" | 25 #include "net/proxy/proxy_service.h" |
| 25 #include "net/quic/test_tools/crypto_test_utils.h" | 26 #include "net/quic/test_tools/crypto_test_utils.h" |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 71 scoped_ptr<HttpNetworkSession> session_; | 72 scoped_ptr<HttpNetworkSession> session_; |
| 72 }; | 73 }; |
| 73 | 74 |
| 74 } // namespace | 75 } // namespace |
| 75 | 76 |
| 76 class QuicEndToEndTest : public PlatformTest { | 77 class QuicEndToEndTest : public PlatformTest { |
| 77 protected: | 78 protected: |
| 78 QuicEndToEndTest() | 79 QuicEndToEndTest() |
| 79 : host_resolver_impl_(CreateResolverImpl()), | 80 : host_resolver_impl_(CreateResolverImpl()), |
| 80 host_resolver_(host_resolver_impl_.Pass()), | 81 host_resolver_(host_resolver_impl_.Pass()), |
| 82 cert_transparency_verifier_(new MultiLogCTVerifier()), |
| 81 ssl_config_service_(new SSLConfigServiceDefaults), | 83 ssl_config_service_(new SSLConfigServiceDefaults), |
| 82 proxy_service_(ProxyService::CreateDirect()), | 84 proxy_service_(ProxyService::CreateDirect()), |
| 83 auth_handler_factory_( | 85 auth_handler_factory_( |
| 84 HttpAuthHandlerFactory::CreateDefault(&host_resolver_)), | 86 HttpAuthHandlerFactory::CreateDefault(&host_resolver_)), |
| 85 strike_register_no_startup_period_(false) { | 87 strike_register_no_startup_period_(false) { |
| 86 request_.method = "GET"; | 88 request_.method = "GET"; |
| 87 request_.url = GURL("https://test.example.com/"); | 89 request_.url = GURL("https://test.example.com/"); |
| 88 request_.load_flags = 0; | 90 request_.load_flags = 0; |
| 89 | 91 |
| 90 params_.enable_quic = true; | 92 params_.enable_quic = true; |
| 91 params_.quic_clock = nullptr; | 93 params_.quic_clock = nullptr; |
| 92 params_.quic_random = nullptr; | 94 params_.quic_random = nullptr; |
| 93 params_.host_resolver = &host_resolver_; | 95 params_.host_resolver = &host_resolver_; |
| 94 params_.cert_verifier = &cert_verifier_; | 96 params_.cert_verifier = &cert_verifier_; |
| 95 params_.transport_security_state = &transport_security_state_; | 97 params_.transport_security_state = &transport_security_state_; |
| 98 params_.cert_transparency_verifier = cert_transparency_verifier_.get(); |
| 96 params_.proxy_service = proxy_service_.get(); | 99 params_.proxy_service = proxy_service_.get(); |
| 97 params_.ssl_config_service = ssl_config_service_.get(); | 100 params_.ssl_config_service = ssl_config_service_.get(); |
| 98 params_.http_auth_handler_factory = auth_handler_factory_.get(); | 101 params_.http_auth_handler_factory = auth_handler_factory_.get(); |
| 99 params_.http_server_properties = http_server_properties.GetWeakPtr(); | 102 params_.http_server_properties = http_server_properties.GetWeakPtr(); |
| 100 | 103 |
| 101 net::CertVerifyResult verify_result; | 104 net::CertVerifyResult verify_result; |
| 102 verify_result.verified_cert = ImportCertFromFile( | 105 verify_result.verified_cert = ImportCertFromFile( |
| 103 GetTestCertsDirectory(), "quic_test.example.com.crt"); | 106 GetTestCertsDirectory(), "quic_test.example.com.crt"); |
| 104 cert_verifier_.AddResultForCertAndHost(verify_result.verified_cert.get(), | 107 cert_verifier_.AddResultForCertAndHost(verify_result.verified_cert.get(), |
| 105 "test.example.com", verify_result, | 108 "test.example.com", verify_result, |
| (...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 216 ASSERT_EQ(OK, consumer.error()); | 219 ASSERT_EQ(OK, consumer.error()); |
| 217 EXPECT_EQ(status_line, | 220 EXPECT_EQ(status_line, |
| 218 consumer.response_info()->headers->GetStatusLine()); | 221 consumer.response_info()->headers->GetStatusLine()); |
| 219 EXPECT_EQ(body, consumer.content()); | 222 EXPECT_EQ(body, consumer.content()); |
| 220 } | 223 } |
| 221 | 224 |
| 222 scoped_ptr<MockHostResolver> host_resolver_impl_; | 225 scoped_ptr<MockHostResolver> host_resolver_impl_; |
| 223 MappedHostResolver host_resolver_; | 226 MappedHostResolver host_resolver_; |
| 224 MockCertVerifier cert_verifier_; | 227 MockCertVerifier cert_verifier_; |
| 225 TransportSecurityState transport_security_state_; | 228 TransportSecurityState transport_security_state_; |
| 229 scoped_ptr<CTVerifier> cert_transparency_verifier_; |
| 226 scoped_refptr<SSLConfigServiceDefaults> ssl_config_service_; | 230 scoped_refptr<SSLConfigServiceDefaults> ssl_config_service_; |
| 227 scoped_ptr<ProxyService> proxy_service_; | 231 scoped_ptr<ProxyService> proxy_service_; |
| 228 scoped_ptr<HttpAuthHandlerFactory> auth_handler_factory_; | 232 scoped_ptr<HttpAuthHandlerFactory> auth_handler_factory_; |
| 229 HttpServerPropertiesImpl http_server_properties; | 233 HttpServerPropertiesImpl http_server_properties; |
| 230 HttpNetworkSession::Params params_; | 234 HttpNetworkSession::Params params_; |
| 231 scoped_ptr<TestTransactionFactory> transaction_factory_; | 235 scoped_ptr<TestTransactionFactory> transaction_factory_; |
| 232 HttpRequestInfo request_; | 236 HttpRequestInfo request_; |
| 233 std::string request_body_; | 237 std::string request_body_; |
| 234 scoped_ptr<UploadDataStream> upload_data_stream_; | 238 scoped_ptr<UploadDataStream> upload_data_stream_; |
| 235 scoped_ptr<ServerThread> server_thread_; | 239 scoped_ptr<ServerThread> server_thread_; |
| (...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 313 base::MessageLoop::current()->Run(); | 317 base::MessageLoop::current()->Run(); |
| 314 | 318 |
| 315 for (size_t i = 0; i < num_requests; ++i) { | 319 for (size_t i = 0; i < num_requests; ++i) { |
| 316 CheckResponse(*consumers[i], "HTTP/1.1 200 OK", kResponseBody); | 320 CheckResponse(*consumers[i], "HTTP/1.1 200 OK", kResponseBody); |
| 317 } | 321 } |
| 318 STLDeleteElements(&consumers); | 322 STLDeleteElements(&consumers); |
| 319 } | 323 } |
| 320 | 324 |
| 321 } // namespace test | 325 } // namespace test |
| 322 } // namespace net | 326 } // namespace net |
| OLD | NEW |