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

Unified Diff: net/proxy/init_proxy_resolver_unittest.cc

Issue 7019015: Revert 85646 - Adds support for the DHCP portion of the WPAD (proxy auto-discovery) protocol. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 9 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « net/proxy/init_proxy_resolver.cc ('k') | net/proxy/mock_proxy_script_fetcher.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/proxy/init_proxy_resolver_unittest.cc
===================================================================
--- net/proxy/init_proxy_resolver_unittest.cc (revision 85647)
+++ net/proxy/init_proxy_resolver_unittest.cc (working copy)
@@ -11,7 +11,6 @@
#include "net/base/net_log_unittest.h"
#include "net/base/test_completion_callback.h"
#include "net/proxy/init_proxy_resolver.h"
-#include "net/proxy/dhcp_proxy_script_fetcher.h"
#include "net/proxy/proxy_config.h"
#include "net/proxy/proxy_resolver.h"
#include "net/proxy/proxy_script_fetcher.h"
@@ -108,7 +107,7 @@
virtual void Cancel() {}
- virtual URLRequestContext* GetRequestContext() const { return NULL; }
+ virtual URLRequestContext* GetRequestContext() { return NULL; }
private:
const Rules* rules_;
@@ -175,7 +174,6 @@
Rules rules;
RuleBasedProxyResolver resolver(&rules, true /*expects_pac_bytes*/);
RuleBasedProxyScriptFetcher fetcher(&rules);
- DoNothingDhcpProxyScriptFetcher dhcp_fetcher;
ProxyConfig config;
config.set_pac_url(GURL("http://custom/proxy.pac"));
@@ -184,10 +182,8 @@
TestCompletionCallback callback;
CapturingNetLog log(CapturingNetLog::kUnbounded);
- ProxyConfig effective_config;
- InitProxyResolver init(&resolver, &fetcher, &dhcp_fetcher, &log);
- EXPECT_EQ(OK, init.Init(
- config, base::TimeDelta(), &effective_config, &callback));
+ InitProxyResolver init(&resolver, &fetcher, &log);
+ EXPECT_EQ(OK, init.Init(config, base::TimeDelta(), NULL, &callback));
EXPECT_EQ(rule.text(), resolver.script_data()->utf16());
// Check the NetLog was filled correctly.
@@ -207,9 +203,6 @@
entries, 4, NetLog::TYPE_INIT_PROXY_RESOLVER_SET_PAC_SCRIPT));
EXPECT_TRUE(LogContainsEndEvent(
entries, 5, NetLog::TYPE_INIT_PROXY_RESOLVER));
-
- EXPECT_TRUE(effective_config.has_pac_url());
- EXPECT_EQ(config.pac_url(), effective_config.pac_url());
}
// Fail downloading the custom PAC script.
@@ -217,7 +210,6 @@
Rules rules;
RuleBasedProxyResolver resolver(&rules, true /*expects_pac_bytes*/);
RuleBasedProxyScriptFetcher fetcher(&rules);
- DoNothingDhcpProxyScriptFetcher dhcp_fetcher;
ProxyConfig config;
config.set_pac_url(GURL("http://custom/proxy.pac"));
@@ -226,10 +218,9 @@
TestCompletionCallback callback;
CapturingNetLog log(CapturingNetLog::kUnbounded);
- ProxyConfig effective_config;
- InitProxyResolver init(&resolver, &fetcher, &dhcp_fetcher, &log);
+ InitProxyResolver init(&resolver, &fetcher, &log);
EXPECT_EQ(kFailedDownloading,
- init.Init(config, base::TimeDelta(), &effective_config, &callback));
+ init.Init(config, base::TimeDelta(), NULL, &callback));
EXPECT_EQ(NULL, resolver.script_data());
// Check the NetLog was filled correctly.
@@ -245,8 +236,6 @@
entries, 2, NetLog::TYPE_INIT_PROXY_RESOLVER_FETCH_PAC_SCRIPT));
EXPECT_TRUE(LogContainsEndEvent(
entries, 3, NetLog::TYPE_INIT_PROXY_RESOLVER));
-
- EXPECT_FALSE(effective_config.has_pac_url());
}
// Fail parsing the custom PAC script.
@@ -254,7 +243,6 @@
Rules rules;
RuleBasedProxyResolver resolver(&rules, true /*expects_pac_bytes*/);
RuleBasedProxyScriptFetcher fetcher(&rules);
- DoNothingDhcpProxyScriptFetcher dhcp_fetcher;
ProxyConfig config;
config.set_pac_url(GURL("http://custom/proxy.pac"));
@@ -262,7 +250,7 @@
rules.AddFailParsingRule("http://custom/proxy.pac");
TestCompletionCallback callback;
- InitProxyResolver init(&resolver, &fetcher, &dhcp_fetcher, NULL);
+ InitProxyResolver init(&resolver, &fetcher, NULL);
EXPECT_EQ(kFailedParsing,
init.Init(config, base::TimeDelta(), NULL, &callback));
EXPECT_EQ(NULL, resolver.script_data());
@@ -272,24 +260,22 @@
TEST(InitProxyResolverTest, HasNullProxyScriptFetcher) {
Rules rules;
RuleBasedProxyResolver resolver(&rules, true /*expects_pac_bytes*/);
- DoNothingDhcpProxyScriptFetcher dhcp_fetcher;
ProxyConfig config;
config.set_pac_url(GURL("http://custom/proxy.pac"));
TestCompletionCallback callback;
- InitProxyResolver init(&resolver, NULL, &dhcp_fetcher, NULL);
+ InitProxyResolver init(&resolver, NULL, NULL);
EXPECT_EQ(ERR_UNEXPECTED,
init.Init(config, base::TimeDelta(), NULL, &callback));
EXPECT_EQ(NULL, resolver.script_data());
}
-// Succeeds in choosing autodetect (WPAD DNS).
+// Succeeds in choosing autodetect (wpad).
TEST(InitProxyResolverTest, AutodetectSuccess) {
Rules rules;
RuleBasedProxyResolver resolver(&rules, true /*expects_pac_bytes*/);
RuleBasedProxyScriptFetcher fetcher(&rules);
- DoNothingDhcpProxyScriptFetcher dhcp_fetcher;
ProxyConfig config;
config.set_auto_detect(true);
@@ -297,14 +283,9 @@
Rules::Rule rule = rules.AddSuccessRule("http://wpad/wpad.dat");
TestCompletionCallback callback;
- ProxyConfig effective_config;
- InitProxyResolver init(&resolver, &fetcher, &dhcp_fetcher, NULL);
- EXPECT_EQ(OK, init.Init(
- config, base::TimeDelta(), &effective_config, &callback));
+ InitProxyResolver init(&resolver, &fetcher, NULL);
+ EXPECT_EQ(OK, init.Init(config, base::TimeDelta(), NULL, &callback));
EXPECT_EQ(rule.text(), resolver.script_data()->utf16());
-
- EXPECT_TRUE(effective_config.has_pac_url());
- EXPECT_EQ(rule.url, effective_config.pac_url());
}
// Fails at WPAD (downloading), but succeeds in choosing the custom PAC.
@@ -312,7 +293,6 @@
Rules rules;
RuleBasedProxyResolver resolver(&rules, true /*expects_pac_bytes*/);
RuleBasedProxyScriptFetcher fetcher(&rules);
- DoNothingDhcpProxyScriptFetcher dhcp_fetcher;
ProxyConfig config;
config.set_auto_detect(true);
@@ -322,23 +302,16 @@
Rules::Rule rule = rules.AddSuccessRule("http://custom/proxy.pac");
TestCompletionCallback callback;
- ProxyConfig effective_config;
- InitProxyResolver init(&resolver, &fetcher, &dhcp_fetcher, NULL);
- EXPECT_EQ(OK, init.Init(
- config, base::TimeDelta(), &effective_config, &callback));
+ InitProxyResolver init(&resolver, &fetcher, NULL);
+ EXPECT_EQ(OK, init.Init(config, base::TimeDelta(), NULL, &callback));
EXPECT_EQ(rule.text(), resolver.script_data()->utf16());
-
- EXPECT_TRUE(effective_config.has_pac_url());
- EXPECT_EQ(rule.url, effective_config.pac_url());
}
-// Fails at WPAD (no DHCP config, DNS PAC fails parsing), but succeeds in
-// choosing the custom PAC.
+// Fails at WPAD (parsing), but succeeds in choosing the custom PAC.
TEST(InitProxyResolverTest, AutodetectFailCustomSuccess2) {
Rules rules;
RuleBasedProxyResolver resolver(&rules, true /*expects_pac_bytes*/);
RuleBasedProxyScriptFetcher fetcher(&rules);
- DoNothingDhcpProxyScriptFetcher dhcp_fetcher;
ProxyConfig config;
config.set_auto_detect(true);
@@ -352,7 +325,7 @@
CapturingNetLog log(CapturingNetLog::kUnbounded);
ProxyConfig effective_config;
- InitProxyResolver init(&resolver, &fetcher, &dhcp_fetcher, &log);
+ InitProxyResolver init(&resolver, &fetcher, &log);
EXPECT_EQ(OK, init.Init(config, base::TimeDelta(),
&effective_config, &callback));
EXPECT_EQ(rule.text(), resolver.script_data()->utf16());
@@ -363,48 +336,36 @@
ProxyConfig::CreateFromCustomPacURL(GURL("http://custom/proxy.pac"))));
// Check the NetLog was filled correctly.
- // (Note that various states are repeated since both WPAD and custom
+ // (Note that the Fetch and Set states are repeated since both WPAD and custom
// PAC scripts are tried).
CapturingNetLog::EntryList entries;
log.GetEntries(&entries);
- EXPECT_EQ(14u, entries.size());
+ EXPECT_EQ(11u, entries.size());
EXPECT_TRUE(LogContainsBeginEvent(
entries, 0, NetLog::TYPE_INIT_PROXY_RESOLVER));
- // This is the DHCP phase, which fails fetching rather than parsing, so
- // there is no pair of SET_PAC_SCRIPT events.
EXPECT_TRUE(LogContainsBeginEvent(
entries, 1, NetLog::TYPE_INIT_PROXY_RESOLVER_FETCH_PAC_SCRIPT));
EXPECT_TRUE(LogContainsEndEvent(
entries, 2, NetLog::TYPE_INIT_PROXY_RESOLVER_FETCH_PAC_SCRIPT));
- EXPECT_TRUE(LogContainsEvent(
- entries, 3,
- NetLog::TYPE_INIT_PROXY_RESOLVER_FALLING_BACK_TO_NEXT_PAC_SOURCE,
- NetLog::PHASE_NONE));
- // This is the DNS phase, which attempts a fetch but fails.
EXPECT_TRUE(LogContainsBeginEvent(
- entries, 4, NetLog::TYPE_INIT_PROXY_RESOLVER_FETCH_PAC_SCRIPT));
+ entries, 3, NetLog::TYPE_INIT_PROXY_RESOLVER_SET_PAC_SCRIPT));
EXPECT_TRUE(LogContainsEndEvent(
- entries, 5, NetLog::TYPE_INIT_PROXY_RESOLVER_FETCH_PAC_SCRIPT));
- EXPECT_TRUE(LogContainsBeginEvent(
- entries, 6, NetLog::TYPE_INIT_PROXY_RESOLVER_SET_PAC_SCRIPT));
- EXPECT_TRUE(LogContainsEndEvent(
- entries, 7, NetLog::TYPE_INIT_PROXY_RESOLVER_SET_PAC_SCRIPT));
+ entries, 4, NetLog::TYPE_INIT_PROXY_RESOLVER_SET_PAC_SCRIPT));
EXPECT_TRUE(LogContainsEvent(
- entries, 8,
- NetLog::TYPE_INIT_PROXY_RESOLVER_FALLING_BACK_TO_NEXT_PAC_SOURCE,
+ entries, 5,
+ NetLog::TYPE_INIT_PROXY_RESOLVER_FALLING_BACK_TO_NEXT_PAC_URL,
NetLog::PHASE_NONE));
- // Finally, the custom PAC URL phase.
EXPECT_TRUE(LogContainsBeginEvent(
- entries, 9, NetLog::TYPE_INIT_PROXY_RESOLVER_FETCH_PAC_SCRIPT));
+ entries, 6, NetLog::TYPE_INIT_PROXY_RESOLVER_FETCH_PAC_SCRIPT));
EXPECT_TRUE(LogContainsEndEvent(
- entries, 10, NetLog::TYPE_INIT_PROXY_RESOLVER_FETCH_PAC_SCRIPT));
+ entries, 7, NetLog::TYPE_INIT_PROXY_RESOLVER_FETCH_PAC_SCRIPT));
EXPECT_TRUE(LogContainsBeginEvent(
- entries, 11, NetLog::TYPE_INIT_PROXY_RESOLVER_SET_PAC_SCRIPT));
+ entries, 8, NetLog::TYPE_INIT_PROXY_RESOLVER_SET_PAC_SCRIPT));
EXPECT_TRUE(LogContainsEndEvent(
- entries, 12, NetLog::TYPE_INIT_PROXY_RESOLVER_SET_PAC_SCRIPT));
+ entries, 9, NetLog::TYPE_INIT_PROXY_RESOLVER_SET_PAC_SCRIPT));
EXPECT_TRUE(LogContainsEndEvent(
- entries, 13, NetLog::TYPE_INIT_PROXY_RESOLVER));
+ entries, 10, NetLog::TYPE_INIT_PROXY_RESOLVER));
}
// Fails at WPAD (downloading), and fails at custom PAC (downloading).
@@ -412,7 +373,6 @@
Rules rules;
RuleBasedProxyResolver resolver(&rules, true /*expects_pac_bytes*/);
RuleBasedProxyScriptFetcher fetcher(&rules);
- DoNothingDhcpProxyScriptFetcher dhcp_fetcher;
ProxyConfig config;
config.set_auto_detect(true);
@@ -422,7 +382,7 @@
rules.AddFailDownloadRule("http://custom/proxy.pac");
TestCompletionCallback callback;
- InitProxyResolver init(&resolver, &fetcher, &dhcp_fetcher, NULL);
+ InitProxyResolver init(&resolver, &fetcher, NULL);
EXPECT_EQ(kFailedDownloading,
init.Init(config, base::TimeDelta(), NULL, &callback));
EXPECT_EQ(NULL, resolver.script_data());
@@ -433,7 +393,6 @@
Rules rules;
RuleBasedProxyResolver resolver(&rules, true /*expects_pac_bytes*/);
RuleBasedProxyScriptFetcher fetcher(&rules);
- DoNothingDhcpProxyScriptFetcher dhcp_fetcher;
ProxyConfig config;
config.set_auto_detect(true);
@@ -443,7 +402,7 @@
rules.AddFailParsingRule("http://custom/proxy.pac");
TestCompletionCallback callback;
- InitProxyResolver init(&resolver, &fetcher, &dhcp_fetcher, NULL);
+ InitProxyResolver init(&resolver, &fetcher, NULL);
EXPECT_EQ(kFailedParsing,
init.Init(config, base::TimeDelta(), NULL, &callback));
EXPECT_EQ(NULL, resolver.script_data());
@@ -456,7 +415,6 @@
Rules rules;
RuleBasedProxyResolver resolver(&rules, false /*expects_pac_bytes*/);
RuleBasedProxyScriptFetcher fetcher(&rules);
- DoNothingDhcpProxyScriptFetcher dhcp_fetcher;
ProxyConfig config;
config.set_auto_detect(true);
@@ -466,7 +424,7 @@
Rules::Rule rule = rules.AddSuccessRule("http://custom/proxy.pac");
TestCompletionCallback callback;
- InitProxyResolver init(&resolver, &fetcher, &dhcp_fetcher, NULL);
+ InitProxyResolver init(&resolver, &fetcher, NULL);
EXPECT_EQ(OK, init.Init(config, base::TimeDelta(), NULL, &callback));
EXPECT_EQ(rule.url, resolver.script_data()->url());
}
@@ -478,7 +436,6 @@
Rules rules;
RuleBasedProxyResolver resolver(&rules, true /*expects_pac_bytes*/);
RuleBasedProxyScriptFetcher fetcher(&rules);
- DoNothingDhcpProxyScriptFetcher dhcp_fetcher;
ProxyConfig config;
config.set_pac_url(GURL("http://custom/proxy.pac"));
@@ -487,7 +444,7 @@
TestCompletionCallback callback;
CapturingNetLog log(CapturingNetLog::kUnbounded);
- InitProxyResolver init(&resolver, &fetcher, &dhcp_fetcher, &log);
+ InitProxyResolver init(&resolver, &fetcher, &log);
EXPECT_EQ(ERR_IO_PENDING,
init.Init(config, base::TimeDelta::FromMilliseconds(1),
NULL, &callback));
@@ -521,7 +478,6 @@
Rules rules;
RuleBasedProxyResolver resolver(&rules, true /*expects_pac_bytes*/);
RuleBasedProxyScriptFetcher fetcher(&rules);
- DoNothingDhcpProxyScriptFetcher dhcp_fetcher;
ProxyConfig config;
config.set_pac_url(GURL("http://custom/proxy.pac"));
@@ -530,7 +486,7 @@
TestCompletionCallback callback;
CapturingNetLog log(CapturingNetLog::kUnbounded);
- InitProxyResolver init(&resolver, &fetcher, &dhcp_fetcher, &log);
+ InitProxyResolver init(&resolver, &fetcher, &log);
EXPECT_EQ(kFailedDownloading,
init.Init(config, base::TimeDelta::FromSeconds(-5),
NULL, &callback));
@@ -551,87 +507,5 @@
entries, 3, NetLog::TYPE_INIT_PROXY_RESOLVER));
}
-class SynchronousSuccessDhcpFetcher : public DhcpProxyScriptFetcher {
- public:
- explicit SynchronousSuccessDhcpFetcher(const string16& expected_text)
- : gurl_("http://dhcppac/"), expected_text_(expected_text) {
- }
-
- int Fetch(string16* utf16_text, CompletionCallback* callback) OVERRIDE {
- *utf16_text = expected_text_;
- return OK;
- }
-
- void Cancel() OVERRIDE {
- }
-
- const GURL& GetPacURL() const OVERRIDE {
- return gurl_;
- }
-
- const string16& expected_text() const {
- return expected_text_;
- }
-
- private:
- GURL gurl_;
- string16 expected_text_;
-};
-
-// All of the tests above that use InitProxyResolver have tested
-// failure to fetch a PAC file via DHCP configuration, so we now test
-// success at downloading and parsing, and then success at downloading,
-// failure at parsing.
-
-TEST(InitProxyResolverTest, AutodetectDhcpSuccess) {
- Rules rules;
- RuleBasedProxyResolver resolver(&rules, true /*expects_pac_bytes*/);
- RuleBasedProxyScriptFetcher fetcher(&rules);
- SynchronousSuccessDhcpFetcher dhcp_fetcher(
- WideToUTF16(L"http://bingo/!valid-script"));
-
- ProxyConfig config;
- config.set_auto_detect(true);
-
- rules.AddSuccessRule("http://bingo/");
- rules.AddFailDownloadRule("http://wpad/wpad.dat");
-
- TestCompletionCallback callback;
- ProxyConfig effective_config;
- InitProxyResolver init(&resolver, &fetcher, &dhcp_fetcher, NULL);
- EXPECT_EQ(OK, init.Init(
- config, base::TimeDelta(), &effective_config, &callback));
- EXPECT_EQ(dhcp_fetcher.expected_text(),
- resolver.script_data()->utf16());
-
- EXPECT_TRUE(effective_config.has_pac_url());
- EXPECT_EQ(GURL("http://dhcppac/"), effective_config.pac_url());
-}
-
-TEST(InitProxyResolverTest, AutodetectDhcpFailParse) {
- Rules rules;
- RuleBasedProxyResolver resolver(&rules, true /*expects_pac_bytes*/);
- RuleBasedProxyScriptFetcher fetcher(&rules);
- SynchronousSuccessDhcpFetcher dhcp_fetcher(
- WideToUTF16(L"http://bingo/!invalid-script"));
-
- ProxyConfig config;
- config.set_auto_detect(true);
-
- rules.AddFailParsingRule("http://bingo/");
- rules.AddFailDownloadRule("http://wpad/wpad.dat");
-
- TestCompletionCallback callback;
- ProxyConfig effective_config;
- InitProxyResolver init(&resolver, &fetcher, &dhcp_fetcher, NULL);
- // Since there is fallback to DNS-based WPAD, the final error will be that
- // it failed downloading, not that it failed parsing.
- EXPECT_EQ(kFailedDownloading,
- init.Init(config, base::TimeDelta(), &effective_config, &callback));
- EXPECT_EQ(NULL, resolver.script_data());
-
- EXPECT_FALSE(effective_config.has_pac_url());
-}
-
} // namespace
} // namespace net
« no previous file with comments | « net/proxy/init_proxy_resolver.cc ('k') | net/proxy/mock_proxy_script_fetcher.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698