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

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: Fixed builds, 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) 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_.AddPolicy(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_.AddPolicy(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::kApplicationLocaleValue,
128 prefs::kApplicationLocale), 130 prefs::kApplicationLocale),
Mattias Nissler (ping if slow) 2012/01/17 09:52:45 this seems to be a dupe.
Joao da Silva 2012/01/17 13:09:29 Yep, nice catch.
129 TypeAndName(kPolicyAuthSchemes, 131 PolicyAndPref(key::kAuthSchemes,
130 prefs::kAuthSchemes), 132 prefs::kAuthSchemes),
131 TypeAndName(kPolicyAuthServerWhitelist, 133 PolicyAndPref(key::kAuthServerWhitelist,
132 prefs::kAuthServerWhitelist), 134 prefs::kAuthServerWhitelist),
133 TypeAndName(kPolicyAuthNegotiateDelegateWhitelist, 135 PolicyAndPref(key::kAuthNegotiateDelegateWhitelist,
134 prefs::kAuthNegotiateDelegateWhitelist), 136 prefs::kAuthNegotiateDelegateWhitelist),
135 TypeAndName(kPolicyGSSAPILibraryName, 137 PolicyAndPref(key::kGSSAPILibraryName,
136 prefs::kGSSAPILibraryName), 138 prefs::kGSSAPILibraryName),
137 TypeAndName(kPolicyDiskCacheDir, 139 PolicyAndPref(key::kDiskCacheDir,
138 prefs::kDiskCacheDir))); 140 prefs::kDiskCacheDir)));
139 141
140 #if !defined(OS_CHROMEOS) 142 #if !defined(OS_CHROMEOS)
141 INSTANTIATE_TEST_CASE_P( 143 INSTANTIATE_TEST_CASE_P(
142 ConfigurationPolicyPrefStoreDownloadDirectoryInstance, 144 ConfigurationPolicyPrefStoreDownloadDirectoryInstance,
143 ConfigurationPolicyPrefStoreStringTest, 145 ConfigurationPolicyPrefStoreStringTest,
144 testing::Values(TypeAndName(kPolicyDownloadDirectory, 146 testing::Values(PolicyAndPref(key::kDownloadDirectory,
145 prefs::kDownloadDefaultDirectory))); 147 prefs::kDownloadDefaultDirectory)));
146 #endif // !defined(OS_CHROMEOS) 148 #endif // !defined(OS_CHROMEOS)
147 149
148 // Test cases for boolean-valued policy settings. 150 // Test cases for boolean-valued policy settings.
149 class ConfigurationPolicyPrefStoreBooleanTest 151 class ConfigurationPolicyPrefStoreBooleanTest
150 : public ConfigurationPolicyPrefStoreTestBase< 152 : public ConfigurationPolicyPrefStoreTestBase<
151 testing::TestWithParam<TypeAndName> > { 153 testing::TestWithParam<PolicyAndPref> > {
152 }; 154 };
153 155
154 TEST_P(ConfigurationPolicyPrefStoreBooleanTest, GetDefault) { 156 TEST_P(ConfigurationPolicyPrefStoreBooleanTest, GetDefault) {
155 EXPECT_EQ(PrefStore::READ_NO_VALUE, 157 EXPECT_EQ(PrefStore::READ_NO_VALUE,
156 store_->GetValue(GetParam().pref_name(), NULL)); 158 store_->GetValue(GetParam().pref_name(), NULL));
157 } 159 }
158 160
159 TEST_P(ConfigurationPolicyPrefStoreBooleanTest, SetValue) { 161 TEST_P(ConfigurationPolicyPrefStoreBooleanTest, SetValue) {
160 provider_.AddPolicy(GetParam().type(), Value::CreateBooleanValue(false)); 162 provider_.AddPolicy(GetParam().policy_name(),
163 Value::CreateBooleanValue(false));
161 store_->OnUpdatePolicy(&provider_); 164 store_->OnUpdatePolicy(&provider_);
162 const Value* value = NULL; 165 const Value* value = NULL;
163 EXPECT_EQ(PrefStore::READ_OK, 166 EXPECT_EQ(PrefStore::READ_OK,
164 store_->GetValue(GetParam().pref_name(), &value)); 167 store_->GetValue(GetParam().pref_name(), &value));
165 ASSERT_TRUE(value); 168 ASSERT_TRUE(value);
166 bool boolean_value = true; 169 bool boolean_value = true;
167 bool result = value->GetAsBoolean(&boolean_value); 170 bool result = value->GetAsBoolean(&boolean_value);
168 ASSERT_TRUE(result); 171 ASSERT_TRUE(result);
169 EXPECT_FALSE(boolean_value); 172 EXPECT_FALSE(boolean_value);
170 173
171 provider_.AddPolicy(GetParam().type(), Value::CreateBooleanValue(true)); 174 provider_.AddPolicy(GetParam().policy_name(),
175 Value::CreateBooleanValue(true));
172 store_->OnUpdatePolicy(&provider_); 176 store_->OnUpdatePolicy(&provider_);
173 value = NULL; 177 value = NULL;
174 EXPECT_EQ(PrefStore::READ_OK, 178 EXPECT_EQ(PrefStore::READ_OK,
175 store_->GetValue(GetParam().pref_name(), &value)); 179 store_->GetValue(GetParam().pref_name(), &value));
176 boolean_value = false; 180 boolean_value = false;
177 result = value->GetAsBoolean(&boolean_value); 181 result = value->GetAsBoolean(&boolean_value);
178 ASSERT_TRUE(result); 182 ASSERT_TRUE(result);
179 EXPECT_TRUE(boolean_value); 183 EXPECT_TRUE(boolean_value);
180 } 184 }
181 185
182 INSTANTIATE_TEST_CASE_P( 186 INSTANTIATE_TEST_CASE_P(
183 ConfigurationPolicyPrefStoreBooleanTestInstance, 187 ConfigurationPolicyPrefStoreBooleanTestInstance,
184 ConfigurationPolicyPrefStoreBooleanTest, 188 ConfigurationPolicyPrefStoreBooleanTest,
185 testing::Values( 189 testing::Values(
186 TypeAndName(kPolicyHomepageIsNewTabPage, 190 PolicyAndPref(key::kHomepageIsNewTabPage,
187 prefs::kHomePageIsNewTabPage), 191 prefs::kHomePageIsNewTabPage),
188 TypeAndName(kPolicyAlternateErrorPagesEnabled, 192 PolicyAndPref(key::kAlternateErrorPagesEnabled,
189 prefs::kAlternateErrorPagesEnabled), 193 prefs::kAlternateErrorPagesEnabled),
190 TypeAndName(kPolicySearchSuggestEnabled, 194 PolicyAndPref(key::kSearchSuggestEnabled,
191 prefs::kSearchSuggestEnabled), 195 prefs::kSearchSuggestEnabled),
192 TypeAndName(kPolicyDnsPrefetchingEnabled, 196 PolicyAndPref(key::kDnsPrefetchingEnabled,
193 prefs::kNetworkPredictionEnabled), 197 prefs::kNetworkPredictionEnabled),
194 TypeAndName(kPolicyDisableSpdy, 198 PolicyAndPref(key::kDisableSpdy,
195 prefs::kDisableSpdy), 199 prefs::kDisableSpdy),
196 TypeAndName(kPolicySafeBrowsingEnabled, 200 PolicyAndPref(key::kSafeBrowsingEnabled,
197 prefs::kSafeBrowsingEnabled), 201 prefs::kSafeBrowsingEnabled),
198 TypeAndName(kPolicyMetricsReportingEnabled, 202 PolicyAndPref(key::kMetricsReportingEnabled,
199 prefs::kMetricsReportingEnabled), 203 prefs::kMetricsReportingEnabled),
200 TypeAndName(kPolicyPasswordManagerEnabled, 204 PolicyAndPref(key::kPasswordManagerEnabled,
201 prefs::kPasswordManagerEnabled), 205 prefs::kPasswordManagerEnabled),
202 TypeAndName(kPolicyPasswordManagerAllowShowPasswords, 206 PolicyAndPref(key::kPasswordManagerAllowShowPasswords,
203 prefs::kPasswordManagerAllowShowPasswords), 207 prefs::kPasswordManagerAllowShowPasswords),
204 TypeAndName(kPolicyShowHomeButton, 208 PolicyAndPref(key::kShowHomeButton,
205 prefs::kShowHomeButton), 209 prefs::kShowHomeButton),
206 TypeAndName(kPolicyPrintingEnabled, 210 PolicyAndPref(key::kPrintingEnabled,
207 prefs::kPrintingEnabled), 211 prefs::kPrintingEnabled),
208 TypeAndName(kPolicyRemoteAccessHostFirewallTraversal, 212 PolicyAndPref(key::kRemoteAccessHostFirewallTraversal,
209 prefs::kRemoteAccessHostFirewallTraversal), 213 prefs::kRemoteAccessHostFirewallTraversal),
210 TypeAndName(kPolicyCloudPrintProxyEnabled, 214 PolicyAndPref(key::kCloudPrintProxyEnabled,
211 prefs::kCloudPrintProxyEnabled), 215 prefs::kCloudPrintProxyEnabled),
212 TypeAndName(kPolicyCloudPrintSubmitEnabled, 216 PolicyAndPref(key::kCloudPrintSubmitEnabled,
213 prefs::kCloudPrintSubmitEnabled), 217 prefs::kCloudPrintSubmitEnabled),
214 TypeAndName(kPolicySavingBrowserHistoryDisabled, 218 PolicyAndPref(key::kSavingBrowserHistoryDisabled,
215 prefs::kSavingBrowserHistoryDisabled), 219 prefs::kSavingBrowserHistoryDisabled),
216 TypeAndName(kPolicySavingBrowserHistoryDisabled, 220 PolicyAndPref(key::kSavingBrowserHistoryDisabled,
217 prefs::kSavingBrowserHistoryDisabled), 221 prefs::kSavingBrowserHistoryDisabled),
Mattias Nissler (ping if slow) 2012/01/17 09:52:45 another dupe?
Joao da Silva 2012/01/17 13:09:29 Done.
218 TypeAndName(kPolicyEnableOriginBoundCerts, 222 PolicyAndPref(key::kEnableOriginBoundCerts,
219 prefs::kEnableOriginBoundCerts), 223 prefs::kEnableOriginBoundCerts),
220 TypeAndName(kPolicyDisableAuthNegotiateCnameLookup, 224 PolicyAndPref(key::kDisableAuthNegotiateCnameLookup,
221 prefs::kDisableAuthNegotiateCnameLookup), 225 prefs::kDisableAuthNegotiateCnameLookup),
222 TypeAndName(kPolicyEnableAuthNegotiatePort, 226 PolicyAndPref(key::kEnableAuthNegotiatePort,
223 prefs::kEnableAuthNegotiatePort), 227 prefs::kEnableAuthNegotiatePort),
224 TypeAndName(kPolicyInstantEnabled, 228 PolicyAndPref(key::kInstantEnabled,
225 prefs::kInstantEnabled), 229 prefs::kInstantEnabled),
226 TypeAndName(kPolicyDisablePluginFinder, 230 PolicyAndPref(key::kDisablePluginFinder,
227 prefs::kDisablePluginFinder), 231 prefs::kDisablePluginFinder),
228 TypeAndName(kPolicyClearSiteDataOnExit, 232 PolicyAndPref(key::kClearSiteDataOnExit,
229 prefs::kClearSiteDataOnExit), 233 prefs::kClearSiteDataOnExit),
230 TypeAndName(kPolicyDefaultBrowserSettingEnabled, 234 PolicyAndPref(key::kDefaultBrowserSettingEnabled,
231 prefs::kDefaultBrowserSettingEnabled), 235 prefs::kDefaultBrowserSettingEnabled),
232 TypeAndName(kPolicyDisable3DAPIs, 236 PolicyAndPref(key::kDisable3DAPIs,
233 prefs::kDisable3DAPIs), 237 prefs::kDisable3DAPIs),
234 TypeAndName(kPolicyTranslateEnabled, 238 PolicyAndPref(key::kTranslateEnabled,
235 prefs::kEnableTranslate), 239 prefs::kEnableTranslate),
236 TypeAndName(kPolicyAllowOutdatedPlugins, 240 PolicyAndPref(key::kAllowOutdatedPlugins,
237 prefs::kPluginsAllowOutdated), 241 prefs::kPluginsAllowOutdated),
238 TypeAndName(kPolicyAlwaysAuthorizePlugins, 242 PolicyAndPref(key::kAlwaysAuthorizePlugins,
239 prefs::kPluginsAlwaysAuthorize), 243 prefs::kPluginsAlwaysAuthorize),
240 TypeAndName(kPolicyBookmarkBarEnabled, 244 PolicyAndPref(key::kBookmarkBarEnabled,
241 prefs::kShowBookmarkBar), 245 prefs::kShowBookmarkBar),
242 TypeAndName(kPolicyEditBookmarksEnabled, 246 PolicyAndPref(key::kEditBookmarksEnabled,
243 prefs::kEditBookmarksEnabled), 247 prefs::kEditBookmarksEnabled),
244 TypeAndName(kPolicyAllowFileSelectionDialogs, 248 PolicyAndPref(key::kAllowFileSelectionDialogs,
245 prefs::kAllowFileSelectionDialogs), 249 prefs::kAllowFileSelectionDialogs),
246 TypeAndName(kPolicyAllowCrossOriginAuthPrompt, 250 PolicyAndPref(key::kAllowCrossOriginAuthPrompt,
247 prefs::kAllowCrossOriginAuthPrompt), 251 prefs::kAllowCrossOriginAuthPrompt),
248 TypeAndName(kPolicyImportBookmarks, 252 PolicyAndPref(key::kImportBookmarks,
249 prefs::kImportBookmarks), 253 prefs::kImportBookmarks),
250 TypeAndName(kPolicyImportHistory, 254 PolicyAndPref(key::kImportHistory,
251 prefs::kImportHistory), 255 prefs::kImportHistory),
252 TypeAndName(kPolicyImportHomepage, 256 PolicyAndPref(key::kImportHomepage,
253 prefs::kImportHomepage), 257 prefs::kImportHomepage),
254 TypeAndName(kPolicyImportSearchEngine, 258 PolicyAndPref(key::kImportSearchEngine,
255 prefs::kImportSearchEngine), 259 prefs::kImportSearchEngine),
256 TypeAndName(kPolicyImportSavedPasswords, 260 PolicyAndPref(key::kImportSavedPasswords,
257 prefs::kImportSavedPasswords), 261 prefs::kImportSavedPasswords),
258 TypeAndName(kPolicyEnableMemoryInfo, 262 PolicyAndPref(key::kEnableMemoryInfo,
259 prefs::kEnableMemoryInfo), 263 prefs::kEnableMemoryInfo),
260 TypeAndName(kPolicyDeveloperToolsDisabled, 264 PolicyAndPref(key::kDeveloperToolsDisabled,
261 prefs::kDevToolsDisabled))); 265 prefs::kDevToolsDisabled)));
262 266
263 #if defined(OS_CHROMEOS) 267 #if defined(OS_CHROMEOS)
264 INSTANTIATE_TEST_CASE_P( 268 INSTANTIATE_TEST_CASE_P(
265 CrosConfigurationPolicyPrefStoreBooleanTestInstance, 269 CrosConfigurationPolicyPrefStoreBooleanTestInstance,
266 ConfigurationPolicyPrefStoreBooleanTest, 270 ConfigurationPolicyPrefStoreBooleanTest,
267 testing::Values( 271 testing::Values(
268 TypeAndName(kPolicyChromeOsLockOnIdleSuspend, 272 PolicyAndPref(key::kChromeOsLockOnIdleSuspend,
269 prefs::kEnableScreenLock))); 273 prefs::kEnableScreenLock)));
270 #endif // defined(OS_CHROMEOS) 274 #endif // defined(OS_CHROMEOS)
271 275
272 // Test cases for integer-valued policy settings. 276 // Test cases for integer-valued policy settings.
273 class ConfigurationPolicyPrefStoreIntegerTest 277 class ConfigurationPolicyPrefStoreIntegerTest
274 : public ConfigurationPolicyPrefStoreTestBase< 278 : public ConfigurationPolicyPrefStoreTestBase<
275 testing::TestWithParam<TypeAndName> > { 279 testing::TestWithParam<PolicyAndPref> > {
276 }; 280 };
277 281
278 TEST_P(ConfigurationPolicyPrefStoreIntegerTest, GetDefault) { 282 TEST_P(ConfigurationPolicyPrefStoreIntegerTest, GetDefault) {
279 EXPECT_EQ(PrefStore::READ_NO_VALUE, 283 EXPECT_EQ(PrefStore::READ_NO_VALUE,
280 store_->GetValue(GetParam().pref_name(), NULL)); 284 store_->GetValue(GetParam().pref_name(), NULL));
281 } 285 }
282 286
283 TEST_P(ConfigurationPolicyPrefStoreIntegerTest, SetValue) { 287 TEST_P(ConfigurationPolicyPrefStoreIntegerTest, SetValue) {
284 provider_.AddPolicy(GetParam().type(), Value::CreateIntegerValue(2)); 288 provider_.AddPolicy(GetParam().policy_name(), Value::CreateIntegerValue(2));
285 store_->OnUpdatePolicy(&provider_); 289 store_->OnUpdatePolicy(&provider_);
286 const Value* value = NULL; 290 const Value* value = NULL;
287 EXPECT_EQ(PrefStore::READ_OK, 291 EXPECT_EQ(PrefStore::READ_OK,
288 store_->GetValue(GetParam().pref_name(), &value)); 292 store_->GetValue(GetParam().pref_name(), &value));
289 EXPECT_TRUE(base::FundamentalValue(2).Equals(value)); 293 EXPECT_TRUE(base::FundamentalValue(2).Equals(value));
290 } 294 }
291 295
292 INSTANTIATE_TEST_CASE_P( 296 INSTANTIATE_TEST_CASE_P(
293 ConfigurationPolicyPrefStoreIntegerTestInstance, 297 ConfigurationPolicyPrefStoreIntegerTestInstance,
294 ConfigurationPolicyPrefStoreIntegerTest, 298 ConfigurationPolicyPrefStoreIntegerTest,
295 testing::Values( 299 testing::Values(
296 TypeAndName(kPolicyDefaultCookiesSetting, 300 PolicyAndPref(key::kDefaultCookiesSetting,
297 prefs::kManagedDefaultCookiesSetting), 301 prefs::kManagedDefaultCookiesSetting),
298 TypeAndName(kPolicyDefaultImagesSetting, 302 PolicyAndPref(key::kDefaultImagesSetting,
299 prefs::kManagedDefaultImagesSetting), 303 prefs::kManagedDefaultImagesSetting),
300 TypeAndName(kPolicyDefaultPluginsSetting, 304 PolicyAndPref(key::kDefaultPluginsSetting,
301 prefs::kManagedDefaultPluginsSetting), 305 prefs::kManagedDefaultPluginsSetting),
302 TypeAndName(kPolicyDefaultPopupsSetting, 306 PolicyAndPref(key::kDefaultPopupsSetting,
303 prefs::kManagedDefaultPopupsSetting), 307 prefs::kManagedDefaultPopupsSetting),
304 TypeAndName(kPolicyDefaultNotificationsSetting, 308 PolicyAndPref(key::kDefaultNotificationsSetting,
305 prefs::kManagedDefaultNotificationsSetting), 309 prefs::kManagedDefaultNotificationsSetting),
306 TypeAndName(kPolicyDefaultGeolocationSetting, 310 PolicyAndPref(key::kDefaultGeolocationSetting,
307 prefs::kManagedDefaultGeolocationSetting), 311 prefs::kManagedDefaultGeolocationSetting),
308 TypeAndName(kPolicyRestoreOnStartup, 312 PolicyAndPref(key::kRestoreOnStartup,
309 prefs::kRestoreOnStartup), 313 prefs::kRestoreOnStartup),
310 TypeAndName(kPolicyDiskCacheSize, 314 PolicyAndPref(key::kDiskCacheSize,
311 prefs::kDiskCacheSize), 315 prefs::kDiskCacheSize),
312 TypeAndName(kPolicyMediaCacheSize, 316 PolicyAndPref(key::kMediaCacheSize,
313 prefs::kMediaCacheSize), 317 prefs::kMediaCacheSize),
314 TypeAndName(kPolicyPolicyRefreshRate, 318 PolicyAndPref(key::kPolicyRefreshRate,
315 prefs::kUserPolicyRefreshRate), 319 prefs::kUserPolicyRefreshRate),
316 TypeAndName(kPolicyMaxConnectionsPerProxy, 320 PolicyAndPref(key::kMaxConnectionsPerProxy,
317 prefs::kMaxConnectionsPerProxy))); 321 prefs::kMaxConnectionsPerProxy)));
318 322
319 // Test cases for the proxy policy settings. 323 // Test cases for the proxy policy settings.
320 class ConfigurationPolicyPrefStoreProxyTest : public testing::Test { 324 class ConfigurationPolicyPrefStoreProxyTest : public testing::Test {
321 protected: 325 protected:
322 // Verify that all the proxy prefs are set to the specified expected values. 326 // Verify that all the proxy prefs are set to the specified expected values.
323 static void VerifyProxyPrefs( 327 static void VerifyProxyPrefs(
324 const ConfigurationPolicyPrefStore& store, 328 const ConfigurationPolicyPrefStore& store,
325 const std::string& expected_proxy_server, 329 const std::string& expected_proxy_server,
326 const std::string& expected_proxy_pac_url, 330 const std::string& expected_proxy_pac_url,
327 const std::string& expected_proxy_bypass_list, 331 const std::string& expected_proxy_bypass_list,
(...skipping 23 matching lines...) Expand all
351 EXPECT_EQ(expected_proxy_bypass_list, s); 355 EXPECT_EQ(expected_proxy_bypass_list, s);
352 } 356 }
353 ProxyPrefs::ProxyMode mode; 357 ProxyPrefs::ProxyMode mode;
354 ASSERT_TRUE(dict.GetMode(&mode)); 358 ASSERT_TRUE(dict.GetMode(&mode));
355 EXPECT_EQ(expected_proxy_mode, mode); 359 EXPECT_EQ(expected_proxy_mode, mode);
356 } 360 }
357 }; 361 };
358 362
359 TEST_F(ConfigurationPolicyPrefStoreProxyTest, ManualOptions) { 363 TEST_F(ConfigurationPolicyPrefStoreProxyTest, ManualOptions) {
360 MockConfigurationPolicyProvider provider; 364 MockConfigurationPolicyProvider provider;
361 provider.AddPolicy(kPolicyProxyBypassList, 365 provider.AddPolicy(key::kProxyBypassList,
362 Value::CreateStringValue("http://chromium.org/override")); 366 Value::CreateStringValue("http://chromium.org/override"));
363 provider.AddPolicy(kPolicyProxyServer, 367 provider.AddPolicy(key::kProxyServer,
364 Value::CreateStringValue("chromium.org")); 368 Value::CreateStringValue("chromium.org"));
365 provider.AddPolicy(kPolicyProxyServerMode, 369 provider.AddPolicy(
366 Value::CreateIntegerValue( 370 key::kProxyServerMode,
367 kPolicyManuallyConfiguredProxyServerMode)); 371 Value::CreateIntegerValue(
372 ProxyPolicyHandler::kManuallyConfiguredProxyServerMode));
368 373
369 scoped_refptr<ConfigurationPolicyPrefStore> store( 374 scoped_refptr<ConfigurationPolicyPrefStore> store(
370 new ConfigurationPolicyPrefStore(&provider)); 375 new ConfigurationPolicyPrefStore(&provider));
371 VerifyProxyPrefs( 376 VerifyProxyPrefs(
372 *store, "chromium.org", "", "http://chromium.org/override", 377 *store, "chromium.org", "", "http://chromium.org/override",
373 ProxyPrefs::MODE_FIXED_SERVERS); 378 ProxyPrefs::MODE_FIXED_SERVERS);
374 } 379 }
375 380
376 TEST_F(ConfigurationPolicyPrefStoreProxyTest, ManualOptionsReversedApplyOrder) { 381 TEST_F(ConfigurationPolicyPrefStoreProxyTest, ManualOptionsReversedApplyOrder) {
377 MockConfigurationPolicyProvider provider; 382 MockConfigurationPolicyProvider provider;
378 provider.AddPolicy(kPolicyProxyServerMode, 383 provider.AddPolicy(
379 Value::CreateIntegerValue( 384 key::kProxyServerMode,
380 kPolicyManuallyConfiguredProxyServerMode)); 385 Value::CreateIntegerValue(
381 provider.AddPolicy(kPolicyProxyBypassList, 386 ProxyPolicyHandler::kManuallyConfiguredProxyServerMode));
387 provider.AddPolicy(key::kProxyBypassList,
382 Value::CreateStringValue("http://chromium.org/override")); 388 Value::CreateStringValue("http://chromium.org/override"));
383 provider.AddPolicy(kPolicyProxyServer, 389 provider.AddPolicy(key::kProxyServer,
384 Value::CreateStringValue("chromium.org")); 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.AddPolicy(
395 Value::CreateIntegerValue( 401 key::kProxyServerMode,
396 kPolicyManuallyConfiguredProxyServerMode)); 402 Value::CreateIntegerValue(
403 ProxyPolicyHandler::kManuallyConfiguredProxyServerMode));
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.AddPolicy(key::kProxyServerMode,
408 Value::CreateIntegerValue(kPolicyNoProxyServerMode)); 415 Value::CreateIntegerValue(
416 ProxyPolicyHandler::kNoProxyServerMode));
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.AddPolicy(
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.AddPolicy(key::kProxyServerMode,
429 kPolicyProxyServerMode, 437 Value::CreateIntegerValue(
430 Value::CreateIntegerValue(kPolicyAutoDetectProxyServerMode)); 438 ProxyPolicyHandler::kAutoDetectProxyServerMode));
431 439
432 scoped_refptr<ConfigurationPolicyPrefStore> store( 440 scoped_refptr<ConfigurationPolicyPrefStore> store(
433 new ConfigurationPolicyPrefStore(&provider)); 441 new ConfigurationPolicyPrefStore(&provider));
434 VerifyProxyPrefs(*store, "", "", "", ProxyPrefs::MODE_AUTO_DETECT); 442 VerifyProxyPrefs(*store, "", "", "", ProxyPrefs::MODE_AUTO_DETECT);
435 } 443 }
436 444
437 TEST_F(ConfigurationPolicyPrefStoreProxyTest, AutoDetectProxyModeName) { 445 TEST_F(ConfigurationPolicyPrefStoreProxyTest, AutoDetectProxyModeName) {
438 MockConfigurationPolicyProvider provider; 446 MockConfigurationPolicyProvider provider;
439 provider.AddPolicy( 447 provider.AddPolicy(
440 kPolicyProxyMode, 448 key::kProxyMode,
441 Value::CreateStringValue(ProxyPrefs::kAutoDetectProxyModeName)); 449 Value::CreateStringValue(ProxyPrefs::kAutoDetectProxyModeName));
442 450
443 scoped_refptr<ConfigurationPolicyPrefStore> store( 451 scoped_refptr<ConfigurationPolicyPrefStore> store(
444 new ConfigurationPolicyPrefStore(&provider)); 452 new ConfigurationPolicyPrefStore(&provider));
445 VerifyProxyPrefs(*store, "", "", "", ProxyPrefs::MODE_AUTO_DETECT); 453 VerifyProxyPrefs(*store, "", "", "", ProxyPrefs::MODE_AUTO_DETECT);
446 } 454 }
447 455
448 TEST_F(ConfigurationPolicyPrefStoreProxyTest, PacScriptProxyMode) { 456 TEST_F(ConfigurationPolicyPrefStoreProxyTest, PacScriptProxyMode) {
449 MockConfigurationPolicyProvider provider; 457 MockConfigurationPolicyProvider provider;
450 provider.AddPolicy(kPolicyProxyPacUrl, 458 provider.AddPolicy(key::kProxyPacUrl,
451 Value::CreateStringValue("http://short.org/proxy.pac")); 459 Value::CreateStringValue("http://short.org/proxy.pac"));
452 provider.AddPolicy( 460 provider.AddPolicy(
453 kPolicyProxyMode, 461 key::kProxyMode,
454 Value::CreateStringValue(ProxyPrefs::kPacScriptProxyModeName)); 462 Value::CreateStringValue(ProxyPrefs::kPacScriptProxyModeName));
455 463
456 scoped_refptr<ConfigurationPolicyPrefStore> store( 464 scoped_refptr<ConfigurationPolicyPrefStore> store(
457 new ConfigurationPolicyPrefStore(&provider)); 465 new ConfigurationPolicyPrefStore(&provider));
458 VerifyProxyPrefs(*store, "", "http://short.org/proxy.pac", "", 466 VerifyProxyPrefs(*store, "", "http://short.org/proxy.pac", "",
459 ProxyPrefs::MODE_PAC_SCRIPT); 467 ProxyPrefs::MODE_PAC_SCRIPT);
460 } 468 }
461 469
462 TEST_F(ConfigurationPolicyPrefStoreProxyTest, PacScriptProxyModeInvalid) { 470 TEST_F(ConfigurationPolicyPrefStoreProxyTest, PacScriptProxyModeInvalid) {
463 MockConfigurationPolicyProvider provider; 471 MockConfigurationPolicyProvider provider;
464 provider.AddPolicy( 472 provider.AddPolicy(
465 kPolicyProxyMode, 473 key::kProxyMode,
466 Value::CreateStringValue(ProxyPrefs::kPacScriptProxyModeName)); 474 Value::CreateStringValue(ProxyPrefs::kPacScriptProxyModeName));
467 475
468 scoped_refptr<ConfigurationPolicyPrefStore> store( 476 scoped_refptr<ConfigurationPolicyPrefStore> store(
469 new ConfigurationPolicyPrefStore(&provider)); 477 new ConfigurationPolicyPrefStore(&provider));
470 const Value* value = NULL; 478 const Value* value = NULL;
471 EXPECT_EQ(PrefStore::READ_NO_VALUE, store->GetValue(prefs::kProxy, &value)); 479 EXPECT_EQ(PrefStore::READ_NO_VALUE, store->GetValue(prefs::kProxy, &value));
472 } 480 }
473 481
474 // Regression test for http://crbug.com/78016, CPanel returns empty strings 482 // Regression test for http://crbug.com/78016, CPanel returns empty strings
475 // for unset properties. 483 // for unset properties.
476 TEST_F(ConfigurationPolicyPrefStoreProxyTest, PacScriptProxyModeBug78016) { 484 TEST_F(ConfigurationPolicyPrefStoreProxyTest, PacScriptProxyModeBug78016) {
477 MockConfigurationPolicyProvider provider; 485 MockConfigurationPolicyProvider provider;
478 provider.AddPolicy(kPolicyProxyServer, 486 provider.AddPolicy(key::kProxyServer,
479 Value::CreateStringValue("")); 487 Value::CreateStringValue(""));
480 provider.AddPolicy(kPolicyProxyPacUrl, 488 provider.AddPolicy(key::kProxyPacUrl,
481 Value::CreateStringValue("http://short.org/proxy.pac")); 489 Value::CreateStringValue("http://short.org/proxy.pac"));
482 provider.AddPolicy( 490 provider.AddPolicy(
483 kPolicyProxyMode, 491 key::kProxyMode,
484 Value::CreateStringValue(ProxyPrefs::kPacScriptProxyModeName)); 492 Value::CreateStringValue(ProxyPrefs::kPacScriptProxyModeName));
485 493
486 scoped_refptr<ConfigurationPolicyPrefStore> store( 494 scoped_refptr<ConfigurationPolicyPrefStore> store(
487 new ConfigurationPolicyPrefStore(&provider)); 495 new ConfigurationPolicyPrefStore(&provider));
488 VerifyProxyPrefs(*store, "", "http://short.org/proxy.pac", "", 496 VerifyProxyPrefs(*store, "", "http://short.org/proxy.pac", "",
489 ProxyPrefs::MODE_PAC_SCRIPT); 497 ProxyPrefs::MODE_PAC_SCRIPT);
490 } 498 }
491 499
492 TEST_F(ConfigurationPolicyPrefStoreProxyTest, UseSystemProxyServerMode) { 500 TEST_F(ConfigurationPolicyPrefStoreProxyTest, UseSystemProxyServerMode) {
493 MockConfigurationPolicyProvider provider; 501 MockConfigurationPolicyProvider provider;
494 provider.AddPolicy( 502 provider.AddPolicy(
495 kPolicyProxyServerMode, 503 key::kProxyServerMode,
496 Value::CreateIntegerValue(kPolicyUseSystemProxyServerMode)); 504 Value::CreateIntegerValue(ProxyPolicyHandler::kUseSystemProxyServerMode));
497 505
498 scoped_refptr<ConfigurationPolicyPrefStore> store( 506 scoped_refptr<ConfigurationPolicyPrefStore> store(
499 new ConfigurationPolicyPrefStore(&provider)); 507 new ConfigurationPolicyPrefStore(&provider));
500 VerifyProxyPrefs(*store, "", "", "", ProxyPrefs::MODE_SYSTEM); 508 VerifyProxyPrefs(*store, "", "", "", ProxyPrefs::MODE_SYSTEM);
501 } 509 }
502 510
503 TEST_F(ConfigurationPolicyPrefStoreProxyTest, UseSystemProxyMode) { 511 TEST_F(ConfigurationPolicyPrefStoreProxyTest, UseSystemProxyMode) {
504 MockConfigurationPolicyProvider provider; 512 MockConfigurationPolicyProvider provider;
505 provider.AddPolicy( 513 provider.AddPolicy(
506 kPolicyProxyMode, 514 key::kProxyMode,
507 Value::CreateStringValue(ProxyPrefs::kSystemProxyModeName)); 515 Value::CreateStringValue(ProxyPrefs::kSystemProxyModeName));
508 516
509 scoped_refptr<ConfigurationPolicyPrefStore> store( 517 scoped_refptr<ConfigurationPolicyPrefStore> store(
510 new ConfigurationPolicyPrefStore(&provider)); 518 new ConfigurationPolicyPrefStore(&provider));
511 VerifyProxyPrefs(*store, "", "", "", ProxyPrefs::MODE_SYSTEM); 519 VerifyProxyPrefs(*store, "", "", "", ProxyPrefs::MODE_SYSTEM);
512 } 520 }
513 521
514 TEST_F(ConfigurationPolicyPrefStoreProxyTest, 522 TEST_F(ConfigurationPolicyPrefStoreProxyTest,
515 ProxyModeOverridesProxyServerMode) { 523 ProxyModeOverridesProxyServerMode) {
516 MockConfigurationPolicyProvider provider; 524 MockConfigurationPolicyProvider provider;
517 provider.AddPolicy(kPolicyProxyServerMode, 525 provider.AddPolicy(key::kProxyServerMode,
518 Value::CreateIntegerValue(kPolicyNoProxyServerMode)); 526 Value::CreateIntegerValue(
527 ProxyPolicyHandler::kNoProxyServerMode));
519 provider.AddPolicy( 528 provider.AddPolicy(
520 kPolicyProxyMode, 529 key::kProxyMode,
521 Value::CreateStringValue(ProxyPrefs::kAutoDetectProxyModeName)); 530 Value::CreateStringValue(ProxyPrefs::kAutoDetectProxyModeName));
522 531
523 scoped_refptr<ConfigurationPolicyPrefStore> store( 532 scoped_refptr<ConfigurationPolicyPrefStore> store(
524 new ConfigurationPolicyPrefStore(&provider)); 533 new ConfigurationPolicyPrefStore(&provider));
525 VerifyProxyPrefs(*store, "", "", "", ProxyPrefs::MODE_AUTO_DETECT); 534 VerifyProxyPrefs(*store, "", "", "", ProxyPrefs::MODE_AUTO_DETECT);
526 } 535 }
527 536
528 TEST_F(ConfigurationPolicyPrefStoreProxyTest, ProxyInvalid) { 537 TEST_F(ConfigurationPolicyPrefStoreProxyTest, ProxyInvalid) {
529 for (int i = 0; i < MODE_COUNT; ++i) { 538 for (int i = 0; i < ProxyPolicyHandler::MODE_COUNT; ++i) {
530 MockConfigurationPolicyProvider provider; 539 MockConfigurationPolicyProvider provider;
531 provider.AddPolicy(kPolicyProxyServerMode, Value::CreateIntegerValue(i)); 540 provider.AddPolicy(key::kProxyServerMode, Value::CreateIntegerValue(i));
532 // No mode expects all three parameters being set. 541 // No mode expects all three parameters being set.
533 provider.AddPolicy(kPolicyProxyPacUrl, 542 provider.AddPolicy(key::kProxyPacUrl,
534 Value::CreateStringValue("http://short.org/proxy.pac")); 543 Value::CreateStringValue("http://short.org/proxy.pac"));
535 provider.AddPolicy(kPolicyProxyBypassList, 544 provider.AddPolicy(key::kProxyBypassList,
536 Value::CreateStringValue( 545 Value::CreateStringValue(
537 "http://chromium.org/override")); 546 "http://chromium.org/override"));
538 provider.AddPolicy(kPolicyProxyServer, 547 provider.AddPolicy(key::kProxyServer,
539 Value::CreateStringValue("chromium.org")); 548 Value::CreateStringValue("chromium.org"));
540 549
541 scoped_refptr<ConfigurationPolicyPrefStore> store( 550 scoped_refptr<ConfigurationPolicyPrefStore> store(
542 new ConfigurationPolicyPrefStore(&provider)); 551 new ConfigurationPolicyPrefStore(&provider));
543 const Value* value = NULL; 552 const Value* value = NULL;
544 EXPECT_EQ(PrefStore::READ_NO_VALUE, 553 EXPECT_EQ(PrefStore::READ_NO_VALUE,
545 store->GetValue(prefs::kProxy, &value)); 554 store->GetValue(prefs::kProxy, &value));
546 } 555 }
547 } 556 }
548 557
549 class ConfigurationPolicyPrefStoreDefaultSearchTest : public testing::Test { 558 class ConfigurationPolicyPrefStoreDefaultSearchTest : public testing::Test {
550 }; 559 };
551 560
552 // Checks that if the policy for default search is valid, i.e. there's a 561 // 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. 562 // search URL, that all the elements have been given proper defaults.
554 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, MinimallyDefined) { 563 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, MinimallyDefined) {
555 const char* const search_url = "http://test.com/search?t={searchTerms}"; 564 const char* const search_url = "http://test.com/search?t={searchTerms}";
556 MockConfigurationPolicyProvider provider; 565 MockConfigurationPolicyProvider provider;
557 provider.AddPolicy(kPolicyDefaultSearchProviderEnabled, 566 provider.AddPolicy(key::kDefaultSearchProviderEnabled,
558 Value::CreateBooleanValue(true)); 567 Value::CreateBooleanValue(true));
559 provider.AddPolicy(kPolicyDefaultSearchProviderSearchURL, 568 provider.AddPolicy(key::kDefaultSearchProviderSearchURL,
560 Value::CreateStringValue(search_url)); 569 Value::CreateStringValue(search_url));
561 570
562 scoped_refptr<ConfigurationPolicyPrefStore> store( 571 scoped_refptr<ConfigurationPolicyPrefStore> store(
563 new ConfigurationPolicyPrefStore(&provider)); 572 new ConfigurationPolicyPrefStore(&provider));
564 573
565 const Value* value = NULL; 574 const Value* value = NULL;
566 EXPECT_EQ(PrefStore::READ_OK, 575 EXPECT_EQ(PrefStore::READ_OK,
567 store->GetValue(prefs::kDefaultSearchProviderSearchURL, &value)); 576 store->GetValue(prefs::kDefaultSearchProviderSearchURL, &value));
568 EXPECT_TRUE(StringValue(search_url).Equals(value)); 577 EXPECT_TRUE(StringValue(search_url).Equals(value));
569 578
(...skipping 27 matching lines...) Expand all
597 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, FullyDefined) { 606 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, FullyDefined) {
598 const char* const search_url = "http://test.com/search?t={searchTerms}"; 607 const char* const search_url = "http://test.com/search?t={searchTerms}";
599 const char* const suggest_url = "http://test.com/sugg?={searchTerms}"; 608 const char* const suggest_url = "http://test.com/sugg?={searchTerms}";
600 const char* const icon_url = "http://test.com/icon.jpg"; 609 const char* const icon_url = "http://test.com/icon.jpg";
601 const char* const name = "MyName"; 610 const char* const name = "MyName";
602 const char* const keyword = "MyKeyword"; 611 const char* const keyword = "MyKeyword";
603 ListValue* encodings = new ListValue(); 612 ListValue* encodings = new ListValue();
604 encodings->Append(Value::CreateStringValue("UTF-16")); 613 encodings->Append(Value::CreateStringValue("UTF-16"));
605 encodings->Append(Value::CreateStringValue("UTF-8")); 614 encodings->Append(Value::CreateStringValue("UTF-8"));
606 MockConfigurationPolicyProvider provider; 615 MockConfigurationPolicyProvider provider;
607 provider.AddPolicy(kPolicyDefaultSearchProviderEnabled, 616 provider.AddPolicy(key::kDefaultSearchProviderEnabled,
608 Value::CreateBooleanValue(true)); 617 Value::CreateBooleanValue(true));
609 provider.AddPolicy(kPolicyDefaultSearchProviderSearchURL, 618 provider.AddPolicy(key::kDefaultSearchProviderSearchURL,
610 Value::CreateStringValue(search_url)); 619 Value::CreateStringValue(search_url));
611 provider.AddPolicy(kPolicyDefaultSearchProviderName, 620 provider.AddPolicy(key::kDefaultSearchProviderName,
612 Value::CreateStringValue(name)); 621 Value::CreateStringValue(name));
613 provider.AddPolicy(kPolicyDefaultSearchProviderKeyword, 622 provider.AddPolicy(key::kDefaultSearchProviderKeyword,
614 Value::CreateStringValue(keyword)); 623 Value::CreateStringValue(keyword));
615 provider.AddPolicy(kPolicyDefaultSearchProviderSuggestURL, 624 provider.AddPolicy(key::kDefaultSearchProviderSuggestURL,
616 Value::CreateStringValue(suggest_url)); 625 Value::CreateStringValue(suggest_url));
617 provider.AddPolicy(kPolicyDefaultSearchProviderIconURL, 626 provider.AddPolicy(key::kDefaultSearchProviderIconURL,
618 Value::CreateStringValue(icon_url)); 627 Value::CreateStringValue(icon_url));
619 provider.AddPolicy(kPolicyDefaultSearchProviderEncodings, encodings); 628 provider.AddPolicy(key::kDefaultSearchProviderEncodings, encodings);
620 629
621 scoped_refptr<ConfigurationPolicyPrefStore> store( 630 scoped_refptr<ConfigurationPolicyPrefStore> store(
622 new ConfigurationPolicyPrefStore(&provider)); 631 new ConfigurationPolicyPrefStore(&provider));
623 632
624 const Value* value = NULL; 633 const Value* value = NULL;
625 EXPECT_EQ(PrefStore::READ_OK, 634 EXPECT_EQ(PrefStore::READ_OK,
626 store->GetValue(prefs::kDefaultSearchProviderSearchURL, &value)); 635 store->GetValue(prefs::kDefaultSearchProviderSearchURL, &value));
627 EXPECT_TRUE(StringValue(search_url).Equals(value)); 636 EXPECT_TRUE(StringValue(search_url).Equals(value));
628 637
629 EXPECT_EQ(PrefStore::READ_OK, 638 EXPECT_EQ(PrefStore::READ_OK,
(...skipping 21 matching lines...) Expand all
651 // default search policy will be present. 660 // default search policy will be present.
652 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, MissingUrl) { 661 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, MissingUrl) {
653 const char* const suggest_url = "http://test.com/sugg?t={searchTerms}"; 662 const char* const suggest_url = "http://test.com/sugg?t={searchTerms}";
654 const char* const icon_url = "http://test.com/icon.jpg"; 663 const char* const icon_url = "http://test.com/icon.jpg";
655 const char* const name = "MyName"; 664 const char* const name = "MyName";
656 const char* const keyword = "MyKeyword"; 665 const char* const keyword = "MyKeyword";
657 ListValue* encodings = new ListValue(); 666 ListValue* encodings = new ListValue();
658 encodings->Append(Value::CreateStringValue("UTF-16")); 667 encodings->Append(Value::CreateStringValue("UTF-16"));
659 encodings->Append(Value::CreateStringValue("UTF-8")); 668 encodings->Append(Value::CreateStringValue("UTF-8"));
660 MockConfigurationPolicyProvider provider; 669 MockConfigurationPolicyProvider provider;
661 provider.AddPolicy(kPolicyDefaultSearchProviderEnabled, 670 provider.AddPolicy(key::kDefaultSearchProviderEnabled,
662 Value::CreateBooleanValue(true)); 671 Value::CreateBooleanValue(true));
663 provider.AddPolicy(kPolicyDefaultSearchProviderName, 672 provider.AddPolicy(key::kDefaultSearchProviderName,
664 Value::CreateStringValue(name)); 673 Value::CreateStringValue(name));
665 provider.AddPolicy(kPolicyDefaultSearchProviderKeyword, 674 provider.AddPolicy(key::kDefaultSearchProviderKeyword,
666 Value::CreateStringValue(keyword)); 675 Value::CreateStringValue(keyword));
667 provider.AddPolicy(kPolicyDefaultSearchProviderSuggestURL, 676 provider.AddPolicy(key::kDefaultSearchProviderSuggestURL,
668 Value::CreateStringValue(suggest_url)); 677 Value::CreateStringValue(suggest_url));
669 provider.AddPolicy(kPolicyDefaultSearchProviderIconURL, 678 provider.AddPolicy(key::kDefaultSearchProviderIconURL,
670 Value::CreateStringValue(icon_url)); 679 Value::CreateStringValue(icon_url));
671 provider.AddPolicy(kPolicyDefaultSearchProviderEncodings, encodings); 680 provider.AddPolicy(key::kDefaultSearchProviderEncodings, encodings);
672 681
673 scoped_refptr<ConfigurationPolicyPrefStore> store( 682 scoped_refptr<ConfigurationPolicyPrefStore> store(
674 new ConfigurationPolicyPrefStore(&provider)); 683 new ConfigurationPolicyPrefStore(&provider));
675 684
676 EXPECT_EQ(PrefStore::READ_NO_VALUE, 685 EXPECT_EQ(PrefStore::READ_NO_VALUE,
677 store->GetValue(prefs::kDefaultSearchProviderSearchURL, NULL)); 686 store->GetValue(prefs::kDefaultSearchProviderSearchURL, NULL));
678 EXPECT_EQ(PrefStore::READ_NO_VALUE, 687 EXPECT_EQ(PrefStore::READ_NO_VALUE,
679 store->GetValue(prefs::kDefaultSearchProviderName, NULL)); 688 store->GetValue(prefs::kDefaultSearchProviderName, NULL));
680 EXPECT_EQ(PrefStore::READ_NO_VALUE, 689 EXPECT_EQ(PrefStore::READ_NO_VALUE,
681 store->GetValue(prefs::kDefaultSearchProviderKeyword, NULL)); 690 store->GetValue(prefs::kDefaultSearchProviderKeyword, NULL));
(...skipping 10 matching lines...) Expand all
692 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, Invalid) { 701 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, Invalid) {
693 const char* const bad_search_url = "http://test.com/noSearchTerms"; 702 const char* const bad_search_url = "http://test.com/noSearchTerms";
694 const char* const suggest_url = "http://test.com/sugg?t={searchTerms}"; 703 const char* const suggest_url = "http://test.com/sugg?t={searchTerms}";
695 const char* const icon_url = "http://test.com/icon.jpg"; 704 const char* const icon_url = "http://test.com/icon.jpg";
696 const char* const name = "MyName"; 705 const char* const name = "MyName";
697 const char* const keyword = "MyKeyword"; 706 const char* const keyword = "MyKeyword";
698 ListValue* encodings = new ListValue(); 707 ListValue* encodings = new ListValue();
699 encodings->Append(Value::CreateStringValue("UTF-16")); 708 encodings->Append(Value::CreateStringValue("UTF-16"));
700 encodings->Append(Value::CreateStringValue("UTF-8")); 709 encodings->Append(Value::CreateStringValue("UTF-8"));
701 MockConfigurationPolicyProvider provider; 710 MockConfigurationPolicyProvider provider;
702 provider.AddPolicy(kPolicyDefaultSearchProviderEnabled, 711 provider.AddPolicy(key::kDefaultSearchProviderEnabled,
703 Value::CreateBooleanValue(true)); 712 Value::CreateBooleanValue(true));
704 provider.AddPolicy(kPolicyDefaultSearchProviderSearchURL, 713 provider.AddPolicy(key::kDefaultSearchProviderSearchURL,
705 Value::CreateStringValue(bad_search_url)); 714 Value::CreateStringValue(bad_search_url));
706 provider.AddPolicy(kPolicyDefaultSearchProviderName, 715 provider.AddPolicy(key::kDefaultSearchProviderName,
707 Value::CreateStringValue(name)); 716 Value::CreateStringValue(name));
708 provider.AddPolicy(kPolicyDefaultSearchProviderKeyword, 717 provider.AddPolicy(key::kDefaultSearchProviderKeyword,
709 Value::CreateStringValue(keyword)); 718 Value::CreateStringValue(keyword));
710 provider.AddPolicy(kPolicyDefaultSearchProviderSuggestURL, 719 provider.AddPolicy(key::kDefaultSearchProviderSuggestURL,
711 Value::CreateStringValue(suggest_url)); 720 Value::CreateStringValue(suggest_url));
712 provider.AddPolicy(kPolicyDefaultSearchProviderIconURL, 721 provider.AddPolicy(key::kDefaultSearchProviderIconURL,
713 Value::CreateStringValue(icon_url)); 722 Value::CreateStringValue(icon_url));
714 provider.AddPolicy(kPolicyDefaultSearchProviderEncodings, encodings); 723 provider.AddPolicy(key::kDefaultSearchProviderEncodings, encodings);
715 724
716 scoped_refptr<ConfigurationPolicyPrefStore> store( 725 scoped_refptr<ConfigurationPolicyPrefStore> store(
717 new ConfigurationPolicyPrefStore(&provider)); 726 new ConfigurationPolicyPrefStore(&provider));
718 727
719 EXPECT_EQ(PrefStore::READ_NO_VALUE, 728 EXPECT_EQ(PrefStore::READ_NO_VALUE,
720 store->GetValue(prefs::kDefaultSearchProviderSearchURL, NULL)); 729 store->GetValue(prefs::kDefaultSearchProviderSearchURL, NULL));
721 EXPECT_EQ(PrefStore::READ_NO_VALUE, 730 EXPECT_EQ(PrefStore::READ_NO_VALUE,
722 store->GetValue(prefs::kDefaultSearchProviderName, NULL)); 731 store->GetValue(prefs::kDefaultSearchProviderName, NULL));
723 EXPECT_EQ(PrefStore::READ_NO_VALUE, 732 EXPECT_EQ(PrefStore::READ_NO_VALUE,
724 store->GetValue(prefs::kDefaultSearchProviderKeyword, NULL)); 733 store->GetValue(prefs::kDefaultSearchProviderKeyword, NULL));
(...skipping 12 matching lines...) Expand all
737 746
738 enum ObsoleteIncognitoEnabledValue { 747 enum ObsoleteIncognitoEnabledValue {
739 INCOGNITO_ENABLED_UNKNOWN, 748 INCOGNITO_ENABLED_UNKNOWN,
740 INCOGNITO_ENABLED_TRUE, 749 INCOGNITO_ENABLED_TRUE,
741 INCOGNITO_ENABLED_FALSE 750 INCOGNITO_ENABLED_FALSE
742 }; 751 };
743 752
744 void SetPolicies(ObsoleteIncognitoEnabledValue incognito_enabled, 753 void SetPolicies(ObsoleteIncognitoEnabledValue incognito_enabled,
745 int availability) { 754 int availability) {
746 if (incognito_enabled != INCOGNITO_ENABLED_UNKNOWN) { 755 if (incognito_enabled != INCOGNITO_ENABLED_UNKNOWN) {
747 provider_.AddPolicy(kPolicyIncognitoEnabled, 756 provider_.AddPolicy(key::kIncognitoEnabled,
748 Value::CreateBooleanValue( 757 Value::CreateBooleanValue(
749 incognito_enabled == INCOGNITO_ENABLED_TRUE)); 758 incognito_enabled == INCOGNITO_ENABLED_TRUE));
750 } 759 }
751 if (availability >= 0) { 760 if (availability >= 0) {
752 provider_.AddPolicy(kPolicyIncognitoModeAvailability, 761 provider_.AddPolicy(key::kIncognitoModeAvailability,
753 Value::CreateIntegerValue(availability)); 762 Value::CreateIntegerValue(availability));
754 } 763 }
755 store_ = new ConfigurationPolicyPrefStore(&provider_); 764 store_ = new ConfigurationPolicyPrefStore(&provider_);
756 } 765 }
757 766
758 void VerifyValues(IncognitoModePrefs::Availability availability) { 767 void VerifyValues(IncognitoModePrefs::Availability availability) {
759 const Value* value = NULL; 768 const Value* value = NULL;
760 EXPECT_EQ(PrefStore::READ_OK, 769 EXPECT_EQ(PrefStore::READ_OK,
761 store_->GetValue(prefs::kIncognitoModeAvailability, &value)); 770 store_->GetValue(prefs::kIncognitoModeAvailability, &value));
762 EXPECT_TRUE(base::FundamentalValue(availability).Equals(value)); 771 EXPECT_TRUE(base::FundamentalValue(availability).Equals(value));
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
826 class ConfigurationPolicyPrefStoreSyncTest 835 class ConfigurationPolicyPrefStoreSyncTest
827 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> { 836 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> {
828 }; 837 };
829 838
830 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Default) { 839 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Default) {
831 EXPECT_EQ(PrefStore::READ_NO_VALUE, 840 EXPECT_EQ(PrefStore::READ_NO_VALUE,
832 store_->GetValue(prefs::kSyncManaged, NULL)); 841 store_->GetValue(prefs::kSyncManaged, NULL));
833 } 842 }
834 843
835 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Enabled) { 844 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Enabled) {
836 provider_.AddPolicy(kPolicySyncDisabled, Value::CreateBooleanValue(false)); 845 provider_.AddPolicy(key::kSyncDisabled, Value::CreateBooleanValue(false));
837 store_->OnUpdatePolicy(&provider_); 846 store_->OnUpdatePolicy(&provider_);
838 // Enabling Sync should not set the pref. 847 // Enabling Sync should not set the pref.
839 EXPECT_EQ(PrefStore::READ_NO_VALUE, 848 EXPECT_EQ(PrefStore::READ_NO_VALUE,
840 store_->GetValue(prefs::kSyncManaged, NULL)); 849 store_->GetValue(prefs::kSyncManaged, NULL));
841 } 850 }
842 851
843 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Disabled) { 852 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Disabled) {
844 provider_.AddPolicy(kPolicySyncDisabled, Value::CreateBooleanValue(true)); 853 provider_.AddPolicy(key::kSyncDisabled, Value::CreateBooleanValue(true));
845 store_->OnUpdatePolicy(&provider_); 854 store_->OnUpdatePolicy(&provider_);
846 // Sync should be flagged as managed. 855 // Sync should be flagged as managed.
847 const Value* value = NULL; 856 const Value* value = NULL;
848 EXPECT_EQ(PrefStore::READ_OK, store_->GetValue(prefs::kSyncManaged, &value)); 857 EXPECT_EQ(PrefStore::READ_OK, store_->GetValue(prefs::kSyncManaged, &value));
849 ASSERT_TRUE(value); 858 ASSERT_TRUE(value);
850 bool sync_managed = false; 859 bool sync_managed = false;
851 bool result = value->GetAsBoolean(&sync_managed); 860 bool result = value->GetAsBoolean(&sync_managed);
852 ASSERT_TRUE(result); 861 ASSERT_TRUE(result);
853 EXPECT_TRUE(sync_managed); 862 EXPECT_TRUE(sync_managed);
854 } 863 }
855 864
856 // Test cases for how the DownloadDirectory and AllowFileSelectionDialogs policy 865 // Test cases for how the DownloadDirectory and AllowFileSelectionDialogs policy
857 // influence the PromptForDownload preference. 866 // influence the PromptForDownload preference.
858 class ConfigurationPolicyPrefStorePromptDownloadTest 867 class ConfigurationPolicyPrefStorePromptDownloadTest
859 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> { 868 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> {
860 }; 869 };
861 870
862 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, Default) { 871 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, Default) {
863 EXPECT_EQ(PrefStore::READ_NO_VALUE, 872 EXPECT_EQ(PrefStore::READ_NO_VALUE,
864 store_->GetValue(prefs::kPromptForDownload, NULL)); 873 store_->GetValue(prefs::kPromptForDownload, NULL));
865 } 874 }
866 875
867 #if !defined(OS_CHROMEOS) 876 #if !defined(OS_CHROMEOS)
868 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, SetDownloadDirectory) { 877 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, SetDownloadDirectory) {
869 EXPECT_EQ(PrefStore::READ_NO_VALUE, 878 EXPECT_EQ(PrefStore::READ_NO_VALUE,
870 store_->GetValue(prefs::kPromptForDownload, NULL)); 879 store_->GetValue(prefs::kPromptForDownload, NULL));
871 provider_.AddPolicy(kPolicyDownloadDirectory, Value::CreateStringValue("")); 880 provider_.AddPolicy(key::kDownloadDirectory, Value::CreateStringValue(""));
872 store_->OnUpdatePolicy(&provider_); 881 store_->OnUpdatePolicy(&provider_);
873 882
874 // Setting a DownloadDirectory should disable the PromptForDownload pref. 883 // Setting a DownloadDirectory should disable the PromptForDownload pref.
875 const Value* value = NULL; 884 const Value* value = NULL;
876 EXPECT_EQ(PrefStore::READ_OK, store_->GetValue(prefs::kPromptForDownload, 885 EXPECT_EQ(PrefStore::READ_OK, store_->GetValue(prefs::kPromptForDownload,
877 &value)); 886 &value));
878 ASSERT_TRUE(value); 887 ASSERT_TRUE(value);
879 bool prompt_for_download = true; 888 bool prompt_for_download = true;
880 bool result = value->GetAsBoolean(&prompt_for_download); 889 bool result = value->GetAsBoolean(&prompt_for_download);
881 ASSERT_TRUE(result); 890 ASSERT_TRUE(result);
882 EXPECT_FALSE(prompt_for_download); 891 EXPECT_FALSE(prompt_for_download);
883 } 892 }
884 #endif // !defined(OS_CHROMEOS) 893 #endif // !defined(OS_CHROMEOS)
885 894
886 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, 895 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest,
887 EnableFileSelectionDialogs) { 896 EnableFileSelectionDialogs) {
888 EXPECT_EQ(PrefStore::READ_NO_VALUE, 897 EXPECT_EQ(PrefStore::READ_NO_VALUE,
889 store_->GetValue(prefs::kPromptForDownload, NULL)); 898 store_->GetValue(prefs::kPromptForDownload, NULL));
890 provider_.AddPolicy(kPolicyAllowFileSelectionDialogs, 899 provider_.AddPolicy(key::kAllowFileSelectionDialogs,
891 Value::CreateBooleanValue(true)); 900 Value::CreateBooleanValue(true));
892 store_->OnUpdatePolicy(&provider_); 901 store_->OnUpdatePolicy(&provider_);
893 902
894 // Allowing file-selection dialogs should not influence the PromptForDownload 903 // Allowing file-selection dialogs should not influence the PromptForDownload
895 // pref. 904 // pref.
896 EXPECT_EQ(PrefStore::READ_NO_VALUE, 905 EXPECT_EQ(PrefStore::READ_NO_VALUE,
897 store_->GetValue(prefs::kPromptForDownload, NULL)); 906 store_->GetValue(prefs::kPromptForDownload, NULL));
898 } 907 }
899 908
900 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, 909 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest,
901 DisableFileSelectionDialogs) { 910 DisableFileSelectionDialogs) {
902 EXPECT_EQ(PrefStore::READ_NO_VALUE, 911 EXPECT_EQ(PrefStore::READ_NO_VALUE,
903 store_->GetValue(prefs::kPromptForDownload, NULL)); 912 store_->GetValue(prefs::kPromptForDownload, NULL));
904 provider_.AddPolicy(kPolicyAllowFileSelectionDialogs, 913 provider_.AddPolicy(key::kAllowFileSelectionDialogs,
905 Value::CreateBooleanValue(false)); 914 Value::CreateBooleanValue(false));
906 store_->OnUpdatePolicy(&provider_); 915 store_->OnUpdatePolicy(&provider_);
907 916
908 // Disabling file-selection dialogs should disable the PromptForDownload pref. 917 // Disabling file-selection dialogs should disable the PromptForDownload pref.
909 const Value* value = NULL; 918 const Value* value = NULL;
910 EXPECT_EQ(PrefStore::READ_OK, store_->GetValue(prefs::kPromptForDownload, 919 EXPECT_EQ(PrefStore::READ_OK, store_->GetValue(prefs::kPromptForDownload,
911 &value)); 920 &value));
912 ASSERT_TRUE(value); 921 ASSERT_TRUE(value);
913 bool prompt_for_download = true; 922 bool prompt_for_download = true;
914 bool result = value->GetAsBoolean(&prompt_for_download); 923 bool result = value->GetAsBoolean(&prompt_for_download);
915 ASSERT_TRUE(result); 924 ASSERT_TRUE(result);
916 EXPECT_FALSE(prompt_for_download); 925 EXPECT_FALSE(prompt_for_download);
917 } 926 }
918 927
919 // Test cases for the Autofill policy setting. 928 // Test cases for the Autofill policy setting.
920 class ConfigurationPolicyPrefStoreAutofillTest 929 class ConfigurationPolicyPrefStoreAutofillTest
921 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> { 930 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> {
922 }; 931 };
923 932
924 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Default) { 933 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Default) {
925 EXPECT_EQ(PrefStore::READ_NO_VALUE, 934 EXPECT_EQ(PrefStore::READ_NO_VALUE,
926 store_->GetValue(prefs::kAutofillEnabled, NULL)); 935 store_->GetValue(prefs::kAutofillEnabled, NULL));
927 } 936 }
928 937
929 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Enabled) { 938 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Enabled) {
930 provider_.AddPolicy(kPolicyAutoFillEnabled, Value::CreateBooleanValue(true)); 939 provider_.AddPolicy(key::kAutoFillEnabled, Value::CreateBooleanValue(true));
931 store_->OnUpdatePolicy(&provider_); 940 store_->OnUpdatePolicy(&provider_);
932 // Enabling Autofill should not set the pref. 941 // Enabling Autofill should not set the pref.
933 EXPECT_EQ(PrefStore::READ_NO_VALUE, 942 EXPECT_EQ(PrefStore::READ_NO_VALUE,
934 store_->GetValue(prefs::kAutofillEnabled, NULL)); 943 store_->GetValue(prefs::kAutofillEnabled, NULL));
935 } 944 }
936 945
937 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Disabled) { 946 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Disabled) {
938 provider_.AddPolicy(kPolicyAutoFillEnabled, Value::CreateBooleanValue(false)); 947 provider_.AddPolicy(key::kAutoFillEnabled, Value::CreateBooleanValue(false));
939 store_->OnUpdatePolicy(&provider_); 948 store_->OnUpdatePolicy(&provider_);
940 // Disabling Autofill should switch the pref to managed. 949 // Disabling Autofill should switch the pref to managed.
941 const Value* value = NULL; 950 const Value* value = NULL;
942 EXPECT_EQ(PrefStore::READ_OK, 951 EXPECT_EQ(PrefStore::READ_OK,
943 store_->GetValue(prefs::kAutofillEnabled, &value)); 952 store_->GetValue(prefs::kAutofillEnabled, &value));
944 ASSERT_TRUE(value); 953 ASSERT_TRUE(value);
945 bool autofill_enabled = true; 954 bool autofill_enabled = true;
946 bool result = value->GetAsBoolean(&autofill_enabled); 955 bool result = value->GetAsBoolean(&autofill_enabled);
947 ASSERT_TRUE(result); 956 ASSERT_TRUE(result);
948 EXPECT_FALSE(autofill_enabled); 957 EXPECT_FALSE(autofill_enabled);
(...skipping 13 matching lines...) Expand all
962 971
963 PrefStoreObserverMock observer_; 972 PrefStoreObserverMock observer_;
964 }; 973 };
965 974
966 TEST_F(ConfigurationPolicyPrefStoreRefreshTest, Refresh) { 975 TEST_F(ConfigurationPolicyPrefStoreRefreshTest, Refresh) {
967 const Value* value = NULL; 976 const Value* value = NULL;
968 EXPECT_EQ(PrefStore::READ_NO_VALUE, 977 EXPECT_EQ(PrefStore::READ_NO_VALUE,
969 store_->GetValue(prefs::kHomePage, NULL)); 978 store_->GetValue(prefs::kHomePage, NULL));
970 979
971 EXPECT_CALL(observer_, OnPrefValueChanged(prefs::kHomePage)).Times(1); 980 EXPECT_CALL(observer_, OnPrefValueChanged(prefs::kHomePage)).Times(1);
972 provider_.AddPolicy(kPolicyHomepageLocation, 981 provider_.AddPolicy(key::kHomepageLocation,
973 Value::CreateStringValue("http://www.chromium.org")); 982 Value::CreateStringValue("http://www.chromium.org"));
974 store_->OnUpdatePolicy(&provider_); 983 store_->OnUpdatePolicy(&provider_);
975 Mock::VerifyAndClearExpectations(&observer_); 984 Mock::VerifyAndClearExpectations(&observer_);
976 EXPECT_EQ(PrefStore::READ_OK, 985 EXPECT_EQ(PrefStore::READ_OK,
977 store_->GetValue(prefs::kHomePage, &value)); 986 store_->GetValue(prefs::kHomePage, &value));
978 EXPECT_TRUE(StringValue("http://www.chromium.org").Equals(value)); 987 EXPECT_TRUE(StringValue("http://www.chromium.org").Equals(value));
979 988
980 EXPECT_CALL(observer_, OnPrefValueChanged(_)).Times(0); 989 EXPECT_CALL(observer_, OnPrefValueChanged(_)).Times(0);
981 store_->OnUpdatePolicy(&provider_); 990 store_->OnUpdatePolicy(&provider_);
982 Mock::VerifyAndClearExpectations(&observer_); 991 Mock::VerifyAndClearExpectations(&observer_);
983 992
984 EXPECT_CALL(observer_, OnPrefValueChanged(prefs::kHomePage)).Times(1); 993 EXPECT_CALL(observer_, OnPrefValueChanged(prefs::kHomePage)).Times(1);
985 provider_.RemovePolicy(kPolicyHomepageLocation); 994 provider_.RemovePolicy(key::kHomepageLocation);
986 store_->OnUpdatePolicy(&provider_); 995 store_->OnUpdatePolicy(&provider_);
987 Mock::VerifyAndClearExpectations(&observer_); 996 Mock::VerifyAndClearExpectations(&observer_);
988 EXPECT_EQ(PrefStore::READ_NO_VALUE, 997 EXPECT_EQ(PrefStore::READ_NO_VALUE,
989 store_->GetValue(prefs::kHomePage, NULL)); 998 store_->GetValue(prefs::kHomePage, NULL));
990 } 999 }
991 1000
992 TEST_F(ConfigurationPolicyPrefStoreRefreshTest, Initialization) { 1001 TEST_F(ConfigurationPolicyPrefStoreRefreshTest, Initialization) {
993 EXPECT_FALSE(store_->IsInitializationComplete()); 1002 EXPECT_FALSE(store_->IsInitializationComplete());
994 1003
995 EXPECT_CALL(observer_, OnInitializationCompleted(true)).Times(1); 1004 EXPECT_CALL(observer_, OnInitializationCompleted(true)).Times(1);
996 1005
997 provider_.SetInitializationComplete(true); 1006 provider_.SetInitializationComplete(true);
998 EXPECT_FALSE(store_->IsInitializationComplete()); 1007 EXPECT_FALSE(store_->IsInitializationComplete());
999 1008
1000 store_->OnUpdatePolicy(&provider_); 1009 store_->OnUpdatePolicy(&provider_);
1001 Mock::VerifyAndClearExpectations(&observer_); 1010 Mock::VerifyAndClearExpectations(&observer_);
1002 EXPECT_TRUE(store_->IsInitializationComplete()); 1011 EXPECT_TRUE(store_->IsInitializationComplete());
1003 } 1012 }
1004 1013
1005 // Tests for policies that don't quite fit the previous patterns. 1014 // Tests for policies that don't quite fit the previous patterns.
1006 class ConfigurationPolicyPrefStoreOthersTest 1015 class ConfigurationPolicyPrefStoreOthersTest
1007 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> { 1016 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> {
1008 }; 1017 };
1009 1018
1010 TEST_F(ConfigurationPolicyPrefStoreOthersTest, JavascriptEnabled) { 1019 TEST_F(ConfigurationPolicyPrefStoreOthersTest, JavascriptEnabled) {
1011 // This is a boolean policy, but affects an integer preference. 1020 // This is a boolean policy, but affects an integer preference.
1012 EXPECT_EQ(PrefStore::READ_NO_VALUE, 1021 EXPECT_EQ(PrefStore::READ_NO_VALUE,
1013 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL)); 1022 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL));
1014 provider_.AddPolicy(kPolicyJavascriptEnabled, 1023 provider_.AddPolicy(key::kJavascriptEnabled,
1015 Value::CreateBooleanValue(true)); 1024 Value::CreateBooleanValue(true));
1016 store_->OnUpdatePolicy(&provider_); 1025 store_->OnUpdatePolicy(&provider_);
1017 EXPECT_EQ(PrefStore::READ_NO_VALUE, 1026 EXPECT_EQ(PrefStore::READ_NO_VALUE,
1018 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL)); 1027 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL));
1019 provider_.AddPolicy(kPolicyJavascriptEnabled, 1028 provider_.AddPolicy(key::kJavascriptEnabled,
1020 Value::CreateBooleanValue(false)); 1029 Value::CreateBooleanValue(false));
1021 store_->OnUpdatePolicy(&provider_); 1030 store_->OnUpdatePolicy(&provider_);
1022 const Value* value = NULL; 1031 const Value* value = NULL;
1023 EXPECT_EQ(PrefStore::READ_OK, 1032 EXPECT_EQ(PrefStore::READ_OK,
1024 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, &value)); 1033 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, &value));
1025 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_BLOCK).Equals(value)); 1034 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_BLOCK).Equals(value));
1026 } 1035 }
1027 1036
1028 TEST_F(ConfigurationPolicyPrefStoreOthersTest, JavascriptEnabledOverridden) { 1037 TEST_F(ConfigurationPolicyPrefStoreOthersTest, JavascriptEnabledOverridden) {
1029 EXPECT_EQ(PrefStore::READ_NO_VALUE, 1038 EXPECT_EQ(PrefStore::READ_NO_VALUE,
1030 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL)); 1039 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL));
1031 provider_.AddPolicy(kPolicyJavascriptEnabled, 1040 provider_.AddPolicy(key::kJavascriptEnabled,
1032 Value::CreateBooleanValue(false)); 1041 Value::CreateBooleanValue(false));
1033 store_->OnUpdatePolicy(&provider_); 1042 store_->OnUpdatePolicy(&provider_);
1034 const Value* value = NULL; 1043 const Value* value = NULL;
1035 EXPECT_EQ(PrefStore::READ_OK, 1044 EXPECT_EQ(PrefStore::READ_OK,
1036 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, &value)); 1045 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, &value));
1037 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_BLOCK).Equals(value)); 1046 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_BLOCK).Equals(value));
1038 // DefaultJavaScriptSetting overrides JavascriptEnabled. 1047 // DefaultJavaScriptSetting overrides JavascriptEnabled.
1039 provider_.AddPolicy(kPolicyDefaultJavaScriptSetting, 1048 provider_.AddPolicy(key::kDefaultJavaScriptSetting,
1040 Value::CreateIntegerValue(CONTENT_SETTING_ALLOW)); 1049 Value::CreateIntegerValue(CONTENT_SETTING_ALLOW));
1041 store_->OnUpdatePolicy(&provider_); 1050 store_->OnUpdatePolicy(&provider_);
1042 EXPECT_EQ(PrefStore::READ_OK, 1051 EXPECT_EQ(PrefStore::READ_OK,
1043 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, &value)); 1052 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, &value));
1044 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_ALLOW).Equals(value)); 1053 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_ALLOW).Equals(value));
1045 } 1054 }
1046 1055
1047 } // namespace policy 1056 } // namespace policy
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698