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 <memory> | 5 #include <memory> |
6 #include <string> | 6 #include <string> |
7 #include <vector> | 7 #include <vector> |
8 | 8 |
9 #include "base/deferred_sequenced_task_runner.h" | 9 #include "base/deferred_sequenced_task_runner.h" |
10 #include "base/memory/ptr_util.h" | 10 #include "base/memory/ptr_util.h" |
11 #include "base/memory/ref_counted.h" | 11 #include "base/memory/ref_counted.h" |
12 #include "base/message_loop/message_loop.h" | |
13 #include "base/run_loop.h" | 12 #include "base/run_loop.h" |
14 #include "base/test/scoped_task_scheduler.h" | |
15 #include "base/threading/thread.h" | 13 #include "base/threading/thread.h" |
16 #include "net/base/request_priority.h" | 14 #include "net/base/request_priority.h" |
17 #include "net/cert/ct_policy_enforcer.h" | 15 #include "net/cert/ct_policy_enforcer.h" |
18 #include "net/cert/mock_cert_verifier.h" | 16 #include "net/cert/mock_cert_verifier.h" |
19 #include "net/cert/multi_log_ct_verifier.h" | 17 #include "net/cert/multi_log_ct_verifier.h" |
20 #include "net/dns/mock_host_resolver.h" | 18 #include "net/dns/mock_host_resolver.h" |
21 #include "net/http/http_auth_handler_mock.h" | 19 #include "net/http/http_auth_handler_mock.h" |
22 #include "net/http/http_network_session.h" | 20 #include "net/http/http_network_session.h" |
23 #include "net/http/http_network_transaction.h" | 21 #include "net/http/http_network_transaction.h" |
24 #include "net/http/http_request_info.h" | 22 #include "net/http/http_request_info.h" |
(...skipping 25 matching lines...) Expand all Loading... |
50 private: | 48 private: |
51 ~TokenBindingSSLConfigService() override {} | 49 ~TokenBindingSSLConfigService() override {} |
52 | 50 |
53 SSLConfig ssl_config_; | 51 SSLConfig ssl_config_; |
54 }; | 52 }; |
55 | 53 |
56 } // namespace | 54 } // namespace |
57 | 55 |
58 class HttpNetworkTransactionSSLTest : public testing::Test { | 56 class HttpNetworkTransactionSSLTest : public testing::Test { |
59 protected: | 57 protected: |
60 HttpNetworkTransactionSSLTest() | 58 HttpNetworkTransactionSSLTest() = default; |
61 : scoped_task_scheduler_(base::MessageLoop::current()) {} | |
62 | 59 |
63 void SetUp() override { | 60 void SetUp() override { |
64 ssl_config_service_ = new TokenBindingSSLConfigService; | 61 ssl_config_service_ = new TokenBindingSSLConfigService; |
65 session_params_.ssl_config_service = ssl_config_service_.get(); | 62 session_params_.ssl_config_service = ssl_config_service_.get(); |
66 | 63 |
67 auth_handler_factory_.reset(new HttpAuthHandlerMock::Factory()); | 64 auth_handler_factory_.reset(new HttpAuthHandlerMock::Factory()); |
68 session_params_.http_auth_handler_factory = auth_handler_factory_.get(); | 65 session_params_.http_auth_handler_factory = auth_handler_factory_.get(); |
69 | 66 |
70 proxy_service_ = ProxyService::CreateDirect(); | 67 proxy_service_ = ProxyService::CreateDirect(); |
71 session_params_.proxy_service = proxy_service_.get(); | 68 session_params_.proxy_service = proxy_service_.get(); |
72 | 69 |
73 session_params_.client_socket_factory = &mock_socket_factory_; | 70 session_params_.client_socket_factory = &mock_socket_factory_; |
74 session_params_.host_resolver = &mock_resolver_; | 71 session_params_.host_resolver = &mock_resolver_; |
75 session_params_.http_server_properties = &http_server_properties_; | 72 session_params_.http_server_properties = &http_server_properties_; |
76 session_params_.cert_verifier = &cert_verifier_; | 73 session_params_.cert_verifier = &cert_verifier_; |
77 session_params_.transport_security_state = &transport_security_state_; | 74 session_params_.transport_security_state = &transport_security_state_; |
78 session_params_.cert_transparency_verifier = &ct_verifier_; | 75 session_params_.cert_transparency_verifier = &ct_verifier_; |
79 session_params_.ct_policy_enforcer = &ct_policy_enforcer_; | 76 session_params_.ct_policy_enforcer = &ct_policy_enforcer_; |
80 } | 77 } |
81 | 78 |
82 HttpRequestInfo* GetRequestInfo(const std::string& url) { | 79 HttpRequestInfo* GetRequestInfo(const std::string& url) { |
83 HttpRequestInfo* request_info = new HttpRequestInfo; | 80 HttpRequestInfo* request_info = new HttpRequestInfo; |
84 request_info->url = GURL(url); | 81 request_info->url = GURL(url); |
85 request_info->method = "GET"; | 82 request_info->method = "GET"; |
86 request_info_vector_.push_back(base::WrapUnique(request_info)); | 83 request_info_vector_.push_back(base::WrapUnique(request_info)); |
87 return request_info; | 84 return request_info; |
88 } | 85 } |
89 | 86 |
90 base::test::ScopedTaskScheduler scoped_task_scheduler_; | |
91 | |
92 scoped_refptr<SSLConfigService> ssl_config_service_; | 87 scoped_refptr<SSLConfigService> ssl_config_service_; |
93 std::unique_ptr<HttpAuthHandlerMock::Factory> auth_handler_factory_; | 88 std::unique_ptr<HttpAuthHandlerMock::Factory> auth_handler_factory_; |
94 std::unique_ptr<ProxyService> proxy_service_; | 89 std::unique_ptr<ProxyService> proxy_service_; |
95 | 90 |
96 MockClientSocketFactory mock_socket_factory_; | 91 MockClientSocketFactory mock_socket_factory_; |
97 MockHostResolver mock_resolver_; | 92 MockHostResolver mock_resolver_; |
98 HttpServerPropertiesImpl http_server_properties_; | 93 HttpServerPropertiesImpl http_server_properties_; |
99 MockCertVerifier cert_verifier_; | 94 MockCertVerifier cert_verifier_; |
100 TransportSecurityState transport_security_state_; | 95 TransportSecurityState transport_security_state_; |
101 MultiLogCTVerifier ct_verifier_; | 96 MultiLogCTVerifier ct_verifier_; |
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
222 // When ChannelIdService calls back to HttpNetworkSession, | 217 // When ChannelIdService calls back to HttpNetworkSession, |
223 // SpdyHttpStream should not crash. | 218 // SpdyHttpStream should not crash. |
224 channel_id_runner->Start(); | 219 channel_id_runner->Start(); |
225 | 220 |
226 rv = callback.WaitForResult(); | 221 rv = callback.WaitForResult(); |
227 EXPECT_THAT(rv, IsError(ERR_CONNECTION_CLOSED)); | 222 EXPECT_THAT(rv, IsError(ERR_CONNECTION_CLOSED)); |
228 } | 223 } |
229 #endif // !defined(OS_IOS) | 224 #endif // !defined(OS_IOS) |
230 | 225 |
231 } // namespace net | 226 } // namespace net |
OLD | NEW |