| OLD | NEW |
| 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 "base/compiler_specific.h" | 5 #include "base/compiler_specific.h" |
| 6 #include "googleurl/src/gurl.h" | 6 #include "googleurl/src/gurl.h" |
| 7 #include "net/base/net_errors.h" | 7 #include "net/base/net_errors.h" |
| 8 #include "net/proxy/proxy_config_service.h" | 8 #include "net/proxy/proxy_config_service.h" |
| 9 #include "net/proxy/proxy_resolver.h" | 9 #include "net/proxy/proxy_resolver.h" |
| 10 #include "net/proxy/proxy_script_fetcher.h" | 10 #include "net/proxy/proxy_script_fetcher.h" |
| (...skipping 925 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 936 SyncProxyService service4(new MockProxyConfigService(config), | 936 SyncProxyService service4(new MockProxyConfigService(config), |
| 937 new MockProxyResolver); | 937 new MockProxyResolver); |
| 938 GURL test_url4("www.microsoft.com"); | 938 GURL test_url4("www.microsoft.com"); |
| 939 net::ProxyInfo info4; | 939 net::ProxyInfo info4; |
| 940 rv = service4.ResolveProxy(test_url4, &info4); | 940 rv = service4.ResolveProxy(test_url4, &info4); |
| 941 EXPECT_EQ(rv, net::OK); | 941 EXPECT_EQ(rv, net::OK); |
| 942 EXPECT_FALSE(info4.is_direct()); | 942 EXPECT_FALSE(info4.is_direct()); |
| 943 EXPECT_EQ("foopy1:8080", info4.proxy_server().ToURI()); | 943 EXPECT_EQ("foopy1:8080", info4.proxy_server().ToURI()); |
| 944 } | 944 } |
| 945 | 945 |
| 946 // If only HTTP and a SOCKS proxy are specified, check if ftp/https queries |
| 947 // fall back to the SOCKS proxy. |
| 948 TEST(ProxyServiceTest, DefaultProxyFallbackToSOCKS) { |
| 949 net::ProxyConfig config; |
| 950 config.proxy_rules.ParseFromString("http=foopy1:8080;socks=foopy2:1080"); |
| 951 config.auto_detect = false; |
| 952 EXPECT_EQ(net::ProxyConfig::ProxyRules::TYPE_PROXY_PER_SCHEME, |
| 953 config.proxy_rules.type); |
| 954 |
| 955 SyncProxyService service1(new MockProxyConfigService(config), |
| 956 new MockProxyResolver); |
| 957 GURL test_url1("http://www.msn.com"); |
| 958 net::ProxyInfo info1; |
| 959 int rv = service1.ResolveProxy(test_url1, &info1); |
| 960 EXPECT_EQ(net::OK, rv); |
| 961 EXPECT_FALSE(info1.is_direct()); |
| 962 EXPECT_EQ("foopy1:8080", info1.proxy_server().ToURI()); |
| 963 |
| 964 SyncProxyService service2(new MockProxyConfigService(config), |
| 965 new MockProxyResolver); |
| 966 GURL test_url2("ftp://ftp.google.com"); |
| 967 net::ProxyInfo info2; |
| 968 rv = service2.ResolveProxy(test_url2, &info2); |
| 969 EXPECT_EQ(net::OK, rv); |
| 970 EXPECT_FALSE(info2.is_direct()); |
| 971 EXPECT_EQ("socks4://foopy2:1080", info2.proxy_server().ToURI()); |
| 972 |
| 973 SyncProxyService service3(new MockProxyConfigService(config), |
| 974 new MockProxyResolver); |
| 975 GURL test_url3("https://webbranch.techcu.com"); |
| 976 net::ProxyInfo info3; |
| 977 rv = service3.ResolveProxy(test_url3, &info3); |
| 978 EXPECT_EQ(net::OK, rv); |
| 979 EXPECT_FALSE(info3.is_direct()); |
| 980 EXPECT_EQ("socks4://foopy2:1080", info3.proxy_server().ToURI()); |
| 981 |
| 982 SyncProxyService service4(new MockProxyConfigService(config), |
| 983 new MockProxyResolver); |
| 984 GURL test_url4("www.microsoft.com"); |
| 985 net::ProxyInfo info4; |
| 986 rv = service4.ResolveProxy(test_url4, &info4); |
| 987 EXPECT_EQ(net::OK, rv); |
| 988 EXPECT_FALSE(info4.is_direct()); |
| 989 EXPECT_EQ("socks4://foopy2:1080", info4.proxy_server().ToURI()); |
| 990 } |
| 991 |
| 946 // Test cancellation of a queued request. | 992 // Test cancellation of a queued request. |
| 947 TEST(ProxyServiceTest, CancelQueuedRequest) { | 993 TEST(ProxyServiceTest, CancelQueuedRequest) { |
| 948 MockProxyConfigService* config_service = | 994 MockProxyConfigService* config_service = |
| 949 new MockProxyConfigService("http://foopy/proxy.pac"); | 995 new MockProxyConfigService("http://foopy/proxy.pac"); |
| 950 | 996 |
| 951 BlockableProxyResolver* resolver = new BlockableProxyResolver; | 997 BlockableProxyResolver* resolver = new BlockableProxyResolver; |
| 952 | 998 |
| 953 ProxyServiceWithFutures service(config_service, resolver); | 999 ProxyServiceWithFutures service(config_service, resolver); |
| 954 | 1000 |
| 955 // Cause requests to pile up, by having them block in the PAC thread. | 1001 // Cause requests to pile up, by having them block in the PAC thread. |
| (...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1139 EXPECT_EQ("foopy1:8080", info.proxy_server().ToURI()); | 1185 EXPECT_EQ("foopy1:8080", info.proxy_server().ToURI()); |
| 1140 | 1186 |
| 1141 net::ProxyConfig config2; | 1187 net::ProxyConfig config2; |
| 1142 config2.proxy_rules.ParseFromString("foopy2:8080"); | 1188 config2.proxy_rules.ParseFromString("foopy2:8080"); |
| 1143 config2.auto_detect = false; | 1189 config2.auto_detect = false; |
| 1144 int result = service->ResetConfigService(new MockProxyConfigService(config2)); | 1190 int result = service->ResetConfigService(new MockProxyConfigService(config2)); |
| 1145 DCHECK(result == 0); | 1191 DCHECK(result == 0); |
| 1146 service->ResolveProxy(GURL("http://request2"), &info); | 1192 service->ResolveProxy(GURL("http://request2"), &info); |
| 1147 EXPECT_EQ("foopy2:8080", info.proxy_server().ToURI()); | 1193 EXPECT_EQ("foopy2:8080", info.proxy_server().ToURI()); |
| 1148 } | 1194 } |
| OLD | NEW |