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..28e8f9f2bbdee24d1741d911a43f9760fb9ee7c7 100644 |
| --- a/chrome/browser/net/connection_tester_unittest.cc |
| +++ b/chrome/browser/net/connection_tester_unittest.cc |
| @@ -4,10 +4,22 @@ |
| #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" |
| +#include "net/ftp/ftp_network_layer.h" |
| +#include "net/http/http_auth_handler_factory.h" |
| +#include "net/http/http_cache.h" |
| +#include "net/http/http_network_layer.h" |
| +#include "net/proxy/proxy_config_service_fixed.h" |
| +#include "net/proxy/proxy_script_fetcher_impl.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 +88,58 @@ class ConnectionTesterTest : public PlatformTest { |
| ConnectionTesterTest() |
| : test_server_(net::TestServer::TYPE_HTTP, |
| FilePath(FILE_PATH_LITERAL("net/data/url_request_unittest"))), |
| + proxy_request_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::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_request_context_; |
|
eroman
2010/12/22 01:27:56
See my naming suggestion.
willchan no longer on Chromium
2010/12/22 02:35:07
Done.
|
| + |
| + private: |
| + void InitializeRequestContext() { |
| + proxy_request_context_->set_host_resolver(&host_resolver_); |
| + proxy_request_context_->set_cert_verifier(&cert_verifier_); |
|
eroman
2010/12/22 01:27:56
In theory you can set a number of these dependenci
willchan no longer on Chromium
2010/12/22 02:35:07
I left these unchanged, just so it's easier for pe
|
| + proxy_request_context_->set_dnsrr_resolver(&dnsrr_resolver_); |
| + proxy_request_context_->set_http_auth_handler_factory( |
| + &http_auth_handler_factory_); |
| + proxy_service_ = net::ProxyService::CreateDirect(); |
| + proxy_request_context_->set_proxy_service(proxy_service_); |
| + ssl_config_service_ = net::SSLConfigService::CreateSystemSSLConfigService(); |
| + proxy_request_context_->set_http_transaction_factory( |
| + new net::HttpCache( |
|
eroman
2010/12/22 01:27:56
Don't need to use a caching transaction factory.
willchan no longer on Chromium
2010/12/22 02:35:07
Done.
|
| + &host_resolver_, |
| + &cert_verifier_, |
| + &dnsrr_resolver_, |
| + NULL, // DNS cert provenance checker |
| + proxy_service_.get(), |
| + ssl_config_service_, |
| + &http_auth_handler_factory_, |
| + NULL, // NetworkDelegate |
| + NULL, // NetLog |
| + net::HttpCache::DefaultBackend::InMemory(0))); |
| + // In-memory cookie store. |
| + proxy_request_context_->set_cookie_store(new net::CookieMonster(NULL, NULL)); |
|
eroman
2010/12/22 01:27:56
greater than 80c.
willchan no longer on Chromium
2010/12/22 02:35:07
Done.
|
| + } |
| + |
| 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_request_context_); |
| // Start the test suite on URL "echoall". |
| // TODO(eroman): Is this URL right? |
| @@ -124,7 +164,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_request_context_)); |
| // Start the test suite on URL "echoall". |
| // TODO(eroman): Is this URL right? |
| @@ -153,4 +193,3 @@ TEST_F(ConnectionTesterTest, DeleteWhileInProgress) { |
| } |
| } // namespace |
| - |