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

Side by Side Diff: net/http/http_proxy_client_socket_pool_unittest.cc

Issue 4339001: Correctly handle SSL Client Authentication requests when connecting... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 10 years, 1 month 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
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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/string_util.h" 9 #include "base/string_util.h"
10 #include "base/utf_string_conversions.h" 10 #include "base/utf_string_conversions.h"
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
46 } // namespace 46 } // namespace
47 47
48 class HttpProxyClientSocketPoolTest : public TestWithHttpParam { 48 class HttpProxyClientSocketPoolTest : public TestWithHttpParam {
49 protected: 49 protected:
50 HttpProxyClientSocketPoolTest() 50 HttpProxyClientSocketPoolTest()
51 : ssl_config_(), 51 : ssl_config_(),
52 ignored_tcp_socket_params_(new TCPSocketParams( 52 ignored_tcp_socket_params_(new TCPSocketParams(
53 HostPortPair("proxy", 80), LOWEST, GURL(), false)), 53 HostPortPair("proxy", 80), LOWEST, GURL(), false)),
54 ignored_ssl_socket_params_(new SSLSocketParams( 54 ignored_ssl_socket_params_(new SSLSocketParams(
55 ignored_tcp_socket_params_, NULL, NULL, ProxyServer::SCHEME_DIRECT, 55 ignored_tcp_socket_params_, NULL, NULL, ProxyServer::SCHEME_DIRECT,
56 "www.google.com", ssl_config_, 0, false, false)), 56 "www.google.com", 443, ssl_config_, 0, false, false)),
57 tcp_histograms_("MockTCP"), 57 tcp_histograms_("MockTCP"),
58 tcp_socket_pool_( 58 tcp_socket_pool_(
59 kMaxSockets, kMaxSocketsPerGroup, 59 kMaxSockets, kMaxSocketsPerGroup,
60 &tcp_histograms_, 60 &tcp_histograms_,
61 &socket_factory_), 61 &socket_factory_),
62 ssl_histograms_("MockSSL"), 62 ssl_histograms_("MockSSL"),
63 ssl_config_service_(new SSLConfigServiceDefaults), 63 ssl_config_service_(new SSLConfigServiceDefaults),
64 host_resolver_(new MockHostResolver), 64 host_resolver_(new MockHostResolver),
65 ssl_socket_pool_(kMaxSockets, kMaxSocketsPerGroup, 65 ssl_socket_pool_(kMaxSockets, kMaxSocketsPerGroup,
66 &ssl_histograms_, 66 &ssl_histograms_,
(...skipping 341 matching lines...) Expand 10 before | Expand all | Expand 10 after
408 InitializeSpdySsl(); 408 InitializeSpdySsl();
409 } 409 }
410 socket_factory().AddSSLSocketDataProvider(ssl_data_.get()); 410 socket_factory().AddSSLSocketDataProvider(ssl_data_.get());
411 411
412 int rv = handle_.Init("a", GetTunnelParams(), LOW, &callback_, &pool_, 412 int rv = handle_.Init("a", GetTunnelParams(), LOW, &callback_, &pool_,
413 BoundNetLog()); 413 BoundNetLog());
414 EXPECT_EQ(ERR_IO_PENDING, rv); 414 EXPECT_EQ(ERR_IO_PENDING, rv);
415 EXPECT_FALSE(handle_.is_initialized()); 415 EXPECT_FALSE(handle_.is_initialized());
416 EXPECT_FALSE(handle_.socket()); 416 EXPECT_FALSE(handle_.socket());
417 417
418 EXPECT_EQ(ERR_PROXY_AUTH_UNSUPPORTED, callback_.WaitForResult()); 418 EXPECT_EQ(ERR_SSL_CLIENT_AUTH_CERT_NEEDED, callback_.WaitForResult());
419 419
420 EXPECT_FALSE(handle_.is_initialized()); 420 EXPECT_FALSE(handle_.is_initialized());
421 EXPECT_FALSE(handle_.socket()); 421 EXPECT_FALSE(handle_.socket());
422 } 422 }
423 423
424 TEST_P(HttpProxyClientSocketPoolTest, TunnelUnexpectedClose) { 424 TEST_P(HttpProxyClientSocketPoolTest, TunnelUnexpectedClose) {
425 MockWrite writes[] = { 425 MockWrite writes[] = {
426 MockWrite(true, 0, 426 MockWrite(true, 0,
427 "CONNECT www.google.com:443 HTTP/1.1\r\n" 427 "CONNECT www.google.com:443 HTTP/1.1\r\n"
428 "Host: www.google.com\r\n" 428 "Host: www.google.com\r\n"
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
497 data_->RunFor(2); 497 data_->RunFor(2);
498 498
499 EXPECT_EQ(ERR_TUNNEL_CONNECTION_FAILED, callback_.WaitForResult()); 499 EXPECT_EQ(ERR_TUNNEL_CONNECTION_FAILED, callback_.WaitForResult());
500 EXPECT_FALSE(handle_.is_initialized()); 500 EXPECT_FALSE(handle_.is_initialized());
501 EXPECT_FALSE(handle_.socket()); 501 EXPECT_FALSE(handle_.socket());
502 } 502 }
503 503
504 // It would be nice to also test the timeouts in HttpProxyClientSocketPool. 504 // It would be nice to also test the timeouts in HttpProxyClientSocketPool.
505 505
506 } // namespace net 506 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698