| Index: net/proxy/proxy_service_mojo_unittest.cc
|
| diff --git a/net/proxy/proxy_service_mojo_unittest.cc b/net/proxy/proxy_service_mojo_unittest.cc
|
| index bb9f41eb8d247cede24b0a36faafe9406addf472..c22accdad2015aa8b26c91ae5d301312ef0ac52e 100644
|
| --- a/net/proxy/proxy_service_mojo_unittest.cc
|
| +++ b/net/proxy/proxy_service_mojo_unittest.cc
|
| @@ -6,13 +6,16 @@
|
|
|
| #include <string>
|
|
|
| +#include "base/callback_helpers.h"
|
| #include "base/memory/scoped_ptr.h"
|
| #include "net/base/load_flags.h"
|
| #include "net/base/test_completion_callback.h"
|
| #include "net/dns/mock_host_resolver.h"
|
| #include "net/log/net_log.h"
|
| #include "net/proxy/dhcp_proxy_script_fetcher.h"
|
| +#include "net/proxy/in_process_mojo_proxy_resolver_factory.h"
|
| #include "net/proxy/mock_proxy_script_fetcher.h"
|
| +#include "net/proxy/mojo_proxy_resolver_factory.h"
|
| #include "net/proxy/proxy_config_service_fixed.h"
|
| #include "net/proxy/proxy_service.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
| @@ -34,6 +37,25 @@ const char kDnsResolvePacScript[] =
|
| " return 'QUIC bar:4321';\n"
|
| "}";
|
|
|
| +class TestMojoProxyResolverFactory : public MojoProxyResolverFactory {
|
| + public:
|
| + explicit TestMojoProxyResolverFactory(MojoProxyResolverFactory* factory)
|
| + : factory_(factory) {}
|
| +
|
| + scoped_ptr<base::ScopedClosureRunner> Create(
|
| + mojo::InterfaceRequest<interfaces::ProxyResolver> req,
|
| + interfaces::HostResolverPtr host_resolver) override {
|
| + factory_->Create(req.Pass(), host_resolver.Pass());
|
| + return make_scoped_ptr(new base::ScopedClosureRunner(closure_.closure()));
|
| + }
|
| +
|
| + TestClosure& closure() { return closure_; }
|
| +
|
| + private:
|
| + MojoProxyResolverFactory* factory_;
|
| + TestClosure closure_;
|
| +};
|
| +
|
| } // namespace
|
|
|
| class ProxyServiceMojoTest : public testing::Test {
|
| @@ -42,15 +64,18 @@ class ProxyServiceMojoTest : public testing::Test {
|
| mock_host_resolver_.rules()->AddRule("example.com", "1.2.3.4");
|
|
|
| fetcher_ = new MockProxyScriptFetcher;
|
| - proxy_service_.reset(CreateProxyServiceUsingMojoInProcess(
|
| - new ProxyConfigServiceFixed(
|
| - ProxyConfig::CreateFromCustomPacURL(GURL(kPacUrl))),
|
| + factory_.reset(new TestMojoProxyResolverFactory(
|
| + InProcessMojoProxyResolverFactory::GetInstance()));
|
| + proxy_service_.reset(CreateProxyServiceUsingMojoFactory(
|
| + factory_.get(), new ProxyConfigServiceFixed(
|
| + ProxyConfig::CreateFromCustomPacURL(GURL(kPacUrl))),
|
| fetcher_, new DoNothingDhcpProxyScriptFetcher(), &mock_host_resolver_,
|
| nullptr /* NetLog* */, nullptr /* NetworkDelegate* */));
|
| }
|
|
|
| MockHostResolver mock_host_resolver_;
|
| MockProxyScriptFetcher* fetcher_; // Owned by |proxy_service_|.
|
| + scoped_ptr<TestMojoProxyResolverFactory> factory_;
|
| scoped_ptr<ProxyService> proxy_service_;
|
| };
|
|
|
| @@ -71,6 +96,8 @@ TEST_F(ProxyServiceMojoTest, Basic) {
|
| EXPECT_EQ(OK, callback.WaitForResult());
|
| EXPECT_EQ("PROXY foo:1234", info.ToPacString());
|
| EXPECT_EQ(0u, mock_host_resolver_.num_resolve());
|
| + proxy_service_.reset();
|
| + factory_->closure().WaitForResult();
|
| }
|
|
|
| TEST_F(ProxyServiceMojoTest, DnsResolution) {
|
| @@ -90,6 +117,8 @@ TEST_F(ProxyServiceMojoTest, DnsResolution) {
|
| EXPECT_EQ(OK, callback.WaitForResult());
|
| EXPECT_EQ("QUIC bar:4321", info.ToPacString());
|
| EXPECT_EQ(1u, mock_host_resolver_.num_resolve());
|
| + proxy_service_.reset();
|
| + factory_->closure().WaitForResult();
|
| }
|
|
|
| } // namespace net
|
|
|