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

Side by Side Diff: net/socket/ssl_client_socket_pool_unittest.cc

Issue 498373002: Refactor pooling logic into a helper method Disable pooling when there are cert errors. Disable poo… (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@2125
Patch Set: Created 6 years, 4 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/quic/quic_stream_factory_test.cc ('k') | net/spdy/spdy_session.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) 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 "net/http/http_proxy_client_socket_pool.h" 5 #include "net/http/http_proxy_client_socket_pool.h"
6 6
7 #include "base/callback.h" 7 #include "base/callback.h"
8 #include "base/compiler_specific.h" 8 #include "base/compiler_specific.h"
9 #include "base/run_loop.h" 9 #include "base/run_loop.h"
10 #include "base/strings/string_util.h" 10 #include "base/strings/string_util.h"
11 #include "base/strings/utf_string_conversions.h" 11 #include "base/strings/utf_string_conversions.h"
12 #include "base/time/time.h" 12 #include "base/time/time.h"
13 #include "net/base/auth.h" 13 #include "net/base/auth.h"
14 #include "net/base/load_timing_info.h" 14 #include "net/base/load_timing_info.h"
15 #include "net/base/load_timing_info_test_util.h" 15 #include "net/base/load_timing_info_test_util.h"
16 #include "net/base/net_errors.h" 16 #include "net/base/net_errors.h"
17 #include "net/base/test_completion_callback.h" 17 #include "net/base/test_completion_callback.h"
18 #include "net/cert/cert_verifier.h" 18 #include "net/cert/cert_verifier.h"
19 #include "net/dns/mock_host_resolver.h" 19 #include "net/dns/mock_host_resolver.h"
20 #include "net/http/http_auth_handler_factory.h" 20 #include "net/http/http_auth_handler_factory.h"
21 #include "net/http/http_network_session.h" 21 #include "net/http/http_network_session.h"
22 #include "net/http/http_request_headers.h" 22 #include "net/http/http_request_headers.h"
23 #include "net/http/http_response_headers.h" 23 #include "net/http/http_response_headers.h"
24 #include "net/http/http_server_properties_impl.h" 24 #include "net/http/http_server_properties_impl.h"
25 #include "net/http/transport_security_state.h"
25 #include "net/proxy/proxy_service.h" 26 #include "net/proxy/proxy_service.h"
26 #include "net/socket/client_socket_handle.h" 27 #include "net/socket/client_socket_handle.h"
27 #include "net/socket/client_socket_pool_histograms.h" 28 #include "net/socket/client_socket_pool_histograms.h"
28 #include "net/socket/next_proto.h" 29 #include "net/socket/next_proto.h"
29 #include "net/socket/socket_test_util.h" 30 #include "net/socket/socket_test_util.h"
30 #include "net/spdy/spdy_session.h" 31 #include "net/spdy/spdy_session.h"
31 #include "net/spdy/spdy_session_pool.h" 32 #include "net/spdy/spdy_session_pool.h"
32 #include "net/spdy/spdy_test_util_common.h" 33 #include "net/spdy/spdy_test_util_common.h"
33 #include "net/ssl/ssl_config_service_defaults.h" 34 #include "net/ssl/ssl_config_service_defaults.h"
34 #include "net/test/test_certificate_data.h" 35 #include "net/test/test_certificate_data.h"
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
72 ExpectConnectTimingHasTimes(load_timing_info.connect_timing, 73 ExpectConnectTimingHasTimes(load_timing_info.connect_timing,
73 CONNECT_TIMING_HAS_SSL_TIMES); 74 CONNECT_TIMING_HAS_SSL_TIMES);
74 ExpectLoadTimingHasOnlyConnectionTimes(load_timing_info); 75 ExpectLoadTimingHasOnlyConnectionTimes(load_timing_info);
75 } 76 }
76 77
77 class SSLClientSocketPoolTest 78 class SSLClientSocketPoolTest
78 : public testing::Test, 79 : public testing::Test,
79 public ::testing::WithParamInterface<NextProto> { 80 public ::testing::WithParamInterface<NextProto> {
80 protected: 81 protected:
81 SSLClientSocketPoolTest() 82 SSLClientSocketPoolTest()
82 : proxy_service_(ProxyService::CreateDirect()), 83 : transport_security_state_(new TransportSecurityState),
84 proxy_service_(ProxyService::CreateDirect()),
83 ssl_config_service_(new SSLConfigServiceDefaults), 85 ssl_config_service_(new SSLConfigServiceDefaults),
84 http_auth_handler_factory_( 86 http_auth_handler_factory_(
85 HttpAuthHandlerFactory::CreateDefault(&host_resolver_)), 87 HttpAuthHandlerFactory::CreateDefault(&host_resolver_)),
86 session_(CreateNetworkSession()), 88 session_(CreateNetworkSession()),
87 direct_transport_socket_params_( 89 direct_transport_socket_params_(
88 new TransportSocketParams(HostPortPair("host", 443), 90 new TransportSocketParams(HostPortPair("host", 443),
89 false, 91 false,
90 false, 92 false,
91 OnHostResolutionCallback())), 93 OnHostResolutionCallback())),
92 transport_histograms_("MockTCP"), 94 transport_histograms_("MockTCP"),
(...skipping 1157 matching lines...) Expand 10 before | Expand all | Expand 10 after
1250 EXPECT_FALSE(handle.socket()); 1252 EXPECT_FALSE(handle.socket());
1251 EXPECT_FALSE(handle.is_ssl_error()); 1253 EXPECT_FALSE(handle.is_ssl_error());
1252 const HttpResponseInfo& tunnel_info = handle.ssl_error_response_info(); 1254 const HttpResponseInfo& tunnel_info = handle.ssl_error_response_info();
1253 EXPECT_EQ(tunnel_info.headers->response_code(), 407); 1255 EXPECT_EQ(tunnel_info.headers->response_code(), 407);
1254 scoped_ptr<ClientSocketHandle> tunnel_handle( 1256 scoped_ptr<ClientSocketHandle> tunnel_handle(
1255 handle.release_pending_http_proxy_connection()); 1257 handle.release_pending_http_proxy_connection());
1256 EXPECT_TRUE(tunnel_handle->socket()); 1258 EXPECT_TRUE(tunnel_handle->socket());
1257 EXPECT_FALSE(tunnel_handle->socket()->IsConnected()); 1259 EXPECT_FALSE(tunnel_handle->socket()->IsConnected());
1258 } 1260 }
1259 1261
1260 // TODO(rch): re-enable this. 1262 TEST_P(SSLClientSocketPoolTest, IPPooling) {
1261 TEST_P(SSLClientSocketPoolTest, DISABLED_IPPooling) {
1262 const int kTestPort = 80; 1263 const int kTestPort = 80;
1263 struct TestHosts { 1264 struct TestHosts {
1264 std::string name; 1265 std::string name;
1265 std::string iplist; 1266 std::string iplist;
1266 SpdySessionKey key; 1267 SpdySessionKey key;
1267 AddressList addresses; 1268 AddressList addresses;
1268 } test_hosts[] = { 1269 } test_hosts[] = {
1269 { "www.webkit.org", "192.0.2.33,192.168.0.1,192.168.0.5" }, 1270 { "www.webkit.org", "192.0.2.33,192.168.0.1,192.168.0.5" },
1270 { "code.google.com", "192.168.0.2,192.168.0.3,192.168.0.5" }, 1271 { "code.google.com", "192.168.0.2,192.168.0.3,192.168.0.5" },
1271 { "js.webkit.org", "192.168.0.4,192.168.0.1,192.0.2.33" }, 1272 { "js.webkit.org", "192.168.0.4,192.168.0.1,192.0.2.33" },
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
1389 ssl.channel_id_sent = true; 1390 ssl.channel_id_sent = true;
1390 ssl.SetNextProto(GetParam()); 1391 ssl.SetNextProto(GetParam());
1391 TestIPPoolingDisabled(&ssl); 1392 TestIPPoolingDisabled(&ssl);
1392 } 1393 }
1393 1394
1394 // It would be nice to also test the timeouts in SSLClientSocketPool. 1395 // It would be nice to also test the timeouts in SSLClientSocketPool.
1395 1396
1396 } // namespace 1397 } // namespace
1397 1398
1398 } // namespace net 1399 } // namespace net
OLDNEW
« no previous file with comments | « net/quic/quic_stream_factory_test.cc ('k') | net/spdy/spdy_session.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698