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

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

Issue 15829004: Update net/ to use scoped_refptr<T>::get() rather than implicit "operator T*" (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: license twerk Created 7 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
« no previous file with comments | « net/http/http_stream_factory_impl_request.cc ('k') | net/http/http_stream_parser.cc » ('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_stream_factory_impl.h" 5 #include "net/http/http_stream_factory_impl.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/basictypes.h" 9 #include "base/basictypes.h"
10 #include "net/base/net_log.h" 10 #include "net/base/net_log.h"
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after
145 scoped_ptr<HttpAuthHandlerFactory> http_auth_handler_factory; 145 scoped_ptr<HttpAuthHandlerFactory> http_auth_handler_factory;
146 HttpServerPropertiesImpl http_server_properties; 146 HttpServerPropertiesImpl http_server_properties;
147 NetLog* net_log; 147 NetLog* net_log;
148 }; 148 };
149 149
150 HttpNetworkSession* CreateSession(SessionDependencies* session_deps) { 150 HttpNetworkSession* CreateSession(SessionDependencies* session_deps) {
151 HttpNetworkSession::Params params; 151 HttpNetworkSession::Params params;
152 params.host_resolver = session_deps->host_resolver.get(); 152 params.host_resolver = session_deps->host_resolver.get();
153 params.cert_verifier = session_deps->cert_verifier.get(); 153 params.cert_verifier = session_deps->cert_verifier.get();
154 params.proxy_service = session_deps->proxy_service.get(); 154 params.proxy_service = session_deps->proxy_service.get();
155 params.ssl_config_service = session_deps->ssl_config_service; 155 params.ssl_config_service = session_deps->ssl_config_service.get();
156 params.client_socket_factory = &session_deps->socket_factory; 156 params.client_socket_factory = &session_deps->socket_factory;
157 params.http_auth_handler_factory = 157 params.http_auth_handler_factory =
158 session_deps->http_auth_handler_factory.get(); 158 session_deps->http_auth_handler_factory.get();
159 params.net_log = session_deps->net_log; 159 params.net_log = session_deps->net_log;
160 params.http_server_properties = &session_deps->http_server_properties; 160 params.http_server_properties = &session_deps->http_server_properties;
161 return new HttpNetworkSession(params); 161 return new HttpNetworkSession(params);
162 } 162 }
163 163
164 struct TestCase { 164 struct TestCase {
165 int num_streams; 165 int num_streams;
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after
314 session_deps.cert_verifier.get()); 314 session_deps.cert_verifier.get());
315 CapturePreconnectsSSLSocketPool* ssl_conn_pool = 315 CapturePreconnectsSSLSocketPool* ssl_conn_pool =
316 new CapturePreconnectsSSLSocketPool( 316 new CapturePreconnectsSSLSocketPool(
317 session_deps.host_resolver.get(), 317 session_deps.host_resolver.get(),
318 session_deps.cert_verifier.get()); 318 session_deps.cert_verifier.get());
319 MockClientSocketPoolManager* mock_pool_manager = 319 MockClientSocketPoolManager* mock_pool_manager =
320 new MockClientSocketPoolManager; 320 new MockClientSocketPoolManager;
321 mock_pool_manager->SetTransportSocketPool(transport_conn_pool); 321 mock_pool_manager->SetTransportSocketPool(transport_conn_pool);
322 mock_pool_manager->SetSSLSocketPool(ssl_conn_pool); 322 mock_pool_manager->SetSSLSocketPool(ssl_conn_pool);
323 peer.SetClientSocketPoolManager(mock_pool_manager); 323 peer.SetClientSocketPoolManager(mock_pool_manager);
324 PreconnectHelper(kTests[i], session); 324 PreconnectHelper(kTests[i], session.get());
325 if (kTests[i].ssl) 325 if (kTests[i].ssl)
326 EXPECT_EQ(kTests[i].num_streams, ssl_conn_pool->last_num_streams()); 326 EXPECT_EQ(kTests[i].num_streams, ssl_conn_pool->last_num_streams());
327 else 327 else
328 EXPECT_EQ(kTests[i].num_streams, transport_conn_pool->last_num_streams()); 328 EXPECT_EQ(kTests[i].num_streams, transport_conn_pool->last_num_streams());
329 } 329 }
330 } 330 }
331 331
332 TEST(HttpStreamFactoryTest, PreconnectHttpProxy) { 332 TEST(HttpStreamFactoryTest, PreconnectHttpProxy) {
333 for (size_t i = 0; i < arraysize(kTests); ++i) { 333 for (size_t i = 0; i < arraysize(kTests); ++i) {
334 SessionDependencies session_deps(ProxyService::CreateFixed("http_proxy")); 334 SessionDependencies session_deps(ProxyService::CreateFixed("http_proxy"));
335 scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); 335 scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps));
336 HttpNetworkSessionPeer peer(session); 336 HttpNetworkSessionPeer peer(session);
337 HostPortPair proxy_host("http_proxy", 80); 337 HostPortPair proxy_host("http_proxy", 80);
338 CapturePreconnectsHttpProxySocketPool* http_proxy_pool = 338 CapturePreconnectsHttpProxySocketPool* http_proxy_pool =
339 new CapturePreconnectsHttpProxySocketPool( 339 new CapturePreconnectsHttpProxySocketPool(
340 session_deps.host_resolver.get(), 340 session_deps.host_resolver.get(),
341 session_deps.cert_verifier.get()); 341 session_deps.cert_verifier.get());
342 CapturePreconnectsSSLSocketPool* ssl_conn_pool = 342 CapturePreconnectsSSLSocketPool* ssl_conn_pool =
343 new CapturePreconnectsSSLSocketPool( 343 new CapturePreconnectsSSLSocketPool(
344 session_deps.host_resolver.get(), 344 session_deps.host_resolver.get(),
345 session_deps.cert_verifier.get()); 345 session_deps.cert_verifier.get());
346 MockClientSocketPoolManager* mock_pool_manager = 346 MockClientSocketPoolManager* mock_pool_manager =
347 new MockClientSocketPoolManager; 347 new MockClientSocketPoolManager;
348 mock_pool_manager->SetSocketPoolForHTTPProxy(proxy_host, http_proxy_pool); 348 mock_pool_manager->SetSocketPoolForHTTPProxy(proxy_host, http_proxy_pool);
349 mock_pool_manager->SetSocketPoolForSSLWithProxy(proxy_host, ssl_conn_pool); 349 mock_pool_manager->SetSocketPoolForSSLWithProxy(proxy_host, ssl_conn_pool);
350 peer.SetClientSocketPoolManager(mock_pool_manager); 350 peer.SetClientSocketPoolManager(mock_pool_manager);
351 PreconnectHelper(kTests[i], session); 351 PreconnectHelper(kTests[i], session.get());
352 if (kTests[i].ssl) 352 if (kTests[i].ssl)
353 EXPECT_EQ(kTests[i].num_streams, ssl_conn_pool->last_num_streams()); 353 EXPECT_EQ(kTests[i].num_streams, ssl_conn_pool->last_num_streams());
354 else 354 else
355 EXPECT_EQ(kTests[i].num_streams, http_proxy_pool->last_num_streams()); 355 EXPECT_EQ(kTests[i].num_streams, http_proxy_pool->last_num_streams());
356 } 356 }
357 } 357 }
358 358
359 TEST(HttpStreamFactoryTest, PreconnectSocksProxy) { 359 TEST(HttpStreamFactoryTest, PreconnectSocksProxy) {
360 for (size_t i = 0; i < arraysize(kTests); ++i) { 360 for (size_t i = 0; i < arraysize(kTests); ++i) {
361 SessionDependencies session_deps( 361 SessionDependencies session_deps(
362 ProxyService::CreateFixed("socks4://socks_proxy:1080")); 362 ProxyService::CreateFixed("socks4://socks_proxy:1080"));
363 scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); 363 scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps));
364 HttpNetworkSessionPeer peer(session); 364 HttpNetworkSessionPeer peer(session);
365 HostPortPair proxy_host("socks_proxy", 1080); 365 HostPortPair proxy_host("socks_proxy", 1080);
366 CapturePreconnectsSOCKSSocketPool* socks_proxy_pool = 366 CapturePreconnectsSOCKSSocketPool* socks_proxy_pool =
367 new CapturePreconnectsSOCKSSocketPool( 367 new CapturePreconnectsSOCKSSocketPool(
368 session_deps.host_resolver.get(), 368 session_deps.host_resolver.get(),
369 session_deps.cert_verifier.get()); 369 session_deps.cert_verifier.get());
370 CapturePreconnectsSSLSocketPool* ssl_conn_pool = 370 CapturePreconnectsSSLSocketPool* ssl_conn_pool =
371 new CapturePreconnectsSSLSocketPool( 371 new CapturePreconnectsSSLSocketPool(
372 session_deps.host_resolver.get(), 372 session_deps.host_resolver.get(),
373 session_deps.cert_verifier.get()); 373 session_deps.cert_verifier.get());
374 MockClientSocketPoolManager* mock_pool_manager = 374 MockClientSocketPoolManager* mock_pool_manager =
375 new MockClientSocketPoolManager; 375 new MockClientSocketPoolManager;
376 mock_pool_manager->SetSocketPoolForSOCKSProxy(proxy_host, socks_proxy_pool); 376 mock_pool_manager->SetSocketPoolForSOCKSProxy(proxy_host, socks_proxy_pool);
377 mock_pool_manager->SetSocketPoolForSSLWithProxy(proxy_host, ssl_conn_pool); 377 mock_pool_manager->SetSocketPoolForSSLWithProxy(proxy_host, ssl_conn_pool);
378 peer.SetClientSocketPoolManager(mock_pool_manager); 378 peer.SetClientSocketPoolManager(mock_pool_manager);
379 PreconnectHelper(kTests[i], session); 379 PreconnectHelper(kTests[i], session.get());
380 if (kTests[i].ssl) 380 if (kTests[i].ssl)
381 EXPECT_EQ(kTests[i].num_streams, ssl_conn_pool->last_num_streams()); 381 EXPECT_EQ(kTests[i].num_streams, ssl_conn_pool->last_num_streams());
382 else 382 else
383 EXPECT_EQ(kTests[i].num_streams, socks_proxy_pool->last_num_streams()); 383 EXPECT_EQ(kTests[i].num_streams, socks_proxy_pool->last_num_streams());
384 } 384 }
385 } 385 }
386 386
387 TEST(HttpStreamFactoryTest, PreconnectDirectWithExistingSpdySession) { 387 TEST(HttpStreamFactoryTest, PreconnectDirectWithExistingSpdySession) {
388 for (size_t i = 0; i < arraysize(kTests); ++i) { 388 for (size_t i = 0; i < arraysize(kTests); ++i) {
389 SessionDependencies session_deps(ProxyService::CreateDirect()); 389 SessionDependencies session_deps(ProxyService::CreateDirect());
(...skipping 13 matching lines...) Expand all
403 session_deps.cert_verifier.get()); 403 session_deps.cert_verifier.get());
404 CapturePreconnectsSSLSocketPool* ssl_conn_pool = 404 CapturePreconnectsSSLSocketPool* ssl_conn_pool =
405 new CapturePreconnectsSSLSocketPool( 405 new CapturePreconnectsSSLSocketPool(
406 session_deps.host_resolver.get(), 406 session_deps.host_resolver.get(),
407 session_deps.cert_verifier.get()); 407 session_deps.cert_verifier.get());
408 MockClientSocketPoolManager* mock_pool_manager = 408 MockClientSocketPoolManager* mock_pool_manager =
409 new MockClientSocketPoolManager; 409 new MockClientSocketPoolManager;
410 mock_pool_manager->SetTransportSocketPool(transport_conn_pool); 410 mock_pool_manager->SetTransportSocketPool(transport_conn_pool);
411 mock_pool_manager->SetSSLSocketPool(ssl_conn_pool); 411 mock_pool_manager->SetSSLSocketPool(ssl_conn_pool);
412 peer.SetClientSocketPoolManager(mock_pool_manager); 412 peer.SetClientSocketPoolManager(mock_pool_manager);
413 PreconnectHelper(kTests[i], session); 413 PreconnectHelper(kTests[i], session.get());
414 // We shouldn't be preconnecting if we have an existing session, which is 414 // We shouldn't be preconnecting if we have an existing session, which is
415 // the case for https://www.google.com. 415 // the case for https://www.google.com.
416 if (kTests[i].ssl) 416 if (kTests[i].ssl)
417 EXPECT_EQ(-1, ssl_conn_pool->last_num_streams()); 417 EXPECT_EQ(-1, ssl_conn_pool->last_num_streams());
418 else 418 else
419 EXPECT_EQ(kTests[i].num_streams, transport_conn_pool->last_num_streams()); 419 EXPECT_EQ(kTests[i].num_streams, transport_conn_pool->last_num_streams());
420 } 420 }
421 } 421 }
422 422
423 // Verify that preconnects to unsafe ports are cancelled before they reach 423 // Verify that preconnects to unsafe ports are cancelled before they reach
424 // the SocketPool. 424 // the SocketPool.
425 TEST(HttpStreamFactoryTest, PreconnectUnsafePort) { 425 TEST(HttpStreamFactoryTest, PreconnectUnsafePort) {
426 ASSERT_FALSE(IsPortAllowedByDefault(7)); 426 ASSERT_FALSE(IsPortAllowedByDefault(7));
427 ASSERT_FALSE(IsPortAllowedByOverride(7)); 427 ASSERT_FALSE(IsPortAllowedByOverride(7));
428 428
429 SessionDependencies session_deps(ProxyService::CreateDirect()); 429 SessionDependencies session_deps(ProxyService::CreateDirect());
430 scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); 430 scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps));
431 HttpNetworkSessionPeer peer(session); 431 HttpNetworkSessionPeer peer(session);
432 CapturePreconnectsTransportSocketPool* transport_conn_pool = 432 CapturePreconnectsTransportSocketPool* transport_conn_pool =
433 new CapturePreconnectsTransportSocketPool( 433 new CapturePreconnectsTransportSocketPool(
434 session_deps.host_resolver.get(), 434 session_deps.host_resolver.get(),
435 session_deps.cert_verifier.get()); 435 session_deps.cert_verifier.get());
436 MockClientSocketPoolManager* mock_pool_manager = 436 MockClientSocketPoolManager* mock_pool_manager =
437 new MockClientSocketPoolManager; 437 new MockClientSocketPoolManager;
438 mock_pool_manager->SetTransportSocketPool(transport_conn_pool); 438 mock_pool_manager->SetTransportSocketPool(transport_conn_pool);
439 peer.SetClientSocketPoolManager(mock_pool_manager); 439 peer.SetClientSocketPoolManager(mock_pool_manager);
440 440
441 PreconnectHelperForURL(1, GURL("http://www.google.com:7"), session); 441 PreconnectHelperForURL(1, GURL("http://www.google.com:7"), session.get());
442 442
443 EXPECT_EQ(-1, transport_conn_pool->last_num_streams()); 443 EXPECT_EQ(-1, transport_conn_pool->last_num_streams());
444 } 444 }
445 445
446 TEST(HttpStreamFactoryTest, JobNotifiesProxy) { 446 TEST(HttpStreamFactoryTest, JobNotifiesProxy) {
447 const char* kProxyString = "PROXY bad:99; PROXY maybe:80; DIRECT"; 447 const char* kProxyString = "PROXY bad:99; PROXY maybe:80; DIRECT";
448 SessionDependencies session_deps( 448 SessionDependencies session_deps(
449 ProxyService::CreateFixedFromPacResult(kProxyString)); 449 ProxyService::CreateFixedFromPacResult(kProxyString));
450 450
451 // First connection attempt fails 451 // First connection attempt fails
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after
606 &waiter, BoundNetLog())); 606 &waiter, BoundNetLog()));
607 607
608 EXPECT_EQ(LOAD_STATE_RESOLVING_HOST, request->GetLoadState()); 608 EXPECT_EQ(LOAD_STATE_RESOLVING_HOST, request->GetLoadState());
609 609
610 waiter.WaitForStream(); 610 waiter.WaitForStream();
611 } 611 }
612 612
613 } // namespace 613 } // namespace
614 614
615 } // namespace net 615 } // namespace net
OLDNEW
« no previous file with comments | « net/http/http_stream_factory_impl_request.cc ('k') | net/http/http_stream_parser.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698