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

Unified Diff: net/proxy/proxy_service_unittest.cc

Issue 149191: Whenever proxy configurations contain socks and http/https/ftp proxies, socks... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 11 years, 5 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « net/proxy/proxy_service.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/proxy/proxy_service_unittest.cc
===================================================================
--- net/proxy/proxy_service_unittest.cc (revision 20472)
+++ net/proxy/proxy_service_unittest.cc (working copy)
@@ -943,6 +943,52 @@
EXPECT_EQ("foopy1:8080", info4.proxy_server().ToURI());
}
+// If only HTTP and a SOCKS proxy are specified, check if ftp/https queries
+// fall back to the SOCKS proxy.
+TEST(ProxyServiceTest, DefaultProxyFallbackToSOCKS) {
+ net::ProxyConfig config;
+ config.proxy_rules.ParseFromString("http=foopy1:8080;socks=foopy2:1080");
+ config.auto_detect = false;
+ EXPECT_EQ(net::ProxyConfig::ProxyRules::TYPE_PROXY_PER_SCHEME,
+ config.proxy_rules.type);
+
+ SyncProxyService service1(new MockProxyConfigService(config),
+ new MockProxyResolver);
+ GURL test_url1("http://www.msn.com");
+ net::ProxyInfo info1;
+ int rv = service1.ResolveProxy(test_url1, &info1);
+ EXPECT_EQ(net::OK, rv);
+ EXPECT_FALSE(info1.is_direct());
+ EXPECT_EQ("foopy1:8080", info1.proxy_server().ToURI());
+
+ SyncProxyService service2(new MockProxyConfigService(config),
+ new MockProxyResolver);
+ GURL test_url2("ftp://ftp.google.com");
+ net::ProxyInfo info2;
+ rv = service2.ResolveProxy(test_url2, &info2);
+ EXPECT_EQ(net::OK, rv);
+ EXPECT_FALSE(info2.is_direct());
+ EXPECT_EQ("socks4://foopy2:1080", info2.proxy_server().ToURI());
+
+ SyncProxyService service3(new MockProxyConfigService(config),
+ new MockProxyResolver);
+ GURL test_url3("https://webbranch.techcu.com");
+ net::ProxyInfo info3;
+ rv = service3.ResolveProxy(test_url3, &info3);
+ EXPECT_EQ(net::OK, rv);
+ EXPECT_FALSE(info3.is_direct());
+ EXPECT_EQ("socks4://foopy2:1080", info3.proxy_server().ToURI());
+
+ SyncProxyService service4(new MockProxyConfigService(config),
+ new MockProxyResolver);
+ GURL test_url4("www.microsoft.com");
+ net::ProxyInfo info4;
+ rv = service4.ResolveProxy(test_url4, &info4);
+ EXPECT_EQ(net::OK, rv);
+ EXPECT_FALSE(info4.is_direct());
+ EXPECT_EQ("socks4://foopy2:1080", info4.proxy_server().ToURI());
+}
+
// Test cancellation of a queued request.
TEST(ProxyServiceTest, CancelQueuedRequest) {
MockProxyConfigService* config_service =
« no previous file with comments | « net/proxy/proxy_service.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698