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

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

Issue 1052002: Move over another legacy "LoadLog-style" event generator to routing its messa... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Address willchan's comments Created 10 years, 9 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 | Annotate | Revision Log
« no previous file with comments | « net/proxy/proxy_service.cc ('k') | webkit/tools/test_shell/test_shell_request_context.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 (c) 2006-2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2008 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_service.h" 5 #include "net/proxy/proxy_service.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/format_macros.h" 9 #include "base/format_macros.h"
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
85 85
86 private: 86 private:
87 GURL pending_request_url_; 87 GURL pending_request_url_;
88 CompletionCallback* pending_request_callback_; 88 CompletionCallback* pending_request_callback_;
89 std::string* pending_request_bytes_; 89 std::string* pending_request_bytes_;
90 }; 90 };
91 91
92 TEST(ProxyServiceTest, Direct) { 92 TEST(ProxyServiceTest, Direct) {
93 MockAsyncProxyResolver* resolver = new MockAsyncProxyResolver; 93 MockAsyncProxyResolver* resolver = new MockAsyncProxyResolver;
94 scoped_refptr<ProxyService> service( 94 scoped_refptr<ProxyService> service(
95 new ProxyService(new MockProxyConfigService, resolver, NULL)); 95 new ProxyService(new MockProxyConfigService, resolver, NULL,
96 BoundNetLog()));
96 97
97 GURL url("http://www.google.com/"); 98 GURL url("http://www.google.com/");
98 99
99 ProxyInfo info; 100 ProxyInfo info;
100 TestCompletionCallback callback; 101 TestCompletionCallback callback;
101 CapturingBoundNetLog log(CapturingNetLog::kUnbounded); 102 CapturingBoundNetLog log(CapturingNetLog::kUnbounded);
102 int rv = service->ResolveProxy(url, &info, &callback, NULL, log.bound()); 103 int rv = service->ResolveProxy(url, &info, &callback, NULL, log.bound());
103 EXPECT_EQ(OK, rv); 104 EXPECT_EQ(OK, rv);
104 EXPECT_TRUE(resolver->pending_requests().empty()); 105 EXPECT_TRUE(resolver->pending_requests().empty());
105 106
106 EXPECT_TRUE(info.is_direct()); 107 EXPECT_TRUE(info.is_direct());
107 108
108 // Check the NetLog was filled correctly. 109 // Check the NetLog was filled correctly.
109 EXPECT_EQ(5u, log.entries().size()); 110 EXPECT_EQ(5u, log.entries().size());
110 EXPECT_TRUE(LogContainsBeginEvent( 111 EXPECT_TRUE(LogContainsBeginEvent(
111 log.entries(), 0, NetLog::TYPE_PROXY_SERVICE)); 112 log.entries(), 0, NetLog::TYPE_PROXY_SERVICE));
112 EXPECT_TRUE(LogContainsEndEvent( 113 EXPECT_TRUE(LogContainsEndEvent(
113 log.entries(), 4, NetLog::TYPE_PROXY_SERVICE)); 114 log.entries(), 4, NetLog::TYPE_PROXY_SERVICE));
114 } 115 }
115 116
116 TEST(ProxyServiceTest, PAC) { 117 TEST(ProxyServiceTest, PAC) {
117 MockProxyConfigService* config_service = 118 MockProxyConfigService* config_service =
118 new MockProxyConfigService("http://foopy/proxy.pac"); 119 new MockProxyConfigService("http://foopy/proxy.pac");
119 120
120 MockAsyncProxyResolver* resolver = new MockAsyncProxyResolver; 121 MockAsyncProxyResolver* resolver = new MockAsyncProxyResolver;
121 122
122 scoped_refptr<ProxyService> service( 123 scoped_refptr<ProxyService> service(
123 new ProxyService(config_service, resolver, NULL)); 124 new ProxyService(config_service, resolver, NULL, BoundNetLog()));
124 125
125 GURL url("http://www.google.com/"); 126 GURL url("http://www.google.com/");
126 127
127 ProxyInfo info; 128 ProxyInfo info;
128 TestCompletionCallback callback; 129 TestCompletionCallback callback;
129 CapturingBoundNetLog log(CapturingNetLog::kUnbounded); 130 CapturingBoundNetLog log(CapturingNetLog::kUnbounded);
130 131
131 int rv = service->ResolveProxy(url, &info, &callback, NULL, log.bound()); 132 int rv = service->ResolveProxy(url, &info, &callback, NULL, log.bound());
132 EXPECT_EQ(ERR_IO_PENDING, rv); 133 EXPECT_EQ(ERR_IO_PENDING, rv);
133 134
(...skipping 26 matching lines...) Expand all
160 161
161 // Test that the proxy resolver does not see the URL's username/password 162 // Test that the proxy resolver does not see the URL's username/password
162 // or its reference section. 163 // or its reference section.
163 TEST(ProxyServiceTest, PAC_NoIdentityOrHash) { 164 TEST(ProxyServiceTest, PAC_NoIdentityOrHash) {
164 MockProxyConfigService* config_service = 165 MockProxyConfigService* config_service =
165 new MockProxyConfigService("http://foopy/proxy.pac"); 166 new MockProxyConfigService("http://foopy/proxy.pac");
166 167
167 MockAsyncProxyResolver* resolver = new MockAsyncProxyResolver; 168 MockAsyncProxyResolver* resolver = new MockAsyncProxyResolver;
168 169
169 scoped_refptr<ProxyService> service( 170 scoped_refptr<ProxyService> service(
170 new ProxyService(config_service, resolver, NULL)); 171 new ProxyService(config_service, resolver, NULL, BoundNetLog()));
171 172
172 GURL url("http://username:password@www.google.com/?ref#hash#hash"); 173 GURL url("http://username:password@www.google.com/?ref#hash#hash");
173 174
174 ProxyInfo info; 175 ProxyInfo info;
175 TestCompletionCallback callback; 176 TestCompletionCallback callback;
176 int rv = service->ResolveProxy(url, &info, &callback, NULL, NULL); 177 int rv = service->ResolveProxy(url, &info, &callback, NULL, NULL);
177 EXPECT_EQ(ERR_IO_PENDING, rv); 178 EXPECT_EQ(ERR_IO_PENDING, rv);
178 179
179 EXPECT_EQ(GURL("http://foopy/proxy.pac"), 180 EXPECT_EQ(GURL("http://foopy/proxy.pac"),
180 resolver->pending_set_pac_script_request()->pac_url()); 181 resolver->pending_set_pac_script_request()->pac_url());
181 resolver->pending_set_pac_script_request()->CompleteNow(OK); 182 resolver->pending_set_pac_script_request()->CompleteNow(OK);
182 183
183 ASSERT_EQ(1u, resolver->pending_requests().size()); 184 ASSERT_EQ(1u, resolver->pending_requests().size());
184 // The URL should have been simplified, stripping the username/password/hash. 185 // The URL should have been simplified, stripping the username/password/hash.
185 EXPECT_EQ(GURL("http://www.google.com/?ref"), 186 EXPECT_EQ(GURL("http://www.google.com/?ref"),
186 resolver->pending_requests()[0]->url()); 187 resolver->pending_requests()[0]->url());
187 188
188 // We end here without ever completing the request -- destruction of 189 // We end here without ever completing the request -- destruction of
189 // ProxyService will cancel the outstanding request. 190 // ProxyService will cancel the outstanding request.
190 } 191 }
191 192
192 TEST(ProxyServiceTest, PAC_FailoverWithoutDirect) { 193 TEST(ProxyServiceTest, PAC_FailoverWithoutDirect) {
193 MockProxyConfigService* config_service = 194 MockProxyConfigService* config_service =
194 new MockProxyConfigService("http://foopy/proxy.pac"); 195 new MockProxyConfigService("http://foopy/proxy.pac");
195 MockAsyncProxyResolver* resolver = new MockAsyncProxyResolver; 196 MockAsyncProxyResolver* resolver = new MockAsyncProxyResolver;
196 197
197 scoped_refptr<ProxyService> service( 198 scoped_refptr<ProxyService> service(
198 new ProxyService(config_service, resolver, NULL)); 199 new ProxyService(config_service, resolver, NULL, BoundNetLog()));
199 200
200 GURL url("http://www.google.com/"); 201 GURL url("http://www.google.com/");
201 202
202 ProxyInfo info; 203 ProxyInfo info;
203 TestCompletionCallback callback1; 204 TestCompletionCallback callback1;
204 int rv = service->ResolveProxy(url, &info, &callback1, NULL, NULL); 205 int rv = service->ResolveProxy(url, &info, &callback1, NULL, NULL);
205 EXPECT_EQ(ERR_IO_PENDING, rv); 206 EXPECT_EQ(ERR_IO_PENDING, rv);
206 207
207 EXPECT_EQ(GURL("http://foopy/proxy.pac"), 208 EXPECT_EQ(GURL("http://foopy/proxy.pac"),
208 resolver->pending_set_pac_script_request()->pac_url()); 209 resolver->pending_set_pac_script_request()->pac_url());
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
245 // then foobar:20, and then give up and error. 246 // then foobar:20, and then give up and error.
246 // 247 //
247 // The important check of this test is to make sure that DIRECT is not somehow 248 // The important check of this test is to make sure that DIRECT is not somehow
248 // cached as being a bad proxy. 249 // cached as being a bad proxy.
249 TEST(ProxyServiceTest, PAC_FailoverAfterDirect) { 250 TEST(ProxyServiceTest, PAC_FailoverAfterDirect) {
250 MockProxyConfigService* config_service = 251 MockProxyConfigService* config_service =
251 new MockProxyConfigService("http://foopy/proxy.pac"); 252 new MockProxyConfigService("http://foopy/proxy.pac");
252 MockAsyncProxyResolver* resolver = new MockAsyncProxyResolver; 253 MockAsyncProxyResolver* resolver = new MockAsyncProxyResolver;
253 254
254 scoped_refptr<ProxyService> service( 255 scoped_refptr<ProxyService> service(
255 new ProxyService(config_service, resolver, NULL)); 256 new ProxyService(config_service, resolver, NULL, BoundNetLog()));
256 257
257 GURL url("http://www.google.com/"); 258 GURL url("http://www.google.com/");
258 259
259 ProxyInfo info; 260 ProxyInfo info;
260 TestCompletionCallback callback1; 261 TestCompletionCallback callback1;
261 int rv = service->ResolveProxy(url, &info, &callback1, NULL, NULL); 262 int rv = service->ResolveProxy(url, &info, &callback1, NULL, NULL);
262 EXPECT_EQ(ERR_IO_PENDING, rv); 263 EXPECT_EQ(ERR_IO_PENDING, rv);
263 264
264 EXPECT_EQ(GURL("http://foopy/proxy.pac"), 265 EXPECT_EQ(GURL("http://foopy/proxy.pac"),
265 resolver->pending_set_pac_script_request()->pac_url()); 266 resolver->pending_set_pac_script_request()->pac_url());
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
307 // Test what happens when the ProxyResolver fails. The download and setting 308 // Test what happens when the ProxyResolver fails. The download and setting
308 // of the PAC script have already succeeded, so this corresponds with a 309 // of the PAC script have already succeeded, so this corresponds with a
309 // javascript runtime error while calling FindProxyForURL(). 310 // javascript runtime error while calling FindProxyForURL().
310 311
311 MockProxyConfigService* config_service = 312 MockProxyConfigService* config_service =
312 new MockProxyConfigService("http://foopy/proxy.pac"); 313 new MockProxyConfigService("http://foopy/proxy.pac");
313 314
314 MockAsyncProxyResolver* resolver = new MockAsyncProxyResolver; 315 MockAsyncProxyResolver* resolver = new MockAsyncProxyResolver;
315 316
316 scoped_refptr<ProxyService> service( 317 scoped_refptr<ProxyService> service(
317 new ProxyService(config_service, resolver, NULL)); 318 new ProxyService(config_service, resolver, NULL, BoundNetLog()));
318 319
319 // Start first resolve request. 320 // Start first resolve request.
320 GURL url("http://www.google.com/"); 321 GURL url("http://www.google.com/");
321 ProxyInfo info; 322 ProxyInfo info;
322 TestCompletionCallback callback1; 323 TestCompletionCallback callback1;
323 int rv = service->ResolveProxy(url, &info, &callback1, NULL, NULL); 324 int rv = service->ResolveProxy(url, &info, &callback1, NULL, NULL);
324 EXPECT_EQ(ERR_IO_PENDING, rv); 325 EXPECT_EQ(ERR_IO_PENDING, rv);
325 326
326 EXPECT_EQ(GURL("http://foopy/proxy.pac"), 327 EXPECT_EQ(GURL("http://foopy/proxy.pac"),
327 resolver->pending_set_pac_script_request()->pac_url()); 328 resolver->pending_set_pac_script_request()->pac_url());
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
360 TEST(ProxyServiceTest, ProxyFallback) { 361 TEST(ProxyServiceTest, ProxyFallback) {
361 // Test what happens when we specify multiple proxy servers and some of them 362 // Test what happens when we specify multiple proxy servers and some of them
362 // are bad. 363 // are bad.
363 364
364 MockProxyConfigService* config_service = 365 MockProxyConfigService* config_service =
365 new MockProxyConfigService("http://foopy/proxy.pac"); 366 new MockProxyConfigService("http://foopy/proxy.pac");
366 367
367 MockAsyncProxyResolver* resolver = new MockAsyncProxyResolver; 368 MockAsyncProxyResolver* resolver = new MockAsyncProxyResolver;
368 369
369 scoped_refptr<ProxyService> service( 370 scoped_refptr<ProxyService> service(
370 new ProxyService(config_service, resolver, NULL)); 371 new ProxyService(config_service, resolver, NULL, BoundNetLog()));
371 372
372 GURL url("http://www.google.com/"); 373 GURL url("http://www.google.com/");
373 374
374 // Get the proxy information. 375 // Get the proxy information.
375 ProxyInfo info; 376 ProxyInfo info;
376 TestCompletionCallback callback1; 377 TestCompletionCallback callback1;
377 int rv = service->ResolveProxy(url, &info, &callback1, NULL, NULL); 378 int rv = service->ResolveProxy(url, &info, &callback1, NULL, NULL);
378 EXPECT_EQ(ERR_IO_PENDING, rv); 379 EXPECT_EQ(ERR_IO_PENDING, rv);
379 380
380 EXPECT_EQ(GURL("http://foopy/proxy.pac"), 381 EXPECT_EQ(GURL("http://foopy/proxy.pac"),
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
446 447
447 // This test is similar to ProxyFallback, but this time we have an explicit 448 // This test is similar to ProxyFallback, but this time we have an explicit
448 // fallback choice to DIRECT. 449 // fallback choice to DIRECT.
449 TEST(ProxyServiceTest, ProxyFallbackToDirect) { 450 TEST(ProxyServiceTest, ProxyFallbackToDirect) {
450 MockProxyConfigService* config_service = 451 MockProxyConfigService* config_service =
451 new MockProxyConfigService("http://foopy/proxy.pac"); 452 new MockProxyConfigService("http://foopy/proxy.pac");
452 453
453 MockAsyncProxyResolver* resolver = new MockAsyncProxyResolver; 454 MockAsyncProxyResolver* resolver = new MockAsyncProxyResolver;
454 455
455 scoped_refptr<ProxyService> service( 456 scoped_refptr<ProxyService> service(
456 new ProxyService(config_service, resolver, NULL)); 457 new ProxyService(config_service, resolver, NULL, BoundNetLog()));
457 458
458 GURL url("http://www.google.com/"); 459 GURL url("http://www.google.com/");
459 460
460 // Get the proxy information. 461 // Get the proxy information.
461 ProxyInfo info; 462 ProxyInfo info;
462 TestCompletionCallback callback1; 463 TestCompletionCallback callback1;
463 int rv = service->ResolveProxy(url, &info, &callback1, NULL, NULL); 464 int rv = service->ResolveProxy(url, &info, &callback1, NULL, NULL);
464 EXPECT_EQ(ERR_IO_PENDING, rv); 465 EXPECT_EQ(ERR_IO_PENDING, rv);
465 466
466 EXPECT_EQ(GURL("http://foopy/proxy.pac"), 467 EXPECT_EQ(GURL("http://foopy/proxy.pac"),
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
506 507
507 TEST(ProxyServiceTest, ProxyFallback_NewSettings) { 508 TEST(ProxyServiceTest, ProxyFallback_NewSettings) {
508 // Test proxy failover when new settings are available. 509 // Test proxy failover when new settings are available.
509 510
510 MockProxyConfigService* config_service = 511 MockProxyConfigService* config_service =
511 new MockProxyConfigService("http://foopy/proxy.pac"); 512 new MockProxyConfigService("http://foopy/proxy.pac");
512 513
513 MockAsyncProxyResolver* resolver = new MockAsyncProxyResolver; 514 MockAsyncProxyResolver* resolver = new MockAsyncProxyResolver;
514 515
515 scoped_refptr<ProxyService> service( 516 scoped_refptr<ProxyService> service(
516 new ProxyService(config_service, resolver, NULL)); 517 new ProxyService(config_service, resolver, NULL, BoundNetLog()));
517 518
518 GURL url("http://www.google.com/"); 519 GURL url("http://www.google.com/");
519 520
520 // Get the proxy information. 521 // Get the proxy information.
521 ProxyInfo info; 522 ProxyInfo info;
522 TestCompletionCallback callback1; 523 TestCompletionCallback callback1;
523 int rv = service->ResolveProxy(url, &info, &callback1, NULL, NULL); 524 int rv = service->ResolveProxy(url, &info, &callback1, NULL, NULL);
524 EXPECT_EQ(ERR_IO_PENDING, rv); 525 EXPECT_EQ(ERR_IO_PENDING, rv);
525 526
526 EXPECT_EQ(GURL("http://foopy/proxy.pac"), 527 EXPECT_EQ(GURL("http://foopy/proxy.pac"),
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
595 596
596 TEST(ProxyServiceTest, ProxyFallback_BadConfig) { 597 TEST(ProxyServiceTest, ProxyFallback_BadConfig) {
597 // Test proxy failover when the configuration is bad. 598 // Test proxy failover when the configuration is bad.
598 599
599 MockProxyConfigService* config_service = 600 MockProxyConfigService* config_service =
600 new MockProxyConfigService("http://foopy/proxy.pac"); 601 new MockProxyConfigService("http://foopy/proxy.pac");
601 602
602 MockAsyncProxyResolver* resolver = new MockAsyncProxyResolver; 603 MockAsyncProxyResolver* resolver = new MockAsyncProxyResolver;
603 604
604 scoped_refptr<ProxyService> service( 605 scoped_refptr<ProxyService> service(
605 new ProxyService(config_service, resolver, NULL)); 606 new ProxyService(config_service, resolver, NULL, BoundNetLog()));
606 607
607 GURL url("http://www.google.com/"); 608 GURL url("http://www.google.com/");
608 609
609 // Get the proxy information. 610 // Get the proxy information.
610 ProxyInfo info; 611 ProxyInfo info;
611 TestCompletionCallback callback1; 612 TestCompletionCallback callback1;
612 int rv = service->ResolveProxy(url, &info, &callback1, NULL, NULL); 613 int rv = service->ResolveProxy(url, &info, &callback1, NULL, NULL);
613 EXPECT_EQ(ERR_IO_PENDING, rv); 614 EXPECT_EQ(ERR_IO_PENDING, rv);
614 615
615 EXPECT_EQ(GURL("http://foopy/proxy.pac"), 616 EXPECT_EQ(GURL("http://foopy/proxy.pac"),
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
680 // Test that the proxy bypass rules are consulted. 681 // Test that the proxy bypass rules are consulted.
681 682
682 TestCompletionCallback callback[2]; 683 TestCompletionCallback callback[2];
683 ProxyInfo info[2]; 684 ProxyInfo info[2];
684 ProxyConfig config; 685 ProxyConfig config;
685 config.proxy_rules().ParseFromString("foopy1:8080;foopy2:9090"); 686 config.proxy_rules().ParseFromString("foopy1:8080;foopy2:9090");
686 config.set_auto_detect(false); 687 config.set_auto_detect(false);
687 config.proxy_rules().bypass_rules.ParseFromString("*.org"); 688 config.proxy_rules().bypass_rules.ParseFromString("*.org");
688 689
689 scoped_refptr<ProxyService> service(new ProxyService( 690 scoped_refptr<ProxyService> service(new ProxyService(
690 new MockProxyConfigService(config), new MockAsyncProxyResolver, NULL)); 691 new MockProxyConfigService(config), new MockAsyncProxyResolver, NULL,
692 BoundNetLog()));
691 693
692 int rv; 694 int rv;
693 GURL url1("http://www.webkit.org"); 695 GURL url1("http://www.webkit.org");
694 GURL url2("http://www.webkit.com"); 696 GURL url2("http://www.webkit.com");
695 697
696 // Request for a .org domain should bypass proxy. 698 // Request for a .org domain should bypass proxy.
697 rv = service->ResolveProxy(url1, &info[0], &callback[0], NULL, NULL); 699 rv = service->ResolveProxy(url1, &info[0], &callback[0], NULL, NULL);
698 EXPECT_EQ(OK, rv); 700 EXPECT_EQ(OK, rv);
699 EXPECT_TRUE(info[0].is_direct()); 701 EXPECT_TRUE(info[0].is_direct());
700 702
701 // Request for a .com domain hits the proxy. 703 // Request for a .com domain hits the proxy.
702 rv = service->ResolveProxy(url2, &info[1], &callback[1], NULL, NULL); 704 rv = service->ResolveProxy(url2, &info[1], &callback[1], NULL, NULL);
703 EXPECT_EQ(OK, rv); 705 EXPECT_EQ(OK, rv);
704 EXPECT_EQ("foopy1:8080", info[1].proxy_server().ToURI()); 706 EXPECT_EQ("foopy1:8080", info[1].proxy_server().ToURI());
705 } 707 }
706 708
707 709
708 TEST(ProxyServiceTest, PerProtocolProxyTests) { 710 TEST(ProxyServiceTest, PerProtocolProxyTests) {
709 ProxyConfig config; 711 ProxyConfig config;
710 config.proxy_rules().ParseFromString("http=foopy1:8080;https=foopy2:8080"); 712 config.proxy_rules().ParseFromString("http=foopy1:8080;https=foopy2:8080");
711 config.set_auto_detect(false); 713 config.set_auto_detect(false);
712 { 714 {
713 scoped_refptr<ProxyService> service(new ProxyService( 715 scoped_refptr<ProxyService> service(new ProxyService(
714 new MockProxyConfigService(config), new MockAsyncProxyResolver, NULL)); 716 new MockProxyConfigService(config), new MockAsyncProxyResolver, NULL,
717 BoundNetLog()));
715 GURL test_url("http://www.msn.com"); 718 GURL test_url("http://www.msn.com");
716 ProxyInfo info; 719 ProxyInfo info;
717 TestCompletionCallback callback; 720 TestCompletionCallback callback;
718 int rv = service->ResolveProxy(test_url, &info, &callback, NULL, NULL); 721 int rv = service->ResolveProxy(test_url, &info, &callback, NULL, NULL);
719 EXPECT_EQ(OK, rv); 722 EXPECT_EQ(OK, rv);
720 EXPECT_FALSE(info.is_direct()); 723 EXPECT_FALSE(info.is_direct());
721 EXPECT_EQ("foopy1:8080", info.proxy_server().ToURI()); 724 EXPECT_EQ("foopy1:8080", info.proxy_server().ToURI());
722 } 725 }
723 { 726 {
724 scoped_refptr<ProxyService> service(new ProxyService( 727 scoped_refptr<ProxyService> service(new ProxyService(
725 new MockProxyConfigService(config), new MockAsyncProxyResolver, NULL)); 728 new MockProxyConfigService(config), new MockAsyncProxyResolver, NULL,
729 BoundNetLog()));
726 GURL test_url("ftp://ftp.google.com"); 730 GURL test_url("ftp://ftp.google.com");
727 ProxyInfo info; 731 ProxyInfo info;
728 TestCompletionCallback callback; 732 TestCompletionCallback callback;
729 int rv = service->ResolveProxy(test_url, &info, &callback, NULL, NULL); 733 int rv = service->ResolveProxy(test_url, &info, &callback, NULL, NULL);
730 EXPECT_EQ(OK, rv); 734 EXPECT_EQ(OK, rv);
731 EXPECT_TRUE(info.is_direct()); 735 EXPECT_TRUE(info.is_direct());
732 EXPECT_EQ("direct://", info.proxy_server().ToURI()); 736 EXPECT_EQ("direct://", info.proxy_server().ToURI());
733 } 737 }
734 { 738 {
735 scoped_refptr<ProxyService> service(new ProxyService( 739 scoped_refptr<ProxyService> service(new ProxyService(
736 new MockProxyConfigService(config), new MockAsyncProxyResolver, NULL)); 740 new MockProxyConfigService(config), new MockAsyncProxyResolver, NULL,
741 BoundNetLog()));
737 GURL test_url("https://webbranch.techcu.com"); 742 GURL test_url("https://webbranch.techcu.com");
738 ProxyInfo info; 743 ProxyInfo info;
739 TestCompletionCallback callback; 744 TestCompletionCallback callback;
740 int rv = service->ResolveProxy(test_url, &info, &callback, NULL, NULL); 745 int rv = service->ResolveProxy(test_url, &info, &callback, NULL, NULL);
741 EXPECT_EQ(OK, rv); 746 EXPECT_EQ(OK, rv);
742 EXPECT_FALSE(info.is_direct()); 747 EXPECT_FALSE(info.is_direct());
743 EXPECT_EQ("foopy2:8080", info.proxy_server().ToURI()); 748 EXPECT_EQ("foopy2:8080", info.proxy_server().ToURI());
744 } 749 }
745 { 750 {
746 config.proxy_rules().ParseFromString("foopy1:8080"); 751 config.proxy_rules().ParseFromString("foopy1:8080");
747 scoped_refptr<ProxyService> service(new ProxyService( 752 scoped_refptr<ProxyService> service(new ProxyService(
748 new MockProxyConfigService(config), new MockAsyncProxyResolver, NULL)); 753 new MockProxyConfigService(config), new MockAsyncProxyResolver, NULL,
754 BoundNetLog()));
749 GURL test_url("http://www.microsoft.com"); 755 GURL test_url("http://www.microsoft.com");
750 ProxyInfo info; 756 ProxyInfo info;
751 TestCompletionCallback callback; 757 TestCompletionCallback callback;
752 int rv = service->ResolveProxy(test_url, &info, &callback, NULL, NULL); 758 int rv = service->ResolveProxy(test_url, &info, &callback, NULL, NULL);
753 EXPECT_EQ(OK, rv); 759 EXPECT_EQ(OK, rv);
754 EXPECT_FALSE(info.is_direct()); 760 EXPECT_FALSE(info.is_direct());
755 EXPECT_EQ("foopy1:8080", info.proxy_server().ToURI()); 761 EXPECT_EQ("foopy1:8080", info.proxy_server().ToURI());
756 } 762 }
757 } 763 }
758 764
759 // If only HTTP and a SOCKS proxy are specified, check if ftp/https queries 765 // If only HTTP and a SOCKS proxy are specified, check if ftp/https queries
760 // fall back to the SOCKS proxy. 766 // fall back to the SOCKS proxy.
761 TEST(ProxyServiceTest, DefaultProxyFallbackToSOCKS) { 767 TEST(ProxyServiceTest, DefaultProxyFallbackToSOCKS) {
762 ProxyConfig config; 768 ProxyConfig config;
763 config.proxy_rules().ParseFromString("http=foopy1:8080;socks=foopy2:1080"); 769 config.proxy_rules().ParseFromString("http=foopy1:8080;socks=foopy2:1080");
764 config.set_auto_detect(false); 770 config.set_auto_detect(false);
765 EXPECT_EQ(ProxyConfig::ProxyRules::TYPE_PROXY_PER_SCHEME, 771 EXPECT_EQ(ProxyConfig::ProxyRules::TYPE_PROXY_PER_SCHEME,
766 config.proxy_rules().type); 772 config.proxy_rules().type);
767 773
768 { 774 {
769 scoped_refptr<ProxyService> service(new ProxyService( 775 scoped_refptr<ProxyService> service(new ProxyService(
770 new MockProxyConfigService(config), new MockAsyncProxyResolver, NULL)); 776 new MockProxyConfigService(config), new MockAsyncProxyResolver, NULL,
777 BoundNetLog()));
771 GURL test_url("http://www.msn.com"); 778 GURL test_url("http://www.msn.com");
772 ProxyInfo info; 779 ProxyInfo info;
773 TestCompletionCallback callback; 780 TestCompletionCallback callback;
774 int rv = service->ResolveProxy(test_url, &info, &callback, NULL, NULL); 781 int rv = service->ResolveProxy(test_url, &info, &callback, NULL, NULL);
775 EXPECT_EQ(OK, rv); 782 EXPECT_EQ(OK, rv);
776 EXPECT_FALSE(info.is_direct()); 783 EXPECT_FALSE(info.is_direct());
777 EXPECT_EQ("foopy1:8080", info.proxy_server().ToURI()); 784 EXPECT_EQ("foopy1:8080", info.proxy_server().ToURI());
778 } 785 }
779 { 786 {
780 scoped_refptr<ProxyService> service(new ProxyService( 787 scoped_refptr<ProxyService> service(new ProxyService(
781 new MockProxyConfigService(config), new MockAsyncProxyResolver, NULL)); 788 new MockProxyConfigService(config), new MockAsyncProxyResolver, NULL,
789 BoundNetLog()));
782 GURL test_url("ftp://ftp.google.com"); 790 GURL test_url("ftp://ftp.google.com");
783 ProxyInfo info; 791 ProxyInfo info;
784 TestCompletionCallback callback; 792 TestCompletionCallback callback;
785 int rv = service->ResolveProxy(test_url, &info, &callback, NULL, NULL); 793 int rv = service->ResolveProxy(test_url, &info, &callback, NULL, NULL);
786 EXPECT_EQ(OK, rv); 794 EXPECT_EQ(OK, rv);
787 EXPECT_FALSE(info.is_direct()); 795 EXPECT_FALSE(info.is_direct());
788 EXPECT_EQ("socks4://foopy2:1080", info.proxy_server().ToURI()); 796 EXPECT_EQ("socks4://foopy2:1080", info.proxy_server().ToURI());
789 } 797 }
790 { 798 {
791 scoped_refptr<ProxyService> service(new ProxyService( 799 scoped_refptr<ProxyService> service(new ProxyService(
792 new MockProxyConfigService(config), new MockAsyncProxyResolver, NULL)); 800 new MockProxyConfigService(config), new MockAsyncProxyResolver, NULL,
801 BoundNetLog()));
793 GURL test_url("https://webbranch.techcu.com"); 802 GURL test_url("https://webbranch.techcu.com");
794 ProxyInfo info; 803 ProxyInfo info;
795 TestCompletionCallback callback; 804 TestCompletionCallback callback;
796 int rv = service->ResolveProxy(test_url, &info, &callback, NULL, NULL); 805 int rv = service->ResolveProxy(test_url, &info, &callback, NULL, NULL);
797 EXPECT_EQ(OK, rv); 806 EXPECT_EQ(OK, rv);
798 EXPECT_FALSE(info.is_direct()); 807 EXPECT_FALSE(info.is_direct());
799 EXPECT_EQ("socks4://foopy2:1080", info.proxy_server().ToURI()); 808 EXPECT_EQ("socks4://foopy2:1080", info.proxy_server().ToURI());
800 } 809 }
801 { 810 {
802 scoped_refptr<ProxyService> service(new ProxyService( 811 scoped_refptr<ProxyService> service(new ProxyService(
803 new MockProxyConfigService(config), new MockAsyncProxyResolver, NULL)); 812 new MockProxyConfigService(config), new MockAsyncProxyResolver, NULL,
813 BoundNetLog()));
804 GURL test_url("unknown://www.microsoft.com"); 814 GURL test_url("unknown://www.microsoft.com");
805 ProxyInfo info; 815 ProxyInfo info;
806 TestCompletionCallback callback; 816 TestCompletionCallback callback;
807 int rv = service->ResolveProxy(test_url, &info, &callback, NULL, NULL); 817 int rv = service->ResolveProxy(test_url, &info, &callback, NULL, NULL);
808 EXPECT_EQ(OK, rv); 818 EXPECT_EQ(OK, rv);
809 EXPECT_FALSE(info.is_direct()); 819 EXPECT_FALSE(info.is_direct());
810 EXPECT_EQ("socks4://foopy2:1080", info.proxy_server().ToURI()); 820 EXPECT_EQ("socks4://foopy2:1080", info.proxy_server().ToURI());
811 } 821 }
812 } 822 }
813 823
814 // Test cancellation of an in-progress request. 824 // Test cancellation of an in-progress request.
815 TEST(ProxyServiceTest, CancelInProgressRequest) { 825 TEST(ProxyServiceTest, CancelInProgressRequest) {
816 MockProxyConfigService* config_service = 826 MockProxyConfigService* config_service =
817 new MockProxyConfigService("http://foopy/proxy.pac"); 827 new MockProxyConfigService("http://foopy/proxy.pac");
818 828
819 MockAsyncProxyResolver* resolver = new MockAsyncProxyResolver; 829 MockAsyncProxyResolver* resolver = new MockAsyncProxyResolver;
820 830
821 scoped_refptr<ProxyService> service( 831 scoped_refptr<ProxyService> service(
822 new ProxyService(config_service, resolver, NULL)); 832 new ProxyService(config_service, resolver, NULL, BoundNetLog()));
823 833
824 // Start 3 requests. 834 // Start 3 requests.
825 835
826 ProxyInfo info1; 836 ProxyInfo info1;
827 TestCompletionCallback callback1; 837 TestCompletionCallback callback1;
828 int rv = service->ResolveProxy( 838 int rv = service->ResolveProxy(
829 GURL("http://request1"), &info1, &callback1, NULL, NULL); 839 GURL("http://request1"), &info1, &callback1, NULL, NULL);
830 EXPECT_EQ(ERR_IO_PENDING, rv); 840 EXPECT_EQ(ERR_IO_PENDING, rv);
831 841
832 // Nothing has been sent to the proxy resolver yet, since the proxy 842 // Nothing has been sent to the proxy resolver yet, since the proxy
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
887 897
888 // Test the initial PAC download for resolver that expects bytes. 898 // Test the initial PAC download for resolver that expects bytes.
889 TEST(ProxyServiceTest, InitialPACScriptDownload) { 899 TEST(ProxyServiceTest, InitialPACScriptDownload) {
890 MockProxyConfigService* config_service = 900 MockProxyConfigService* config_service =
891 new MockProxyConfigService("http://foopy/proxy.pac"); 901 new MockProxyConfigService("http://foopy/proxy.pac");
892 902
893 MockAsyncProxyResolverExpectsBytes* resolver = 903 MockAsyncProxyResolverExpectsBytes* resolver =
894 new MockAsyncProxyResolverExpectsBytes; 904 new MockAsyncProxyResolverExpectsBytes;
895 905
896 scoped_refptr<ProxyService> service( 906 scoped_refptr<ProxyService> service(
897 new ProxyService(config_service, resolver, NULL)); 907 new ProxyService(config_service, resolver, NULL, BoundNetLog()));
898 908
899 MockProxyScriptFetcher* fetcher = new MockProxyScriptFetcher; 909 MockProxyScriptFetcher* fetcher = new MockProxyScriptFetcher;
900 service->SetProxyScriptFetcher(fetcher); 910 service->SetProxyScriptFetcher(fetcher);
901 911
902 // Start 3 requests. 912 // Start 3 requests.
903 913
904 ProxyInfo info1; 914 ProxyInfo info1;
905 TestCompletionCallback callback1; 915 TestCompletionCallback callback1;
906 int rv = service->ResolveProxy( 916 int rv = service->ResolveProxy(
907 GURL("http://request1"), &info1, &callback1, NULL, NULL); 917 GURL("http://request1"), &info1, &callback1, NULL, NULL);
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
966 976
967 // Test changing the ProxyScriptFetcher while PAC download is in progress. 977 // Test changing the ProxyScriptFetcher while PAC download is in progress.
968 TEST(ProxyServiceTest, ChangeScriptFetcherWhilePACDownloadInProgress) { 978 TEST(ProxyServiceTest, ChangeScriptFetcherWhilePACDownloadInProgress) {
969 MockProxyConfigService* config_service = 979 MockProxyConfigService* config_service =
970 new MockProxyConfigService("http://foopy/proxy.pac"); 980 new MockProxyConfigService("http://foopy/proxy.pac");
971 981
972 MockAsyncProxyResolverExpectsBytes* resolver = 982 MockAsyncProxyResolverExpectsBytes* resolver =
973 new MockAsyncProxyResolverExpectsBytes; 983 new MockAsyncProxyResolverExpectsBytes;
974 984
975 scoped_refptr<ProxyService> service( 985 scoped_refptr<ProxyService> service(
976 new ProxyService(config_service, resolver, NULL)); 986 new ProxyService(config_service, resolver, NULL, BoundNetLog()));
977 987
978 MockProxyScriptFetcher* fetcher = new MockProxyScriptFetcher; 988 MockProxyScriptFetcher* fetcher = new MockProxyScriptFetcher;
979 service->SetProxyScriptFetcher(fetcher); 989 service->SetProxyScriptFetcher(fetcher);
980 990
981 // Start 2 requests. 991 // Start 2 requests.
982 992
983 ProxyInfo info1; 993 ProxyInfo info1;
984 TestCompletionCallback callback1; 994 TestCompletionCallback callback1;
985 int rv = service->ResolveProxy( 995 int rv = service->ResolveProxy(
986 GURL("http://request1"), &info1, &callback1, NULL, NULL); 996 GURL("http://request1"), &info1, &callback1, NULL, NULL);
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
1023 1033
1024 // Test cancellation of a request, while the PAC script is being fetched. 1034 // Test cancellation of a request, while the PAC script is being fetched.
1025 TEST(ProxyServiceTest, CancelWhilePACFetching) { 1035 TEST(ProxyServiceTest, CancelWhilePACFetching) {
1026 MockProxyConfigService* config_service = 1036 MockProxyConfigService* config_service =
1027 new MockProxyConfigService("http://foopy/proxy.pac"); 1037 new MockProxyConfigService("http://foopy/proxy.pac");
1028 1038
1029 MockAsyncProxyResolverExpectsBytes* resolver = 1039 MockAsyncProxyResolverExpectsBytes* resolver =
1030 new MockAsyncProxyResolverExpectsBytes; 1040 new MockAsyncProxyResolverExpectsBytes;
1031 1041
1032 scoped_refptr<ProxyService> service( 1042 scoped_refptr<ProxyService> service(
1033 new ProxyService(config_service, resolver, NULL)); 1043 new ProxyService(config_service, resolver, NULL, BoundNetLog()));
1034 1044
1035 MockProxyScriptFetcher* fetcher = new MockProxyScriptFetcher; 1045 MockProxyScriptFetcher* fetcher = new MockProxyScriptFetcher;
1036 service->SetProxyScriptFetcher(fetcher); 1046 service->SetProxyScriptFetcher(fetcher);
1037 1047
1038 // Start 3 requests. 1048 // Start 3 requests.
1039 ProxyInfo info1; 1049 ProxyInfo info1;
1040 TestCompletionCallback callback1; 1050 TestCompletionCallback callback1;
1041 ProxyService::PacRequest* request1; 1051 ProxyService::PacRequest* request1;
1042 CapturingBoundNetLog log1(CapturingNetLog::kUnbounded); 1052 CapturingBoundNetLog log1(CapturingNetLog::kUnbounded);
1043 int rv = service->ResolveProxy( 1053 int rv = service->ResolveProxy(
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
1111 TEST(ProxyServiceTest, FallbackFromAutodetectToCustomPac) { 1121 TEST(ProxyServiceTest, FallbackFromAutodetectToCustomPac) {
1112 ProxyConfig config; 1122 ProxyConfig config;
1113 config.set_auto_detect(true); 1123 config.set_auto_detect(true);
1114 config.set_pac_url(GURL("http://foopy/proxy.pac")); 1124 config.set_pac_url(GURL("http://foopy/proxy.pac"));
1115 config.proxy_rules().ParseFromString("http=foopy:80"); // Won't be used. 1125 config.proxy_rules().ParseFromString("http=foopy:80"); // Won't be used.
1116 1126
1117 MockProxyConfigService* config_service = new MockProxyConfigService(config); 1127 MockProxyConfigService* config_service = new MockProxyConfigService(config);
1118 MockAsyncProxyResolverExpectsBytes* resolver = 1128 MockAsyncProxyResolverExpectsBytes* resolver =
1119 new MockAsyncProxyResolverExpectsBytes; 1129 new MockAsyncProxyResolverExpectsBytes;
1120 scoped_refptr<ProxyService> service( 1130 scoped_refptr<ProxyService> service(
1121 new ProxyService(config_service, resolver, NULL)); 1131 new ProxyService(config_service, resolver, NULL, BoundNetLog()));
1122 1132
1123 MockProxyScriptFetcher* fetcher = new MockProxyScriptFetcher; 1133 MockProxyScriptFetcher* fetcher = new MockProxyScriptFetcher;
1124 service->SetProxyScriptFetcher(fetcher); 1134 service->SetProxyScriptFetcher(fetcher);
1125 1135
1126 // Start 2 requests. 1136 // Start 2 requests.
1127 1137
1128 ProxyInfo info1; 1138 ProxyInfo info1;
1129 TestCompletionCallback callback1; 1139 TestCompletionCallback callback1;
1130 int rv = service->ResolveProxy( 1140 int rv = service->ResolveProxy(
1131 GURL("http://request1"), &info1, &callback1, NULL, NULL); 1141 GURL("http://request1"), &info1, &callback1, NULL, NULL);
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
1182 TEST(ProxyServiceTest, FallbackFromAutodetectToCustomPac2) { 1192 TEST(ProxyServiceTest, FallbackFromAutodetectToCustomPac2) {
1183 ProxyConfig config; 1193 ProxyConfig config;
1184 config.set_auto_detect(true); 1194 config.set_auto_detect(true);
1185 config.set_pac_url(GURL("http://foopy/proxy.pac")); 1195 config.set_pac_url(GURL("http://foopy/proxy.pac"));
1186 config.proxy_rules().ParseFromString("http=foopy:80"); // Won't be used. 1196 config.proxy_rules().ParseFromString("http=foopy:80"); // Won't be used.
1187 1197
1188 MockProxyConfigService* config_service = new MockProxyConfigService(config); 1198 MockProxyConfigService* config_service = new MockProxyConfigService(config);
1189 MockAsyncProxyResolverExpectsBytes* resolver = 1199 MockAsyncProxyResolverExpectsBytes* resolver =
1190 new MockAsyncProxyResolverExpectsBytes; 1200 new MockAsyncProxyResolverExpectsBytes;
1191 scoped_refptr<ProxyService> service( 1201 scoped_refptr<ProxyService> service(
1192 new ProxyService(config_service, resolver, NULL)); 1202 new ProxyService(config_service, resolver, NULL, BoundNetLog()));
1193 1203
1194 MockProxyScriptFetcher* fetcher = new MockProxyScriptFetcher; 1204 MockProxyScriptFetcher* fetcher = new MockProxyScriptFetcher;
1195 service->SetProxyScriptFetcher(fetcher); 1205 service->SetProxyScriptFetcher(fetcher);
1196 1206
1197 // Start 2 requests. 1207 // Start 2 requests.
1198 1208
1199 ProxyInfo info1; 1209 ProxyInfo info1;
1200 TestCompletionCallback callback1; 1210 TestCompletionCallback callback1;
1201 int rv = service->ResolveProxy( 1211 int rv = service->ResolveProxy(
1202 GURL("http://request1"), &info1, &callback1, NULL, NULL); 1212 GURL("http://request1"), &info1, &callback1, NULL, NULL);
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
1258 TEST(ProxyServiceTest, FallbackFromAutodetectToCustomToManual) { 1268 TEST(ProxyServiceTest, FallbackFromAutodetectToCustomToManual) {
1259 ProxyConfig config; 1269 ProxyConfig config;
1260 config.set_auto_detect(true); 1270 config.set_auto_detect(true);
1261 config.set_pac_url(GURL("http://foopy/proxy.pac")); 1271 config.set_pac_url(GURL("http://foopy/proxy.pac"));
1262 config.proxy_rules().ParseFromString("http=foopy:80"); 1272 config.proxy_rules().ParseFromString("http=foopy:80");
1263 1273
1264 MockProxyConfigService* config_service = new MockProxyConfigService(config); 1274 MockProxyConfigService* config_service = new MockProxyConfigService(config);
1265 MockAsyncProxyResolverExpectsBytes* resolver = 1275 MockAsyncProxyResolverExpectsBytes* resolver =
1266 new MockAsyncProxyResolverExpectsBytes; 1276 new MockAsyncProxyResolverExpectsBytes;
1267 scoped_refptr<ProxyService> service( 1277 scoped_refptr<ProxyService> service(
1268 new ProxyService(config_service, resolver, NULL)); 1278 new ProxyService(config_service, resolver, NULL, BoundNetLog()));
1269 1279
1270 MockProxyScriptFetcher* fetcher = new MockProxyScriptFetcher; 1280 MockProxyScriptFetcher* fetcher = new MockProxyScriptFetcher;
1271 service->SetProxyScriptFetcher(fetcher); 1281 service->SetProxyScriptFetcher(fetcher);
1272 1282
1273 // Start 2 requests. 1283 // Start 2 requests.
1274 1284
1275 ProxyInfo info1; 1285 ProxyInfo info1;
1276 TestCompletionCallback callback1; 1286 TestCompletionCallback callback1;
1277 int rv = service->ResolveProxy( 1287 int rv = service->ResolveProxy(
1278 GURL("http://request1"), &info1, &callback1, NULL, NULL); 1288 GURL("http://request1"), &info1, &callback1, NULL, NULL);
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
1316 ProxyConfig config; 1326 ProxyConfig config;
1317 config.set_auto_detect(true); 1327 config.set_auto_detect(true);
1318 config.set_pac_url(GURL("http://foopy/proxy.pac")); 1328 config.set_pac_url(GURL("http://foopy/proxy.pac"));
1319 config.proxy_rules().ParseFromString("http=foopy:80"); // Not used. 1329 config.proxy_rules().ParseFromString("http=foopy:80"); // Not used.
1320 config.proxy_rules().bypass_rules.ParseFromString("www.google.com"); 1330 config.proxy_rules().bypass_rules.ParseFromString("www.google.com");
1321 1331
1322 MockProxyConfigService* config_service = new MockProxyConfigService(config); 1332 MockProxyConfigService* config_service = new MockProxyConfigService(config);
1323 MockAsyncProxyResolverExpectsBytes* resolver = 1333 MockAsyncProxyResolverExpectsBytes* resolver =
1324 new MockAsyncProxyResolverExpectsBytes; 1334 new MockAsyncProxyResolverExpectsBytes;
1325 scoped_refptr<ProxyService> service( 1335 scoped_refptr<ProxyService> service(
1326 new ProxyService(config_service, resolver, NULL)); 1336 new ProxyService(config_service, resolver, NULL, BoundNetLog()));
1327 1337
1328 MockProxyScriptFetcher* fetcher = new MockProxyScriptFetcher; 1338 MockProxyScriptFetcher* fetcher = new MockProxyScriptFetcher;
1329 service->SetProxyScriptFetcher(fetcher); 1339 service->SetProxyScriptFetcher(fetcher);
1330 1340
1331 // Start 1 requests. 1341 // Start 1 requests.
1332 1342
1333 ProxyInfo info1; 1343 ProxyInfo info1;
1334 TestCompletionCallback callback1; 1344 TestCompletionCallback callback1;
1335 int rv = service->ResolveProxy( 1345 int rv = service->ResolveProxy(
1336 GURL("http://www.google.com"), &info1, &callback1, NULL, NULL); 1346 GURL("http://www.google.com"), &info1, &callback1, NULL, NULL);
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
1384 // have any memory errors (used to be that the ProxyScriptFetcher was 1394 // have any memory errors (used to be that the ProxyScriptFetcher was
1385 // being deleted prior to the InitProxyResolver). 1395 // being deleted prior to the InitProxyResolver).
1386 TEST(ProxyServiceTest, DeleteWhileInitProxyResolverHasOutstandingFetch) { 1396 TEST(ProxyServiceTest, DeleteWhileInitProxyResolverHasOutstandingFetch) {
1387 ProxyConfig config; 1397 ProxyConfig config;
1388 config.set_pac_url(GURL("http://foopy/proxy.pac")); 1398 config.set_pac_url(GURL("http://foopy/proxy.pac"));
1389 1399
1390 MockProxyConfigService* config_service = new MockProxyConfigService(config); 1400 MockProxyConfigService* config_service = new MockProxyConfigService(config);
1391 MockAsyncProxyResolverExpectsBytes* resolver = 1401 MockAsyncProxyResolverExpectsBytes* resolver =
1392 new MockAsyncProxyResolverExpectsBytes; 1402 new MockAsyncProxyResolverExpectsBytes;
1393 scoped_refptr<ProxyService> service( 1403 scoped_refptr<ProxyService> service(
1394 new ProxyService(config_service, resolver, NULL)); 1404 new ProxyService(config_service, resolver, NULL, BoundNetLog()));
1395 1405
1396 MockProxyScriptFetcher* fetcher = new MockProxyScriptFetcher; 1406 MockProxyScriptFetcher* fetcher = new MockProxyScriptFetcher;
1397 service->SetProxyScriptFetcher(fetcher); 1407 service->SetProxyScriptFetcher(fetcher);
1398 1408
1399 // Start 1 request. 1409 // Start 1 request.
1400 1410
1401 ProxyInfo info1; 1411 ProxyInfo info1;
1402 TestCompletionCallback callback1; 1412 TestCompletionCallback callback1;
1403 int rv = service->ResolveProxy( 1413 int rv = service->ResolveProxy(
1404 GURL("http://www.google.com"), &info1, &callback1, NULL, NULL); 1414 GURL("http://www.google.com"), &info1, &callback1, NULL, NULL);
(...skipping 15 matching lines...) Expand all
1420 // request to the proxy resolver. When run under valgrind, should not 1430 // request to the proxy resolver. When run under valgrind, should not
1421 // have any memory errors (used to be that the ProxyResolver was 1431 // have any memory errors (used to be that the ProxyResolver was
1422 // being deleted prior to the InitProxyResolver). 1432 // being deleted prior to the InitProxyResolver).
1423 TEST(ProxyServiceTest, DeleteWhileInitProxyResolverHasOutstandingSet) { 1433 TEST(ProxyServiceTest, DeleteWhileInitProxyResolverHasOutstandingSet) {
1424 MockProxyConfigService* config_service = 1434 MockProxyConfigService* config_service =
1425 new MockProxyConfigService("http://foopy/proxy.pac"); 1435 new MockProxyConfigService("http://foopy/proxy.pac");
1426 1436
1427 MockAsyncProxyResolver* resolver = new MockAsyncProxyResolver; 1437 MockAsyncProxyResolver* resolver = new MockAsyncProxyResolver;
1428 1438
1429 scoped_refptr<ProxyService> service( 1439 scoped_refptr<ProxyService> service(
1430 new ProxyService(config_service, resolver, NULL)); 1440 new ProxyService(config_service, resolver, NULL, BoundNetLog()));
1431 1441
1432 GURL url("http://www.google.com/"); 1442 GURL url("http://www.google.com/");
1433 1443
1434 ProxyInfo info; 1444 ProxyInfo info;
1435 TestCompletionCallback callback; 1445 TestCompletionCallback callback;
1436 int rv = service->ResolveProxy(url, &info, &callback, NULL, NULL); 1446 int rv = service->ResolveProxy(url, &info, &callback, NULL, NULL);
1437 EXPECT_EQ(ERR_IO_PENDING, rv); 1447 EXPECT_EQ(ERR_IO_PENDING, rv);
1438 1448
1439 EXPECT_EQ(GURL("http://foopy/proxy.pac"), 1449 EXPECT_EQ(GURL("http://foopy/proxy.pac"),
1440 resolver->pending_set_pac_script_request()->pac_url()); 1450 resolver->pending_set_pac_script_request()->pac_url());
1441 1451
1442 // Delete the ProxyService. 1452 // Delete the ProxyService.
1443 service = NULL; 1453 service = NULL;
1444 } 1454 }
1445 1455
1446 TEST(ProxyServiceTest, ResetProxyConfigService) { 1456 TEST(ProxyServiceTest, ResetProxyConfigService) {
1447 ProxyConfig config1; 1457 ProxyConfig config1;
1448 config1.proxy_rules().ParseFromString("foopy1:8080"); 1458 config1.proxy_rules().ParseFromString("foopy1:8080");
1449 config1.set_auto_detect(false); 1459 config1.set_auto_detect(false);
1450 scoped_refptr<ProxyService> service(new ProxyService( 1460 scoped_refptr<ProxyService> service(new ProxyService(
1451 new MockProxyConfigService(config1), 1461 new MockProxyConfigService(config1),
1452 new MockAsyncProxyResolverExpectsBytes, 1462 new MockAsyncProxyResolverExpectsBytes,
1453 NULL)); 1463 NULL, BoundNetLog()));
1454 1464
1455 ProxyInfo info; 1465 ProxyInfo info;
1456 TestCompletionCallback callback1; 1466 TestCompletionCallback callback1;
1457 int rv = service->ResolveProxy( 1467 int rv = service->ResolveProxy(
1458 GURL("http://request1"), &info, &callback1, NULL, NULL); 1468 GURL("http://request1"), &info, &callback1, NULL, NULL);
1459 EXPECT_EQ(OK, rv); 1469 EXPECT_EQ(OK, rv);
1460 EXPECT_EQ("foopy1:8080", info.proxy_server().ToURI()); 1470 EXPECT_EQ("foopy1:8080", info.proxy_server().ToURI());
1461 1471
1462 ProxyConfig config2; 1472 ProxyConfig config2;
1463 config2.proxy_rules().ParseFromString("foopy2:8080"); 1473 config2.proxy_rules().ParseFromString("foopy2:8080");
(...skipping 11 matching lines...) Expand all
1475 // Regression test for http://crbug.com/18526 -- the configuration was being 1485 // Regression test for http://crbug.com/18526 -- the configuration was being
1476 // mutated to cancel out the automatic settings, which meant UpdateConfig() 1486 // mutated to cancel out the automatic settings, which meant UpdateConfig()
1477 // thought it had received a new configuration. 1487 // thought it had received a new configuration.
1478 TEST(ProxyServiceTest, UpdateConfigAfterFailedAutodetect) { 1488 TEST(ProxyServiceTest, UpdateConfigAfterFailedAutodetect) {
1479 ProxyConfig config; 1489 ProxyConfig config;
1480 config.set_auto_detect(true); 1490 config.set_auto_detect(true);
1481 1491
1482 MockProxyConfigService* config_service = new MockProxyConfigService(config); 1492 MockProxyConfigService* config_service = new MockProxyConfigService(config);
1483 MockAsyncProxyResolver* resolver = new MockAsyncProxyResolver; 1493 MockAsyncProxyResolver* resolver = new MockAsyncProxyResolver;
1484 scoped_refptr<ProxyService> service( 1494 scoped_refptr<ProxyService> service(
1485 new ProxyService(config_service, resolver, NULL)); 1495 new ProxyService(config_service, resolver, NULL, BoundNetLog()));
1486 1496
1487 // Start 1 requests. 1497 // Start 1 requests.
1488 1498
1489 ProxyInfo info1; 1499 ProxyInfo info1;
1490 TestCompletionCallback callback1; 1500 TestCompletionCallback callback1;
1491 int rv = service->ResolveProxy( 1501 int rv = service->ResolveProxy(
1492 GURL("http://www.google.com"), &info1, &callback1, NULL, NULL); 1502 GURL("http://www.google.com"), &info1, &callback1, NULL, NULL);
1493 EXPECT_EQ(ERR_IO_PENDING, rv); 1503 EXPECT_EQ(ERR_IO_PENDING, rv);
1494 1504
1495 // Check that nothing has been sent to the proxy resolver yet. 1505 // Check that nothing has been sent to the proxy resolver yet.
(...skipping 25 matching lines...) Expand all
1521 1531
1522 // Test that when going from a configuration that required PAC to one 1532 // Test that when going from a configuration that required PAC to one
1523 // that does NOT, we unset the variable |should_use_proxy_resolver_|. 1533 // that does NOT, we unset the variable |should_use_proxy_resolver_|.
1524 TEST(ProxyServiceTest, UpdateConfigFromPACToDirect) { 1534 TEST(ProxyServiceTest, UpdateConfigFromPACToDirect) {
1525 ProxyConfig config; 1535 ProxyConfig config;
1526 config.set_auto_detect(true); 1536 config.set_auto_detect(true);
1527 1537
1528 MockProxyConfigService* config_service = new MockProxyConfigService(config); 1538 MockProxyConfigService* config_service = new MockProxyConfigService(config);
1529 MockAsyncProxyResolver* resolver = new MockAsyncProxyResolver; 1539 MockAsyncProxyResolver* resolver = new MockAsyncProxyResolver;
1530 scoped_refptr<ProxyService> service( 1540 scoped_refptr<ProxyService> service(
1531 new ProxyService(config_service, resolver, NULL)); 1541 new ProxyService(config_service, resolver, NULL, BoundNetLog()));
1532 1542
1533 // Start 1 request. 1543 // Start 1 request.
1534 1544
1535 ProxyInfo info1; 1545 ProxyInfo info1;
1536 TestCompletionCallback callback1; 1546 TestCompletionCallback callback1;
1537 int rv = service->ResolveProxy( 1547 int rv = service->ResolveProxy(
1538 GURL("http://www.google.com"), &info1, &callback1, NULL, NULL); 1548 GURL("http://www.google.com"), &info1, &callback1, NULL, NULL);
1539 EXPECT_EQ(ERR_IO_PENDING, rv); 1549 EXPECT_EQ(ERR_IO_PENDING, rv);
1540 1550
1541 // Check that nothing has been sent to the proxy resolver yet. 1551 // Check that nothing has been sent to the proxy resolver yet.
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
1576 TEST(ProxyServiceTest, NetworkChangeTriggersPacRefetch) { 1586 TEST(ProxyServiceTest, NetworkChangeTriggersPacRefetch) {
1577 MockProxyConfigService* config_service = 1587 MockProxyConfigService* config_service =
1578 new MockProxyConfigService("http://foopy/proxy.pac"); 1588 new MockProxyConfigService("http://foopy/proxy.pac");
1579 1589
1580 MockAsyncProxyResolverExpectsBytes* resolver = 1590 MockAsyncProxyResolverExpectsBytes* resolver =
1581 new MockAsyncProxyResolverExpectsBytes; 1591 new MockAsyncProxyResolverExpectsBytes;
1582 1592
1583 MockNetworkChangeNotifier network_change_notifier; 1593 MockNetworkChangeNotifier network_change_notifier;
1584 1594
1585 scoped_refptr<ProxyService> service( 1595 scoped_refptr<ProxyService> service(
1586 new ProxyService(config_service, resolver, &network_change_notifier)); 1596 new ProxyService(config_service, resolver, &network_change_notifier,
1597 BoundNetLog()));
1587 1598
1588 MockProxyScriptFetcher* fetcher = new MockProxyScriptFetcher; 1599 MockProxyScriptFetcher* fetcher = new MockProxyScriptFetcher;
1589 service->SetProxyScriptFetcher(fetcher); 1600 service->SetProxyScriptFetcher(fetcher);
1590 1601
1591 // Start 1 request. 1602 // Start 1 request.
1592 1603
1593 ProxyInfo info1; 1604 ProxyInfo info1;
1594 TestCompletionCallback callback1; 1605 TestCompletionCallback callback1;
1595 int rv = service->ResolveProxy( 1606 int rv = service->ResolveProxy(
1596 GURL("http://request1"), &info1, &callback1, NULL, NULL); 1607 GURL("http://request1"), &info1, &callback1, NULL, NULL);
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
1660 // Complete the pending second request. 1671 // Complete the pending second request.
1661 resolver->pending_requests()[0]->results()->UseNamedProxy("request2:80"); 1672 resolver->pending_requests()[0]->results()->UseNamedProxy("request2:80");
1662 resolver->pending_requests()[0]->CompleteNow(OK); 1673 resolver->pending_requests()[0]->CompleteNow(OK);
1663 1674
1664 // Wait for completion callback, and verify that the request ran as expected. 1675 // Wait for completion callback, and verify that the request ran as expected.
1665 EXPECT_EQ(OK, callback2.WaitForResult()); 1676 EXPECT_EQ(OK, callback2.WaitForResult());
1666 EXPECT_EQ("request2:80", info2.proxy_server().ToURI()); 1677 EXPECT_EQ("request2:80", info2.proxy_server().ToURI());
1667 } 1678 }
1668 1679
1669 } // namespace net 1680 } // namespace net
OLDNEW
« no previous file with comments | « net/proxy/proxy_service.cc ('k') | webkit/tools/test_shell/test_shell_request_context.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698