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

Side by Side Diff: net/proxy/proxy_resolver_factory_unittest.cc

Issue 1102463002: Add a MockAsyncProxyResolverFactory and update some tests to use it. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@proxy-factory-refactor
Patch Set: rebase Created 5 years, 8 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
« no previous file with comments | « net/proxy/proxy_resolver_factory.cc ('k') | net/proxy/proxy_service_unittest.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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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/proxy/proxy_resolver_factory.h" 5 #include "net/proxy/proxy_resolver_factory.h"
6 6
7 #include "net/base/net_errors.h" 7 #include "net/base/net_errors.h"
8 #include "net/base/test_completion_callback.h" 8 #include "net/base/test_completion_callback.h"
9 #include "net/proxy/mock_proxy_resolver.h" 9 #include "net/proxy/mock_proxy_resolver.h"
10 #include "net/proxy/proxy_resolver.h" 10 #include "net/proxy/proxy_resolver.h"
(...skipping 23 matching lines...) Expand all
34 error_to_return_ = error; 34 error_to_return_ = error;
35 } 35 }
36 36
37 private: 37 private:
38 bool synchronous_ = false; 38 bool synchronous_ = false;
39 Error error_to_return_ = OK; 39 Error error_to_return_ = OK;
40 }; 40 };
41 41
42 class TestLegacyProxyResolverFactory : public LegacyProxyResolverFactory { 42 class TestLegacyProxyResolverFactory : public LegacyProxyResolverFactory {
43 public: 43 public:
44 TestLegacyProxyResolverFactory() : LegacyProxyResolverFactory(false) {} 44 using ProxyResolverFactory::CreateProxyResolver;
45
46 explicit TestLegacyProxyResolverFactory(ProxyResolver* resolver)
47 : LegacyProxyResolverFactory(false), resolver_(resolver) {}
45 48
46 // LegacyProxyResolverFactory override. 49 // LegacyProxyResolverFactory override.
47 scoped_ptr<ProxyResolver> CreateProxyResolver() override { 50 scoped_ptr<ProxyResolver> CreateProxyResolver() override {
48 return make_scoped_ptr(new ForwardingProxyResolver(&resolver_)); 51 return make_scoped_ptr(new ForwardingProxyResolver(resolver_));
49 } 52 }
50 53
51 TestProxyResolver& resolver() { return resolver_; }
52
53 private: 54 private:
54 TestProxyResolver resolver_; 55 ProxyResolver* resolver_;
55 56
56 DISALLOW_COPY_AND_ASSIGN(TestLegacyProxyResolverFactory); 57 DISALLOW_COPY_AND_ASSIGN(TestLegacyProxyResolverFactory);
57 }; 58 };
58 59
59 } // namespace 60 } // namespace
60 61
61 class LegacyProxyResolverFactoryTest : public testing::Test { 62 class LegacyProxyResolverFactoryTest : public testing::Test {
62 public: 63 public:
63 ProxyResolverFactory& factory() { return factory_; } 64 void SetUp() override {
64 TestProxyResolver& mock_resolver() { return factory_.resolver(); } 65 factory_.reset(new TestLegacyProxyResolverFactory(&resolver_));
66 }
67
68 ProxyResolverFactory& factory() { return *factory_; }
69 TestProxyResolver& mock_resolver() { return resolver_; }
65 70
66 private: 71 private:
67 TestLegacyProxyResolverFactory factory_; 72 TestProxyResolver resolver_;
73 scoped_ptr<TestLegacyProxyResolverFactory> factory_;
68 }; 74 };
69 75
70 TEST_F(LegacyProxyResolverFactoryTest, Async_Success) { 76 TEST_F(LegacyProxyResolverFactoryTest, Async_Success) {
71 const GURL url("http://proxy"); 77 const GURL url("http://proxy");
72 TestCompletionCallback callback; 78 TestCompletionCallback callback;
73 scoped_ptr<ProxyResolver> resolver; 79 scoped_ptr<ProxyResolver> resolver;
74 scoped_ptr<ProxyResolverFactory::Request> request; 80 scoped_ptr<ProxyResolverFactory::Request> request;
75 EXPECT_EQ(ERR_IO_PENDING, factory().CreateProxyResolver( 81 EXPECT_EQ(ERR_IO_PENDING, factory().CreateProxyResolver(
76 ProxyResolverScriptData::FromURL(url), 82 ProxyResolverScriptData::FromURL(url),
77 &resolver, callback.callback(), &request)); 83 &resolver, callback.callback(), &request));
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
109 ProxyResolverScriptData::FromURL(url), 115 ProxyResolverScriptData::FromURL(url),
110 &resolver, base::Bind(&Fail), &request)); 116 &resolver, base::Bind(&Fail), &request));
111 ASSERT_TRUE(mock_resolver().has_pending_set_pac_script_request()); 117 ASSERT_TRUE(mock_resolver().has_pending_set_pac_script_request());
112 EXPECT_EQ( 118 EXPECT_EQ(
113 url, 119 url,
114 mock_resolver().pending_set_pac_script_request()->script_data()->url()); 120 mock_resolver().pending_set_pac_script_request()->script_data()->url());
115 request.reset(); 121 request.reset();
116 EXPECT_FALSE(resolver); 122 EXPECT_FALSE(resolver);
117 } 123 }
118 124
125 TEST_F(LegacyProxyResolverFactoryTest, Async_DeleteFactory) {
126 const GURL url("http://proxy");
127 scoped_ptr<ProxyResolver> resolver;
128 scoped_ptr<ProxyResolverFactory::Request> request;
129 {
130 TestProxyResolver test_resolver;
131 TestLegacyProxyResolverFactory factory(&test_resolver);
132 EXPECT_EQ(ERR_IO_PENDING, factory.CreateProxyResolver(
133 ProxyResolverScriptData::FromURL(url),
134 &resolver, base::Bind(&Fail), &request));
135 ASSERT_TRUE(test_resolver.has_pending_set_pac_script_request());
136 EXPECT_EQ(
137 url,
138 test_resolver.pending_set_pac_script_request()->script_data()->url());
139 }
140 EXPECT_FALSE(resolver);
141 }
142
119 TEST_F(LegacyProxyResolverFactoryTest, Sync_Success) { 143 TEST_F(LegacyProxyResolverFactoryTest, Sync_Success) {
120 const GURL url("http://proxy"); 144 const GURL url("http://proxy");
121 TestCompletionCallback callback; 145 TestCompletionCallback callback;
122 scoped_ptr<ProxyResolver> resolver; 146 scoped_ptr<ProxyResolver> resolver;
123 scoped_ptr<ProxyResolverFactory::Request> request; 147 scoped_ptr<ProxyResolverFactory::Request> request;
124 mock_resolver().set_error_to_return(OK); 148 mock_resolver().set_error_to_return(OK);
125 EXPECT_EQ(OK, factory().CreateProxyResolver( 149 EXPECT_EQ(OK, factory().CreateProxyResolver(
126 ProxyResolverScriptData::FromURL(url), &resolver, 150 ProxyResolverScriptData::FromURL(url), &resolver,
127 callback.callback(), &request)); 151 callback.callback(), &request));
128 ASSERT_TRUE(mock_resolver().has_pending_set_pac_script_request()); 152 ASSERT_TRUE(mock_resolver().has_pending_set_pac_script_request());
(...skipping 13 matching lines...) Expand all
142 ProxyResolverScriptData::FromURL(url), &resolver, 166 ProxyResolverScriptData::FromURL(url), &resolver,
143 callback.callback(), &request)); 167 callback.callback(), &request));
144 ASSERT_TRUE(mock_resolver().has_pending_set_pac_script_request()); 168 ASSERT_TRUE(mock_resolver().has_pending_set_pac_script_request());
145 EXPECT_EQ( 169 EXPECT_EQ(
146 url, 170 url,
147 mock_resolver().pending_set_pac_script_request()->script_data()->url()); 171 mock_resolver().pending_set_pac_script_request()->script_data()->url());
148 EXPECT_FALSE(resolver); 172 EXPECT_FALSE(resolver);
149 } 173 }
150 174
151 } // namespace net 175 } // namespace net
OLDNEW
« no previous file with comments | « net/proxy/proxy_resolver_factory.cc ('k') | net/proxy/proxy_service_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698