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

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

Issue 2845643003: Allow ProxyService to share URLRequestContext with everything else. (Closed)
Patch Set: Merge Created 3 years, 7 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
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 <cstdarg> 7 #include <cstdarg>
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 3667 matching lines...) Expand 10 before | Expand all | Expand 10 after
3678 EXPECT_EQ( 3678 EXPECT_EQ(
3679 GURL(test.sanitized_url_unstripped), 3679 GURL(test.sanitized_url_unstripped),
3680 helper.SanitizeUrl(raw_url, ProxyService::SanitizeUrlPolicy::UNSAFE)); 3680 helper.SanitizeUrl(raw_url, ProxyService::SanitizeUrlPolicy::UNSAFE));
3681 3681
3682 EXPECT_EQ( 3682 EXPECT_EQ(
3683 GURL(test.sanitized_url), 3683 GURL(test.sanitized_url),
3684 helper.SanitizeUrl(raw_url, ProxyService::SanitizeUrlPolicy::SAFE)); 3684 helper.SanitizeUrl(raw_url, ProxyService::SanitizeUrlPolicy::SAFE));
3685 } 3685 }
3686 } 3686 }
3687 3687
3688 TEST_F(ProxyServiceTest, OnShutdownWithLiveRequest) {
3689 MockProxyConfigService* config_service =
3690 new MockProxyConfigService("http://foopy/proxy.pac");
3691
3692 MockAsyncProxyResolver resolver;
3693 MockAsyncProxyResolverFactory* factory =
3694 new MockAsyncProxyResolverFactory(true);
3695
3696 ProxyService service(base::WrapUnique(config_service),
3697 base::WrapUnique(factory), nullptr);
3698
3699 MockProxyScriptFetcher* fetcher = new MockProxyScriptFetcher;
3700 service.SetProxyScriptFetchers(
3701 fetcher, base::WrapUnique(new DoNothingDhcpProxyScriptFetcher()));
3702
3703 ProxyInfo info;
3704 TestCompletionCallback callback;
3705 ProxyService::PacRequest* request;
3706 int rv = service.ResolveProxy(GURL("http://request/"), std::string(), &info,
3707 callback.callback(), &request, nullptr,
3708 NetLogWithSource());
3709 EXPECT_THAT(rv, IsError(ERR_IO_PENDING));
3710
3711 // The first request should have triggered download of PAC script.
3712 EXPECT_TRUE(fetcher->has_pending_request());
3713 EXPECT_EQ(GURL("http://foopy/proxy.pac"), fetcher->pending_request_url());
3714
3715 service.OnShutdown();
3716 EXPECT_THAT(callback.WaitForResult(), IsOk());
3717 EXPECT_FALSE(fetcher->has_pending_request());
3718 EXPECT_TRUE(info.is_direct());
3719 }
3720
3721 TEST_F(ProxyServiceTest, OnShutdownFollowedByRequest) {
3722 MockProxyConfigService* config_service =
3723 new MockProxyConfigService("http://foopy/proxy.pac");
3724
3725 MockAsyncProxyResolver resolver;
3726 MockAsyncProxyResolverFactory* factory =
3727 new MockAsyncProxyResolverFactory(true);
3728
3729 ProxyService service(base::WrapUnique(config_service),
3730 base::WrapUnique(factory), nullptr);
3731
3732 MockProxyScriptFetcher* fetcher = new MockProxyScriptFetcher;
3733 service.SetProxyScriptFetchers(
3734 fetcher, base::WrapUnique(new DoNothingDhcpProxyScriptFetcher()));
3735
3736 service.OnShutdown();
3737
3738 ProxyInfo info;
3739 TestCompletionCallback callback;
3740 ProxyService::PacRequest* request;
3741 int rv = service.ResolveProxy(GURL("http://request/"), std::string(), &info,
3742 callback.callback(), &request, nullptr,
3743 NetLogWithSource());
3744 EXPECT_THAT(rv, IsOk());
3745 EXPECT_FALSE(fetcher->has_pending_request());
3746 EXPECT_TRUE(info.is_direct());
3747 }
3748
3688 } // namespace net 3749 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698