Index: chrome/browser/policy/configuration_policy_pref_store_unittest.cc |
diff --git a/chrome/browser/policy/configuration_policy_pref_store_unittest.cc b/chrome/browser/policy/configuration_policy_pref_store_unittest.cc |
index 80c69e451355ed36f9ae9ab6a97bc34ac5813d86..f11e10a7eae2b6e8276a58d716468eec325b1760 100644 |
--- a/chrome/browser/policy/configuration_policy_pref_store_unittest.cc |
+++ b/chrome/browser/policy/configuration_policy_pref_store_unittest.cc |
@@ -7,6 +7,7 @@ |
#include "base/file_path.h" |
#include "chrome/browser/policy/configuration_policy_pref_store.h" |
#include "chrome/browser/policy/mock_configuration_policy_provider.h" |
+#include "chrome/browser/prefs/proxy_prefs.h" |
#include "chrome/common/pref_names.h" |
#include "chrome/common/chrome_switches.h" |
@@ -223,147 +224,189 @@ INSTANTIATE_TEST_CASE_P( |
// Test cases for the proxy policy settings. |
class ConfigurationPolicyPrefStoreProxyTest : public testing::Test { |
+ protected: |
+ // Verify that all the proxy prefs are set to the speicifed expected values. |
Mattias Nissler (ping if slow)
2010/12/20 13:34:03
s/speicifed/specified/
battre (please use the other)
2010/12/21 14:18:18
Done.
|
+ void VerifyEnabledProxyPrefs( |
Mattias Nissler (ping if slow)
2010/12/20 13:34:03
Looks like this could be static?
battre (please use the other)
2010/12/21 14:18:18
Done.
|
+ const ConfigurationPolicyPrefStore& store, |
+ const std::string& expected_proxy_server, |
+ const std::string& expected_proxy_pac_url, |
+ const std::string& expected_proxy_bypass_list, |
+ const ProxyPrefs::ProxyServerMode& expected_proxy_mode) { |
+ std::string string_result; |
+ |
+ EXPECT_TRUE(store.prefs()->GetString(prefs::kProxyServer, &string_result)); |
+ EXPECT_EQ(expected_proxy_server, string_result); |
+ EXPECT_TRUE(store.prefs()->GetString(prefs::kProxyPacUrl, &string_result)); |
+ EXPECT_EQ(expected_proxy_pac_url, string_result); |
+ EXPECT_TRUE(store.prefs()->GetString(prefs::kProxyBypassList, |
+ &string_result)); |
+ EXPECT_EQ(expected_proxy_bypass_list, string_result); |
+ int int_result = -1; |
+ EXPECT_TRUE( |
+ store.prefs()->GetInteger(prefs::kProxyServerMode, &int_result)); |
+ EXPECT_EQ(expected_proxy_mode, int_result); |
+ } |
+ |
+ // Verify that kProxyServerMode is set to its expected value, and all the |
+ // other proxy prefs are unset. |
+ void VerifyDisabledProxyPrefs( |
Mattias Nissler (ping if slow)
2010/12/20 13:34:03
static?
battre (please use the other)
2010/12/21 14:18:18
Done.
|
+ const ConfigurationPolicyPrefStore& store, |
+ const ProxyPrefs::ProxyServerMode& expected_proxy_mode) { |
+ std::string string_result; |
+ EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyServer, &string_result)); |
+ EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyPacUrl, &string_result)); |
+ EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyBypassList, |
+ &string_result)); |
+ int int_result = -1; |
+ EXPECT_TRUE( |
+ store.prefs()->GetInteger(prefs::kProxyServerMode, &int_result)); |
+ EXPECT_EQ(expected_proxy_mode, int_result); |
+ } |
+ |
+ void AddProxyPolicies( |
Mattias Nissler (ping if slow)
2010/12/20 13:34:03
static?
battre (please use the other)
2010/12/21 14:18:18
Done.
|
+ MockConfigurationPolicyProvider* provider, |
+ const std::string& proxy_server, |
+ const std::string& proxy_pac_url, |
+ const std::string& proxy_bypass_list) { |
+ provider->AddPolicy(kPolicyProxyBypassList, |
+ Value::CreateStringValue(proxy_bypass_list)); |
+ provider->AddPolicy(kPolicyProxyPacUrl, |
+ Value::CreateStringValue(proxy_pac_url)); |
+ provider->AddPolicy(kPolicyProxyServer, |
+ Value::CreateStringValue(proxy_server)); |
+ } |
}; |
TEST_F(ConfigurationPolicyPrefStoreProxyTest, ManualOptions) { |
scoped_ptr<MockConfigurationPolicyProvider> provider( |
new MockConfigurationPolicyProvider()); |
- provider->AddPolicy(kPolicyProxyBypassList, |
- Value::CreateStringValue("http://chromium.org/override")); |
- provider->AddPolicy(kPolicyProxyPacUrl, |
- Value::CreateStringValue("http://short.org/proxy.pac")); |
- provider->AddPolicy(kPolicyProxyServer, |
- Value::CreateStringValue("chromium.org")); |
+ AddProxyPolicies(provider.get(), |
+ "chromium.org", |
+ "http://short.org/proxy.pac", |
+ "http://chromium.org/override"); |
provider->AddPolicy(kPolicyProxyServerMode, |
- Value::CreateIntegerValue( |
- kPolicyManuallyConfiguredProxyMode)); |
+ Value::CreateIntegerValue(ProxyPrefs::MANUAL)); |
ConfigurationPolicyPrefStore store(provider.get()); |
+ VerifyEnabledProxyPrefs( |
+ store, |
+ "chromium.org", |
+ "http://short.org/proxy.pac", |
+ "http://chromium.org/override", |
+ ProxyPrefs::MANUAL); |
+} |
- std::string string_result; |
- EXPECT_TRUE(store.prefs()->GetString(prefs::kProxyBypassList, |
- &string_result)); |
- EXPECT_EQ("http://chromium.org/override", string_result); |
- EXPECT_TRUE(store.prefs()->GetString(prefs::kProxyPacUrl, &string_result)); |
- EXPECT_EQ("http://short.org/proxy.pac", string_result); |
- EXPECT_TRUE(store.prefs()->GetString(prefs::kProxyServer, &string_result)); |
- EXPECT_EQ("chromium.org", string_result); |
- bool bool_result; |
- EXPECT_TRUE(store.prefs()->GetBoolean(prefs::kNoProxyServer, &bool_result)); |
- EXPECT_FALSE(bool_result); |
- EXPECT_TRUE(store.prefs()->GetBoolean(prefs::kProxyAutoDetect, &bool_result)); |
- EXPECT_FALSE(bool_result); |
+TEST_F(ConfigurationPolicyPrefStoreProxyTest, ManualOptionsReversedApplyOrder) { |
+ scoped_ptr<MockConfigurationPolicyProvider> provider( |
+ new MockConfigurationPolicyProvider()); |
+ provider->AddPolicy(kPolicyProxyServerMode, |
+ Value::CreateIntegerValue(ProxyPrefs::MANUAL)); |
+ AddProxyPolicies(provider.get(), |
+ "chromium.org", |
+ "http://short.org/proxy.pac", |
+ "http://chromium.org/override"); |
+ |
+ ConfigurationPolicyPrefStore store(provider.get()); |
+ VerifyEnabledProxyPrefs( |
+ store, |
+ "chromium.org", |
+ "http://short.org/proxy.pac", |
+ "http://chromium.org/override", |
+ ProxyPrefs::MANUAL); |
} |
TEST_F(ConfigurationPolicyPrefStoreProxyTest, NoProxy) { |
scoped_ptr<MockConfigurationPolicyProvider> provider( |
new MockConfigurationPolicyProvider()); |
- provider->AddPolicy(kPolicyProxyBypassList, |
- Value::CreateStringValue("http://chromium.org/override")); |
+ AddProxyPolicies(provider.get(), |
+ "chromium.org", |
+ "http://short.org/proxy.pac", |
+ "http://chromium.org/override"); |
provider->AddPolicy(kPolicyProxyServerMode, |
- Value::CreateIntegerValue( |
- kPolicyNoProxyServerMode)); |
+ Value::CreateIntegerValue(ProxyPrefs::DISABLED)); |
ConfigurationPolicyPrefStore store(provider.get()); |
- |
- std::string string_result; |
- EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyBypassList, |
- &string_result)); |
- EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyPacUrl, &string_result)); |
- EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyServer, &string_result)); |
- bool bool_result; |
- EXPECT_TRUE(store.prefs()->GetBoolean(prefs::kNoProxyServer, &bool_result)); |
- EXPECT_TRUE(bool_result); |
- EXPECT_TRUE(store.prefs()->GetBoolean(prefs::kProxyAutoDetect, &bool_result)); |
- EXPECT_FALSE(bool_result); |
+ VerifyDisabledProxyPrefs(store, ProxyPrefs::DISABLED); |
} |
TEST_F(ConfigurationPolicyPrefStoreProxyTest, NoProxyReversedApplyOrder) { |
scoped_ptr<MockConfigurationPolicyProvider> provider( |
new MockConfigurationPolicyProvider()); |
provider->AddPolicy(kPolicyProxyServerMode, |
- Value::CreateIntegerValue( |
- kPolicyNoProxyServerMode)); |
- provider->AddPolicy(kPolicyProxyBypassList, |
- Value::CreateStringValue("http://chromium.org/override")); |
+ Value::CreateIntegerValue(ProxyPrefs::DISABLED)); |
+ AddProxyPolicies(provider.get(), |
+ "chromium.org", |
+ "http://short.org/proxy.pac", |
+ "http://chromium.org/override"); |
ConfigurationPolicyPrefStore store(provider.get()); |
- |
- std::string string_result; |
- EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyBypassList, |
- &string_result)); |
- EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyPacUrl, &string_result)); |
- EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyServer, &string_result)); |
- bool bool_result; |
- EXPECT_TRUE(store.prefs()->GetBoolean(prefs::kNoProxyServer, &bool_result)); |
- EXPECT_TRUE(bool_result); |
- EXPECT_TRUE(store.prefs()->GetBoolean(prefs::kProxyAutoDetect, &bool_result)); |
- EXPECT_FALSE(bool_result); |
+ VerifyDisabledProxyPrefs(store, ProxyPrefs::DISABLED); |
} |
TEST_F(ConfigurationPolicyPrefStoreProxyTest, AutoDetect) { |
scoped_ptr<MockConfigurationPolicyProvider> provider( |
new MockConfigurationPolicyProvider()); |
+ AddProxyPolicies(provider.get(), |
+ "chromium.org", |
+ "http://short.org/proxy.pac", |
+ "http://chromium.org/override"); |
provider->AddPolicy(kPolicyProxyServerMode, |
- Value::CreateIntegerValue( |
- kPolicyAutoDetectProxyMode)); |
+ Value::CreateIntegerValue(ProxyPrefs::AUTO_DETECT)); |
ConfigurationPolicyPrefStore store(provider.get()); |
+ VerifyEnabledProxyPrefs( |
+ store, |
+ "chromium.org", |
+ "http://short.org/proxy.pac", |
+ "http://chromium.org/override", |
+ ProxyPrefs::AUTO_DETECT); |
+} |
- std::string string_result; |
- EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyBypassList, |
- &string_result)); |
- EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyPacUrl, &string_result)); |
- EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyServer, &string_result)); |
- bool bool_result; |
- EXPECT_TRUE(store.prefs()->GetBoolean(prefs::kNoProxyServer, &bool_result)); |
- EXPECT_FALSE(bool_result); |
- EXPECT_TRUE(store.prefs()->GetBoolean(prefs::kProxyAutoDetect, &bool_result)); |
- EXPECT_TRUE(bool_result); |
+TEST_F(ConfigurationPolicyPrefStoreProxyTest, AutoDetectReversedApplyOrder) { |
+ scoped_ptr<MockConfigurationPolicyProvider> provider( |
+ new MockConfigurationPolicyProvider()); |
+ provider->AddPolicy(kPolicyProxyServerMode, |
+ Value::CreateIntegerValue(ProxyPrefs::AUTO_DETECT)); |
+ AddProxyPolicies(provider.get(), |
+ "chromium.org", |
+ "http://short.org/proxy.pac", |
+ "http://chromium.org/override"); |
+ |
+ ConfigurationPolicyPrefStore store(provider.get()); |
+ VerifyEnabledProxyPrefs( |
+ store, |
+ "chromium.org", |
+ "http://short.org/proxy.pac", |
+ "http://chromium.org/override", |
+ ProxyPrefs::AUTO_DETECT); |
} |
TEST_F(ConfigurationPolicyPrefStoreProxyTest, UseSystem) { |
scoped_ptr<MockConfigurationPolicyProvider> provider( |
new MockConfigurationPolicyProvider()); |
- provider->AddPolicy(kPolicyProxyBypassList, |
- Value::CreateStringValue("http://chromium.org/override")); |
+ AddProxyPolicies(provider.get(), |
+ "chromium.org", |
+ "http://short.org/proxy.pac", |
+ "http://chromium.org/override"); |
provider->AddPolicy(kPolicyProxyServerMode, |
- Value::CreateIntegerValue( |
- kPolicyUseSystemProxyMode)); |
+ Value::CreateIntegerValue(ProxyPrefs::SYSTEM)); |
ConfigurationPolicyPrefStore store(provider.get()); |
- |
- std::string string_result; |
- EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyBypassList, |
- &string_result)); |
- EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyPacUrl, &string_result)); |
- EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyServer, &string_result)); |
- bool bool_result; |
- EXPECT_FALSE(store.prefs()->GetBoolean(prefs::kNoProxyServer, &bool_result)); |
- EXPECT_FALSE(store.prefs()->GetBoolean(prefs::kProxyAutoDetect, |
- &bool_result)); |
+ VerifyDisabledProxyPrefs(store, ProxyPrefs::SYSTEM); |
} |
TEST_F(ConfigurationPolicyPrefStoreProxyTest, UseSystemReversedApplyOrder) { |
scoped_ptr<MockConfigurationPolicyProvider> provider( |
new MockConfigurationPolicyProvider()); |
provider->AddPolicy(kPolicyProxyServerMode, |
- Value::CreateIntegerValue( |
- kPolicyUseSystemProxyMode)); |
- provider->AddPolicy(kPolicyProxyBypassList, |
- Value::CreateStringValue("http://chromium.org/override")); |
+ Value::CreateIntegerValue(ProxyPrefs::SYSTEM)); |
+ AddProxyPolicies(provider.get(), |
+ "chromium.org", |
+ "http://short.org/proxy.pac", |
+ "http://chromium.org/override"); |
ConfigurationPolicyPrefStore store(provider.get()); |
- |
- std::string string_result; |
- EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyBypassList, |
- &string_result)); |
- EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyPacUrl, &string_result)); |
- EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyServer, &string_result)); |
- bool bool_result; |
- EXPECT_FALSE(store.prefs()->GetBoolean(prefs::kNoProxyServer, &bool_result)); |
- EXPECT_FALSE(store.prefs()->GetBoolean(prefs::kProxyAutoDetect, |
- &bool_result)); |
+ VerifyDisabledProxyPrefs(store, ProxyPrefs::SYSTEM); |
} |
class ConfigurationPolicyPrefStoreDefaultSearchTest : public testing::Test { |