Chromium Code Reviews| 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 935aafdfdfb09da26dcb671b547d14340b1003f0..a3a1dcd7d40106e422968c7554ca577dbda0f126 100644 |
| --- a/chrome/browser/policy/configuration_policy_pref_store_unittest.cc |
| +++ b/chrome/browser/policy/configuration_policy_pref_store_unittest.cc |
| @@ -21,6 +21,7 @@ |
| #include "testing/gtest/include/gtest/gtest.h" |
| using testing::Mock; |
| +using testing::Return; |
| using testing::_; |
| namespace policy { |
| @@ -43,6 +44,15 @@ class PolicyAndPref { |
| class ConfigurationPolicyPrefStoreTest : public testing::Test { |
| protected: |
| ConfigurationPolicyPrefStoreTest() { |
| + EXPECT_CALL(provider_, ProvideInternal(_)) |
| + .WillRepeatedly(CopyPolicyMap(&policy_)); |
| + EXPECT_CALL(provider_, IsInitializationComplete()) |
| + .WillRepeatedly(Return(true)); |
| + ResetServiceAndStore(); |
| + } |
| + |
| + void ResetServiceAndStore() { |
| + store_ = NULL; |
| PolicyServiceImpl::Providers providers; |
| providers.push_back(&provider_); |
| policy_service_.reset(new PolicyServiceImpl(providers)); |
| @@ -50,6 +60,7 @@ class ConfigurationPolicyPrefStoreTest : public testing::Test { |
| POLICY_LEVEL_MANDATORY); |
| } |
| + PolicyMap policy_; |
| MockConfigurationPolicyProvider provider_; |
| scoped_ptr<PolicyServiceImpl> policy_service_; |
| scoped_refptr<ConfigurationPolicyPrefStore> store_; |
| @@ -69,8 +80,9 @@ TEST_P(ConfigurationPolicyPrefStoreListTest, SetValue) { |
| base::ListValue* in_value = new base::ListValue(); |
| in_value->Append(base::Value::CreateStringValue("test1")); |
| in_value->Append(base::Value::CreateStringValue("test2,")); |
| - provider_.AddMandatoryPolicy(GetParam().policy_name(), in_value); |
| - provider_.RefreshPolicies(); |
| + policy_.Set(GetParam().policy_name(), POLICY_LEVEL_MANDATORY, |
| + POLICY_SCOPE_USER, in_value); |
| + provider_.NotifyPolicyUpdated(); |
| const base::Value* value = NULL; |
| EXPECT_EQ(PrefStore::READ_OK, |
| store_->GetValue(GetParam().pref_name(), &value)); |
| @@ -114,10 +126,10 @@ TEST_P(ConfigurationPolicyPrefStoreStringTest, GetDefault) { |
| } |
| TEST_P(ConfigurationPolicyPrefStoreStringTest, SetValue) { |
| - provider_.AddMandatoryPolicy(GetParam().policy_name(), |
| - base::Value::CreateStringValue( |
| - "http://chromium.org")); |
| - provider_.RefreshPolicies(); |
| + policy_.Set(GetParam().policy_name(), POLICY_LEVEL_MANDATORY, |
| + POLICY_SCOPE_USER, |
| + base::Value::CreateStringValue("http://chromium.org")); |
| + provider_.NotifyPolicyUpdated(); |
| const base::Value* value = NULL; |
| EXPECT_EQ(PrefStore::READ_OK, |
| store_->GetValue(GetParam().pref_name(), &value)); |
| @@ -163,9 +175,9 @@ TEST_P(ConfigurationPolicyPrefStoreBooleanTest, GetDefault) { |
| } |
| TEST_P(ConfigurationPolicyPrefStoreBooleanTest, SetValue) { |
| - provider_.AddMandatoryPolicy(GetParam().policy_name(), |
| - base::Value::CreateBooleanValue(false)); |
| - provider_.RefreshPolicies(); |
| + policy_.Set(GetParam().policy_name(), POLICY_LEVEL_MANDATORY, |
| + POLICY_SCOPE_USER, base::Value::CreateBooleanValue(false)); |
| + provider_.NotifyPolicyUpdated(); |
| const base::Value* value = NULL; |
| EXPECT_EQ(PrefStore::READ_OK, |
| store_->GetValue(GetParam().pref_name(), &value)); |
| @@ -175,9 +187,9 @@ TEST_P(ConfigurationPolicyPrefStoreBooleanTest, SetValue) { |
| ASSERT_TRUE(result); |
| EXPECT_FALSE(boolean_value); |
| - provider_.AddMandatoryPolicy(GetParam().policy_name(), |
| - base::Value::CreateBooleanValue(true)); |
| - provider_.RefreshPolicies(); |
| + policy_.Set(GetParam().policy_name(), POLICY_LEVEL_MANDATORY, |
| + POLICY_SCOPE_USER, base::Value::CreateBooleanValue(true)); |
| + provider_.NotifyPolicyUpdated(); |
| value = NULL; |
| EXPECT_EQ(PrefStore::READ_OK, |
| store_->GetValue(GetParam().pref_name(), &value)); |
| @@ -296,9 +308,9 @@ TEST_P(ConfigurationPolicyPrefStoreIntegerTest, GetDefault) { |
| } |
| TEST_P(ConfigurationPolicyPrefStoreIntegerTest, SetValue) { |
| - provider_.AddMandatoryPolicy(GetParam().policy_name(), |
| - base::Value::CreateIntegerValue(2)); |
| - provider_.RefreshPolicies(); |
| + policy_.Set(GetParam().policy_name(), POLICY_LEVEL_MANDATORY, |
| + POLICY_SCOPE_USER, base::Value::CreateIntegerValue(2)); |
| + provider_.NotifyPolicyUpdated(); |
| const base::Value* value = NULL; |
| EXPECT_EQ(PrefStore::READ_OK, |
| store_->GetValue(GetParam().pref_name(), &value)); |
| @@ -374,16 +386,15 @@ class ConfigurationPolicyPrefStoreProxyTest |
| }; |
| TEST_F(ConfigurationPolicyPrefStoreProxyTest, ManualOptions) { |
| - provider_.AddMandatoryPolicy( |
| - key::kProxyBypassList, |
| - base::Value::CreateStringValue("http://chromium.org/override")); |
| - provider_.AddMandatoryPolicy(key::kProxyServer, |
| - base::Value::CreateStringValue("chromium.org")); |
| - provider_.AddMandatoryPolicy( |
| - key::kProxyServerMode, |
| + policy_.Set(key::kProxyBypassList, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, |
| + base::Value::CreateStringValue("http://chromium.org/override")); |
| + policy_.Set(key::kProxyServer, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, |
| + base::Value::CreateStringValue("chromium.org")); |
| + policy_.Set( |
| + key::kProxyServerMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, |
| base::Value::CreateIntegerValue( |
| ProxyPolicyHandler::PROXY_MANUALLY_CONFIGURED_PROXY_SERVER_MODE)); |
| - provider_.RefreshPolicies(); |
| + provider_.NotifyPolicyUpdated(); |
| VerifyProxyPrefs( |
| "chromium.org", "", "http://chromium.org/override", |
| @@ -391,17 +402,15 @@ TEST_F(ConfigurationPolicyPrefStoreProxyTest, ManualOptions) { |
| } |
| TEST_F(ConfigurationPolicyPrefStoreProxyTest, ManualOptionsReversedApplyOrder) { |
| - provider_.AddMandatoryPolicy( |
| - key::kProxyServerMode, |
| + policy_.Set( |
| + key::kProxyServerMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, |
| base::Value::CreateIntegerValue( |
| ProxyPolicyHandler::PROXY_MANUALLY_CONFIGURED_PROXY_SERVER_MODE)); |
| - provider_.AddMandatoryPolicy( |
| - key::kProxyBypassList, |
| - base::Value::CreateStringValue("http://chromium.org/override")); |
| - provider_.AddMandatoryPolicy( |
| - key::kProxyServer, |
| - base::Value::CreateStringValue("chromium.org")); |
| - provider_.RefreshPolicies(); |
| + policy_.Set(key::kProxyBypassList, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, |
| + base::Value::CreateStringValue("http://chromium.org/override")); |
| + policy_.Set(key::kProxyServer, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, |
| + base::Value::CreateStringValue("chromium.org")); |
| + provider_.NotifyPolicyUpdated(); |
| VerifyProxyPrefs( |
| "chromium.org", "", "http://chromium.org/override", |
| @@ -409,11 +418,11 @@ TEST_F(ConfigurationPolicyPrefStoreProxyTest, ManualOptionsReversedApplyOrder) { |
| } |
| TEST_F(ConfigurationPolicyPrefStoreProxyTest, ManualOptionsInvalid) { |
| - provider_.AddMandatoryPolicy( |
| - key::kProxyServerMode, |
| + policy_.Set( |
| + key::kProxyServerMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, |
| base::Value::CreateIntegerValue( |
| ProxyPolicyHandler::PROXY_MANUALLY_CONFIGURED_PROXY_SERVER_MODE)); |
| - provider_.RefreshPolicies(); |
| + provider_.NotifyPolicyUpdated(); |
| const base::Value* value = NULL; |
| EXPECT_EQ(PrefStore::READ_NO_VALUE, store_->GetValue(prefs::kProxy, &value)); |
| @@ -421,55 +430,53 @@ TEST_F(ConfigurationPolicyPrefStoreProxyTest, ManualOptionsInvalid) { |
| TEST_F(ConfigurationPolicyPrefStoreProxyTest, NoProxyServerMode) { |
| - provider_.AddMandatoryPolicy( |
| - key::kProxyServerMode, |
| - base::Value::CreateIntegerValue(ProxyPolicyHandler::PROXY_SERVER_MODE)); |
| - provider_.RefreshPolicies(); |
| + policy_.Set(key::kProxyServerMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, |
| + base::Value::CreateIntegerValue( |
| + ProxyPolicyHandler::PROXY_SERVER_MODE)); |
| + provider_.NotifyPolicyUpdated(); |
| VerifyProxyPrefs("", "", "", ProxyPrefs::MODE_DIRECT); |
| } |
| TEST_F(ConfigurationPolicyPrefStoreProxyTest, NoProxyModeName) { |
| - provider_.AddMandatoryPolicy( |
| - key::kProxyMode, |
| - base::Value::CreateStringValue(ProxyPrefs::kDirectProxyModeName)); |
| - provider_.RefreshPolicies(); |
| + policy_.Set(key::kProxyMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, |
| + base::Value::CreateStringValue(ProxyPrefs::kDirectProxyModeName)); |
| + provider_.NotifyPolicyUpdated(); |
| VerifyProxyPrefs("", "", "", ProxyPrefs::MODE_DIRECT); |
| } |
| TEST_F(ConfigurationPolicyPrefStoreProxyTest, AutoDetectProxyServerMode) { |
| - provider_.AddMandatoryPolicy( |
| - key::kProxyServerMode, |
| + policy_.Set( |
| + key::kProxyServerMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, |
| base::Value::CreateIntegerValue( |
| ProxyPolicyHandler::PROXY_AUTO_DETECT_PROXY_SERVER_MODE)); |
| - provider_.RefreshPolicies(); |
| + provider_.NotifyPolicyUpdated(); |
| VerifyProxyPrefs("", "", "", ProxyPrefs::MODE_AUTO_DETECT); |
| } |
| TEST_F(ConfigurationPolicyPrefStoreProxyTest, AutoDetectProxyModeName) { |
| - provider_.AddMandatoryPolicy( |
| - key::kProxyMode, |
| - base::Value::CreateStringValue(ProxyPrefs::kAutoDetectProxyModeName)); |
| - provider_.RefreshPolicies(); |
| + policy_.Set(key::kProxyMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, |
| + base::Value::CreateStringValue( |
| + ProxyPrefs::kAutoDetectProxyModeName)); |
| + provider_.NotifyPolicyUpdated(); |
| VerifyProxyPrefs("", "", "", ProxyPrefs::MODE_AUTO_DETECT); |
| } |
| TEST_F(ConfigurationPolicyPrefStoreProxyTest, PacScriptProxyMode) { |
| - provider_.AddMandatoryPolicy( |
| - key::kProxyPacUrl, |
| - base::Value::CreateStringValue("http://short.org/proxy.pac")); |
| - provider_.AddMandatoryPolicy( |
| - key::kProxyMode, |
| - base::Value::CreateStringValue(ProxyPrefs::kPacScriptProxyModeName)); |
| - provider_.RefreshPolicies(); |
| + policy_.Set(key::kProxyPacUrl, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, |
| + base::Value::CreateStringValue("http://short.org/proxy.pac")); |
| + policy_.Set(key::kProxyMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, |
| + base::Value::CreateStringValue( |
| + ProxyPrefs::kPacScriptProxyModeName)); |
| + provider_.NotifyPolicyUpdated(); |
| VerifyProxyPrefs("", "http://short.org/proxy.pac", "", |
| ProxyPrefs::MODE_PAC_SCRIPT); |
| } |
| TEST_F(ConfigurationPolicyPrefStoreProxyTest, PacScriptProxyModeInvalid) { |
| - provider_.AddMandatoryPolicy( |
| - key::kProxyMode, |
| - base::Value::CreateStringValue(ProxyPrefs::kPacScriptProxyModeName)); |
| - provider_.RefreshPolicies(); |
| + policy_.Set(key::kProxyMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, |
| + base::Value::CreateStringValue( |
| + ProxyPrefs::kPacScriptProxyModeName)); |
| + provider_.NotifyPolicyUpdated(); |
| const base::Value* value = NULL; |
| EXPECT_EQ(PrefStore::READ_NO_VALUE, store_->GetValue(prefs::kProxy, &value)); |
| } |
| @@ -477,63 +484,57 @@ TEST_F(ConfigurationPolicyPrefStoreProxyTest, PacScriptProxyModeInvalid) { |
| // Regression test for http://crbug.com/78016, CPanel returns empty strings |
| // for unset properties. |
| TEST_F(ConfigurationPolicyPrefStoreProxyTest, PacScriptProxyModeBug78016) { |
| - provider_.AddMandatoryPolicy(key::kProxyServer, |
| - base::Value::CreateStringValue("")); |
| - provider_.AddMandatoryPolicy( |
| - key::kProxyPacUrl, |
| - base::Value::CreateStringValue("http://short.org/proxy.pac")); |
| - provider_.AddMandatoryPolicy( |
| - key::kProxyMode, |
| - base::Value::CreateStringValue(ProxyPrefs::kPacScriptProxyModeName)); |
| - provider_.RefreshPolicies(); |
| + policy_.Set(key::kProxyServer, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, |
| + base::Value::CreateStringValue("")); |
| + policy_.Set(key::kProxyPacUrl, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, |
| + base::Value::CreateStringValue("http://short.org/proxy.pac")); |
| + policy_.Set(key::kProxyMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, |
| + base::Value::CreateStringValue( |
| + ProxyPrefs::kPacScriptProxyModeName)); |
| + provider_.NotifyPolicyUpdated(); |
| VerifyProxyPrefs("", "http://short.org/proxy.pac", "", |
| ProxyPrefs::MODE_PAC_SCRIPT); |
| } |
| TEST_F(ConfigurationPolicyPrefStoreProxyTest, UseSystemProxyServerMode) { |
| - provider_.AddMandatoryPolicy( |
| - key::kProxyServerMode, |
| + policy_.Set(key::kProxyServerMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, |
| base::Value::CreateIntegerValue( |
| ProxyPolicyHandler::PROXY_USE_SYSTEM_PROXY_SERVER_MODE)); |
| - provider_.RefreshPolicies(); |
| + provider_.NotifyPolicyUpdated(); |
| VerifyProxyPrefs("", "", "", ProxyPrefs::MODE_SYSTEM); |
| } |
| TEST_F(ConfigurationPolicyPrefStoreProxyTest, UseSystemProxyMode) { |
| - provider_.AddMandatoryPolicy( |
| - key::kProxyMode, |
| - base::Value::CreateStringValue(ProxyPrefs::kSystemProxyModeName)); |
| - provider_.RefreshPolicies(); |
| + policy_.Set(key::kProxyMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, |
| + base::Value::CreateStringValue(ProxyPrefs::kSystemProxyModeName)); |
| + provider_.NotifyPolicyUpdated(); |
| VerifyProxyPrefs("", "", "", ProxyPrefs::MODE_SYSTEM); |
| } |
| TEST_F(ConfigurationPolicyPrefStoreProxyTest, |
| ProxyModeOverridesProxyServerMode) { |
| - provider_.AddMandatoryPolicy( |
| - key::kProxyServerMode, |
| - base::Value::CreateIntegerValue(ProxyPolicyHandler::PROXY_SERVER_MODE)); |
| - provider_.AddMandatoryPolicy( |
| - key::kProxyMode, |
| - base::Value::CreateStringValue(ProxyPrefs::kAutoDetectProxyModeName)); |
| - provider_.RefreshPolicies(); |
| + policy_.Set(key::kProxyServerMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, |
| + base::Value::CreateIntegerValue( |
| + ProxyPolicyHandler::PROXY_SERVER_MODE)); |
| + policy_.Set(key::kProxyMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, |
| + base::Value::CreateStringValue( |
| + ProxyPrefs::kAutoDetectProxyModeName)); |
| + provider_.NotifyPolicyUpdated(); |
| VerifyProxyPrefs("", "", "", ProxyPrefs::MODE_AUTO_DETECT); |
| } |
| TEST_F(ConfigurationPolicyPrefStoreProxyTest, ProxyInvalid) { |
| // No mode expects all three parameters being set. |
| - provider_.AddMandatoryPolicy( |
| - key::kProxyPacUrl, |
| - base::Value::CreateStringValue("http://short.org/proxy.pac")); |
| - provider_.AddMandatoryPolicy( |
| - key::kProxyBypassList, |
| - base::Value::CreateStringValue("http://chromium.org/override")); |
| - provider_.AddMandatoryPolicy( |
| - key::kProxyServer, |
| - base::Value::CreateStringValue("chromium.org")); |
| + policy_.Set(key::kProxyPacUrl, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, |
| + base::Value::CreateStringValue("http://short.org/proxy.pac")); |
| + policy_.Set(key::kProxyBypassList, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, |
| + base::Value::CreateStringValue("http://chromium.org/override")); |
| + policy_.Set(key::kProxyServer, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, |
| + base::Value::CreateStringValue("chromium.org")); |
| for (int i = 0; i < ProxyPolicyHandler::MODE_COUNT; ++i) { |
| - provider_.AddMandatoryPolicy(key::kProxyServerMode, |
| - base::Value::CreateIntegerValue(i)); |
| - provider_.RefreshPolicies(); |
| + policy_.Set(key::kProxyServerMode, POLICY_LEVEL_MANDATORY, |
| + POLICY_SCOPE_USER, base::Value::CreateIntegerValue(i)); |
| + provider_.NotifyPolicyUpdated(); |
| const base::Value* value = NULL; |
| EXPECT_EQ(PrefStore::READ_NO_VALUE, |
| store_->GetValue(prefs::kProxy, &value)); |
| @@ -547,11 +548,11 @@ class ConfigurationPolicyPrefStoreDefaultSearchTest |
| // search URL, that all the elements have been given proper defaults. |
| TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, MinimallyDefined) { |
| const char* const search_url = "http://test.com/search?t={searchTerms}"; |
| - provider_.AddMandatoryPolicy(key::kDefaultSearchProviderEnabled, |
| - base::Value::CreateBooleanValue(true)); |
| - provider_.AddMandatoryPolicy(key::kDefaultSearchProviderSearchURL, |
| - base::Value::CreateStringValue(search_url)); |
| - provider_.RefreshPolicies(); |
| + policy_.Set(key::kDefaultSearchProviderEnabled, POLICY_LEVEL_MANDATORY, |
| + POLICY_SCOPE_USER, base::Value::CreateBooleanValue(true)); |
| + policy_.Set(key::kDefaultSearchProviderSearchURL, POLICY_LEVEL_MANDATORY, |
| + POLICY_SCOPE_USER, base::Value::CreateStringValue(search_url)); |
| + provider_.NotifyPolicyUpdated(); |
| const base::Value* value = NULL; |
| EXPECT_EQ(PrefStore::READ_OK, |
| @@ -594,20 +595,21 @@ TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, FullyDefined) { |
| base::ListValue* encodings = new base::ListValue(); |
| encodings->Append(base::Value::CreateStringValue("UTF-16")); |
| encodings->Append(base::Value::CreateStringValue("UTF-8")); |
| - provider_.AddMandatoryPolicy(key::kDefaultSearchProviderEnabled, |
| - base::Value::CreateBooleanValue(true)); |
| - provider_.AddMandatoryPolicy(key::kDefaultSearchProviderSearchURL, |
| - base::Value::CreateStringValue(search_url)); |
| - provider_.AddMandatoryPolicy(key::kDefaultSearchProviderName, |
| - base::Value::CreateStringValue(name)); |
| - provider_.AddMandatoryPolicy(key::kDefaultSearchProviderKeyword, |
| - base::Value::CreateStringValue(keyword)); |
| - provider_.AddMandatoryPolicy(key::kDefaultSearchProviderSuggestURL, |
| - base::Value::CreateStringValue(suggest_url)); |
| - provider_.AddMandatoryPolicy(key::kDefaultSearchProviderIconURL, |
| - base::Value::CreateStringValue(icon_url)); |
| - provider_.AddMandatoryPolicy(key::kDefaultSearchProviderEncodings, encodings); |
| - provider_.RefreshPolicies(); |
| + policy_.Set(key::kDefaultSearchProviderEnabled, POLICY_LEVEL_MANDATORY, |
| + POLICY_SCOPE_USER, base::Value::CreateBooleanValue(true)); |
| + policy_.Set(key::kDefaultSearchProviderSearchURL, POLICY_LEVEL_MANDATORY, |
| + POLICY_SCOPE_USER, base::Value::CreateStringValue(search_url)); |
| + policy_.Set(key::kDefaultSearchProviderName, POLICY_LEVEL_MANDATORY, |
| + POLICY_SCOPE_USER, base::Value::CreateStringValue(name)); |
| + policy_.Set(key::kDefaultSearchProviderKeyword, POLICY_LEVEL_MANDATORY, |
| + POLICY_SCOPE_USER, base::Value::CreateStringValue(keyword)); |
| + policy_.Set(key::kDefaultSearchProviderSuggestURL, POLICY_LEVEL_MANDATORY, |
| + POLICY_SCOPE_USER, base::Value::CreateStringValue(suggest_url)); |
| + policy_.Set(key::kDefaultSearchProviderIconURL, POLICY_LEVEL_MANDATORY, |
| + POLICY_SCOPE_USER, base::Value::CreateStringValue(icon_url)); |
| + policy_.Set(key::kDefaultSearchProviderEncodings, POLICY_LEVEL_MANDATORY, |
| + POLICY_SCOPE_USER, encodings); |
| + provider_.NotifyPolicyUpdated(); |
| const base::Value* value = NULL; |
| EXPECT_EQ(PrefStore::READ_OK, |
| @@ -645,18 +647,19 @@ TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, MissingUrl) { |
| base::ListValue* encodings = new base::ListValue(); |
| encodings->Append(base::Value::CreateStringValue("UTF-16")); |
| encodings->Append(base::Value::CreateStringValue("UTF-8")); |
| - provider_.AddMandatoryPolicy(key::kDefaultSearchProviderEnabled, |
| - base::Value::CreateBooleanValue(true)); |
| - provider_.AddMandatoryPolicy(key::kDefaultSearchProviderName, |
| - base::Value::CreateStringValue(name)); |
| - provider_.AddMandatoryPolicy(key::kDefaultSearchProviderKeyword, |
| - base::Value::CreateStringValue(keyword)); |
| - provider_.AddMandatoryPolicy(key::kDefaultSearchProviderSuggestURL, |
| - base::Value::CreateStringValue(suggest_url)); |
| - provider_.AddMandatoryPolicy(key::kDefaultSearchProviderIconURL, |
| - base::Value::CreateStringValue(icon_url)); |
| - provider_.AddMandatoryPolicy(key::kDefaultSearchProviderEncodings, encodings); |
| - provider_.RefreshPolicies(); |
| + policy_.Set(key::kDefaultSearchProviderEnabled, POLICY_LEVEL_MANDATORY, |
| + POLICY_SCOPE_USER, base::Value::CreateBooleanValue(true)); |
| + policy_.Set(key::kDefaultSearchProviderName, POLICY_LEVEL_MANDATORY, |
| + POLICY_SCOPE_USER, base::Value::CreateStringValue(name)); |
| + policy_.Set(key::kDefaultSearchProviderKeyword, POLICY_LEVEL_MANDATORY, |
| + POLICY_SCOPE_USER, base::Value::CreateStringValue(keyword)); |
| + policy_.Set(key::kDefaultSearchProviderSuggestURL, POLICY_LEVEL_MANDATORY, |
| + POLICY_SCOPE_USER, base::Value::CreateStringValue(suggest_url)); |
| + policy_.Set(key::kDefaultSearchProviderIconURL, POLICY_LEVEL_MANDATORY, |
| + POLICY_SCOPE_USER, base::Value::CreateStringValue(icon_url)); |
| + policy_.Set(key::kDefaultSearchProviderEncodings, POLICY_LEVEL_MANDATORY, |
| + POLICY_SCOPE_USER, encodings); |
| + provider_.NotifyPolicyUpdated(); |
| EXPECT_EQ(PrefStore::READ_NO_VALUE, |
| store_->GetValue(prefs::kDefaultSearchProviderSearchURL, NULL)); |
| @@ -683,20 +686,22 @@ TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, Invalid) { |
| base::ListValue* encodings = new base::ListValue(); |
| encodings->Append(base::Value::CreateStringValue("UTF-16")); |
| encodings->Append(base::Value::CreateStringValue("UTF-8")); |
| - provider_.AddMandatoryPolicy(key::kDefaultSearchProviderEnabled, |
| - base::Value::CreateBooleanValue(true)); |
| - provider_.AddMandatoryPolicy(key::kDefaultSearchProviderSearchURL, |
| - base::Value::CreateStringValue(bad_search_url)); |
| - provider_.AddMandatoryPolicy(key::kDefaultSearchProviderName, |
| - base::Value::CreateStringValue(name)); |
| - provider_.AddMandatoryPolicy(key::kDefaultSearchProviderKeyword, |
| - base::Value::CreateStringValue(keyword)); |
| - provider_.AddMandatoryPolicy(key::kDefaultSearchProviderSuggestURL, |
| - base::Value::CreateStringValue(suggest_url)); |
| - provider_.AddMandatoryPolicy(key::kDefaultSearchProviderIconURL, |
| - base::Value::CreateStringValue(icon_url)); |
| - provider_.AddMandatoryPolicy(key::kDefaultSearchProviderEncodings, encodings); |
| - provider_.RefreshPolicies(); |
| + policy_.Set(key::kDefaultSearchProviderEnabled, POLICY_LEVEL_MANDATORY, |
| + POLICY_SCOPE_USER, base::Value::CreateBooleanValue(true)); |
| + policy_.Set(key::kDefaultSearchProviderSearchURL, POLICY_LEVEL_MANDATORY, |
| + POLICY_SCOPE_USER, |
| + base::Value::CreateStringValue(bad_search_url)); |
| + policy_.Set(key::kDefaultSearchProviderName, POLICY_LEVEL_MANDATORY, |
| + POLICY_SCOPE_USER, base::Value::CreateStringValue(name)); |
| + policy_.Set(key::kDefaultSearchProviderKeyword, POLICY_LEVEL_MANDATORY, |
| + POLICY_SCOPE_USER, base::Value::CreateStringValue(keyword)); |
| + policy_.Set(key::kDefaultSearchProviderSuggestURL, POLICY_LEVEL_MANDATORY, |
| + POLICY_SCOPE_USER, base::Value::CreateStringValue(suggest_url)); |
| + policy_.Set(key::kDefaultSearchProviderIconURL, POLICY_LEVEL_MANDATORY, |
| + POLICY_SCOPE_USER, base::Value::CreateStringValue(icon_url)); |
| + policy_.Set(key::kDefaultSearchProviderEncodings, POLICY_LEVEL_MANDATORY, |
| + POLICY_SCOPE_USER, encodings); |
| + provider_.NotifyPolicyUpdated(); |
| EXPECT_EQ(PrefStore::READ_NO_VALUE, |
| store_->GetValue(prefs::kDefaultSearchProviderSearchURL, NULL)); |
| @@ -715,9 +720,9 @@ TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, Invalid) { |
| // Checks that if the default search policy is invalid, that no elements of the |
| // default search policy will be present. |
| TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, Disabled) { |
| - provider_.AddMandatoryPolicy(key::kDefaultSearchProviderEnabled, |
| - base::Value::CreateBooleanValue(false)); |
| - provider_.RefreshPolicies(); |
| + policy_.Set(key::kDefaultSearchProviderEnabled, POLICY_LEVEL_MANDATORY, |
| + POLICY_SCOPE_USER, base::Value::CreateBooleanValue(false)); |
| + provider_.NotifyPolicyUpdated(); |
| const base::Value* value = NULL; |
| EXPECT_EQ(PrefStore::READ_OK, |
| @@ -745,17 +750,17 @@ class ConfigurationPolicyPrefStoreIncognitoModeTest |
| void SetPolicies(ObsoleteIncognitoEnabledValue incognito_enabled, |
| int availability) { |
| if (incognito_enabled != INCOGNITO_ENABLED_UNKNOWN) { |
| - provider_.AddMandatoryPolicy( |
| - key::kIncognitoEnabled, |
| - base::Value::CreateBooleanValue( |
| - incognito_enabled == INCOGNITO_ENABLED_TRUE)); |
| + policy_.Set(key::kIncognitoEnabled, POLICY_LEVEL_MANDATORY, |
| + POLICY_SCOPE_USER, |
| + base::Value::CreateBooleanValue( |
| + incognito_enabled == INCOGNITO_ENABLED_TRUE)); |
| } |
| if (availability >= 0) { |
| - provider_.AddMandatoryPolicy( |
| - key::kIncognitoModeAvailability, |
| - base::Value::CreateIntegerValue(availability)); |
| + policy_.Set(key::kIncognitoModeAvailability, POLICY_LEVEL_MANDATORY, |
| + POLICY_SCOPE_USER, |
| + base::Value::CreateIntegerValue(availability)); |
| } |
| - provider_.RefreshPolicies(); |
| + provider_.NotifyPolicyUpdated(); |
| } |
| void VerifyValues(IncognitoModePrefs::Availability availability) { |
| @@ -832,18 +837,18 @@ TEST_F(ConfigurationPolicyPrefStoreSyncTest, Default) { |
| } |
| TEST_F(ConfigurationPolicyPrefStoreSyncTest, Enabled) { |
| - provider_.AddMandatoryPolicy(key::kSyncDisabled, |
| - base::Value::CreateBooleanValue(false)); |
| - provider_.RefreshPolicies(); |
| + policy_.Set(key::kSyncDisabled, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, |
| + base::Value::CreateBooleanValue(false)); |
| + provider_.NotifyPolicyUpdated(); |
| // Enabling Sync should not set the pref. |
| EXPECT_EQ(PrefStore::READ_NO_VALUE, |
| store_->GetValue(prefs::kSyncManaged, NULL)); |
| } |
| TEST_F(ConfigurationPolicyPrefStoreSyncTest, Disabled) { |
| - provider_.AddMandatoryPolicy(key::kSyncDisabled, |
| - base::Value::CreateBooleanValue(true)); |
| - provider_.RefreshPolicies(); |
| + policy_.Set(key::kSyncDisabled, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, |
| + base::Value::CreateBooleanValue(true)); |
| + provider_.NotifyPolicyUpdated(); |
| // Sync should be flagged as managed. |
| const base::Value* value = NULL; |
| EXPECT_EQ(PrefStore::READ_OK, store_->GetValue(prefs::kSyncManaged, &value)); |
| @@ -868,9 +873,9 @@ TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, Default) { |
| TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, SetDownloadDirectory) { |
| EXPECT_EQ(PrefStore::READ_NO_VALUE, |
| store_->GetValue(prefs::kPromptForDownload, NULL)); |
| - provider_.AddMandatoryPolicy(key::kDownloadDirectory, |
| - base::Value::CreateStringValue("")); |
| - provider_.RefreshPolicies(); |
| + policy_.Set(key::kDownloadDirectory, POLICY_LEVEL_MANDATORY, |
| + POLICY_SCOPE_USER, base::Value::CreateStringValue("")); |
| + provider_.NotifyPolicyUpdated(); |
| // Setting a DownloadDirectory should disable the PromptForDownload pref. |
| const base::Value* value = NULL; |
| @@ -888,9 +893,9 @@ TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, |
| EnableFileSelectionDialogs) { |
| EXPECT_EQ(PrefStore::READ_NO_VALUE, |
| store_->GetValue(prefs::kPromptForDownload, NULL)); |
| - provider_.AddMandatoryPolicy(key::kAllowFileSelectionDialogs, |
| - base::Value::CreateBooleanValue(true)); |
| - provider_.RefreshPolicies(); |
| + policy_.Set(key::kAllowFileSelectionDialogs, POLICY_LEVEL_MANDATORY, |
| + POLICY_SCOPE_USER, base::Value::CreateBooleanValue(true)); |
| + provider_.NotifyPolicyUpdated(); |
| // Allowing file-selection dialogs should not influence the PromptForDownload |
| // pref. |
| @@ -902,9 +907,9 @@ TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, |
| DisableFileSelectionDialogs) { |
| EXPECT_EQ(PrefStore::READ_NO_VALUE, |
| store_->GetValue(prefs::kPromptForDownload, NULL)); |
| - provider_.AddMandatoryPolicy(key::kAllowFileSelectionDialogs, |
| - base::Value::CreateBooleanValue(false)); |
| - provider_.RefreshPolicies(); |
| + policy_.Set(key::kAllowFileSelectionDialogs, POLICY_LEVEL_MANDATORY, |
| + POLICY_SCOPE_USER, base::Value::CreateBooleanValue(false)); |
| + provider_.NotifyPolicyUpdated(); |
| // Disabling file-selection dialogs should disable the PromptForDownload pref. |
| const base::Value* value = NULL; |
| @@ -927,18 +932,18 @@ TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Default) { |
| } |
| TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Enabled) { |
| - provider_.AddMandatoryPolicy(key::kAutoFillEnabled, |
| - base::Value::CreateBooleanValue(true)); |
| - provider_.RefreshPolicies(); |
| + policy_.Set(key::kAutoFillEnabled, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, |
| + base::Value::CreateBooleanValue(true)); |
| + provider_.NotifyPolicyUpdated(); |
| // Enabling Autofill should not set the pref. |
| EXPECT_EQ(PrefStore::READ_NO_VALUE, |
| store_->GetValue(prefs::kAutofillEnabled, NULL)); |
| } |
| TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Disabled) { |
| - provider_.AddMandatoryPolicy(key::kAutoFillEnabled, |
| - base::Value::CreateBooleanValue(false)); |
| - provider_.RefreshPolicies(); |
| + policy_.Set(key::kAutoFillEnabled, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, |
| + base::Value::CreateBooleanValue(false)); |
| + provider_.NotifyPolicyUpdated(); |
| // Disabling Autofill should switch the pref to managed. |
| const base::Value* value = NULL; |
| EXPECT_EQ(PrefStore::READ_OK, |
| @@ -962,6 +967,12 @@ class ConfigurationPolicyPrefStoreRefreshTest |
| store_->RemoveObserver(&observer_); |
| } |
| + void ResetServiceAndStore() { |
|
Mattias Nissler (ping if slow)
2012/04/27 09:03:27
Since this is not declared virtual in Configuratio
Joao da Silva
2012/04/27 11:24:12
It's intentional; using different names to avoid c
|
| + store_->RemoveObserver(&observer_); |
| + ConfigurationPolicyPrefStoreTest::ResetServiceAndStore(); |
| + store_->AddObserver(&observer_); |
| + } |
| + |
| PrefStoreObserverMock observer_; |
| }; |
| @@ -971,36 +982,36 @@ TEST_F(ConfigurationPolicyPrefStoreRefreshTest, Refresh) { |
| store_->GetValue(prefs::kHomePage, NULL)); |
| EXPECT_CALL(observer_, OnPrefValueChanged(prefs::kHomePage)).Times(1); |
| - provider_.AddMandatoryPolicy( |
| - key::kHomepageLocation, |
| - base::Value::CreateStringValue("http://www.chromium.org")); |
| - provider_.RefreshPolicies(); |
| + policy_.Set(key::kHomepageLocation, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, |
| + base::Value::CreateStringValue("http://www.chromium.org")); |
| + provider_.NotifyPolicyUpdated(); |
| Mock::VerifyAndClearExpectations(&observer_); |
| EXPECT_EQ(PrefStore::READ_OK, |
| store_->GetValue(prefs::kHomePage, &value)); |
| EXPECT_TRUE(base::StringValue("http://www.chromium.org").Equals(value)); |
| EXPECT_CALL(observer_, OnPrefValueChanged(_)).Times(0); |
| - provider_.RefreshPolicies(); |
| + provider_.NotifyPolicyUpdated(); |
| Mock::VerifyAndClearExpectations(&observer_); |
| EXPECT_CALL(observer_, OnPrefValueChanged(prefs::kHomePage)).Times(1); |
| - provider_.RemovePolicy(key::kHomepageLocation); |
| - provider_.RefreshPolicies(); |
| + policy_.Erase(key::kHomepageLocation); |
| + provider_.NotifyPolicyUpdated(); |
| Mock::VerifyAndClearExpectations(&observer_); |
| EXPECT_EQ(PrefStore::READ_NO_VALUE, |
| store_->GetValue(prefs::kHomePage, NULL)); |
| } |
| TEST_F(ConfigurationPolicyPrefStoreRefreshTest, Initialization) { |
| + EXPECT_CALL(provider_, IsInitializationComplete()) |
| + .WillRepeatedly(Return(false)); |
| + ResetServiceAndStore(); |
|
Mattias Nissler (ping if slow)
2012/04/27 09:03:27
Why is this necessary?
Joao da Silva
2012/04/27 11:24:12
Because store_, as created from SetUp, is already
Mattias Nissler (ping if slow)
2012/04/27 12:52:58
Can't we just initialize with IsInitializationComp
Joao da Silva
2012/04/27 13:46:29
I've realized that the store can be uninitialized
|
| EXPECT_FALSE(store_->IsInitializationComplete()); |
| + EXPECT_CALL(provider_, IsInitializationComplete()) |
| + .WillRepeatedly(Return(true)); |
| EXPECT_CALL(observer_, OnInitializationCompleted(true)).Times(1); |
| - |
| - provider_.SetInitializationComplete(true); |
| - EXPECT_FALSE(store_->IsInitializationComplete()); |
| - |
| - provider_.RefreshPolicies(); |
| + provider_.NotifyPolicyUpdated(); |
| Mock::VerifyAndClearExpectations(&observer_); |
| EXPECT_TRUE(store_->IsInitializationComplete()); |
| } |
| @@ -1013,14 +1024,14 @@ TEST_F(ConfigurationPolicyPrefStoreOthersTest, JavascriptEnabled) { |
| // This is a boolean policy, but affects an integer preference. |
| EXPECT_EQ(PrefStore::READ_NO_VALUE, |
| store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL)); |
| - provider_.AddMandatoryPolicy(key::kJavascriptEnabled, |
| - base::Value::CreateBooleanValue(true)); |
| - provider_.RefreshPolicies(); |
| + policy_.Set(key::kJavascriptEnabled, POLICY_LEVEL_MANDATORY, |
| + POLICY_SCOPE_USER, base::Value::CreateBooleanValue(true)); |
| + provider_.NotifyPolicyUpdated(); |
| EXPECT_EQ(PrefStore::READ_NO_VALUE, |
| store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL)); |
| - provider_.AddMandatoryPolicy(key::kJavascriptEnabled, |
| - base::Value::CreateBooleanValue(false)); |
| - provider_.RefreshPolicies(); |
| + policy_.Set(key::kJavascriptEnabled, POLICY_LEVEL_MANDATORY, |
| + POLICY_SCOPE_USER, base::Value::CreateBooleanValue(false)); |
| + provider_.NotifyPolicyUpdated(); |
| const base::Value* value = NULL; |
| EXPECT_EQ(PrefStore::READ_OK, |
| store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, &value)); |
| @@ -1030,18 +1041,18 @@ TEST_F(ConfigurationPolicyPrefStoreOthersTest, JavascriptEnabled) { |
| TEST_F(ConfigurationPolicyPrefStoreOthersTest, JavascriptEnabledOverridden) { |
| EXPECT_EQ(PrefStore::READ_NO_VALUE, |
| store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL)); |
| - provider_.AddMandatoryPolicy(key::kJavascriptEnabled, |
| - base::Value::CreateBooleanValue(false)); |
| - provider_.RefreshPolicies(); |
| + policy_.Set(key::kJavascriptEnabled, POLICY_LEVEL_MANDATORY, |
| + POLICY_SCOPE_USER, base::Value::CreateBooleanValue(false)); |
| + provider_.NotifyPolicyUpdated(); |
| const base::Value* value = NULL; |
| EXPECT_EQ(PrefStore::READ_OK, |
| store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, &value)); |
| EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_BLOCK).Equals(value)); |
| // DefaultJavaScriptSetting overrides JavascriptEnabled. |
| - provider_.AddMandatoryPolicy( |
| - key::kDefaultJavaScriptSetting, |
| - base::Value::CreateIntegerValue(CONTENT_SETTING_ALLOW)); |
| - provider_.RefreshPolicies(); |
| + policy_.Set(key::kDefaultJavaScriptSetting, POLICY_LEVEL_MANDATORY, |
| + POLICY_SCOPE_USER, |
| + base::Value::CreateIntegerValue(CONTENT_SETTING_ALLOW)); |
| + provider_.NotifyPolicyUpdated(); |
| EXPECT_EQ(PrefStore::READ_OK, |
| store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, &value)); |
| EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_ALLOW).Equals(value)); |