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

Side by Side Diff: chrome/browser/policy/configuration_policy_pref_store_unittest.cc

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

Powered by Google App Engine
This is Rietveld 408576698