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

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

Issue 425803014: Refactor pooling logic into a helper method (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Add tests 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 | Annotate | Revision Log
« 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 150 matching lines...) Expand 10 before | Expand all | Expand 10 after
185 params.cert_verifier = cert_verifier_.get(); 186 params.cert_verifier = cert_verifier_.get();
186 params.transport_security_state = transport_security_state_.get(); 187 params.transport_security_state = transport_security_state_.get();
187 params.proxy_service = proxy_service_.get(); 188 params.proxy_service = proxy_service_.get();
188 params.client_socket_factory = &socket_factory_; 189 params.client_socket_factory = &socket_factory_;
189 params.ssl_config_service = ssl_config_service_.get(); 190 params.ssl_config_service = ssl_config_service_.get();
190 params.http_auth_handler_factory = http_auth_handler_factory_.get(); 191 params.http_auth_handler_factory = http_auth_handler_factory_.get();
191 params.http_server_properties = 192 params.http_server_properties =
192 http_server_properties_.GetWeakPtr(); 193 http_server_properties_.GetWeakPtr();
193 params.enable_spdy_compression = false; 194 params.enable_spdy_compression = false;
194 params.spdy_default_protocol = GetParam(); 195 params.spdy_default_protocol = GetParam();
196 params.transport_security_state = new TransportSecurityState();
Ryan Sleevi 2014/08/19 05:20:28 Did you mean to delete this?
Ryan Hamilton 2014/08/19 13:50:19 Yup. Check out line 187: params.transport_securi
195 return new HttpNetworkSession(params); 197 return new HttpNetworkSession(params);
196 } 198 }
197 199
198 void TestIPPoolingDisabled(SSLSocketDataProvider* ssl); 200 void TestIPPoolingDisabled(SSLSocketDataProvider* ssl);
199 201
200 MockClientSocketFactory socket_factory_; 202 MockClientSocketFactory socket_factory_;
201 MockCachingHostResolver host_resolver_; 203 MockCachingHostResolver host_resolver_;
202 scoped_ptr<CertVerifier> cert_verifier_; 204 scoped_ptr<CertVerifier> cert_verifier_;
203 scoped_ptr<TransportSecurityState> transport_security_state_; 205 scoped_ptr<TransportSecurityState> transport_security_state_;
204 const scoped_ptr<ProxyService> proxy_service_; 206 const scoped_ptr<ProxyService> proxy_service_;
(...skipping 1045 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