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

Unified Diff: chrome/browser/net/pref_proxy_config_service_unittest.cc

Issue 6549007: Make CrOS proxy configuration write prefs directly. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Remove default request context proxy config service patch. Created 9 years, 10 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
Index: chrome/browser/net/pref_proxy_config_service_unittest.cc
diff --git a/chrome/browser/net/pref_proxy_config_service_unittest.cc b/chrome/browser/net/pref_proxy_config_service_unittest.cc
index 75b6f82e09824025835b9319c59d6dcac0007b38..c9e402f2f03f4c72d97c25b5d4c639b5d734871d 100644
--- a/chrome/browser/net/pref_proxy_config_service_unittest.cc
+++ b/chrome/browser/net/pref_proxy_config_service_unittest.cc
@@ -67,12 +67,14 @@ class PrefProxyConfigServiceTestBase : public TESTBASE {
: ui_thread_(BrowserThread::UI, &loop_),
io_thread_(BrowserThread::IO, &loop_) {}
- virtual void Init(PrefService* pref_service) {
+ virtual void Init(PrefService* pref_service, PrefService* fallback) {
ASSERT_TRUE(pref_service);
PrefProxyConfigService::RegisterPrefs(pref_service);
+ if (fallback)
+ PrefProxyConfigService::RegisterPrefs(fallback);
fixed_config_.set_pac_url(GURL(kFixedPacUrl));
delegate_service_ = new TestProxyConfigService(fixed_config_);
- proxy_config_tracker_ = new PrefProxyConfigTracker(pref_service);
+ proxy_config_tracker_ = new PrefProxyConfigTracker(pref_service, fallback);
proxy_config_service_.reset(
new PrefProxyConfigService(proxy_config_tracker_.get(),
delegate_service_));
@@ -99,11 +101,10 @@ class PrefProxyConfigServiceTest
: public PrefProxyConfigServiceTestBase<testing::Test> {
protected:
virtual void SetUp() {
- pref_service_.reset(new TestingPrefService());
- Init(pref_service_.get());
+ Init(&pref_service_, NULL);
}
- scoped_ptr<TestingPrefService> pref_service_;
+ TestingPrefService pref_service_;
};
TEST_F(PrefProxyConfigServiceTest, BaseConfiguration) {
@@ -113,7 +114,7 @@ TEST_F(PrefProxyConfigServiceTest, BaseConfiguration) {
}
TEST_F(PrefProxyConfigServiceTest, DynamicPrefOverrides) {
- pref_service_->SetManagedPref(
+ pref_service_.SetManagedPref(
prefs::kProxy,
ProxyConfigDictionary::CreateFixedServers("http://example.com:3128", ""));
loop_.RunAllPending();
@@ -127,7 +128,7 @@ TEST_F(PrefProxyConfigServiceTest, DynamicPrefOverrides) {
net::ProxyServer::FromURI("http://example.com:3128",
net::ProxyServer::SCHEME_HTTP));
- pref_service_->SetManagedPref(prefs::kProxy,
+ pref_service_.SetManagedPref(prefs::kProxy,
ProxyConfigDictionary::CreateAutoDetect());
loop_.RunAllPending();
@@ -161,7 +162,7 @@ TEST_F(PrefProxyConfigServiceTest, Observers) {
EXPECT_CALL(observer,
OnProxyConfigChanged(ProxyConfigMatches(pref_config))).Times(1);
- pref_service_->SetManagedPref(
+ pref_service_.SetManagedPref(
prefs::kProxy,
ProxyConfigDictionary::CreatePacScript(kFixedPacUrl));
loop_.RunAllPending();
@@ -179,7 +180,7 @@ TEST_F(PrefProxyConfigServiceTest, Observers) {
// Clear the override should switch back to the fixed configuration.
EXPECT_CALL(observer,
OnProxyConfigChanged(ProxyConfigMatches(config3))).Times(1);
- pref_service_->RemoveManagedPref(prefs::kProxy);
+ pref_service_.RemoveManagedPref(prefs::kProxy);
loop_.RunAllPending();
Mock::VerifyAndClearExpectations(&observer);
@@ -195,6 +196,77 @@ TEST_F(PrefProxyConfigServiceTest, Observers) {
proxy_config_service_->RemoveObserver(&observer);
}
+class PrefProxyConfigServiceFallbackTest
+ : public PrefProxyConfigServiceTestBase<testing::Test> {
+ protected:
+ virtual void SetUp() {
+ Init(&pref_service_, &fallback_pref_service_);
+ }
+
+ TestingPrefService pref_service_;
+ TestingPrefService fallback_pref_service_;
+};
+
+TEST_F(PrefProxyConfigServiceFallbackTest, NoFallback) {
+ pref_service_.SetUserPref(
+ prefs::kProxy,
+ ProxyConfigDictionary::CreateFixedServers("http://example.com:3128", ""));
+ loop_.RunAllPending();
+
+ net::ProxyConfig actual_config;
+ proxy_config_service_->GetLatestProxyConfig(&actual_config);
+ EXPECT_FALSE(actual_config.auto_detect());
+ EXPECT_EQ(net::ProxyConfig::ProxyRules::TYPE_SINGLE_PROXY,
+ actual_config.proxy_rules().type);
+ EXPECT_EQ(actual_config.proxy_rules().single_proxy,
+ net::ProxyServer::FromURI("http://example.com:3128",
+ net::ProxyServer::SCHEME_HTTP));
+}
+
+TEST_F(PrefProxyConfigServiceFallbackTest, Fallback) {
+ fallback_pref_service_.SetUserPref(
+ prefs::kProxy,
+ ProxyConfigDictionary::CreateFixedServers("http://example.com:3128", ""));
+ loop_.RunAllPending();
+
+ net::ProxyConfig actual_config;
+ proxy_config_service_->GetLatestProxyConfig(&actual_config);
+ EXPECT_FALSE(actual_config.auto_detect());
+ EXPECT_EQ(net::ProxyConfig::ProxyRules::TYPE_SINGLE_PROXY,
+ actual_config.proxy_rules().type);
+ EXPECT_EQ(actual_config.proxy_rules().single_proxy,
+ net::ProxyServer::FromURI("http://example.com:3128",
+ net::ProxyServer::SCHEME_HTTP));
+}
+
+TEST_F(PrefProxyConfigServiceFallbackTest, FallbackWithPolicy) {
+ pref_service_.SetManagedPref(
+ prefs::kProxy,
+ ProxyConfigDictionary::CreateAutoDetect());
+ fallback_pref_service_.SetUserPref(
+ prefs::kProxy,
+ ProxyConfigDictionary::CreateFixedServers("http://example.com:3128", ""));
+ loop_.RunAllPending();
+
+ net::ProxyConfig actual_config;
+ proxy_config_service_->GetLatestProxyConfig(&actual_config);
+ EXPECT_TRUE(actual_config.auto_detect());
+}
+
+TEST_F(PrefProxyConfigServiceFallbackTest, FallbackPolicy) {
+ fallback_pref_service_.SetManagedPref(
+ prefs::kProxy,
+ ProxyConfigDictionary::CreateFixedServers("http://example.com:3128", ""));
+ pref_service_.SetUserPref(
+ prefs::kProxy,
+ ProxyConfigDictionary::CreateAutoDetect());
+ loop_.RunAllPending();
+
+ net::ProxyConfig actual_config;
+ proxy_config_service_->GetLatestProxyConfig(&actual_config);
+ EXPECT_TRUE(actual_config.auto_detect());
+}
+
// Test parameter object for testing command line proxy configuration.
struct CommandLineTestParams {
// Explicit assignment operator, so testing::TestWithParam works with MSVC.
@@ -247,7 +319,7 @@ class PrefProxyConfigServiceCommandLineTest
}
pref_service_.reset(
PrefServiceMockBuilder().WithCommandLine(&command_line_).Create());
- Init(pref_service_.get());
+ Init(pref_service_.get(), NULL);
}
private:

Powered by Google App Engine
This is Rietveld 408576698