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

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: Rebased 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) 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
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
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
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
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
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
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
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
OLDNEW
« no previous file with comments | « chrome/browser/policy/configuration_policy_pref_store.cc ('k') | chrome/browser/policy/configuration_policy_provider.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698