OLD | NEW |
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2009 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 <vector> | 5 #include <vector> |
6 | 6 |
7 #include "net/base/net_errors.h" | 7 #include "net/base/net_errors.h" |
8 #include "net/base/load_log.h" | 8 #include "net/base/load_log.h" |
9 #include "net/base/load_log_util.h" | 9 #include "net/base/load_log_util.h" |
10 #include "net/base/load_log_unittest.h" | 10 #include "net/base/load_log_unittest.h" |
(...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
172 Rules::Rule rule = rules.AddSuccessRule("http://custom/proxy.pac"); | 172 Rules::Rule rule = rules.AddSuccessRule("http://custom/proxy.pac"); |
173 | 173 |
174 TestCompletionCallback callback; | 174 TestCompletionCallback callback; |
175 scoped_refptr<LoadLog> log(new LoadLog(LoadLog::kUnbounded)); | 175 scoped_refptr<LoadLog> log(new LoadLog(LoadLog::kUnbounded)); |
176 InitProxyResolver init(&resolver, &fetcher); | 176 InitProxyResolver init(&resolver, &fetcher); |
177 EXPECT_EQ(OK, init.Init(config, &callback, log)); | 177 EXPECT_EQ(OK, init.Init(config, &callback, log)); |
178 EXPECT_EQ(rule.bytes(), resolver.pac_bytes()); | 178 EXPECT_EQ(rule.bytes(), resolver.pac_bytes()); |
179 | 179 |
180 // Check the LoadLog was filled correctly. | 180 // Check the LoadLog was filled correctly. |
181 EXPECT_EQ(9u, log->entries().size()); | 181 EXPECT_EQ(9u, log->entries().size()); |
182 ExpectLogContains(log, 0, LoadLog::TYPE_INIT_PROXY_RESOLVER, | 182 EXPECT_TRUE(LogContainsBeginEvent( |
183 LoadLog::PHASE_BEGIN); | 183 *log, 0, LoadLog::TYPE_INIT_PROXY_RESOLVER)); |
184 ExpectLogContains(log, 1, LoadLog::TYPE_INIT_PROXY_RESOLVER_FETCH_PAC_SCRIPT, | 184 EXPECT_TRUE(LogContainsBeginEvent( |
185 LoadLog::PHASE_BEGIN); | 185 *log, 1, LoadLog::TYPE_INIT_PROXY_RESOLVER_FETCH_PAC_SCRIPT)); |
186 ExpectLogContains(log, 4, LoadLog::TYPE_INIT_PROXY_RESOLVER_FETCH_PAC_SCRIPT, | 186 EXPECT_TRUE(LogContainsEndEvent( |
187 LoadLog::PHASE_END); | 187 *log, 4, LoadLog::TYPE_INIT_PROXY_RESOLVER_FETCH_PAC_SCRIPT)); |
188 ExpectLogContains(log, 5, LoadLog::TYPE_INIT_PROXY_RESOLVER_SET_PAC_SCRIPT, | 188 EXPECT_TRUE(LogContainsBeginEvent( |
189 LoadLog::PHASE_BEGIN); | 189 *log, 5, LoadLog::TYPE_INIT_PROXY_RESOLVER_SET_PAC_SCRIPT)); |
190 ExpectLogContains(log, 7, LoadLog::TYPE_INIT_PROXY_RESOLVER_SET_PAC_SCRIPT, | 190 EXPECT_TRUE(LogContainsEndEvent( |
191 LoadLog::PHASE_END); | 191 *log, 7, LoadLog::TYPE_INIT_PROXY_RESOLVER_SET_PAC_SCRIPT)); |
192 ExpectLogContains(log, 8, LoadLog::TYPE_INIT_PROXY_RESOLVER, | 192 EXPECT_TRUE(LogContainsEndEvent(*log, 8, LoadLog::TYPE_INIT_PROXY_RESOLVER)); |
193 LoadLog::PHASE_END); | |
194 } | 193 } |
195 | 194 |
196 // Fail downloading the custom PAC script. | 195 // Fail downloading the custom PAC script. |
197 TEST(InitProxyResolverTest, CustomPacFails1) { | 196 TEST(InitProxyResolverTest, CustomPacFails1) { |
198 Rules rules; | 197 Rules rules; |
199 RuleBasedProxyResolver resolver(&rules, true /*expects_pac_bytes*/); | 198 RuleBasedProxyResolver resolver(&rules, true /*expects_pac_bytes*/); |
200 RuleBasedProxyScriptFetcher fetcher(&rules); | 199 RuleBasedProxyScriptFetcher fetcher(&rules); |
201 | 200 |
202 ProxyConfig config; | 201 ProxyConfig config; |
203 config.pac_url = GURL("http://custom/proxy.pac"); | 202 config.pac_url = GURL("http://custom/proxy.pac"); |
204 | 203 |
205 rules.AddFailDownloadRule("http://custom/proxy.pac"); | 204 rules.AddFailDownloadRule("http://custom/proxy.pac"); |
206 | 205 |
207 TestCompletionCallback callback; | 206 TestCompletionCallback callback; |
208 scoped_refptr<LoadLog> log(new LoadLog(LoadLog::kUnbounded)); | 207 scoped_refptr<LoadLog> log(new LoadLog(LoadLog::kUnbounded)); |
209 InitProxyResolver init(&resolver, &fetcher); | 208 InitProxyResolver init(&resolver, &fetcher); |
210 EXPECT_EQ(kFailedDownloading, init.Init(config, &callback, log)); | 209 EXPECT_EQ(kFailedDownloading, init.Init(config, &callback, log)); |
211 EXPECT_EQ("", resolver.pac_bytes()); | 210 EXPECT_EQ("", resolver.pac_bytes()); |
212 | 211 |
213 // Check the LoadLog was filled correctly. | 212 // Check the LoadLog was filled correctly. |
214 EXPECT_EQ(6u, log->entries().size()); | 213 EXPECT_EQ(6u, log->entries().size()); |
215 ExpectLogContains(log, 0, LoadLog::TYPE_INIT_PROXY_RESOLVER, | 214 EXPECT_TRUE(LogContainsBeginEvent( |
216 LoadLog::PHASE_BEGIN); | 215 *log, 0, LoadLog::TYPE_INIT_PROXY_RESOLVER)); |
217 ExpectLogContains(log, 1, LoadLog::TYPE_INIT_PROXY_RESOLVER_FETCH_PAC_SCRIPT, | 216 EXPECT_TRUE(LogContainsBeginEvent( |
218 LoadLog::PHASE_BEGIN); | 217 *log, 1, LoadLog::TYPE_INIT_PROXY_RESOLVER_FETCH_PAC_SCRIPT)); |
219 ExpectLogContains(log, 4, LoadLog::TYPE_INIT_PROXY_RESOLVER_FETCH_PAC_SCRIPT, | 218 EXPECT_TRUE(LogContainsEndEvent( |
220 LoadLog::PHASE_END); | 219 *log, 4, LoadLog::TYPE_INIT_PROXY_RESOLVER_FETCH_PAC_SCRIPT)); |
221 ExpectLogContains(log, 5, LoadLog::TYPE_INIT_PROXY_RESOLVER, | 220 EXPECT_TRUE(LogContainsEndEvent(*log, 5, LoadLog::TYPE_INIT_PROXY_RESOLVER)); |
222 LoadLog::PHASE_END); | |
223 } | 221 } |
224 | 222 |
225 // Fail parsing the custom PAC script. | 223 // Fail parsing the custom PAC script. |
226 TEST(InitProxyResolverTest, CustomPacFails2) { | 224 TEST(InitProxyResolverTest, CustomPacFails2) { |
227 Rules rules; | 225 Rules rules; |
228 RuleBasedProxyResolver resolver(&rules, true /*expects_pac_bytes*/); | 226 RuleBasedProxyResolver resolver(&rules, true /*expects_pac_bytes*/); |
229 RuleBasedProxyScriptFetcher fetcher(&rules); | 227 RuleBasedProxyScriptFetcher fetcher(&rules); |
230 | 228 |
231 ProxyConfig config; | 229 ProxyConfig config; |
232 config.pac_url = GURL("http://custom/proxy.pac"); | 230 config.pac_url = GURL("http://custom/proxy.pac"); |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
305 TestCompletionCallback callback; | 303 TestCompletionCallback callback; |
306 scoped_refptr<LoadLog> log(new LoadLog(LoadLog::kUnbounded)); | 304 scoped_refptr<LoadLog> log(new LoadLog(LoadLog::kUnbounded)); |
307 InitProxyResolver init(&resolver, &fetcher); | 305 InitProxyResolver init(&resolver, &fetcher); |
308 EXPECT_EQ(OK, init.Init(config, &callback, log)); | 306 EXPECT_EQ(OK, init.Init(config, &callback, log)); |
309 EXPECT_EQ(rule.bytes(), resolver.pac_bytes()); | 307 EXPECT_EQ(rule.bytes(), resolver.pac_bytes()); |
310 | 308 |
311 // Check the LoadLog was filled correctly. | 309 // Check the LoadLog was filled correctly. |
312 // (Note that the Fetch and Set states are repeated since both WPAD and custom | 310 // (Note that the Fetch and Set states are repeated since both WPAD and custom |
313 // PAC scripts are tried). | 311 // PAC scripts are tried). |
314 EXPECT_EQ(17u, log->entries().size()); | 312 EXPECT_EQ(17u, log->entries().size()); |
315 ExpectLogContains(log, 0, LoadLog::TYPE_INIT_PROXY_RESOLVER, | 313 EXPECT_TRUE(LogContainsBeginEvent( |
316 LoadLog::PHASE_BEGIN); | 314 *log, 0, LoadLog::TYPE_INIT_PROXY_RESOLVER)); |
317 ExpectLogContains(log, 1, LoadLog::TYPE_INIT_PROXY_RESOLVER_FETCH_PAC_SCRIPT, | 315 EXPECT_TRUE(LogContainsBeginEvent( |
318 LoadLog::PHASE_BEGIN); | 316 *log, 1, LoadLog::TYPE_INIT_PROXY_RESOLVER_FETCH_PAC_SCRIPT)); |
319 ExpectLogContains(log, 4, LoadLog::TYPE_INIT_PROXY_RESOLVER_FETCH_PAC_SCRIPT, | 317 EXPECT_TRUE(LogContainsEndEvent( |
320 LoadLog::PHASE_END); | 318 *log, 4, LoadLog::TYPE_INIT_PROXY_RESOLVER_FETCH_PAC_SCRIPT)); |
321 ExpectLogContains(log, 5, LoadLog::TYPE_INIT_PROXY_RESOLVER_SET_PAC_SCRIPT, | 319 EXPECT_TRUE(LogContainsBeginEvent( |
322 LoadLog::PHASE_BEGIN); | 320 *log, 5, LoadLog::TYPE_INIT_PROXY_RESOLVER_SET_PAC_SCRIPT)); |
323 ExpectLogContains(log, 7, LoadLog::TYPE_INIT_PROXY_RESOLVER_SET_PAC_SCRIPT, | 321 EXPECT_TRUE(LogContainsEndEvent( |
324 LoadLog::PHASE_END); | 322 *log, 7, LoadLog::TYPE_INIT_PROXY_RESOLVER_SET_PAC_SCRIPT)); |
325 ExpectLogContains(log, 9, LoadLog::TYPE_INIT_PROXY_RESOLVER_FETCH_PAC_SCRIPT, | 323 EXPECT_TRUE(LogContainsBeginEvent( |
326 LoadLog::PHASE_BEGIN); | 324 *log, 9, LoadLog::TYPE_INIT_PROXY_RESOLVER_FETCH_PAC_SCRIPT)); |
327 ExpectLogContains(log, 12, LoadLog::TYPE_INIT_PROXY_RESOLVER_FETCH_PAC_SCRIPT, | 325 EXPECT_TRUE(LogContainsEndEvent( |
328 LoadLog::PHASE_END); | 326 *log, 12, LoadLog::TYPE_INIT_PROXY_RESOLVER_FETCH_PAC_SCRIPT)); |
329 ExpectLogContains(log, 13, LoadLog::TYPE_INIT_PROXY_RESOLVER_SET_PAC_SCRIPT, | 327 EXPECT_TRUE(LogContainsBeginEvent( |
330 LoadLog::PHASE_BEGIN); | 328 *log, 13, LoadLog::TYPE_INIT_PROXY_RESOLVER_SET_PAC_SCRIPT)); |
331 ExpectLogContains(log, 15, LoadLog::TYPE_INIT_PROXY_RESOLVER_SET_PAC_SCRIPT, | 329 EXPECT_TRUE(LogContainsEndEvent( |
332 LoadLog::PHASE_END); | 330 *log, 15, LoadLog::TYPE_INIT_PROXY_RESOLVER_SET_PAC_SCRIPT)); |
333 ExpectLogContains(log, 16, LoadLog::TYPE_INIT_PROXY_RESOLVER, | 331 EXPECT_TRUE(LogContainsEndEvent(*log, 16, LoadLog::TYPE_INIT_PROXY_RESOLVER)); |
334 LoadLog::PHASE_END); | |
335 } | 332 } |
336 | 333 |
337 // Fails at WPAD (downloading), and fails at custom PAC (downloading). | 334 // Fails at WPAD (downloading), and fails at custom PAC (downloading). |
338 TEST(InitProxyResolverTest, AutodetectFailCustomFails1) { | 335 TEST(InitProxyResolverTest, AutodetectFailCustomFails1) { |
339 Rules rules; | 336 Rules rules; |
340 RuleBasedProxyResolver resolver(&rules, true /*expects_pac_bytes*/); | 337 RuleBasedProxyResolver resolver(&rules, true /*expects_pac_bytes*/); |
341 RuleBasedProxyScriptFetcher fetcher(&rules); | 338 RuleBasedProxyScriptFetcher fetcher(&rules); |
342 | 339 |
343 ProxyConfig config; | 340 ProxyConfig config; |
344 config.auto_detect = true; | 341 config.auto_detect = true; |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
388 Rules::Rule rule = rules.AddSuccessRule("http://custom/proxy.pac"); | 385 Rules::Rule rule = rules.AddSuccessRule("http://custom/proxy.pac"); |
389 | 386 |
390 TestCompletionCallback callback; | 387 TestCompletionCallback callback; |
391 InitProxyResolver init(&resolver, &fetcher); | 388 InitProxyResolver init(&resolver, &fetcher); |
392 EXPECT_EQ(OK, init.Init(config, &callback, NULL)); | 389 EXPECT_EQ(OK, init.Init(config, &callback, NULL)); |
393 EXPECT_EQ(rule.url, resolver.pac_url()); | 390 EXPECT_EQ(rule.url, resolver.pac_url()); |
394 } | 391 } |
395 | 392 |
396 } // namespace | 393 } // namespace |
397 } // namespace net | 394 } // namespace net |
OLD | NEW |