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

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

Issue 8572041: Make ClientSocketPoolManager into an interface. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Merge. Created 9 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
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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_network_transaction.h" 5 #include "net/http/http_network_transaction.h"
6 6
7 #include <math.h> // ceil 7 #include <math.h> // ceil
8 #include <stdarg.h> 8 #include <stdarg.h>
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
(...skipping 27 matching lines...) Expand all
38 #include "net/http/http_network_session.h" 38 #include "net/http/http_network_session.h"
39 #include "net/http/http_network_session_peer.h" 39 #include "net/http/http_network_session_peer.h"
40 #include "net/http/http_server_properties_impl.h" 40 #include "net/http/http_server_properties_impl.h"
41 #include "net/http/http_stream.h" 41 #include "net/http/http_stream.h"
42 #include "net/http/http_stream_factory.h" 42 #include "net/http/http_stream_factory.h"
43 #include "net/http/http_transaction_unittest.h" 43 #include "net/http/http_transaction_unittest.h"
44 #include "net/proxy/proxy_config_service_fixed.h" 44 #include "net/proxy/proxy_config_service_fixed.h"
45 #include "net/proxy/proxy_resolver.h" 45 #include "net/proxy/proxy_resolver.h"
46 #include "net/proxy/proxy_service.h" 46 #include "net/proxy/proxy_service.h"
47 #include "net/socket/client_socket_factory.h" 47 #include "net/socket/client_socket_factory.h"
48 #include "net/socket/mock_client_socket_pool_manager.h"
48 #include "net/socket/socket_test_util.h" 49 #include "net/socket/socket_test_util.h"
49 #include "net/socket/ssl_client_socket.h" 50 #include "net/socket/ssl_client_socket.h"
50 #include "net/spdy/spdy_framer.h" 51 #include "net/spdy/spdy_framer.h"
51 #include "net/spdy/spdy_session.h" 52 #include "net/spdy/spdy_session.h"
52 #include "net/spdy/spdy_session_pool.h" 53 #include "net/spdy/spdy_session_pool.h"
53 #include "net/spdy/spdy_test_util.h" 54 #include "net/spdy/spdy_test_util.h"
54 #include "testing/gtest/include/gtest/gtest.h" 55 #include "testing/gtest/include/gtest/gtest.h"
55 #include "testing/platform_test.h" 56 #include "testing/platform_test.h"
56 57
57 //----------------------------------------------------------------------------- 58 //-----------------------------------------------------------------------------
(...skipping 5561 matching lines...) Expand 10 before | Expand all | Expand 10 after
5619 5620
5620 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(tests); ++i) { 5621 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(tests); ++i) {
5621 SessionDependencies session_deps( 5622 SessionDependencies session_deps(
5622 ProxyService::CreateFixed(tests[i].proxy_server)); 5623 ProxyService::CreateFixed(tests[i].proxy_server));
5623 scoped_refptr<HttpNetworkSession> session( 5624 scoped_refptr<HttpNetworkSession> session(
5624 SetupSessionForGroupNameTests(&session_deps)); 5625 SetupSessionForGroupNameTests(&session_deps));
5625 5626
5626 HttpNetworkSessionPeer peer(session); 5627 HttpNetworkSessionPeer peer(session);
5627 CaptureGroupNameTransportSocketPool* transport_conn_pool = 5628 CaptureGroupNameTransportSocketPool* transport_conn_pool =
5628 new CaptureGroupNameTransportSocketPool(NULL, NULL); 5629 new CaptureGroupNameTransportSocketPool(NULL, NULL);
5629 peer.SetTransportSocketPool(transport_conn_pool);
5630 CaptureGroupNameSSLSocketPool* ssl_conn_pool = 5630 CaptureGroupNameSSLSocketPool* ssl_conn_pool =
5631 new CaptureGroupNameSSLSocketPool(NULL, NULL); 5631 new CaptureGroupNameSSLSocketPool(NULL, NULL);
5632 peer.SetSSLSocketPool(ssl_conn_pool); 5632 MockClientSocketPoolManager* mock_pool_manager =
5633 new MockClientSocketPoolManager;
5634 mock_pool_manager->SetTransportSocketPool(transport_conn_pool);
5635 mock_pool_manager->SetSSLSocketPool(ssl_conn_pool);
5636 peer.SetClientSocketPoolManager(mock_pool_manager);
5633 5637
5634 EXPECT_EQ(ERR_IO_PENDING, 5638 EXPECT_EQ(ERR_IO_PENDING,
5635 GroupNameTransactionHelper(tests[i].url, session)); 5639 GroupNameTransactionHelper(tests[i].url, session));
5636 if (tests[i].ssl) 5640 if (tests[i].ssl)
5637 EXPECT_EQ(tests[i].expected_group_name, 5641 EXPECT_EQ(tests[i].expected_group_name,
5638 ssl_conn_pool->last_group_name_received()); 5642 ssl_conn_pool->last_group_name_received());
5639 else 5643 else
5640 EXPECT_EQ(tests[i].expected_group_name, 5644 EXPECT_EQ(tests[i].expected_group_name,
5641 transport_conn_pool->last_group_name_received()); 5645 transport_conn_pool->last_group_name_received());
5642 } 5646 }
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
5675 SessionDependencies session_deps( 5679 SessionDependencies session_deps(
5676 ProxyService::CreateFixed(tests[i].proxy_server)); 5680 ProxyService::CreateFixed(tests[i].proxy_server));
5677 scoped_refptr<HttpNetworkSession> session( 5681 scoped_refptr<HttpNetworkSession> session(
5678 SetupSessionForGroupNameTests(&session_deps)); 5682 SetupSessionForGroupNameTests(&session_deps));
5679 5683
5680 HttpNetworkSessionPeer peer(session); 5684 HttpNetworkSessionPeer peer(session);
5681 5685
5682 HostPortPair proxy_host("http_proxy", 80); 5686 HostPortPair proxy_host("http_proxy", 80);
5683 CaptureGroupNameHttpProxySocketPool* http_proxy_pool = 5687 CaptureGroupNameHttpProxySocketPool* http_proxy_pool =
5684 new CaptureGroupNameHttpProxySocketPool(NULL, NULL); 5688 new CaptureGroupNameHttpProxySocketPool(NULL, NULL);
5685 peer.SetSocketPoolForHTTPProxy(proxy_host, http_proxy_pool);
5686 CaptureGroupNameSSLSocketPool* ssl_conn_pool = 5689 CaptureGroupNameSSLSocketPool* ssl_conn_pool =
5687 new CaptureGroupNameSSLSocketPool(NULL, NULL); 5690 new CaptureGroupNameSSLSocketPool(NULL, NULL);
5688 peer.SetSocketPoolForSSLWithProxy(proxy_host, ssl_conn_pool); 5691
5692 MockClientSocketPoolManager* mock_pool_manager =
5693 new MockClientSocketPoolManager;
5694 mock_pool_manager->SetSocketPoolForHTTPProxy(proxy_host, http_proxy_pool);
5695 mock_pool_manager->SetSocketPoolForSSLWithProxy(proxy_host, ssl_conn_pool);
5696 peer.SetClientSocketPoolManager(mock_pool_manager);
5689 5697
5690 EXPECT_EQ(ERR_IO_PENDING, 5698 EXPECT_EQ(ERR_IO_PENDING,
5691 GroupNameTransactionHelper(tests[i].url, session)); 5699 GroupNameTransactionHelper(tests[i].url, session));
5692 if (tests[i].ssl) 5700 if (tests[i].ssl)
5693 EXPECT_EQ(tests[i].expected_group_name, 5701 EXPECT_EQ(tests[i].expected_group_name,
5694 ssl_conn_pool->last_group_name_received()); 5702 ssl_conn_pool->last_group_name_received());
5695 else 5703 else
5696 EXPECT_EQ(tests[i].expected_group_name, 5704 EXPECT_EQ(tests[i].expected_group_name,
5697 http_proxy_pool->last_group_name_received()); 5705 http_proxy_pool->last_group_name_received());
5698 } 5706 }
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
5743 SessionDependencies session_deps( 5751 SessionDependencies session_deps(
5744 ProxyService::CreateFixed(tests[i].proxy_server)); 5752 ProxyService::CreateFixed(tests[i].proxy_server));
5745 scoped_refptr<HttpNetworkSession> session( 5753 scoped_refptr<HttpNetworkSession> session(
5746 SetupSessionForGroupNameTests(&session_deps)); 5754 SetupSessionForGroupNameTests(&session_deps));
5747 5755
5748 HttpNetworkSessionPeer peer(session); 5756 HttpNetworkSessionPeer peer(session);
5749 5757
5750 HostPortPair proxy_host("socks_proxy", 1080); 5758 HostPortPair proxy_host("socks_proxy", 1080);
5751 CaptureGroupNameSOCKSSocketPool* socks_conn_pool = 5759 CaptureGroupNameSOCKSSocketPool* socks_conn_pool =
5752 new CaptureGroupNameSOCKSSocketPool(NULL, NULL); 5760 new CaptureGroupNameSOCKSSocketPool(NULL, NULL);
5753 peer.SetSocketPoolForSOCKSProxy(proxy_host, socks_conn_pool);
5754 CaptureGroupNameSSLSocketPool* ssl_conn_pool = 5761 CaptureGroupNameSSLSocketPool* ssl_conn_pool =
5755 new CaptureGroupNameSSLSocketPool(NULL, NULL); 5762 new CaptureGroupNameSSLSocketPool(NULL, NULL);
5756 peer.SetSocketPoolForSSLWithProxy(proxy_host, ssl_conn_pool); 5763
5764 MockClientSocketPoolManager* mock_pool_manager =
5765 new MockClientSocketPoolManager;
5766 mock_pool_manager->SetSocketPoolForSOCKSProxy(proxy_host, socks_conn_pool);
5767 mock_pool_manager->SetSocketPoolForSSLWithProxy(proxy_host, ssl_conn_pool);
5768 peer.SetClientSocketPoolManager(mock_pool_manager);
5757 5769
5758 scoped_ptr<HttpTransaction> trans(new HttpNetworkTransaction(session)); 5770 scoped_ptr<HttpTransaction> trans(new HttpNetworkTransaction(session));
5759 5771
5760 EXPECT_EQ(ERR_IO_PENDING, 5772 EXPECT_EQ(ERR_IO_PENDING,
5761 GroupNameTransactionHelper(tests[i].url, session)); 5773 GroupNameTransactionHelper(tests[i].url, session));
5762 if (tests[i].ssl) 5774 if (tests[i].ssl)
5763 EXPECT_EQ(tests[i].expected_group_name, 5775 EXPECT_EQ(tests[i].expected_group_name,
5764 ssl_conn_pool->last_group_name_received()); 5776 ssl_conn_pool->last_group_name_received());
5765 else 5777 else
5766 EXPECT_EQ(tests[i].expected_group_name, 5778 EXPECT_EQ(tests[i].expected_group_name,
(...skipping 1987 matching lines...) Expand 10 before | Expand all | Expand 10 after
7754 // each round of multi-round authentication. 7766 // each round of multi-round authentication.
7755 HttpNetworkSessionPeer session_peer(session); 7767 HttpNetworkSessionPeer session_peer(session);
7756 ClientSocketPoolHistograms transport_pool_histograms("SmallTCP"); 7768 ClientSocketPoolHistograms transport_pool_histograms("SmallTCP");
7757 TransportClientSocketPool* transport_pool = new TransportClientSocketPool( 7769 TransportClientSocketPool* transport_pool = new TransportClientSocketPool(
7758 50, // Max sockets for pool 7770 50, // Max sockets for pool
7759 1, // Max sockets per group 7771 1, // Max sockets per group
7760 &transport_pool_histograms, 7772 &transport_pool_histograms,
7761 session_deps.host_resolver.get(), 7773 session_deps.host_resolver.get(),
7762 &session_deps.socket_factory, 7774 &session_deps.socket_factory,
7763 session_deps.net_log); 7775 session_deps.net_log);
7764 session_peer.SetTransportSocketPool(transport_pool); 7776 MockClientSocketPoolManager* mock_pool_manager =
7777 new MockClientSocketPoolManager;
7778 mock_pool_manager->SetTransportSocketPool(transport_pool);
7779 session_peer.SetClientSocketPoolManager(mock_pool_manager);
7765 7780
7766 scoped_ptr<HttpTransaction> trans(new HttpNetworkTransaction(session)); 7781 scoped_ptr<HttpTransaction> trans(new HttpNetworkTransaction(session));
7767 TestOldCompletionCallback callback; 7782 TestOldCompletionCallback callback;
7768 7783
7769 const MockWrite kGet( 7784 const MockWrite kGet(
7770 "GET / HTTP/1.1\r\n" 7785 "GET / HTTP/1.1\r\n"
7771 "Host: www.example.com\r\n" 7786 "Host: www.example.com\r\n"
7772 "Connection: keep-alive\r\n\r\n"); 7787 "Connection: keep-alive\r\n\r\n");
7773 const MockWrite kGetAuth( 7788 const MockWrite kGetAuth(
7774 "GET / HTTP/1.1\r\n" 7789 "GET / HTTP/1.1\r\n"
(...skipping 1447 matching lines...) Expand 10 before | Expand all | Expand 10 after
9222 StaticSocketDataProvider* data[] = { &data1, &data2 }; 9237 StaticSocketDataProvider* data[] = { &data1, &data2 };
9223 9238
9224 SimpleGetHelperResult out = SimpleGetHelperForData(data, arraysize(data)); 9239 SimpleGetHelperResult out = SimpleGetHelperForData(data, arraysize(data));
9225 9240
9226 EXPECT_EQ(OK, out.rv); 9241 EXPECT_EQ(OK, out.rv);
9227 EXPECT_EQ("HTTP/1.0 200 OK", out.status_line); 9242 EXPECT_EQ("HTTP/1.0 200 OK", out.status_line);
9228 EXPECT_EQ("hello world", out.response_data); 9243 EXPECT_EQ("hello world", out.response_data);
9229 } 9244 }
9230 9245
9231 } // namespace net 9246 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698