Chromium Code Reviews| Index: chrome/browser/net/connection_tester_unittest.cc |
| diff --git a/chrome/browser/net/connection_tester_unittest.cc b/chrome/browser/net/connection_tester_unittest.cc |
| index 409c676ea01c36e6a2f8fafb323c0f468cc003ee..669476f35aa21d7715c90f2334e18facffc43129 100644 |
| --- a/chrome/browser/net/connection_tester_unittest.cc |
| +++ b/chrome/browser/net/connection_tester_unittest.cc |
| @@ -4,10 +4,23 @@ |
| #include "chrome/browser/net/connection_tester.h" |
| -#include "chrome/browser/io_thread.h" |
| +#include "chrome/browser/browser_thread.h" |
| #include "chrome/test/testing_pref_service.h" |
| +#include "net/base/cert_verifier.h" |
| +#include "net/base/cookie_monster.h" |
| +#include "net/base/dnsrr_resolver.h" |
| #include "net/base/mock_host_resolver.h" |
| +#include "net/base/ssl_config_service_defaults.h" |
| +#include "net/disk_cache/disk_cache.h" |
|
eroman
2010/12/23 01:40:59
is this header necessary?
willchan no longer on Chromium
2010/12/23 23:51:58
Done.
|
| +#include "net/ftp/ftp_network_layer.h" |
| +#include "net/http/http_auth_handler_factory.h" |
| +#include "net/http/http_network_layer.h" |
| +#include "net/proxy/proxy_config_service_fixed.h" |
| +#include "net/proxy/proxy_script_fetcher_impl.h" |
|
eroman
2010/12/23 01:40:59
Is this header necessary?
willchan no longer on Chromium
2010/12/23 23:51:58
Done.
|
| +#include "net/socket/client_socket_factory.h" |
| +#include "net/spdy/spdy_session_pool.h" |
| #include "net/test/test_server.h" |
| +#include "net/url_request/url_request_context.h" |
| #include "testing/gtest/include/gtest/gtest.h" |
| #include "testing/platform_test.h" |
| @@ -76,30 +89,63 @@ class ConnectionTesterTest : public PlatformTest { |
| ConnectionTesterTest() |
| : test_server_(net::TestServer::TYPE_HTTP, |
| FilePath(FILE_PATH_LITERAL("net/data/url_request_unittest"))), |
| + client_socket_factory_(net::ClientSocketFactory::GetDefaultFactory()), |
| + proxy_script_fetcher_context_(new URLRequestContext), |
| message_loop_(MessageLoop::TYPE_IO), |
| - pref_service(new TestingPrefService()), |
| - io_thread_(pref_service.get(), NULL) { |
| - scoped_refptr<net::RuleBasedHostResolverProc> catchall_resolver( |
| - new net::RuleBasedHostResolverProc(NULL)); |
| - |
| - catchall_resolver->AddRule("*", "127.0.0.1"); |
| - |
| - scoped_host_resolver_proc_.Init(catchall_resolver); |
| + io_thread_(BrowserThread::IO, &message_loop_) { |
| + InitializeRequestContext(); |
| } |
| protected: |
| - net::ScopedDefaultHostResolverProc scoped_host_resolver_proc_; |
| net::TestServer test_server_; |
| ConnectionTesterDelegate test_delegate_; |
| + net::ClientSocketFactory* const client_socket_factory_; |
| + net::MockHostResolver host_resolver_; |
| + net::CertVerifier cert_verifier_; |
| + net::DnsRRResolver dnsrr_resolver_; |
| + scoped_refptr<net::ProxyService> proxy_service_; |
| + scoped_refptr<net::SSLConfigService> ssl_config_service_; |
| + scoped_ptr<net::HttpTransactionFactory> http_transaction_factory_; |
| + net::HttpAuthHandlerRegistryFactory http_auth_handler_factory_; |
| + scoped_refptr<URLRequestContext> proxy_script_fetcher_context_; |
| + |
| + private: |
| + void InitializeRequestContext() { |
| + proxy_script_fetcher_context_->set_host_resolver(&host_resolver_); |
| + proxy_script_fetcher_context_->set_cert_verifier(&cert_verifier_); |
| + proxy_script_fetcher_context_->set_dnsrr_resolver(&dnsrr_resolver_); |
| + proxy_script_fetcher_context_->set_http_auth_handler_factory( |
| + &http_auth_handler_factory_); |
| + proxy_service_ = net::ProxyService::CreateDirect(); |
| + proxy_script_fetcher_context_->set_proxy_service(proxy_service_); |
| + ssl_config_service_ = net::SSLConfigService::CreateSystemSSLConfigService(); |
| + proxy_script_fetcher_context_->set_http_transaction_factory( |
| + new net::HttpNetworkLayer( |
| + client_socket_factory_, |
| + &host_resolver_, |
| + &cert_verifier_, |
| + &dnsrr_resolver_, |
| + NULL /* DNS cert provenance checker */, |
| + NULL /* ssl_host_info_factory */, |
| + proxy_service_.get(), |
| + ssl_config_service_, |
| + new net::SpdySessionPool(ssl_config_service_), |
| + &http_auth_handler_factory_, |
| + NULL /* NetworkDelegate */, |
| + NULL /* NetLog */)); |
| + // In-memory cookie store. |
| + proxy_script_fetcher_context_->set_cookie_store( |
| + new net::CookieMonster(NULL, NULL)); |
| + } |
| + |
| MessageLoop message_loop_; |
| - scoped_ptr<PrefService> pref_service; |
| - IOThread io_thread_; // Needed for creating ProxyScriptFetchers. |
| + BrowserThread io_thread_; |
| }; |
| TEST_F(ConnectionTesterTest, RunAllTests) { |
| ASSERT_TRUE(test_server_.Start()); |
| - ConnectionTester tester(&test_delegate_, &io_thread_); |
| + ConnectionTester tester(&test_delegate_, proxy_script_fetcher_context_); |
| // Start the test suite on URL "echoall". |
| // TODO(eroman): Is this URL right? |
| @@ -124,7 +170,7 @@ TEST_F(ConnectionTesterTest, DeleteWhileInProgress) { |
| ASSERT_TRUE(test_server_.Start()); |
| scoped_ptr<ConnectionTester> tester( |
| - new ConnectionTester(&test_delegate_, &io_thread_)); |
| + new ConnectionTester(&test_delegate_, proxy_script_fetcher_context_)); |
| // Start the test suite on URL "echoall". |
| // TODO(eroman): Is this URL right? |
| @@ -153,4 +199,3 @@ TEST_F(ConnectionTesterTest, DeleteWhileInProgress) { |
| } |
| } // namespace |
| - |