| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 <string> | 5 #include <string> |
| 6 | 6 |
| 7 #include "base/file_path.h" | 7 #include "base/file_path.h" |
| 8 #include "base/memory/ref_counted.h" | 8 #include "base/memory/ref_counted.h" |
| 9 #include "chrome/browser/policy/configuration_policy_handler.h" |
| 9 #include "chrome/browser/policy/configuration_policy_pref_store.h" | 10 #include "chrome/browser/policy/configuration_policy_pref_store.h" |
| 10 #include "chrome/browser/policy/mock_configuration_policy_provider.h" | 11 #include "chrome/browser/policy/mock_configuration_policy_provider.h" |
| 11 #include "chrome/browser/prefs/incognito_mode_prefs.h" | 12 #include "chrome/browser/prefs/incognito_mode_prefs.h" |
| 12 #include "chrome/browser/prefs/proxy_config_dictionary.h" | 13 #include "chrome/browser/prefs/proxy_config_dictionary.h" |
| 13 #include "chrome/common/content_settings.h" | 14 #include "chrome/common/content_settings.h" |
| 14 #include "chrome/common/pref_names.h" | 15 #include "chrome/common/pref_names.h" |
| 15 #include "chrome/common/pref_store_observer_mock.h" | 16 #include "chrome/common/pref_store_observer_mock.h" |
| 17 #include "policy/policy_constants.h" |
| 16 #include "testing/gmock/include/gmock/gmock.h" | 18 #include "testing/gmock/include/gmock/gmock.h" |
| 17 #include "testing/gtest/include/gtest/gtest.h" | 19 #include "testing/gtest/include/gtest/gtest.h" |
| 18 | 20 |
| 19 using testing::_; | 21 using testing::_; |
| 20 using testing::Mock; | 22 using testing::Mock; |
| 21 | 23 |
| 22 namespace policy { | 24 namespace policy { |
| 23 | 25 |
| 24 // Holds a set of test parameters, consisting of pref name and policy type. | 26 // Holds a set of test parameters, consisting of pref name and policy name. |
| 25 class TypeAndName { | 27 class PolicyAndPref { |
| 26 public: | 28 public: |
| 27 TypeAndName(ConfigurationPolicyType type, const char* pref_name) | 29 PolicyAndPref(const char* policy_name, const char* pref_name) |
| 28 : type_(type), | 30 : policy_name_(policy_name), |
| 29 pref_name_(pref_name) {} | 31 pref_name_(pref_name) {} |
| 30 | 32 |
| 31 ConfigurationPolicyType type() const { return type_; } | 33 const char* policy_name() const { return policy_name_; } |
| 32 const char* pref_name() const { return pref_name_; } | 34 const char* pref_name() const { return pref_name_; } |
| 33 | 35 |
| 34 private: | 36 private: |
| 35 ConfigurationPolicyType type_; | 37 const char* policy_name_; |
| 36 const char* pref_name_; | 38 const char* pref_name_; |
| 37 }; | 39 }; |
| 38 | 40 |
| 39 template<typename TESTBASE> | 41 template<typename TESTBASE> |
| 40 class ConfigurationPolicyPrefStoreTestBase : public TESTBASE { | 42 class ConfigurationPolicyPrefStoreTestBase : public TESTBASE { |
| 41 protected: | 43 protected: |
| 42 ConfigurationPolicyPrefStoreTestBase() | 44 ConfigurationPolicyPrefStoreTestBase() |
| 43 : provider_(), | 45 : provider_(), |
| 44 store_(new ConfigurationPolicyPrefStore(&provider_)) {} | 46 store_(new ConfigurationPolicyPrefStore(&provider_)) {} |
| 45 | 47 |
| 46 MockConfigurationPolicyProvider provider_; | 48 MockConfigurationPolicyProvider provider_; |
| 47 scoped_refptr<ConfigurationPolicyPrefStore> store_; | 49 scoped_refptr<ConfigurationPolicyPrefStore> store_; |
| 48 }; | 50 }; |
| 49 | 51 |
| 50 // Test cases for list-valued policy settings. | 52 // Test cases for list-valued policy settings. |
| 51 class ConfigurationPolicyPrefStoreListTest | 53 class ConfigurationPolicyPrefStoreListTest |
| 52 : public ConfigurationPolicyPrefStoreTestBase< | 54 : public ConfigurationPolicyPrefStoreTestBase< |
| 53 testing::TestWithParam<TypeAndName> > { | 55 testing::TestWithParam<PolicyAndPref> > { |
| 54 }; | 56 }; |
| 55 | 57 |
| 56 TEST_P(ConfigurationPolicyPrefStoreListTest, GetDefault) { | 58 TEST_P(ConfigurationPolicyPrefStoreListTest, GetDefault) { |
| 57 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 59 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
| 58 store_->GetValue(GetParam().pref_name(), NULL)); | 60 store_->GetValue(GetParam().pref_name(), NULL)); |
| 59 } | 61 } |
| 60 | 62 |
| 61 TEST_P(ConfigurationPolicyPrefStoreListTest, SetValue) { | 63 TEST_P(ConfigurationPolicyPrefStoreListTest, SetValue) { |
| 62 ListValue* in_value = new ListValue(); | 64 ListValue* in_value = new ListValue(); |
| 63 in_value->Append(Value::CreateStringValue("test1")); | 65 in_value->Append(Value::CreateStringValue("test1")); |
| 64 in_value->Append(Value::CreateStringValue("test2,")); | 66 in_value->Append(Value::CreateStringValue("test2,")); |
| 65 provider_.AddPolicy(GetParam().type(), in_value); | 67 provider_.AddMandatoryPolicy(GetParam().policy_name(), in_value); |
| 66 store_->OnUpdatePolicy(&provider_); | 68 store_->OnUpdatePolicy(&provider_); |
| 67 const Value* value = NULL; | 69 const Value* value = NULL; |
| 68 EXPECT_EQ(PrefStore::READ_OK, | 70 EXPECT_EQ(PrefStore::READ_OK, |
| 69 store_->GetValue(GetParam().pref_name(), &value)); | 71 store_->GetValue(GetParam().pref_name(), &value)); |
| 70 ASSERT_TRUE(value); | 72 ASSERT_TRUE(value); |
| 71 EXPECT_TRUE(in_value->Equals(value)); | 73 EXPECT_TRUE(in_value->Equals(value)); |
| 72 } | 74 } |
| 73 | 75 |
| 74 INSTANTIATE_TEST_CASE_P( | 76 INSTANTIATE_TEST_CASE_P( |
| 75 ConfigurationPolicyPrefStoreListTestInstance, | 77 ConfigurationPolicyPrefStoreListTestInstance, |
| 76 ConfigurationPolicyPrefStoreListTest, | 78 ConfigurationPolicyPrefStoreListTest, |
| 77 testing::Values( | 79 testing::Values( |
| 78 TypeAndName(kPolicyRestoreOnStartupURLs, | 80 PolicyAndPref(key::kRestoreOnStartupURLs, |
| 79 prefs::kURLsToRestoreOnStartup), | 81 prefs::kURLsToRestoreOnStartup), |
| 80 TypeAndName(kPolicyExtensionInstallWhitelist, | 82 PolicyAndPref(key::kExtensionInstallWhitelist, |
| 81 prefs::kExtensionInstallAllowList), | 83 prefs::kExtensionInstallAllowList), |
| 82 TypeAndName(kPolicyExtensionInstallBlacklist, | 84 PolicyAndPref(key::kExtensionInstallBlacklist, |
| 83 prefs::kExtensionInstallDenyList), | 85 prefs::kExtensionInstallDenyList), |
| 84 TypeAndName(kPolicyDisabledPlugins, | 86 PolicyAndPref(key::kDisabledPlugins, |
| 85 prefs::kPluginsDisabledPlugins), | 87 prefs::kPluginsDisabledPlugins), |
| 86 TypeAndName(kPolicyDisabledPluginsExceptions, | 88 PolicyAndPref(key::kDisabledPluginsExceptions, |
| 87 prefs::kPluginsDisabledPluginsExceptions), | 89 prefs::kPluginsDisabledPluginsExceptions), |
| 88 TypeAndName(kPolicyEnabledPlugins, | 90 PolicyAndPref(key::kEnabledPlugins, |
| 89 prefs::kPluginsEnabledPlugins), | 91 prefs::kPluginsEnabledPlugins), |
| 90 TypeAndName(kPolicyDisabledSchemes, | 92 PolicyAndPref(key::kDisabledSchemes, |
| 91 prefs::kDisabledSchemes), | 93 prefs::kDisabledSchemes), |
| 92 TypeAndName(kPolicyAutoSelectCertificateForUrls, | 94 PolicyAndPref(key::kAutoSelectCertificateForUrls, |
| 93 prefs::kManagedAutoSelectCertificateForUrls), | 95 prefs::kManagedAutoSelectCertificateForUrls), |
| 94 TypeAndName(kPolicyURLBlacklist, | 96 PolicyAndPref(key::kURLBlacklist, |
| 95 prefs::kUrlBlacklist), | 97 prefs::kUrlBlacklist), |
| 96 TypeAndName(kPolicyURLWhitelist, | 98 PolicyAndPref(key::kURLWhitelist, |
| 97 prefs::kUrlWhitelist))); | 99 prefs::kUrlWhitelist))); |
| 98 | 100 |
| 99 // Test cases for string-valued policy settings. | 101 // Test cases for string-valued policy settings. |
| 100 class ConfigurationPolicyPrefStoreStringTest | 102 class ConfigurationPolicyPrefStoreStringTest |
| 101 : public ConfigurationPolicyPrefStoreTestBase< | 103 : public ConfigurationPolicyPrefStoreTestBase< |
| 102 testing::TestWithParam<TypeAndName> > { | 104 testing::TestWithParam<PolicyAndPref> > { |
| 103 }; | 105 }; |
| 104 | 106 |
| 105 TEST_P(ConfigurationPolicyPrefStoreStringTest, GetDefault) { | 107 TEST_P(ConfigurationPolicyPrefStoreStringTest, GetDefault) { |
| 106 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 108 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
| 107 store_->GetValue(GetParam().pref_name(), NULL)); | 109 store_->GetValue(GetParam().pref_name(), NULL)); |
| 108 } | 110 } |
| 109 | 111 |
| 110 TEST_P(ConfigurationPolicyPrefStoreStringTest, SetValue) { | 112 TEST_P(ConfigurationPolicyPrefStoreStringTest, SetValue) { |
| 111 provider_.AddPolicy(GetParam().type(), | 113 provider_.AddMandatoryPolicy(GetParam().policy_name(), |
| 112 Value::CreateStringValue("http://chromium.org")); | 114 Value::CreateStringValue("http://chromium.org")); |
| 113 store_->OnUpdatePolicy(&provider_); | 115 store_->OnUpdatePolicy(&provider_); |
| 114 const Value* value = NULL; | 116 const Value* value = NULL; |
| 115 EXPECT_EQ(PrefStore::READ_OK, | 117 EXPECT_EQ(PrefStore::READ_OK, |
| 116 store_->GetValue(GetParam().pref_name(), &value)); | 118 store_->GetValue(GetParam().pref_name(), &value)); |
| 117 ASSERT_TRUE(value); | 119 ASSERT_TRUE(value); |
| 118 EXPECT_TRUE(StringValue("http://chromium.org").Equals(value)); | 120 EXPECT_TRUE(StringValue("http://chromium.org").Equals(value)); |
| 119 } | 121 } |
| 120 | 122 |
| 121 INSTANTIATE_TEST_CASE_P( | 123 INSTANTIATE_TEST_CASE_P( |
| 122 ConfigurationPolicyPrefStoreStringTestInstance, | 124 ConfigurationPolicyPrefStoreStringTestInstance, |
| 123 ConfigurationPolicyPrefStoreStringTest, | 125 ConfigurationPolicyPrefStoreStringTest, |
| 124 testing::Values( | 126 testing::Values( |
| 125 TypeAndName(kPolicyHomepageLocation, | 127 PolicyAndPref(key::kHomepageLocation, |
| 126 prefs::kHomePage), | 128 prefs::kHomePage), |
| 127 TypeAndName(kPolicyApplicationLocaleValue, | 129 PolicyAndPref(key::kApplicationLocaleValue, |
| 128 prefs::kApplicationLocale), | 130 prefs::kApplicationLocale), |
| 129 TypeAndName(kPolicyApplicationLocaleValue, | 131 PolicyAndPref(key::kAuthSchemes, |
| 130 prefs::kApplicationLocale), | 132 prefs::kAuthSchemes), |
| 131 TypeAndName(kPolicyAuthSchemes, | 133 PolicyAndPref(key::kAuthServerWhitelist, |
| 132 prefs::kAuthSchemes), | 134 prefs::kAuthServerWhitelist), |
| 133 TypeAndName(kPolicyAuthServerWhitelist, | 135 PolicyAndPref(key::kAuthNegotiateDelegateWhitelist, |
| 134 prefs::kAuthServerWhitelist), | 136 prefs::kAuthNegotiateDelegateWhitelist), |
| 135 TypeAndName(kPolicyAuthNegotiateDelegateWhitelist, | 137 PolicyAndPref(key::kGSSAPILibraryName, |
| 136 prefs::kAuthNegotiateDelegateWhitelist), | 138 prefs::kGSSAPILibraryName), |
| 137 TypeAndName(kPolicyGSSAPILibraryName, | 139 PolicyAndPref(key::kDiskCacheDir, |
| 138 prefs::kGSSAPILibraryName), | 140 prefs::kDiskCacheDir))); |
| 139 TypeAndName(kPolicyDiskCacheDir, | |
| 140 prefs::kDiskCacheDir))); | |
| 141 | 141 |
| 142 #if !defined(OS_CHROMEOS) | 142 #if !defined(OS_CHROMEOS) |
| 143 INSTANTIATE_TEST_CASE_P( | 143 INSTANTIATE_TEST_CASE_P( |
| 144 ConfigurationPolicyPrefStoreDownloadDirectoryInstance, | 144 ConfigurationPolicyPrefStoreDownloadDirectoryInstance, |
| 145 ConfigurationPolicyPrefStoreStringTest, | 145 ConfigurationPolicyPrefStoreStringTest, |
| 146 testing::Values(TypeAndName(kPolicyDownloadDirectory, | 146 testing::Values(PolicyAndPref(key::kDownloadDirectory, |
| 147 prefs::kDownloadDefaultDirectory))); | 147 prefs::kDownloadDefaultDirectory))); |
| 148 #endif // !defined(OS_CHROMEOS) | 148 #endif // !defined(OS_CHROMEOS) |
| 149 | 149 |
| 150 // Test cases for boolean-valued policy settings. | 150 // Test cases for boolean-valued policy settings. |
| 151 class ConfigurationPolicyPrefStoreBooleanTest | 151 class ConfigurationPolicyPrefStoreBooleanTest |
| 152 : public ConfigurationPolicyPrefStoreTestBase< | 152 : public ConfigurationPolicyPrefStoreTestBase< |
| 153 testing::TestWithParam<TypeAndName> > { | 153 testing::TestWithParam<PolicyAndPref> > { |
| 154 }; | 154 }; |
| 155 | 155 |
| 156 TEST_P(ConfigurationPolicyPrefStoreBooleanTest, GetDefault) { | 156 TEST_P(ConfigurationPolicyPrefStoreBooleanTest, GetDefault) { |
| 157 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 157 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
| 158 store_->GetValue(GetParam().pref_name(), NULL)); | 158 store_->GetValue(GetParam().pref_name(), NULL)); |
| 159 } | 159 } |
| 160 | 160 |
| 161 TEST_P(ConfigurationPolicyPrefStoreBooleanTest, SetValue) { | 161 TEST_P(ConfigurationPolicyPrefStoreBooleanTest, SetValue) { |
| 162 provider_.AddPolicy(GetParam().type(), Value::CreateBooleanValue(false)); | 162 provider_.AddMandatoryPolicy(GetParam().policy_name(), |
| 163 Value::CreateBooleanValue(false)); |
| 163 store_->OnUpdatePolicy(&provider_); | 164 store_->OnUpdatePolicy(&provider_); |
| 164 const Value* value = NULL; | 165 const Value* value = NULL; |
| 165 EXPECT_EQ(PrefStore::READ_OK, | 166 EXPECT_EQ(PrefStore::READ_OK, |
| 166 store_->GetValue(GetParam().pref_name(), &value)); | 167 store_->GetValue(GetParam().pref_name(), &value)); |
| 167 ASSERT_TRUE(value); | 168 ASSERT_TRUE(value); |
| 168 bool boolean_value = true; | 169 bool boolean_value = true; |
| 169 bool result = value->GetAsBoolean(&boolean_value); | 170 bool result = value->GetAsBoolean(&boolean_value); |
| 170 ASSERT_TRUE(result); | 171 ASSERT_TRUE(result); |
| 171 EXPECT_FALSE(boolean_value); | 172 EXPECT_FALSE(boolean_value); |
| 172 | 173 |
| 173 provider_.AddPolicy(GetParam().type(), Value::CreateBooleanValue(true)); | 174 provider_.AddMandatoryPolicy(GetParam().policy_name(), |
| 175 Value::CreateBooleanValue(true)); |
| 174 store_->OnUpdatePolicy(&provider_); | 176 store_->OnUpdatePolicy(&provider_); |
| 175 value = NULL; | 177 value = NULL; |
| 176 EXPECT_EQ(PrefStore::READ_OK, | 178 EXPECT_EQ(PrefStore::READ_OK, |
| 177 store_->GetValue(GetParam().pref_name(), &value)); | 179 store_->GetValue(GetParam().pref_name(), &value)); |
| 178 boolean_value = false; | 180 boolean_value = false; |
| 179 result = value->GetAsBoolean(&boolean_value); | 181 result = value->GetAsBoolean(&boolean_value); |
| 180 ASSERT_TRUE(result); | 182 ASSERT_TRUE(result); |
| 181 EXPECT_TRUE(boolean_value); | 183 EXPECT_TRUE(boolean_value); |
| 182 } | 184 } |
| 183 | 185 |
| 184 INSTANTIATE_TEST_CASE_P( | 186 INSTANTIATE_TEST_CASE_P( |
| 185 ConfigurationPolicyPrefStoreBooleanTestInstance, | 187 ConfigurationPolicyPrefStoreBooleanTestInstance, |
| 186 ConfigurationPolicyPrefStoreBooleanTest, | 188 ConfigurationPolicyPrefStoreBooleanTest, |
| 187 testing::Values( | 189 testing::Values( |
| 188 TypeAndName(kPolicyHomepageIsNewTabPage, | 190 PolicyAndPref(key::kHomepageIsNewTabPage, |
| 189 prefs::kHomePageIsNewTabPage), | 191 prefs::kHomePageIsNewTabPage), |
| 190 TypeAndName(kPolicyAlternateErrorPagesEnabled, | 192 PolicyAndPref(key::kAlternateErrorPagesEnabled, |
| 191 prefs::kAlternateErrorPagesEnabled), | 193 prefs::kAlternateErrorPagesEnabled), |
| 192 TypeAndName(kPolicySearchSuggestEnabled, | 194 PolicyAndPref(key::kSearchSuggestEnabled, |
| 193 prefs::kSearchSuggestEnabled), | 195 prefs::kSearchSuggestEnabled), |
| 194 TypeAndName(kPolicyDnsPrefetchingEnabled, | 196 PolicyAndPref(key::kDnsPrefetchingEnabled, |
| 195 prefs::kNetworkPredictionEnabled), | 197 prefs::kNetworkPredictionEnabled), |
| 196 TypeAndName(kPolicyDisableSpdy, | 198 PolicyAndPref(key::kDisableSpdy, |
| 197 prefs::kDisableSpdy), | 199 prefs::kDisableSpdy), |
| 198 TypeAndName(kPolicySafeBrowsingEnabled, | 200 PolicyAndPref(key::kSafeBrowsingEnabled, |
| 199 prefs::kSafeBrowsingEnabled), | 201 prefs::kSafeBrowsingEnabled), |
| 200 TypeAndName(kPolicyMetricsReportingEnabled, | 202 PolicyAndPref(key::kMetricsReportingEnabled, |
| 201 prefs::kMetricsReportingEnabled), | 203 prefs::kMetricsReportingEnabled), |
| 202 TypeAndName(kPolicyPasswordManagerEnabled, | 204 PolicyAndPref(key::kPasswordManagerEnabled, |
| 203 prefs::kPasswordManagerEnabled), | 205 prefs::kPasswordManagerEnabled), |
| 204 TypeAndName(kPolicyPasswordManagerAllowShowPasswords, | 206 PolicyAndPref(key::kPasswordManagerAllowShowPasswords, |
| 205 prefs::kPasswordManagerAllowShowPasswords), | 207 prefs::kPasswordManagerAllowShowPasswords), |
| 206 TypeAndName(kPolicyShowHomeButton, | 208 PolicyAndPref(key::kShowHomeButton, |
| 207 prefs::kShowHomeButton), | 209 prefs::kShowHomeButton), |
| 208 TypeAndName(kPolicyPrintingEnabled, | 210 PolicyAndPref(key::kPrintingEnabled, |
| 209 prefs::kPrintingEnabled), | 211 prefs::kPrintingEnabled), |
| 210 TypeAndName(kPolicyRemoteAccessHostFirewallTraversal, | 212 PolicyAndPref(key::kRemoteAccessHostFirewallTraversal, |
| 211 prefs::kRemoteAccessHostFirewallTraversal), | 213 prefs::kRemoteAccessHostFirewallTraversal), |
| 212 TypeAndName(kPolicyCloudPrintProxyEnabled, | 214 PolicyAndPref(key::kCloudPrintProxyEnabled, |
| 213 prefs::kCloudPrintProxyEnabled), | 215 prefs::kCloudPrintProxyEnabled), |
| 214 TypeAndName(kPolicyCloudPrintSubmitEnabled, | 216 PolicyAndPref(key::kCloudPrintSubmitEnabled, |
| 215 prefs::kCloudPrintSubmitEnabled), | 217 prefs::kCloudPrintSubmitEnabled), |
| 216 TypeAndName(kPolicySavingBrowserHistoryDisabled, | 218 PolicyAndPref(key::kSavingBrowserHistoryDisabled, |
| 217 prefs::kSavingBrowserHistoryDisabled), | 219 prefs::kSavingBrowserHistoryDisabled), |
| 218 TypeAndName(kPolicySavingBrowserHistoryDisabled, | 220 PolicyAndPref(key::kEnableOriginBoundCerts, |
| 219 prefs::kSavingBrowserHistoryDisabled), | 221 prefs::kEnableOriginBoundCerts), |
| 220 TypeAndName(kPolicyEnableOriginBoundCerts, | 222 PolicyAndPref(key::kDisableAuthNegotiateCnameLookup, |
| 221 prefs::kEnableOriginBoundCerts), | 223 prefs::kDisableAuthNegotiateCnameLookup), |
| 222 TypeAndName(kPolicyDisableAuthNegotiateCnameLookup, | 224 PolicyAndPref(key::kEnableAuthNegotiatePort, |
| 223 prefs::kDisableAuthNegotiateCnameLookup), | 225 prefs::kEnableAuthNegotiatePort), |
| 224 TypeAndName(kPolicyEnableAuthNegotiatePort, | 226 PolicyAndPref(key::kInstantEnabled, |
| 225 prefs::kEnableAuthNegotiatePort), | 227 prefs::kInstantEnabled), |
| 226 TypeAndName(kPolicyInstantEnabled, | 228 PolicyAndPref(key::kDisablePluginFinder, |
| 227 prefs::kInstantEnabled), | 229 prefs::kDisablePluginFinder), |
| 228 TypeAndName(kPolicyDisablePluginFinder, | 230 PolicyAndPref(key::kClearSiteDataOnExit, |
| 229 prefs::kDisablePluginFinder), | 231 prefs::kClearSiteDataOnExit), |
| 230 TypeAndName(kPolicyClearSiteDataOnExit, | 232 PolicyAndPref(key::kDefaultBrowserSettingEnabled, |
| 231 prefs::kClearSiteDataOnExit), | 233 prefs::kDefaultBrowserSettingEnabled), |
| 232 TypeAndName(kPolicyDefaultBrowserSettingEnabled, | 234 PolicyAndPref(key::kDisable3DAPIs, |
| 233 prefs::kDefaultBrowserSettingEnabled), | 235 prefs::kDisable3DAPIs), |
| 234 TypeAndName(kPolicyDisable3DAPIs, | 236 PolicyAndPref(key::kTranslateEnabled, |
| 235 prefs::kDisable3DAPIs), | 237 prefs::kEnableTranslate), |
| 236 TypeAndName(kPolicyTranslateEnabled, | 238 PolicyAndPref(key::kAllowOutdatedPlugins, |
| 237 prefs::kEnableTranslate), | 239 prefs::kPluginsAllowOutdated), |
| 238 TypeAndName(kPolicyAllowOutdatedPlugins, | 240 PolicyAndPref(key::kAlwaysAuthorizePlugins, |
| 239 prefs::kPluginsAllowOutdated), | 241 prefs::kPluginsAlwaysAuthorize), |
| 240 TypeAndName(kPolicyAlwaysAuthorizePlugins, | 242 PolicyAndPref(key::kBookmarkBarEnabled, |
| 241 prefs::kPluginsAlwaysAuthorize), | 243 prefs::kShowBookmarkBar), |
| 242 TypeAndName(kPolicyBookmarkBarEnabled, | 244 PolicyAndPref(key::kEditBookmarksEnabled, |
| 243 prefs::kShowBookmarkBar), | 245 prefs::kEditBookmarksEnabled), |
| 244 TypeAndName(kPolicyEditBookmarksEnabled, | 246 PolicyAndPref(key::kAllowFileSelectionDialogs, |
| 245 prefs::kEditBookmarksEnabled), | 247 prefs::kAllowFileSelectionDialogs), |
| 246 TypeAndName(kPolicyAllowFileSelectionDialogs, | 248 PolicyAndPref(key::kAllowCrossOriginAuthPrompt, |
| 247 prefs::kAllowFileSelectionDialogs), | 249 prefs::kAllowCrossOriginAuthPrompt), |
| 248 TypeAndName(kPolicyAllowCrossOriginAuthPrompt, | 250 PolicyAndPref(key::kImportBookmarks, |
| 249 prefs::kAllowCrossOriginAuthPrompt), | 251 prefs::kImportBookmarks), |
| 250 TypeAndName(kPolicyImportBookmarks, | 252 PolicyAndPref(key::kImportHistory, |
| 251 prefs::kImportBookmarks), | 253 prefs::kImportHistory), |
| 252 TypeAndName(kPolicyImportHistory, | 254 PolicyAndPref(key::kImportHomepage, |
| 253 prefs::kImportHistory), | 255 prefs::kImportHomepage), |
| 254 TypeAndName(kPolicyImportHomepage, | 256 PolicyAndPref(key::kImportSearchEngine, |
| 255 prefs::kImportHomepage), | 257 prefs::kImportSearchEngine), |
| 256 TypeAndName(kPolicyImportSearchEngine, | 258 PolicyAndPref(key::kImportSavedPasswords, |
| 257 prefs::kImportSearchEngine), | 259 prefs::kImportSavedPasswords), |
| 258 TypeAndName(kPolicyImportSavedPasswords, | 260 PolicyAndPref(key::kEnableMemoryInfo, |
| 259 prefs::kImportSavedPasswords), | 261 prefs::kEnableMemoryInfo), |
| 260 TypeAndName(kPolicyEnableMemoryInfo, | 262 PolicyAndPref(key::kDisablePrintPreview, |
| 261 prefs::kEnableMemoryInfo), | 263 prefs::kPrintPreviewDisabled), |
| 262 TypeAndName(kPolicyDisablePrintPreview, | 264 PolicyAndPref(key::kDeveloperToolsDisabled, |
| 263 prefs::kPrintPreviewDisabled), | 265 prefs::kDevToolsDisabled))); |
| 264 TypeAndName(kPolicyDeveloperToolsDisabled, | |
| 265 prefs::kDevToolsDisabled))); | |
| 266 | 266 |
| 267 #if defined(OS_CHROMEOS) | 267 #if defined(OS_CHROMEOS) |
| 268 INSTANTIATE_TEST_CASE_P( | 268 INSTANTIATE_TEST_CASE_P( |
| 269 CrosConfigurationPolicyPrefStoreBooleanTestInstance, | 269 CrosConfigurationPolicyPrefStoreBooleanTestInstance, |
| 270 ConfigurationPolicyPrefStoreBooleanTest, | 270 ConfigurationPolicyPrefStoreBooleanTest, |
| 271 testing::Values( | 271 testing::Values( |
| 272 TypeAndName(kPolicyChromeOsLockOnIdleSuspend, | 272 PolicyAndPref(key::kChromeOsLockOnIdleSuspend, |
| 273 prefs::kEnableScreenLock))); | 273 prefs::kEnableScreenLock))); |
| 274 #endif // defined(OS_CHROMEOS) | 274 #endif // defined(OS_CHROMEOS) |
| 275 | 275 |
| 276 // Test cases for integer-valued policy settings. | 276 // Test cases for integer-valued policy settings. |
| 277 class ConfigurationPolicyPrefStoreIntegerTest | 277 class ConfigurationPolicyPrefStoreIntegerTest |
| 278 : public ConfigurationPolicyPrefStoreTestBase< | 278 : public ConfigurationPolicyPrefStoreTestBase< |
| 279 testing::TestWithParam<TypeAndName> > { | 279 testing::TestWithParam<PolicyAndPref> > { |
| 280 }; | 280 }; |
| 281 | 281 |
| 282 TEST_P(ConfigurationPolicyPrefStoreIntegerTest, GetDefault) { | 282 TEST_P(ConfigurationPolicyPrefStoreIntegerTest, GetDefault) { |
| 283 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 283 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
| 284 store_->GetValue(GetParam().pref_name(), NULL)); | 284 store_->GetValue(GetParam().pref_name(), NULL)); |
| 285 } | 285 } |
| 286 | 286 |
| 287 TEST_P(ConfigurationPolicyPrefStoreIntegerTest, SetValue) { | 287 TEST_P(ConfigurationPolicyPrefStoreIntegerTest, SetValue) { |
| 288 provider_.AddPolicy(GetParam().type(), Value::CreateIntegerValue(2)); | 288 provider_.AddMandatoryPolicy(GetParam().policy_name(), |
| 289 Value::CreateIntegerValue(2)); |
| 289 store_->OnUpdatePolicy(&provider_); | 290 store_->OnUpdatePolicy(&provider_); |
| 290 const Value* value = NULL; | 291 const Value* value = NULL; |
| 291 EXPECT_EQ(PrefStore::READ_OK, | 292 EXPECT_EQ(PrefStore::READ_OK, |
| 292 store_->GetValue(GetParam().pref_name(), &value)); | 293 store_->GetValue(GetParam().pref_name(), &value)); |
| 293 EXPECT_TRUE(base::FundamentalValue(2).Equals(value)); | 294 EXPECT_TRUE(base::FundamentalValue(2).Equals(value)); |
| 294 } | 295 } |
| 295 | 296 |
| 296 INSTANTIATE_TEST_CASE_P( | 297 INSTANTIATE_TEST_CASE_P( |
| 297 ConfigurationPolicyPrefStoreIntegerTestInstance, | 298 ConfigurationPolicyPrefStoreIntegerTestInstance, |
| 298 ConfigurationPolicyPrefStoreIntegerTest, | 299 ConfigurationPolicyPrefStoreIntegerTest, |
| 299 testing::Values( | 300 testing::Values( |
| 300 TypeAndName(kPolicyDefaultCookiesSetting, | 301 PolicyAndPref(key::kDefaultCookiesSetting, |
| 301 prefs::kManagedDefaultCookiesSetting), | 302 prefs::kManagedDefaultCookiesSetting), |
| 302 TypeAndName(kPolicyDefaultImagesSetting, | 303 PolicyAndPref(key::kDefaultImagesSetting, |
| 303 prefs::kManagedDefaultImagesSetting), | 304 prefs::kManagedDefaultImagesSetting), |
| 304 TypeAndName(kPolicyDefaultPluginsSetting, | 305 PolicyAndPref(key::kDefaultPluginsSetting, |
| 305 prefs::kManagedDefaultPluginsSetting), | 306 prefs::kManagedDefaultPluginsSetting), |
| 306 TypeAndName(kPolicyDefaultPopupsSetting, | 307 PolicyAndPref(key::kDefaultPopupsSetting, |
| 307 prefs::kManagedDefaultPopupsSetting), | 308 prefs::kManagedDefaultPopupsSetting), |
| 308 TypeAndName(kPolicyDefaultNotificationsSetting, | 309 PolicyAndPref(key::kDefaultNotificationsSetting, |
| 309 prefs::kManagedDefaultNotificationsSetting), | 310 prefs::kManagedDefaultNotificationsSetting), |
| 310 TypeAndName(kPolicyDefaultGeolocationSetting, | 311 PolicyAndPref(key::kDefaultGeolocationSetting, |
| 311 prefs::kManagedDefaultGeolocationSetting), | 312 prefs::kManagedDefaultGeolocationSetting), |
| 312 TypeAndName(kPolicyRestoreOnStartup, | 313 PolicyAndPref(key::kRestoreOnStartup, |
| 313 prefs::kRestoreOnStartup), | 314 prefs::kRestoreOnStartup), |
| 314 TypeAndName(kPolicyDiskCacheSize, | 315 PolicyAndPref(key::kDiskCacheSize, |
| 315 prefs::kDiskCacheSize), | 316 prefs::kDiskCacheSize), |
| 316 TypeAndName(kPolicyMediaCacheSize, | 317 PolicyAndPref(key::kMediaCacheSize, |
| 317 prefs::kMediaCacheSize), | 318 prefs::kMediaCacheSize), |
| 318 TypeAndName(kPolicyPolicyRefreshRate, | 319 PolicyAndPref(key::kPolicyRefreshRate, |
| 319 prefs::kUserPolicyRefreshRate), | 320 prefs::kUserPolicyRefreshRate), |
| 320 TypeAndName(kPolicyMaxConnectionsPerProxy, | 321 PolicyAndPref(key::kMaxConnectionsPerProxy, |
| 321 prefs::kMaxConnectionsPerProxy))); | 322 prefs::kMaxConnectionsPerProxy))); |
| 322 | 323 |
| 323 // Test cases for the proxy policy settings. | 324 // Test cases for the proxy policy settings. |
| 324 class ConfigurationPolicyPrefStoreProxyTest : public testing::Test { | 325 class ConfigurationPolicyPrefStoreProxyTest : public testing::Test { |
| 325 protected: | 326 protected: |
| 326 // Verify that all the proxy prefs are set to the specified expected values. | 327 // Verify that all the proxy prefs are set to the specified expected values. |
| 327 static void VerifyProxyPrefs( | 328 static void VerifyProxyPrefs( |
| 328 const ConfigurationPolicyPrefStore& store, | 329 const ConfigurationPolicyPrefStore& store, |
| 329 const std::string& expected_proxy_server, | 330 const std::string& expected_proxy_server, |
| 330 const std::string& expected_proxy_pac_url, | 331 const std::string& expected_proxy_pac_url, |
| 331 const std::string& expected_proxy_bypass_list, | 332 const std::string& expected_proxy_bypass_list, |
| (...skipping 23 matching lines...) Expand all Loading... |
| 355 EXPECT_EQ(expected_proxy_bypass_list, s); | 356 EXPECT_EQ(expected_proxy_bypass_list, s); |
| 356 } | 357 } |
| 357 ProxyPrefs::ProxyMode mode; | 358 ProxyPrefs::ProxyMode mode; |
| 358 ASSERT_TRUE(dict.GetMode(&mode)); | 359 ASSERT_TRUE(dict.GetMode(&mode)); |
| 359 EXPECT_EQ(expected_proxy_mode, mode); | 360 EXPECT_EQ(expected_proxy_mode, mode); |
| 360 } | 361 } |
| 361 }; | 362 }; |
| 362 | 363 |
| 363 TEST_F(ConfigurationPolicyPrefStoreProxyTest, ManualOptions) { | 364 TEST_F(ConfigurationPolicyPrefStoreProxyTest, ManualOptions) { |
| 364 MockConfigurationPolicyProvider provider; | 365 MockConfigurationPolicyProvider provider; |
| 365 provider.AddPolicy(kPolicyProxyBypassList, | 366 provider.AddMandatoryPolicy( |
| 366 Value::CreateStringValue("http://chromium.org/override")); | 367 key::kProxyBypassList, |
| 367 provider.AddPolicy(kPolicyProxyServer, | 368 Value::CreateStringValue("http://chromium.org/override")); |
| 368 Value::CreateStringValue("chromium.org")); | 369 provider.AddMandatoryPolicy(key::kProxyServer, |
| 369 provider.AddPolicy(kPolicyProxyServerMode, | 370 Value::CreateStringValue("chromium.org")); |
| 370 Value::CreateIntegerValue( | 371 provider.AddMandatoryPolicy( |
| 371 kPolicyManuallyConfiguredProxyServerMode)); | 372 key::kProxyServerMode, |
| 373 Value::CreateIntegerValue( |
| 374 ProxyPolicyHandler::PROXY_MANUALLY_CONFIGURED_PROXY_SERVER_MODE)); |
| 372 | 375 |
| 373 scoped_refptr<ConfigurationPolicyPrefStore> store( | 376 scoped_refptr<ConfigurationPolicyPrefStore> store( |
| 374 new ConfigurationPolicyPrefStore(&provider)); | 377 new ConfigurationPolicyPrefStore(&provider)); |
| 375 VerifyProxyPrefs( | 378 VerifyProxyPrefs( |
| 376 *store, "chromium.org", "", "http://chromium.org/override", | 379 *store, "chromium.org", "", "http://chromium.org/override", |
| 377 ProxyPrefs::MODE_FIXED_SERVERS); | 380 ProxyPrefs::MODE_FIXED_SERVERS); |
| 378 } | 381 } |
| 379 | 382 |
| 380 TEST_F(ConfigurationPolicyPrefStoreProxyTest, ManualOptionsReversedApplyOrder) { | 383 TEST_F(ConfigurationPolicyPrefStoreProxyTest, ManualOptionsReversedApplyOrder) { |
| 381 MockConfigurationPolicyProvider provider; | 384 MockConfigurationPolicyProvider provider; |
| 382 provider.AddPolicy(kPolicyProxyServerMode, | 385 provider.AddMandatoryPolicy( |
| 383 Value::CreateIntegerValue( | 386 key::kProxyServerMode, |
| 384 kPolicyManuallyConfiguredProxyServerMode)); | 387 Value::CreateIntegerValue( |
| 385 provider.AddPolicy(kPolicyProxyBypassList, | 388 ProxyPolicyHandler::PROXY_MANUALLY_CONFIGURED_PROXY_SERVER_MODE)); |
| 386 Value::CreateStringValue("http://chromium.org/override")); | 389 provider.AddMandatoryPolicy( |
| 387 provider.AddPolicy(kPolicyProxyServer, | 390 key::kProxyBypassList, |
| 388 Value::CreateStringValue("chromium.org")); | 391 Value::CreateStringValue("http://chromium.org/override")); |
| 392 provider.AddMandatoryPolicy( |
| 393 key::kProxyServer, |
| 394 Value::CreateStringValue("chromium.org")); |
| 389 scoped_refptr<ConfigurationPolicyPrefStore> store( | 395 scoped_refptr<ConfigurationPolicyPrefStore> store( |
| 390 new ConfigurationPolicyPrefStore(&provider)); | 396 new ConfigurationPolicyPrefStore(&provider)); |
| 391 VerifyProxyPrefs( | 397 VerifyProxyPrefs( |
| 392 *store, "chromium.org", "", "http://chromium.org/override", | 398 *store, "chromium.org", "", "http://chromium.org/override", |
| 393 ProxyPrefs::MODE_FIXED_SERVERS); | 399 ProxyPrefs::MODE_FIXED_SERVERS); |
| 394 } | 400 } |
| 395 | 401 |
| 396 TEST_F(ConfigurationPolicyPrefStoreProxyTest, ManualOptionsInvalid) { | 402 TEST_F(ConfigurationPolicyPrefStoreProxyTest, ManualOptionsInvalid) { |
| 397 MockConfigurationPolicyProvider provider; | 403 MockConfigurationPolicyProvider provider; |
| 398 provider.AddPolicy(kPolicyProxyServerMode, | 404 provider.AddMandatoryPolicy( |
| 399 Value::CreateIntegerValue( | 405 key::kProxyServerMode, |
| 400 kPolicyManuallyConfiguredProxyServerMode)); | 406 Value::CreateIntegerValue( |
| 407 ProxyPolicyHandler::PROXY_MANUALLY_CONFIGURED_PROXY_SERVER_MODE)); |
| 401 | 408 |
| 402 scoped_refptr<ConfigurationPolicyPrefStore> store( | 409 scoped_refptr<ConfigurationPolicyPrefStore> store( |
| 403 new ConfigurationPolicyPrefStore(&provider)); | 410 new ConfigurationPolicyPrefStore(&provider)); |
| 404 const Value* value = NULL; | 411 const Value* value = NULL; |
| 405 EXPECT_EQ(PrefStore::READ_NO_VALUE, store->GetValue(prefs::kProxy, &value)); | 412 EXPECT_EQ(PrefStore::READ_NO_VALUE, store->GetValue(prefs::kProxy, &value)); |
| 406 } | 413 } |
| 407 | 414 |
| 408 | 415 |
| 409 TEST_F(ConfigurationPolicyPrefStoreProxyTest, NoProxyServerMode) { | 416 TEST_F(ConfigurationPolicyPrefStoreProxyTest, NoProxyServerMode) { |
| 410 MockConfigurationPolicyProvider provider; | 417 MockConfigurationPolicyProvider provider; |
| 411 provider.AddPolicy(kPolicyProxyServerMode, | 418 provider.AddMandatoryPolicy( |
| 412 Value::CreateIntegerValue(kPolicyNoProxyServerMode)); | 419 key::kProxyServerMode, |
| 420 Value::CreateIntegerValue(ProxyPolicyHandler::PROXY_SERVER_MODE)); |
| 413 | 421 |
| 414 scoped_refptr<ConfigurationPolicyPrefStore> store( | 422 scoped_refptr<ConfigurationPolicyPrefStore> store( |
| 415 new ConfigurationPolicyPrefStore(&provider)); | 423 new ConfigurationPolicyPrefStore(&provider)); |
| 416 VerifyProxyPrefs(*store, "", "", "", ProxyPrefs::MODE_DIRECT); | 424 VerifyProxyPrefs(*store, "", "", "", ProxyPrefs::MODE_DIRECT); |
| 417 } | 425 } |
| 418 | 426 |
| 419 TEST_F(ConfigurationPolicyPrefStoreProxyTest, NoProxyModeName) { | 427 TEST_F(ConfigurationPolicyPrefStoreProxyTest, NoProxyModeName) { |
| 420 MockConfigurationPolicyProvider provider; | 428 MockConfigurationPolicyProvider provider; |
| 421 provider.AddPolicy( | 429 provider.AddMandatoryPolicy( |
| 422 kPolicyProxyMode, | 430 key::kProxyMode, |
| 423 Value::CreateStringValue(ProxyPrefs::kDirectProxyModeName)); | 431 Value::CreateStringValue(ProxyPrefs::kDirectProxyModeName)); |
| 424 | 432 |
| 425 scoped_refptr<ConfigurationPolicyPrefStore> store( | 433 scoped_refptr<ConfigurationPolicyPrefStore> store( |
| 426 new ConfigurationPolicyPrefStore(&provider)); | 434 new ConfigurationPolicyPrefStore(&provider)); |
| 427 VerifyProxyPrefs(*store, "", "", "", ProxyPrefs::MODE_DIRECT); | 435 VerifyProxyPrefs(*store, "", "", "", ProxyPrefs::MODE_DIRECT); |
| 428 } | 436 } |
| 429 | 437 |
| 430 TEST_F(ConfigurationPolicyPrefStoreProxyTest, AutoDetectProxyServerMode) { | 438 TEST_F(ConfigurationPolicyPrefStoreProxyTest, AutoDetectProxyServerMode) { |
| 431 MockConfigurationPolicyProvider provider; | 439 MockConfigurationPolicyProvider provider; |
| 432 provider.AddPolicy( | 440 provider.AddMandatoryPolicy( |
| 433 kPolicyProxyServerMode, | 441 key::kProxyServerMode, |
| 434 Value::CreateIntegerValue(kPolicyAutoDetectProxyServerMode)); | 442 Value::CreateIntegerValue( |
| 443 ProxyPolicyHandler::PROXY_AUTO_DETECT_PROXY_SERVER_MODE)); |
| 435 | 444 |
| 436 scoped_refptr<ConfigurationPolicyPrefStore> store( | 445 scoped_refptr<ConfigurationPolicyPrefStore> store( |
| 437 new ConfigurationPolicyPrefStore(&provider)); | 446 new ConfigurationPolicyPrefStore(&provider)); |
| 438 VerifyProxyPrefs(*store, "", "", "", ProxyPrefs::MODE_AUTO_DETECT); | 447 VerifyProxyPrefs(*store, "", "", "", ProxyPrefs::MODE_AUTO_DETECT); |
| 439 } | 448 } |
| 440 | 449 |
| 441 TEST_F(ConfigurationPolicyPrefStoreProxyTest, AutoDetectProxyModeName) { | 450 TEST_F(ConfigurationPolicyPrefStoreProxyTest, AutoDetectProxyModeName) { |
| 442 MockConfigurationPolicyProvider provider; | 451 MockConfigurationPolicyProvider provider; |
| 443 provider.AddPolicy( | 452 provider.AddMandatoryPolicy( |
| 444 kPolicyProxyMode, | 453 key::kProxyMode, |
| 445 Value::CreateStringValue(ProxyPrefs::kAutoDetectProxyModeName)); | 454 Value::CreateStringValue(ProxyPrefs::kAutoDetectProxyModeName)); |
| 446 | 455 |
| 447 scoped_refptr<ConfigurationPolicyPrefStore> store( | 456 scoped_refptr<ConfigurationPolicyPrefStore> store( |
| 448 new ConfigurationPolicyPrefStore(&provider)); | 457 new ConfigurationPolicyPrefStore(&provider)); |
| 449 VerifyProxyPrefs(*store, "", "", "", ProxyPrefs::MODE_AUTO_DETECT); | 458 VerifyProxyPrefs(*store, "", "", "", ProxyPrefs::MODE_AUTO_DETECT); |
| 450 } | 459 } |
| 451 | 460 |
| 452 TEST_F(ConfigurationPolicyPrefStoreProxyTest, PacScriptProxyMode) { | 461 TEST_F(ConfigurationPolicyPrefStoreProxyTest, PacScriptProxyMode) { |
| 453 MockConfigurationPolicyProvider provider; | 462 MockConfigurationPolicyProvider provider; |
| 454 provider.AddPolicy(kPolicyProxyPacUrl, | 463 provider.AddMandatoryPolicy( |
| 455 Value::CreateStringValue("http://short.org/proxy.pac")); | 464 key::kProxyPacUrl, |
| 456 provider.AddPolicy( | 465 Value::CreateStringValue("http://short.org/proxy.pac")); |
| 457 kPolicyProxyMode, | 466 provider.AddMandatoryPolicy( |
| 467 key::kProxyMode, |
| 458 Value::CreateStringValue(ProxyPrefs::kPacScriptProxyModeName)); | 468 Value::CreateStringValue(ProxyPrefs::kPacScriptProxyModeName)); |
| 459 | 469 |
| 460 scoped_refptr<ConfigurationPolicyPrefStore> store( | 470 scoped_refptr<ConfigurationPolicyPrefStore> store( |
| 461 new ConfigurationPolicyPrefStore(&provider)); | 471 new ConfigurationPolicyPrefStore(&provider)); |
| 462 VerifyProxyPrefs(*store, "", "http://short.org/proxy.pac", "", | 472 VerifyProxyPrefs(*store, "", "http://short.org/proxy.pac", "", |
| 463 ProxyPrefs::MODE_PAC_SCRIPT); | 473 ProxyPrefs::MODE_PAC_SCRIPT); |
| 464 } | 474 } |
| 465 | 475 |
| 466 TEST_F(ConfigurationPolicyPrefStoreProxyTest, PacScriptProxyModeInvalid) { | 476 TEST_F(ConfigurationPolicyPrefStoreProxyTest, PacScriptProxyModeInvalid) { |
| 467 MockConfigurationPolicyProvider provider; | 477 MockConfigurationPolicyProvider provider; |
| 468 provider.AddPolicy( | 478 provider.AddMandatoryPolicy( |
| 469 kPolicyProxyMode, | 479 key::kProxyMode, |
| 470 Value::CreateStringValue(ProxyPrefs::kPacScriptProxyModeName)); | 480 Value::CreateStringValue(ProxyPrefs::kPacScriptProxyModeName)); |
| 471 | 481 |
| 472 scoped_refptr<ConfigurationPolicyPrefStore> store( | 482 scoped_refptr<ConfigurationPolicyPrefStore> store( |
| 473 new ConfigurationPolicyPrefStore(&provider)); | 483 new ConfigurationPolicyPrefStore(&provider)); |
| 474 const Value* value = NULL; | 484 const Value* value = NULL; |
| 475 EXPECT_EQ(PrefStore::READ_NO_VALUE, store->GetValue(prefs::kProxy, &value)); | 485 EXPECT_EQ(PrefStore::READ_NO_VALUE, store->GetValue(prefs::kProxy, &value)); |
| 476 } | 486 } |
| 477 | 487 |
| 478 // Regression test for http://crbug.com/78016, CPanel returns empty strings | 488 // Regression test for http://crbug.com/78016, CPanel returns empty strings |
| 479 // for unset properties. | 489 // for unset properties. |
| 480 TEST_F(ConfigurationPolicyPrefStoreProxyTest, PacScriptProxyModeBug78016) { | 490 TEST_F(ConfigurationPolicyPrefStoreProxyTest, PacScriptProxyModeBug78016) { |
| 481 MockConfigurationPolicyProvider provider; | 491 MockConfigurationPolicyProvider provider; |
| 482 provider.AddPolicy(kPolicyProxyServer, | 492 provider.AddMandatoryPolicy(key::kProxyServer, |
| 483 Value::CreateStringValue("")); | 493 Value::CreateStringValue("")); |
| 484 provider.AddPolicy(kPolicyProxyPacUrl, | 494 provider.AddMandatoryPolicy( |
| 485 Value::CreateStringValue("http://short.org/proxy.pac")); | 495 key::kProxyPacUrl, |
| 486 provider.AddPolicy( | 496 Value::CreateStringValue("http://short.org/proxy.pac")); |
| 487 kPolicyProxyMode, | 497 provider.AddMandatoryPolicy( |
| 498 key::kProxyMode, |
| 488 Value::CreateStringValue(ProxyPrefs::kPacScriptProxyModeName)); | 499 Value::CreateStringValue(ProxyPrefs::kPacScriptProxyModeName)); |
| 489 | 500 |
| 490 scoped_refptr<ConfigurationPolicyPrefStore> store( | 501 scoped_refptr<ConfigurationPolicyPrefStore> store( |
| 491 new ConfigurationPolicyPrefStore(&provider)); | 502 new ConfigurationPolicyPrefStore(&provider)); |
| 492 VerifyProxyPrefs(*store, "", "http://short.org/proxy.pac", "", | 503 VerifyProxyPrefs(*store, "", "http://short.org/proxy.pac", "", |
| 493 ProxyPrefs::MODE_PAC_SCRIPT); | 504 ProxyPrefs::MODE_PAC_SCRIPT); |
| 494 } | 505 } |
| 495 | 506 |
| 496 TEST_F(ConfigurationPolicyPrefStoreProxyTest, UseSystemProxyServerMode) { | 507 TEST_F(ConfigurationPolicyPrefStoreProxyTest, UseSystemProxyServerMode) { |
| 497 MockConfigurationPolicyProvider provider; | 508 MockConfigurationPolicyProvider provider; |
| 498 provider.AddPolicy( | 509 provider.AddMandatoryPolicy( |
| 499 kPolicyProxyServerMode, | 510 key::kProxyServerMode, |
| 500 Value::CreateIntegerValue(kPolicyUseSystemProxyServerMode)); | 511 Value::CreateIntegerValue( |
| 512 ProxyPolicyHandler::PROXY_USE_SYSTEM_PROXY_SERVER_MODE)); |
| 501 | 513 |
| 502 scoped_refptr<ConfigurationPolicyPrefStore> store( | 514 scoped_refptr<ConfigurationPolicyPrefStore> store( |
| 503 new ConfigurationPolicyPrefStore(&provider)); | 515 new ConfigurationPolicyPrefStore(&provider)); |
| 504 VerifyProxyPrefs(*store, "", "", "", ProxyPrefs::MODE_SYSTEM); | 516 VerifyProxyPrefs(*store, "", "", "", ProxyPrefs::MODE_SYSTEM); |
| 505 } | 517 } |
| 506 | 518 |
| 507 TEST_F(ConfigurationPolicyPrefStoreProxyTest, UseSystemProxyMode) { | 519 TEST_F(ConfigurationPolicyPrefStoreProxyTest, UseSystemProxyMode) { |
| 508 MockConfigurationPolicyProvider provider; | 520 MockConfigurationPolicyProvider provider; |
| 509 provider.AddPolicy( | 521 provider.AddMandatoryPolicy( |
| 510 kPolicyProxyMode, | 522 key::kProxyMode, |
| 511 Value::CreateStringValue(ProxyPrefs::kSystemProxyModeName)); | 523 Value::CreateStringValue(ProxyPrefs::kSystemProxyModeName)); |
| 512 | 524 |
| 513 scoped_refptr<ConfigurationPolicyPrefStore> store( | 525 scoped_refptr<ConfigurationPolicyPrefStore> store( |
| 514 new ConfigurationPolicyPrefStore(&provider)); | 526 new ConfigurationPolicyPrefStore(&provider)); |
| 515 VerifyProxyPrefs(*store, "", "", "", ProxyPrefs::MODE_SYSTEM); | 527 VerifyProxyPrefs(*store, "", "", "", ProxyPrefs::MODE_SYSTEM); |
| 516 } | 528 } |
| 517 | 529 |
| 518 TEST_F(ConfigurationPolicyPrefStoreProxyTest, | 530 TEST_F(ConfigurationPolicyPrefStoreProxyTest, |
| 519 ProxyModeOverridesProxyServerMode) { | 531 ProxyModeOverridesProxyServerMode) { |
| 520 MockConfigurationPolicyProvider provider; | 532 MockConfigurationPolicyProvider provider; |
| 521 provider.AddPolicy(kPolicyProxyServerMode, | 533 provider.AddMandatoryPolicy( |
| 522 Value::CreateIntegerValue(kPolicyNoProxyServerMode)); | 534 key::kProxyServerMode, |
| 523 provider.AddPolicy( | 535 Value::CreateIntegerValue(ProxyPolicyHandler::PROXY_SERVER_MODE)); |
| 524 kPolicyProxyMode, | 536 provider.AddMandatoryPolicy( |
| 537 key::kProxyMode, |
| 525 Value::CreateStringValue(ProxyPrefs::kAutoDetectProxyModeName)); | 538 Value::CreateStringValue(ProxyPrefs::kAutoDetectProxyModeName)); |
| 526 | 539 |
| 527 scoped_refptr<ConfigurationPolicyPrefStore> store( | 540 scoped_refptr<ConfigurationPolicyPrefStore> store( |
| 528 new ConfigurationPolicyPrefStore(&provider)); | 541 new ConfigurationPolicyPrefStore(&provider)); |
| 529 VerifyProxyPrefs(*store, "", "", "", ProxyPrefs::MODE_AUTO_DETECT); | 542 VerifyProxyPrefs(*store, "", "", "", ProxyPrefs::MODE_AUTO_DETECT); |
| 530 } | 543 } |
| 531 | 544 |
| 532 TEST_F(ConfigurationPolicyPrefStoreProxyTest, ProxyInvalid) { | 545 TEST_F(ConfigurationPolicyPrefStoreProxyTest, ProxyInvalid) { |
| 533 for (int i = 0; i < MODE_COUNT; ++i) { | 546 for (int i = 0; i < ProxyPolicyHandler::MODE_COUNT; ++i) { |
| 534 MockConfigurationPolicyProvider provider; | 547 MockConfigurationPolicyProvider provider; |
| 535 provider.AddPolicy(kPolicyProxyServerMode, Value::CreateIntegerValue(i)); | 548 provider.AddMandatoryPolicy(key::kProxyServerMode, |
| 549 Value::CreateIntegerValue(i)); |
| 536 // No mode expects all three parameters being set. | 550 // No mode expects all three parameters being set. |
| 537 provider.AddPolicy(kPolicyProxyPacUrl, | 551 provider.AddMandatoryPolicy( |
| 538 Value::CreateStringValue("http://short.org/proxy.pac")); | 552 key::kProxyPacUrl, |
| 539 provider.AddPolicy(kPolicyProxyBypassList, | 553 Value::CreateStringValue("http://short.org/proxy.pac")); |
| 540 Value::CreateStringValue( | 554 provider.AddMandatoryPolicy( |
| 541 "http://chromium.org/override")); | 555 key::kProxyBypassList, |
| 542 provider.AddPolicy(kPolicyProxyServer, | 556 Value::CreateStringValue("http://chromium.org/override")); |
| 543 Value::CreateStringValue("chromium.org")); | 557 provider.AddMandatoryPolicy(key::kProxyServer, |
| 558 Value::CreateStringValue("chromium.org")); |
| 544 | 559 |
| 545 scoped_refptr<ConfigurationPolicyPrefStore> store( | 560 scoped_refptr<ConfigurationPolicyPrefStore> store( |
| 546 new ConfigurationPolicyPrefStore(&provider)); | 561 new ConfigurationPolicyPrefStore(&provider)); |
| 547 const Value* value = NULL; | 562 const Value* value = NULL; |
| 548 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 563 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
| 549 store->GetValue(prefs::kProxy, &value)); | 564 store->GetValue(prefs::kProxy, &value)); |
| 550 } | 565 } |
| 551 } | 566 } |
| 552 | 567 |
| 553 class ConfigurationPolicyPrefStoreDefaultSearchTest : public testing::Test { | 568 class ConfigurationPolicyPrefStoreDefaultSearchTest : public testing::Test { |
| 554 }; | 569 }; |
| 555 | 570 |
| 556 // Checks that if the policy for default search is valid, i.e. there's a | 571 // Checks that if the policy for default search is valid, i.e. there's a |
| 557 // search URL, that all the elements have been given proper defaults. | 572 // search URL, that all the elements have been given proper defaults. |
| 558 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, MinimallyDefined) { | 573 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, MinimallyDefined) { |
| 559 const char* const search_url = "http://test.com/search?t={searchTerms}"; | 574 const char* const search_url = "http://test.com/search?t={searchTerms}"; |
| 560 MockConfigurationPolicyProvider provider; | 575 MockConfigurationPolicyProvider provider; |
| 561 provider.AddPolicy(kPolicyDefaultSearchProviderEnabled, | 576 provider.AddMandatoryPolicy(key::kDefaultSearchProviderEnabled, |
| 562 Value::CreateBooleanValue(true)); | 577 Value::CreateBooleanValue(true)); |
| 563 provider.AddPolicy(kPolicyDefaultSearchProviderSearchURL, | 578 provider.AddMandatoryPolicy(key::kDefaultSearchProviderSearchURL, |
| 564 Value::CreateStringValue(search_url)); | 579 Value::CreateStringValue(search_url)); |
| 565 | 580 |
| 566 scoped_refptr<ConfigurationPolicyPrefStore> store( | 581 scoped_refptr<ConfigurationPolicyPrefStore> store( |
| 567 new ConfigurationPolicyPrefStore(&provider)); | 582 new ConfigurationPolicyPrefStore(&provider)); |
| 568 | 583 |
| 569 const Value* value = NULL; | 584 const Value* value = NULL; |
| 570 EXPECT_EQ(PrefStore::READ_OK, | 585 EXPECT_EQ(PrefStore::READ_OK, |
| 571 store->GetValue(prefs::kDefaultSearchProviderSearchURL, &value)); | 586 store->GetValue(prefs::kDefaultSearchProviderSearchURL, &value)); |
| 572 EXPECT_TRUE(StringValue(search_url).Equals(value)); | 587 EXPECT_TRUE(StringValue(search_url).Equals(value)); |
| 573 | 588 |
| 574 EXPECT_EQ(PrefStore::READ_OK, | 589 EXPECT_EQ(PrefStore::READ_OK, |
| (...skipping 26 matching lines...) Expand all Loading... |
| 601 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, FullyDefined) { | 616 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, FullyDefined) { |
| 602 const char* const search_url = "http://test.com/search?t={searchTerms}"; | 617 const char* const search_url = "http://test.com/search?t={searchTerms}"; |
| 603 const char* const suggest_url = "http://test.com/sugg?={searchTerms}"; | 618 const char* const suggest_url = "http://test.com/sugg?={searchTerms}"; |
| 604 const char* const icon_url = "http://test.com/icon.jpg"; | 619 const char* const icon_url = "http://test.com/icon.jpg"; |
| 605 const char* const name = "MyName"; | 620 const char* const name = "MyName"; |
| 606 const char* const keyword = "MyKeyword"; | 621 const char* const keyword = "MyKeyword"; |
| 607 ListValue* encodings = new ListValue(); | 622 ListValue* encodings = new ListValue(); |
| 608 encodings->Append(Value::CreateStringValue("UTF-16")); | 623 encodings->Append(Value::CreateStringValue("UTF-16")); |
| 609 encodings->Append(Value::CreateStringValue("UTF-8")); | 624 encodings->Append(Value::CreateStringValue("UTF-8")); |
| 610 MockConfigurationPolicyProvider provider; | 625 MockConfigurationPolicyProvider provider; |
| 611 provider.AddPolicy(kPolicyDefaultSearchProviderEnabled, | 626 provider.AddMandatoryPolicy(key::kDefaultSearchProviderEnabled, |
| 612 Value::CreateBooleanValue(true)); | 627 Value::CreateBooleanValue(true)); |
| 613 provider.AddPolicy(kPolicyDefaultSearchProviderSearchURL, | 628 provider.AddMandatoryPolicy(key::kDefaultSearchProviderSearchURL, |
| 614 Value::CreateStringValue(search_url)); | 629 Value::CreateStringValue(search_url)); |
| 615 provider.AddPolicy(kPolicyDefaultSearchProviderName, | 630 provider.AddMandatoryPolicy(key::kDefaultSearchProviderName, |
| 616 Value::CreateStringValue(name)); | 631 Value::CreateStringValue(name)); |
| 617 provider.AddPolicy(kPolicyDefaultSearchProviderKeyword, | 632 provider.AddMandatoryPolicy(key::kDefaultSearchProviderKeyword, |
| 618 Value::CreateStringValue(keyword)); | 633 Value::CreateStringValue(keyword)); |
| 619 provider.AddPolicy(kPolicyDefaultSearchProviderSuggestURL, | 634 provider.AddMandatoryPolicy(key::kDefaultSearchProviderSuggestURL, |
| 620 Value::CreateStringValue(suggest_url)); | 635 Value::CreateStringValue(suggest_url)); |
| 621 provider.AddPolicy(kPolicyDefaultSearchProviderIconURL, | 636 provider.AddMandatoryPolicy(key::kDefaultSearchProviderIconURL, |
| 622 Value::CreateStringValue(icon_url)); | 637 Value::CreateStringValue(icon_url)); |
| 623 provider.AddPolicy(kPolicyDefaultSearchProviderEncodings, encodings); | 638 provider.AddMandatoryPolicy(key::kDefaultSearchProviderEncodings, encodings); |
| 624 | 639 |
| 625 scoped_refptr<ConfigurationPolicyPrefStore> store( | 640 scoped_refptr<ConfigurationPolicyPrefStore> store( |
| 626 new ConfigurationPolicyPrefStore(&provider)); | 641 new ConfigurationPolicyPrefStore(&provider)); |
| 627 | 642 |
| 628 const Value* value = NULL; | 643 const Value* value = NULL; |
| 629 EXPECT_EQ(PrefStore::READ_OK, | 644 EXPECT_EQ(PrefStore::READ_OK, |
| 630 store->GetValue(prefs::kDefaultSearchProviderSearchURL, &value)); | 645 store->GetValue(prefs::kDefaultSearchProviderSearchURL, &value)); |
| 631 EXPECT_TRUE(StringValue(search_url).Equals(value)); | 646 EXPECT_TRUE(StringValue(search_url).Equals(value)); |
| 632 | 647 |
| 633 EXPECT_EQ(PrefStore::READ_OK, | 648 EXPECT_EQ(PrefStore::READ_OK, |
| (...skipping 21 matching lines...) Expand all Loading... |
| 655 // default search policy will be present. | 670 // default search policy will be present. |
| 656 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, MissingUrl) { | 671 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, MissingUrl) { |
| 657 const char* const suggest_url = "http://test.com/sugg?t={searchTerms}"; | 672 const char* const suggest_url = "http://test.com/sugg?t={searchTerms}"; |
| 658 const char* const icon_url = "http://test.com/icon.jpg"; | 673 const char* const icon_url = "http://test.com/icon.jpg"; |
| 659 const char* const name = "MyName"; | 674 const char* const name = "MyName"; |
| 660 const char* const keyword = "MyKeyword"; | 675 const char* const keyword = "MyKeyword"; |
| 661 ListValue* encodings = new ListValue(); | 676 ListValue* encodings = new ListValue(); |
| 662 encodings->Append(Value::CreateStringValue("UTF-16")); | 677 encodings->Append(Value::CreateStringValue("UTF-16")); |
| 663 encodings->Append(Value::CreateStringValue("UTF-8")); | 678 encodings->Append(Value::CreateStringValue("UTF-8")); |
| 664 MockConfigurationPolicyProvider provider; | 679 MockConfigurationPolicyProvider provider; |
| 665 provider.AddPolicy(kPolicyDefaultSearchProviderEnabled, | 680 provider.AddMandatoryPolicy(key::kDefaultSearchProviderEnabled, |
| 666 Value::CreateBooleanValue(true)); | 681 Value::CreateBooleanValue(true)); |
| 667 provider.AddPolicy(kPolicyDefaultSearchProviderName, | 682 provider.AddMandatoryPolicy(key::kDefaultSearchProviderName, |
| 668 Value::CreateStringValue(name)); | 683 Value::CreateStringValue(name)); |
| 669 provider.AddPolicy(kPolicyDefaultSearchProviderKeyword, | 684 provider.AddMandatoryPolicy(key::kDefaultSearchProviderKeyword, |
| 670 Value::CreateStringValue(keyword)); | 685 Value::CreateStringValue(keyword)); |
| 671 provider.AddPolicy(kPolicyDefaultSearchProviderSuggestURL, | 686 provider.AddMandatoryPolicy(key::kDefaultSearchProviderSuggestURL, |
| 672 Value::CreateStringValue(suggest_url)); | 687 Value::CreateStringValue(suggest_url)); |
| 673 provider.AddPolicy(kPolicyDefaultSearchProviderIconURL, | 688 provider.AddMandatoryPolicy(key::kDefaultSearchProviderIconURL, |
| 674 Value::CreateStringValue(icon_url)); | 689 Value::CreateStringValue(icon_url)); |
| 675 provider.AddPolicy(kPolicyDefaultSearchProviderEncodings, encodings); | 690 provider.AddMandatoryPolicy(key::kDefaultSearchProviderEncodings, encodings); |
| 676 | 691 |
| 677 scoped_refptr<ConfigurationPolicyPrefStore> store( | 692 scoped_refptr<ConfigurationPolicyPrefStore> store( |
| 678 new ConfigurationPolicyPrefStore(&provider)); | 693 new ConfigurationPolicyPrefStore(&provider)); |
| 679 | 694 |
| 680 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 695 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
| 681 store->GetValue(prefs::kDefaultSearchProviderSearchURL, NULL)); | 696 store->GetValue(prefs::kDefaultSearchProviderSearchURL, NULL)); |
| 682 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 697 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
| 683 store->GetValue(prefs::kDefaultSearchProviderName, NULL)); | 698 store->GetValue(prefs::kDefaultSearchProviderName, NULL)); |
| 684 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 699 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
| 685 store->GetValue(prefs::kDefaultSearchProviderKeyword, NULL)); | 700 store->GetValue(prefs::kDefaultSearchProviderKeyword, NULL)); |
| (...skipping 10 matching lines...) Expand all Loading... |
| 696 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, Invalid) { | 711 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, Invalid) { |
| 697 const char* const bad_search_url = "http://test.com/noSearchTerms"; | 712 const char* const bad_search_url = "http://test.com/noSearchTerms"; |
| 698 const char* const suggest_url = "http://test.com/sugg?t={searchTerms}"; | 713 const char* const suggest_url = "http://test.com/sugg?t={searchTerms}"; |
| 699 const char* const icon_url = "http://test.com/icon.jpg"; | 714 const char* const icon_url = "http://test.com/icon.jpg"; |
| 700 const char* const name = "MyName"; | 715 const char* const name = "MyName"; |
| 701 const char* const keyword = "MyKeyword"; | 716 const char* const keyword = "MyKeyword"; |
| 702 ListValue* encodings = new ListValue(); | 717 ListValue* encodings = new ListValue(); |
| 703 encodings->Append(Value::CreateStringValue("UTF-16")); | 718 encodings->Append(Value::CreateStringValue("UTF-16")); |
| 704 encodings->Append(Value::CreateStringValue("UTF-8")); | 719 encodings->Append(Value::CreateStringValue("UTF-8")); |
| 705 MockConfigurationPolicyProvider provider; | 720 MockConfigurationPolicyProvider provider; |
| 706 provider.AddPolicy(kPolicyDefaultSearchProviderEnabled, | 721 provider.AddMandatoryPolicy(key::kDefaultSearchProviderEnabled, |
| 707 Value::CreateBooleanValue(true)); | 722 Value::CreateBooleanValue(true)); |
| 708 provider.AddPolicy(kPolicyDefaultSearchProviderSearchURL, | 723 provider.AddMandatoryPolicy(key::kDefaultSearchProviderSearchURL, |
| 709 Value::CreateStringValue(bad_search_url)); | 724 Value::CreateStringValue(bad_search_url)); |
| 710 provider.AddPolicy(kPolicyDefaultSearchProviderName, | 725 provider.AddMandatoryPolicy(key::kDefaultSearchProviderName, |
| 711 Value::CreateStringValue(name)); | 726 Value::CreateStringValue(name)); |
| 712 provider.AddPolicy(kPolicyDefaultSearchProviderKeyword, | 727 provider.AddMandatoryPolicy(key::kDefaultSearchProviderKeyword, |
| 713 Value::CreateStringValue(keyword)); | 728 Value::CreateStringValue(keyword)); |
| 714 provider.AddPolicy(kPolicyDefaultSearchProviderSuggestURL, | 729 provider.AddMandatoryPolicy(key::kDefaultSearchProviderSuggestURL, |
| 715 Value::CreateStringValue(suggest_url)); | 730 Value::CreateStringValue(suggest_url)); |
| 716 provider.AddPolicy(kPolicyDefaultSearchProviderIconURL, | 731 provider.AddMandatoryPolicy(key::kDefaultSearchProviderIconURL, |
| 717 Value::CreateStringValue(icon_url)); | 732 Value::CreateStringValue(icon_url)); |
| 718 provider.AddPolicy(kPolicyDefaultSearchProviderEncodings, encodings); | 733 provider.AddMandatoryPolicy(key::kDefaultSearchProviderEncodings, encodings); |
| 719 | 734 |
| 720 scoped_refptr<ConfigurationPolicyPrefStore> store( | 735 scoped_refptr<ConfigurationPolicyPrefStore> store( |
| 721 new ConfigurationPolicyPrefStore(&provider)); | 736 new ConfigurationPolicyPrefStore(&provider)); |
| 722 | 737 |
| 723 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 738 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
| 724 store->GetValue(prefs::kDefaultSearchProviderSearchURL, NULL)); | 739 store->GetValue(prefs::kDefaultSearchProviderSearchURL, NULL)); |
| 725 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 740 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
| 726 store->GetValue(prefs::kDefaultSearchProviderName, NULL)); | 741 store->GetValue(prefs::kDefaultSearchProviderName, NULL)); |
| 727 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 742 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
| 728 store->GetValue(prefs::kDefaultSearchProviderKeyword, NULL)); | 743 store->GetValue(prefs::kDefaultSearchProviderKeyword, NULL)); |
| (...skipping 12 matching lines...) Expand all Loading... |
| 741 | 756 |
| 742 enum ObsoleteIncognitoEnabledValue { | 757 enum ObsoleteIncognitoEnabledValue { |
| 743 INCOGNITO_ENABLED_UNKNOWN, | 758 INCOGNITO_ENABLED_UNKNOWN, |
| 744 INCOGNITO_ENABLED_TRUE, | 759 INCOGNITO_ENABLED_TRUE, |
| 745 INCOGNITO_ENABLED_FALSE | 760 INCOGNITO_ENABLED_FALSE |
| 746 }; | 761 }; |
| 747 | 762 |
| 748 void SetPolicies(ObsoleteIncognitoEnabledValue incognito_enabled, | 763 void SetPolicies(ObsoleteIncognitoEnabledValue incognito_enabled, |
| 749 int availability) { | 764 int availability) { |
| 750 if (incognito_enabled != INCOGNITO_ENABLED_UNKNOWN) { | 765 if (incognito_enabled != INCOGNITO_ENABLED_UNKNOWN) { |
| 751 provider_.AddPolicy(kPolicyIncognitoEnabled, | 766 provider_.AddMandatoryPolicy( |
| 752 Value::CreateBooleanValue( | 767 key::kIncognitoEnabled, |
| 753 incognito_enabled == INCOGNITO_ENABLED_TRUE)); | 768 Value::CreateBooleanValue( |
| 769 incognito_enabled == INCOGNITO_ENABLED_TRUE)); |
| 754 } | 770 } |
| 755 if (availability >= 0) { | 771 if (availability >= 0) { |
| 756 provider_.AddPolicy(kPolicyIncognitoModeAvailability, | 772 provider_.AddMandatoryPolicy(key::kIncognitoModeAvailability, |
| 757 Value::CreateIntegerValue(availability)); | 773 Value::CreateIntegerValue(availability)); |
| 758 } | 774 } |
| 759 store_ = new ConfigurationPolicyPrefStore(&provider_); | 775 store_ = new ConfigurationPolicyPrefStore(&provider_); |
| 760 } | 776 } |
| 761 | 777 |
| 762 void VerifyValues(IncognitoModePrefs::Availability availability) { | 778 void VerifyValues(IncognitoModePrefs::Availability availability) { |
| 763 const Value* value = NULL; | 779 const Value* value = NULL; |
| 764 EXPECT_EQ(PrefStore::READ_OK, | 780 EXPECT_EQ(PrefStore::READ_OK, |
| 765 store_->GetValue(prefs::kIncognitoModeAvailability, &value)); | 781 store_->GetValue(prefs::kIncognitoModeAvailability, &value)); |
| 766 EXPECT_TRUE(base::FundamentalValue(availability).Equals(value)); | 782 EXPECT_TRUE(base::FundamentalValue(availability).Equals(value)); |
| 767 } | 783 } |
| (...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 830 class ConfigurationPolicyPrefStoreSyncTest | 846 class ConfigurationPolicyPrefStoreSyncTest |
| 831 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> { | 847 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> { |
| 832 }; | 848 }; |
| 833 | 849 |
| 834 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Default) { | 850 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Default) { |
| 835 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 851 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
| 836 store_->GetValue(prefs::kSyncManaged, NULL)); | 852 store_->GetValue(prefs::kSyncManaged, NULL)); |
| 837 } | 853 } |
| 838 | 854 |
| 839 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Enabled) { | 855 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Enabled) { |
| 840 provider_.AddPolicy(kPolicySyncDisabled, Value::CreateBooleanValue(false)); | 856 provider_.AddMandatoryPolicy(key::kSyncDisabled, |
| 857 Value::CreateBooleanValue(false)); |
| 841 store_->OnUpdatePolicy(&provider_); | 858 store_->OnUpdatePolicy(&provider_); |
| 842 // Enabling Sync should not set the pref. | 859 // Enabling Sync should not set the pref. |
| 843 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 860 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
| 844 store_->GetValue(prefs::kSyncManaged, NULL)); | 861 store_->GetValue(prefs::kSyncManaged, NULL)); |
| 845 } | 862 } |
| 846 | 863 |
| 847 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Disabled) { | 864 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Disabled) { |
| 848 provider_.AddPolicy(kPolicySyncDisabled, Value::CreateBooleanValue(true)); | 865 provider_.AddMandatoryPolicy(key::kSyncDisabled, |
| 866 Value::CreateBooleanValue(true)); |
| 849 store_->OnUpdatePolicy(&provider_); | 867 store_->OnUpdatePolicy(&provider_); |
| 850 // Sync should be flagged as managed. | 868 // Sync should be flagged as managed. |
| 851 const Value* value = NULL; | 869 const Value* value = NULL; |
| 852 EXPECT_EQ(PrefStore::READ_OK, store_->GetValue(prefs::kSyncManaged, &value)); | 870 EXPECT_EQ(PrefStore::READ_OK, store_->GetValue(prefs::kSyncManaged, &value)); |
| 853 ASSERT_TRUE(value); | 871 ASSERT_TRUE(value); |
| 854 bool sync_managed = false; | 872 bool sync_managed = false; |
| 855 bool result = value->GetAsBoolean(&sync_managed); | 873 bool result = value->GetAsBoolean(&sync_managed); |
| 856 ASSERT_TRUE(result); | 874 ASSERT_TRUE(result); |
| 857 EXPECT_TRUE(sync_managed); | 875 EXPECT_TRUE(sync_managed); |
| 858 } | 876 } |
| 859 | 877 |
| 860 // Test cases for how the DownloadDirectory and AllowFileSelectionDialogs policy | 878 // Test cases for how the DownloadDirectory and AllowFileSelectionDialogs policy |
| 861 // influence the PromptForDownload preference. | 879 // influence the PromptForDownload preference. |
| 862 class ConfigurationPolicyPrefStorePromptDownloadTest | 880 class ConfigurationPolicyPrefStorePromptDownloadTest |
| 863 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> { | 881 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> { |
| 864 }; | 882 }; |
| 865 | 883 |
| 866 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, Default) { | 884 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, Default) { |
| 867 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 885 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
| 868 store_->GetValue(prefs::kPromptForDownload, NULL)); | 886 store_->GetValue(prefs::kPromptForDownload, NULL)); |
| 869 } | 887 } |
| 870 | 888 |
| 871 #if !defined(OS_CHROMEOS) | 889 #if !defined(OS_CHROMEOS) |
| 872 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, SetDownloadDirectory) { | 890 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, SetDownloadDirectory) { |
| 873 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 891 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
| 874 store_->GetValue(prefs::kPromptForDownload, NULL)); | 892 store_->GetValue(prefs::kPromptForDownload, NULL)); |
| 875 provider_.AddPolicy(kPolicyDownloadDirectory, Value::CreateStringValue("")); | 893 provider_.AddMandatoryPolicy(key::kDownloadDirectory, |
| 894 Value::CreateStringValue("")); |
| 876 store_->OnUpdatePolicy(&provider_); | 895 store_->OnUpdatePolicy(&provider_); |
| 877 | 896 |
| 878 // Setting a DownloadDirectory should disable the PromptForDownload pref. | 897 // Setting a DownloadDirectory should disable the PromptForDownload pref. |
| 879 const Value* value = NULL; | 898 const Value* value = NULL; |
| 880 EXPECT_EQ(PrefStore::READ_OK, store_->GetValue(prefs::kPromptForDownload, | 899 EXPECT_EQ(PrefStore::READ_OK, store_->GetValue(prefs::kPromptForDownload, |
| 881 &value)); | 900 &value)); |
| 882 ASSERT_TRUE(value); | 901 ASSERT_TRUE(value); |
| 883 bool prompt_for_download = true; | 902 bool prompt_for_download = true; |
| 884 bool result = value->GetAsBoolean(&prompt_for_download); | 903 bool result = value->GetAsBoolean(&prompt_for_download); |
| 885 ASSERT_TRUE(result); | 904 ASSERT_TRUE(result); |
| 886 EXPECT_FALSE(prompt_for_download); | 905 EXPECT_FALSE(prompt_for_download); |
| 887 } | 906 } |
| 888 #endif // !defined(OS_CHROMEOS) | 907 #endif // !defined(OS_CHROMEOS) |
| 889 | 908 |
| 890 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, | 909 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, |
| 891 EnableFileSelectionDialogs) { | 910 EnableFileSelectionDialogs) { |
| 892 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 911 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
| 893 store_->GetValue(prefs::kPromptForDownload, NULL)); | 912 store_->GetValue(prefs::kPromptForDownload, NULL)); |
| 894 provider_.AddPolicy(kPolicyAllowFileSelectionDialogs, | 913 provider_.AddMandatoryPolicy(key::kAllowFileSelectionDialogs, |
| 895 Value::CreateBooleanValue(true)); | 914 Value::CreateBooleanValue(true)); |
| 896 store_->OnUpdatePolicy(&provider_); | 915 store_->OnUpdatePolicy(&provider_); |
| 897 | 916 |
| 898 // Allowing file-selection dialogs should not influence the PromptForDownload | 917 // Allowing file-selection dialogs should not influence the PromptForDownload |
| 899 // pref. | 918 // pref. |
| 900 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 919 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
| 901 store_->GetValue(prefs::kPromptForDownload, NULL)); | 920 store_->GetValue(prefs::kPromptForDownload, NULL)); |
| 902 } | 921 } |
| 903 | 922 |
| 904 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, | 923 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, |
| 905 DisableFileSelectionDialogs) { | 924 DisableFileSelectionDialogs) { |
| 906 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 925 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
| 907 store_->GetValue(prefs::kPromptForDownload, NULL)); | 926 store_->GetValue(prefs::kPromptForDownload, NULL)); |
| 908 provider_.AddPolicy(kPolicyAllowFileSelectionDialogs, | 927 provider_.AddMandatoryPolicy(key::kAllowFileSelectionDialogs, |
| 909 Value::CreateBooleanValue(false)); | 928 Value::CreateBooleanValue(false)); |
| 910 store_->OnUpdatePolicy(&provider_); | 929 store_->OnUpdatePolicy(&provider_); |
| 911 | 930 |
| 912 // Disabling file-selection dialogs should disable the PromptForDownload pref. | 931 // Disabling file-selection dialogs should disable the PromptForDownload pref. |
| 913 const Value* value = NULL; | 932 const Value* value = NULL; |
| 914 EXPECT_EQ(PrefStore::READ_OK, store_->GetValue(prefs::kPromptForDownload, | 933 EXPECT_EQ(PrefStore::READ_OK, store_->GetValue(prefs::kPromptForDownload, |
| 915 &value)); | 934 &value)); |
| 916 ASSERT_TRUE(value); | 935 ASSERT_TRUE(value); |
| 917 bool prompt_for_download = true; | 936 bool prompt_for_download = true; |
| 918 bool result = value->GetAsBoolean(&prompt_for_download); | 937 bool result = value->GetAsBoolean(&prompt_for_download); |
| 919 ASSERT_TRUE(result); | 938 ASSERT_TRUE(result); |
| 920 EXPECT_FALSE(prompt_for_download); | 939 EXPECT_FALSE(prompt_for_download); |
| 921 } | 940 } |
| 922 | 941 |
| 923 // Test cases for the Autofill policy setting. | 942 // Test cases for the Autofill policy setting. |
| 924 class ConfigurationPolicyPrefStoreAutofillTest | 943 class ConfigurationPolicyPrefStoreAutofillTest |
| 925 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> { | 944 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> { |
| 926 }; | 945 }; |
| 927 | 946 |
| 928 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Default) { | 947 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Default) { |
| 929 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 948 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
| 930 store_->GetValue(prefs::kAutofillEnabled, NULL)); | 949 store_->GetValue(prefs::kAutofillEnabled, NULL)); |
| 931 } | 950 } |
| 932 | 951 |
| 933 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Enabled) { | 952 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Enabled) { |
| 934 provider_.AddPolicy(kPolicyAutoFillEnabled, Value::CreateBooleanValue(true)); | 953 provider_.AddMandatoryPolicy(key::kAutoFillEnabled, |
| 954 Value::CreateBooleanValue(true)); |
| 935 store_->OnUpdatePolicy(&provider_); | 955 store_->OnUpdatePolicy(&provider_); |
| 936 // Enabling Autofill should not set the pref. | 956 // Enabling Autofill should not set the pref. |
| 937 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 957 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
| 938 store_->GetValue(prefs::kAutofillEnabled, NULL)); | 958 store_->GetValue(prefs::kAutofillEnabled, NULL)); |
| 939 } | 959 } |
| 940 | 960 |
| 941 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Disabled) { | 961 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Disabled) { |
| 942 provider_.AddPolicy(kPolicyAutoFillEnabled, Value::CreateBooleanValue(false)); | 962 provider_.AddMandatoryPolicy(key::kAutoFillEnabled, |
| 963 Value::CreateBooleanValue(false)); |
| 943 store_->OnUpdatePolicy(&provider_); | 964 store_->OnUpdatePolicy(&provider_); |
| 944 // Disabling Autofill should switch the pref to managed. | 965 // Disabling Autofill should switch the pref to managed. |
| 945 const Value* value = NULL; | 966 const Value* value = NULL; |
| 946 EXPECT_EQ(PrefStore::READ_OK, | 967 EXPECT_EQ(PrefStore::READ_OK, |
| 947 store_->GetValue(prefs::kAutofillEnabled, &value)); | 968 store_->GetValue(prefs::kAutofillEnabled, &value)); |
| 948 ASSERT_TRUE(value); | 969 ASSERT_TRUE(value); |
| 949 bool autofill_enabled = true; | 970 bool autofill_enabled = true; |
| 950 bool result = value->GetAsBoolean(&autofill_enabled); | 971 bool result = value->GetAsBoolean(&autofill_enabled); |
| 951 ASSERT_TRUE(result); | 972 ASSERT_TRUE(result); |
| 952 EXPECT_FALSE(autofill_enabled); | 973 EXPECT_FALSE(autofill_enabled); |
| (...skipping 13 matching lines...) Expand all Loading... |
| 966 | 987 |
| 967 PrefStoreObserverMock observer_; | 988 PrefStoreObserverMock observer_; |
| 968 }; | 989 }; |
| 969 | 990 |
| 970 TEST_F(ConfigurationPolicyPrefStoreRefreshTest, Refresh) { | 991 TEST_F(ConfigurationPolicyPrefStoreRefreshTest, Refresh) { |
| 971 const Value* value = NULL; | 992 const Value* value = NULL; |
| 972 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 993 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
| 973 store_->GetValue(prefs::kHomePage, NULL)); | 994 store_->GetValue(prefs::kHomePage, NULL)); |
| 974 | 995 |
| 975 EXPECT_CALL(observer_, OnPrefValueChanged(prefs::kHomePage)).Times(1); | 996 EXPECT_CALL(observer_, OnPrefValueChanged(prefs::kHomePage)).Times(1); |
| 976 provider_.AddPolicy(kPolicyHomepageLocation, | 997 provider_.AddMandatoryPolicy( |
| 977 Value::CreateStringValue("http://www.chromium.org")); | 998 key::kHomepageLocation, |
| 999 Value::CreateStringValue("http://www.chromium.org")); |
| 978 store_->OnUpdatePolicy(&provider_); | 1000 store_->OnUpdatePolicy(&provider_); |
| 979 Mock::VerifyAndClearExpectations(&observer_); | 1001 Mock::VerifyAndClearExpectations(&observer_); |
| 980 EXPECT_EQ(PrefStore::READ_OK, | 1002 EXPECT_EQ(PrefStore::READ_OK, |
| 981 store_->GetValue(prefs::kHomePage, &value)); | 1003 store_->GetValue(prefs::kHomePage, &value)); |
| 982 EXPECT_TRUE(StringValue("http://www.chromium.org").Equals(value)); | 1004 EXPECT_TRUE(StringValue("http://www.chromium.org").Equals(value)); |
| 983 | 1005 |
| 984 EXPECT_CALL(observer_, OnPrefValueChanged(_)).Times(0); | 1006 EXPECT_CALL(observer_, OnPrefValueChanged(_)).Times(0); |
| 985 store_->OnUpdatePolicy(&provider_); | 1007 store_->OnUpdatePolicy(&provider_); |
| 986 Mock::VerifyAndClearExpectations(&observer_); | 1008 Mock::VerifyAndClearExpectations(&observer_); |
| 987 | 1009 |
| 988 EXPECT_CALL(observer_, OnPrefValueChanged(prefs::kHomePage)).Times(1); | 1010 EXPECT_CALL(observer_, OnPrefValueChanged(prefs::kHomePage)).Times(1); |
| 989 provider_.RemovePolicy(kPolicyHomepageLocation); | 1011 provider_.RemovePolicy(key::kHomepageLocation); |
| 990 store_->OnUpdatePolicy(&provider_); | 1012 store_->OnUpdatePolicy(&provider_); |
| 991 Mock::VerifyAndClearExpectations(&observer_); | 1013 Mock::VerifyAndClearExpectations(&observer_); |
| 992 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 1014 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
| 993 store_->GetValue(prefs::kHomePage, NULL)); | 1015 store_->GetValue(prefs::kHomePage, NULL)); |
| 994 } | 1016 } |
| 995 | 1017 |
| 996 TEST_F(ConfigurationPolicyPrefStoreRefreshTest, Initialization) { | 1018 TEST_F(ConfigurationPolicyPrefStoreRefreshTest, Initialization) { |
| 997 EXPECT_FALSE(store_->IsInitializationComplete()); | 1019 EXPECT_FALSE(store_->IsInitializationComplete()); |
| 998 | 1020 |
| 999 EXPECT_CALL(observer_, OnInitializationCompleted(true)).Times(1); | 1021 EXPECT_CALL(observer_, OnInitializationCompleted(true)).Times(1); |
| 1000 | 1022 |
| 1001 provider_.SetInitializationComplete(true); | 1023 provider_.SetInitializationComplete(true); |
| 1002 EXPECT_FALSE(store_->IsInitializationComplete()); | 1024 EXPECT_FALSE(store_->IsInitializationComplete()); |
| 1003 | 1025 |
| 1004 store_->OnUpdatePolicy(&provider_); | 1026 store_->OnUpdatePolicy(&provider_); |
| 1005 Mock::VerifyAndClearExpectations(&observer_); | 1027 Mock::VerifyAndClearExpectations(&observer_); |
| 1006 EXPECT_TRUE(store_->IsInitializationComplete()); | 1028 EXPECT_TRUE(store_->IsInitializationComplete()); |
| 1007 } | 1029 } |
| 1008 | 1030 |
| 1009 // Tests for policies that don't quite fit the previous patterns. | 1031 // Tests for policies that don't quite fit the previous patterns. |
| 1010 class ConfigurationPolicyPrefStoreOthersTest | 1032 class ConfigurationPolicyPrefStoreOthersTest |
| 1011 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> { | 1033 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> { |
| 1012 }; | 1034 }; |
| 1013 | 1035 |
| 1014 TEST_F(ConfigurationPolicyPrefStoreOthersTest, JavascriptEnabled) { | 1036 TEST_F(ConfigurationPolicyPrefStoreOthersTest, JavascriptEnabled) { |
| 1015 // This is a boolean policy, but affects an integer preference. | 1037 // This is a boolean policy, but affects an integer preference. |
| 1016 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 1038 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
| 1017 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL)); | 1039 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL)); |
| 1018 provider_.AddPolicy(kPolicyJavascriptEnabled, | 1040 provider_.AddMandatoryPolicy(key::kJavascriptEnabled, |
| 1019 Value::CreateBooleanValue(true)); | 1041 Value::CreateBooleanValue(true)); |
| 1020 store_->OnUpdatePolicy(&provider_); | 1042 store_->OnUpdatePolicy(&provider_); |
| 1021 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 1043 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
| 1022 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL)); | 1044 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL)); |
| 1023 provider_.AddPolicy(kPolicyJavascriptEnabled, | 1045 provider_.AddMandatoryPolicy(key::kJavascriptEnabled, |
| 1024 Value::CreateBooleanValue(false)); | 1046 Value::CreateBooleanValue(false)); |
| 1025 store_->OnUpdatePolicy(&provider_); | 1047 store_->OnUpdatePolicy(&provider_); |
| 1026 const Value* value = NULL; | 1048 const Value* value = NULL; |
| 1027 EXPECT_EQ(PrefStore::READ_OK, | 1049 EXPECT_EQ(PrefStore::READ_OK, |
| 1028 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, &value)); | 1050 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, &value)); |
| 1029 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_BLOCK).Equals(value)); | 1051 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_BLOCK).Equals(value)); |
| 1030 } | 1052 } |
| 1031 | 1053 |
| 1032 TEST_F(ConfigurationPolicyPrefStoreOthersTest, JavascriptEnabledOverridden) { | 1054 TEST_F(ConfigurationPolicyPrefStoreOthersTest, JavascriptEnabledOverridden) { |
| 1033 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 1055 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
| 1034 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL)); | 1056 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL)); |
| 1035 provider_.AddPolicy(kPolicyJavascriptEnabled, | 1057 provider_.AddMandatoryPolicy(key::kJavascriptEnabled, |
| 1036 Value::CreateBooleanValue(false)); | 1058 Value::CreateBooleanValue(false)); |
| 1037 store_->OnUpdatePolicy(&provider_); | 1059 store_->OnUpdatePolicy(&provider_); |
| 1038 const Value* value = NULL; | 1060 const Value* value = NULL; |
| 1039 EXPECT_EQ(PrefStore::READ_OK, | 1061 EXPECT_EQ(PrefStore::READ_OK, |
| 1040 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, &value)); | 1062 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, &value)); |
| 1041 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_BLOCK).Equals(value)); | 1063 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_BLOCK).Equals(value)); |
| 1042 // DefaultJavaScriptSetting overrides JavascriptEnabled. | 1064 // DefaultJavaScriptSetting overrides JavascriptEnabled. |
| 1043 provider_.AddPolicy(kPolicyDefaultJavaScriptSetting, | 1065 provider_.AddMandatoryPolicy( |
| 1044 Value::CreateIntegerValue(CONTENT_SETTING_ALLOW)); | 1066 key::kDefaultJavaScriptSetting, |
| 1067 Value::CreateIntegerValue(CONTENT_SETTING_ALLOW)); |
| 1045 store_->OnUpdatePolicy(&provider_); | 1068 store_->OnUpdatePolicy(&provider_); |
| 1046 EXPECT_EQ(PrefStore::READ_OK, | 1069 EXPECT_EQ(PrefStore::READ_OK, |
| 1047 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, &value)); | 1070 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, &value)); |
| 1048 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_ALLOW).Equals(value)); | 1071 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_ALLOW).Equals(value)); |
| 1049 } | 1072 } |
| 1050 | 1073 |
| 1051 } // namespace policy | 1074 } // namespace policy |
| OLD | NEW |