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

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

Issue 2802015: Massively simplify the NetworkChangeNotifier infrastructure:... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 10 years, 6 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
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_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 <vector> 8 #include <vector>
9 9
10 #include "base/basictypes.h" 10 #include "base/basictypes.h"
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
76 76
77 // Helper to manage the lifetimes of the dependencies for a 77 // Helper to manage the lifetimes of the dependencies for a
78 // HttpNetworkTransaction. 78 // HttpNetworkTransaction.
79 struct SessionDependencies { 79 struct SessionDependencies {
80 // Default set of dependencies -- "null" proxy service. 80 // Default set of dependencies -- "null" proxy service.
81 SessionDependencies() 81 SessionDependencies()
82 : host_resolver(new MockHostResolver), 82 : host_resolver(new MockHostResolver),
83 proxy_service(ProxyService::CreateNull()), 83 proxy_service(ProxyService::CreateNull()),
84 ssl_config_service(new SSLConfigServiceDefaults), 84 ssl_config_service(new SSLConfigServiceDefaults),
85 http_auth_handler_factory(HttpAuthHandlerFactory::CreateDefault()), 85 http_auth_handler_factory(HttpAuthHandlerFactory::CreateDefault()),
86 spdy_session_pool(new SpdySessionPool(NULL)) {} 86 spdy_session_pool(new SpdySessionPool()) {}
87 87
88 // Custom proxy service dependency. 88 // Custom proxy service dependency.
89 explicit SessionDependencies(ProxyService* proxy_service) 89 explicit SessionDependencies(ProxyService* proxy_service)
90 : host_resolver(new MockHostResolver), 90 : host_resolver(new MockHostResolver),
91 proxy_service(proxy_service), 91 proxy_service(proxy_service),
92 ssl_config_service(new SSLConfigServiceDefaults), 92 ssl_config_service(new SSLConfigServiceDefaults),
93 http_auth_handler_factory(HttpAuthHandlerFactory::CreateDefault()), 93 http_auth_handler_factory(HttpAuthHandlerFactory::CreateDefault()),
94 spdy_session_pool(new SpdySessionPool(NULL)) {} 94 spdy_session_pool(new SpdySessionPool()) {}
95 95
96 scoped_refptr<MockHostResolverBase> host_resolver; 96 scoped_refptr<MockHostResolverBase> host_resolver;
97 scoped_refptr<ProxyService> proxy_service; 97 scoped_refptr<ProxyService> proxy_service;
98 scoped_refptr<SSLConfigService> ssl_config_service; 98 scoped_refptr<SSLConfigService> ssl_config_service;
99 MockClientSocketFactory socket_factory; 99 MockClientSocketFactory socket_factory;
100 scoped_ptr<HttpAuthHandlerFactory> http_auth_handler_factory; 100 scoped_ptr<HttpAuthHandlerFactory> http_auth_handler_factory;
101 scoped_refptr<SpdySessionPool> spdy_session_pool; 101 scoped_refptr<SpdySessionPool> spdy_session_pool;
102 }; 102 };
103 103
104 ProxyService* CreateFixedProxyService(const std::string& proxy) { 104 ProxyService* CreateFixedProxyService(const std::string& proxy) {
105 net::ProxyConfig proxy_config; 105 net::ProxyConfig proxy_config;
106 proxy_config.proxy_rules().ParseFromString(proxy); 106 proxy_config.proxy_rules().ParseFromString(proxy);
107 return ProxyService::CreateFixed(proxy_config); 107 return ProxyService::CreateFixed(proxy_config);
108 } 108 }
109 109
110 HttpNetworkSession* CreateSession(SessionDependencies* session_deps) { 110 HttpNetworkSession* CreateSession(SessionDependencies* session_deps) {
111 return new HttpNetworkSession(NULL, 111 return new HttpNetworkSession(session_deps->host_resolver,
112 session_deps->host_resolver,
113 session_deps->proxy_service, 112 session_deps->proxy_service,
114 &session_deps->socket_factory, 113 &session_deps->socket_factory,
115 session_deps->ssl_config_service, 114 session_deps->ssl_config_service,
116 session_deps->spdy_session_pool, 115 session_deps->spdy_session_pool,
117 session_deps->http_auth_handler_factory.get(), 116 session_deps->http_auth_handler_factory.get(),
118 NULL, 117 NULL,
119 NULL); 118 NULL);
120 } 119 }
121 120
122 class HttpNetworkTransactionTest : public PlatformTest { 121 class HttpNetworkTransactionTest : public PlatformTest {
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
234 233
235 std::string MockGetHostName() { 234 std::string MockGetHostName() {
236 return "WTC-WIN7"; 235 return "WTC-WIN7";
237 } 236 }
238 237
239 template<typename EmulatedClientSocketPool> 238 template<typename EmulatedClientSocketPool>
240 class CaptureGroupNameSocketPool : public EmulatedClientSocketPool { 239 class CaptureGroupNameSocketPool : public EmulatedClientSocketPool {
241 public: 240 public:
242 explicit CaptureGroupNameSocketPool(HttpNetworkSession* session) 241 explicit CaptureGroupNameSocketPool(HttpNetworkSession* session)
243 : EmulatedClientSocketPool(0, 0, NULL, session->host_resolver(), NULL, 242 : EmulatedClientSocketPool(0, 0, NULL, session->host_resolver(), NULL,
244 NULL, NULL) {} 243 NULL) {
244 }
245 const std::string last_group_name_received() const { 245 const std::string last_group_name_received() const {
246 return last_group_name_; 246 return last_group_name_;
247 } 247 }
248 248
249 virtual int RequestSocket(const std::string& group_name, 249 virtual int RequestSocket(const std::string& group_name,
250 const void* socket_params, 250 const void* socket_params,
251 RequestPriority priority, 251 RequestPriority priority,
252 ClientSocketHandle* handle, 252 ClientSocketHandle* handle,
253 CompletionCallback* callback, 253 CompletionCallback* callback,
254 const BoundNetLog& net_log) { 254 const BoundNetLog& net_log) {
(...skipping 4987 matching lines...) Expand 10 before | Expand all | Expand 10 after
5242 HttpNetworkTransaction::SetUseAlternateProtocols(true); 5242 HttpNetworkTransaction::SetUseAlternateProtocols(true);
5243 HttpNetworkTransaction::SetNextProtos( 5243 HttpNetworkTransaction::SetNextProtos(
5244 "\x08http/1.1\x07http1.1\x06spdy/1\x04spdy"); 5244 "\x08http/1.1\x07http1.1\x06spdy/1\x04spdy");
5245 5245
5246 ProxyConfig proxy_config; 5246 ProxyConfig proxy_config;
5247 proxy_config.set_auto_detect(true); 5247 proxy_config.set_auto_detect(true);
5248 proxy_config.set_pac_url(GURL("http://fooproxyurl")); 5248 proxy_config.set_pac_url(GURL("http://fooproxyurl"));
5249 5249
5250 CapturingProxyResolver* capturing_proxy_resolver = 5250 CapturingProxyResolver* capturing_proxy_resolver =
5251 new CapturingProxyResolver(); 5251 new CapturingProxyResolver();
5252 SessionDependencies session_deps( 5252 SessionDependencies session_deps(new ProxyService(
5253 new ProxyService(new ProxyConfigServiceFixed(proxy_config), 5253 new ProxyConfigServiceFixed(proxy_config), capturing_proxy_resolver,
5254 capturing_proxy_resolver, 5254 NULL));
5255 NULL,
5256 NULL));
5257 5255
5258 HttpRequestInfo request; 5256 HttpRequestInfo request;
5259 request.method = "GET"; 5257 request.method = "GET";
5260 request.url = GURL("http://www.google.com/"); 5258 request.url = GURL("http://www.google.com/");
5261 request.load_flags = 0; 5259 request.load_flags = 0;
5262 5260
5263 MockRead data_reads[] = { 5261 MockRead data_reads[] = {
5264 MockRead("HTTP/1.1 200 OK\r\n"), 5262 MockRead("HTTP/1.1 200 OK\r\n"),
5265 MockRead("Alternate-Protocol: 443:npn-spdy/1\r\n\r\n"), 5263 MockRead("Alternate-Protocol: 443:npn-spdy/1\r\n\r\n"),
5266 MockRead("hello world"), 5264 MockRead("hello world"),
(...skipping 872 matching lines...) Expand 10 before | Expand all | Expand 10 after
6139 scoped_ptr<HttpNetworkTransaction> trans(new HttpNetworkTransaction(session)); 6137 scoped_ptr<HttpNetworkTransaction> trans(new HttpNetworkTransaction(session));
6140 6138
6141 int rv = trans->Start(&request, &callback, BoundNetLog()); 6139 int rv = trans->Start(&request, &callback, BoundNetLog());
6142 EXPECT_EQ(ERR_IO_PENDING, rv); 6140 EXPECT_EQ(ERR_IO_PENDING, rv);
6143 EXPECT_EQ(ERR_CONNECTION_CLOSED, callback.WaitForResult()); 6141 EXPECT_EQ(ERR_CONNECTION_CLOSED, callback.WaitForResult());
6144 6142
6145 HttpNetworkTransaction::SetNextProtos(""); 6143 HttpNetworkTransaction::SetNextProtos("");
6146 HttpNetworkTransaction::SetUseAlternateProtocols(false); 6144 HttpNetworkTransaction::SetUseAlternateProtocols(false);
6147 } 6145 }
6148 } // namespace net 6146 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698