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

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

Issue 5646003: Sanitize PrefStore interface. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix PrefService mock construction in PrefServiceTest to include command line store. Created 10 years 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) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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 <gtest/gtest.h> 5 #include <gtest/gtest.h>
6 6
7 #include "base/file_path.h" 7 #include "base/file_path.h"
8 #include "chrome/browser/policy/configuration_policy_pref_store.h" 8 #include "chrome/browser/policy/configuration_policy_pref_store.h"
9 #include "chrome/browser/policy/mock_configuration_policy_provider.h" 9 #include "chrome/browser/policy/mock_configuration_policy_provider.h"
10 #include "chrome/common/pref_names.h" 10 #include "chrome/common/pref_names.h"
11 #include "chrome/common/chrome_switches.h" 11 #include "chrome/common/chrome_switches.h"
12 12
13 namespace policy { 13 namespace policy {
14 14
15 // Holds a set of test parameters, consisting of pref name and policy type. 15 // Holds a set of test parameters, consisting of pref name and policy type.
16 class TypeAndName { 16 class TypeAndName {
17 public: 17 public:
18 TypeAndName(ConfigurationPolicyType type, const char* pref_name) 18 TypeAndName(ConfigurationPolicyType type, const char* pref_name)
19 : type_(type), 19 : type_(type),
20 pref_name_(pref_name) {} 20 pref_name_(pref_name) {}
21 21
22 ConfigurationPolicyType type() const { return type_; } 22 ConfigurationPolicyType type() const { return type_; }
23 const char* pref_name() const { return pref_name_; } 23 const char* pref_name() const { return pref_name_; }
24 24
25 private: 25 private:
26 ConfigurationPolicyType type_; 26 ConfigurationPolicyType type_;
27 const char* pref_name_; 27 const char* pref_name_;
28 }; 28 };
29 29
30 template<typename TESTBASE>
31 class ConfigurationPolicyPrefStoreTestBase : public TESTBASE {
32 protected:
33 ConfigurationPolicyPrefStoreTestBase()
34 : provider_(),
35 store_(&provider_) {}
36
37 MockConfigurationPolicyProvider provider_;
38 ConfigurationPolicyPrefStore store_;
39 };
40
30 // Test cases for list-valued policy settings. 41 // Test cases for list-valued policy settings.
31 class ConfigurationPolicyPrefStoreListTest 42 class ConfigurationPolicyPrefStoreListTest
32 : public testing::TestWithParam<TypeAndName> { 43 : public ConfigurationPolicyPrefStoreTestBase<
44 testing::TestWithParam<TypeAndName> > {
33 }; 45 };
34 46
35 TEST_P(ConfigurationPolicyPrefStoreListTest, GetDefault) { 47 TEST_P(ConfigurationPolicyPrefStoreListTest, GetDefault) {
36 ConfigurationPolicyPrefStore store(NULL);
37 ListValue* list = NULL; 48 ListValue* list = NULL;
38 EXPECT_FALSE(store.prefs()->GetList(GetParam().pref_name(), &list)); 49 EXPECT_FALSE(store_.prefs()->GetList(GetParam().pref_name(), &list));
39 } 50 }
40 51
41 TEST_P(ConfigurationPolicyPrefStoreListTest, SetValue) { 52 TEST_P(ConfigurationPolicyPrefStoreListTest, SetValue) {
42 ConfigurationPolicyPrefStore store(NULL);
43 ListValue* in_value = new ListValue(); 53 ListValue* in_value = new ListValue();
44 in_value->Append(Value::CreateStringValue("test1")); 54 in_value->Append(Value::CreateStringValue("test1"));
45 in_value->Append(Value::CreateStringValue("test2,")); 55 in_value->Append(Value::CreateStringValue("test2,"));
46 store.Apply(GetParam().type(), in_value); 56 store_.Apply(GetParam().type(), in_value);
47 ListValue* list = NULL; 57 ListValue* list = NULL;
48 EXPECT_TRUE(store.prefs()->GetList(GetParam().pref_name(), &list)); 58 EXPECT_TRUE(store_.prefs()->GetList(GetParam().pref_name(), &list));
49 ListValue::const_iterator current(list->begin()); 59 ListValue::const_iterator current(list->begin());
50 const ListValue::const_iterator end(list->end()); 60 const ListValue::const_iterator end(list->end());
51 ASSERT_TRUE(current != end); 61 ASSERT_TRUE(current != end);
52 std::string value; 62 std::string value;
53 (*current)->GetAsString(&value); 63 (*current)->GetAsString(&value);
54 EXPECT_EQ("test1", value); 64 EXPECT_EQ("test1", value);
55 ++current; 65 ++current;
56 ASSERT_TRUE(current != end); 66 ASSERT_TRUE(current != end);
57 (*current)->GetAsString(&value); 67 (*current)->GetAsString(&value);
58 EXPECT_EQ("test2,", value); 68 EXPECT_EQ("test2,", value);
59 ++current; 69 ++current;
60 EXPECT_TRUE(current == end); 70 EXPECT_TRUE(current == end);
61 } 71 }
62 72
63 INSTANTIATE_TEST_CASE_P( 73 INSTANTIATE_TEST_CASE_P(
64 ConfigurationPolicyPrefStoreListTestInstance, 74 ConfigurationPolicyPrefStoreListTestInstance,
65 ConfigurationPolicyPrefStoreListTest, 75 ConfigurationPolicyPrefStoreListTest,
66 testing::Values( 76 testing::Values(
67 TypeAndName(kPolicyURLsToRestoreOnStartup, 77 TypeAndName(kPolicyURLsToRestoreOnStartup,
68 prefs::kURLsToRestoreOnStartup), 78 prefs::kURLsToRestoreOnStartup),
69 TypeAndName(kPolicyExtensionInstallAllowList, 79 TypeAndName(kPolicyExtensionInstallAllowList,
70 prefs::kExtensionInstallAllowList), 80 prefs::kExtensionInstallAllowList),
71 TypeAndName(kPolicyExtensionInstallDenyList, 81 TypeAndName(kPolicyExtensionInstallDenyList,
72 prefs::kExtensionInstallDenyList), 82 prefs::kExtensionInstallDenyList),
73 TypeAndName(kPolicyDisabledPlugins, 83 TypeAndName(kPolicyDisabledPlugins,
74 prefs::kPluginsPluginsBlacklist))); 84 prefs::kPluginsPluginsBlacklist)));
75 85
76 // Test cases for string-valued policy settings. 86 // Test cases for string-valued policy settings.
77 class ConfigurationPolicyPrefStoreStringTest 87 class ConfigurationPolicyPrefStoreStringTest
78 : public testing::TestWithParam<TypeAndName> { 88 : public ConfigurationPolicyPrefStoreTestBase<
89 testing::TestWithParam<TypeAndName> > {
79 }; 90 };
80 91
81 TEST_P(ConfigurationPolicyPrefStoreStringTest, GetDefault) { 92 TEST_P(ConfigurationPolicyPrefStoreStringTest, GetDefault) {
82 ConfigurationPolicyPrefStore store(NULL);
83 std::string result; 93 std::string result;
84 EXPECT_FALSE(store.prefs()->GetString(GetParam().pref_name(), &result)); 94 EXPECT_FALSE(store_.prefs()->GetString(GetParam().pref_name(), &result));
85 } 95 }
86 96
87 TEST_P(ConfigurationPolicyPrefStoreStringTest, SetValue) { 97 TEST_P(ConfigurationPolicyPrefStoreStringTest, SetValue) {
88 ConfigurationPolicyPrefStore store(NULL); 98 store_.Apply(GetParam().type(),
89 store.Apply(GetParam().type(),
90 Value::CreateStringValue("http://chromium.org")); 99 Value::CreateStringValue("http://chromium.org"));
91 std::string result; 100 std::string result;
92 EXPECT_TRUE(store.prefs()->GetString(GetParam().pref_name(), &result)); 101 EXPECT_TRUE(store_.prefs()->GetString(GetParam().pref_name(), &result));
93 EXPECT_EQ(result, "http://chromium.org"); 102 EXPECT_EQ(result, "http://chromium.org");
94 } 103 }
95 104
96 INSTANTIATE_TEST_CASE_P( 105 INSTANTIATE_TEST_CASE_P(
97 ConfigurationPolicyPrefStoreStringTestInstance, 106 ConfigurationPolicyPrefStoreStringTestInstance,
98 ConfigurationPolicyPrefStoreStringTest, 107 ConfigurationPolicyPrefStoreStringTest,
99 testing::Values( 108 testing::Values(
100 TypeAndName(kPolicyHomePage, 109 TypeAndName(kPolicyHomePage,
101 prefs::kHomePage), 110 prefs::kHomePage),
102 TypeAndName(kPolicyProxyServer, 111 TypeAndName(kPolicyProxyServer,
(...skipping 10 matching lines...) Expand all
113 prefs::kAuthSchemes), 122 prefs::kAuthSchemes),
114 TypeAndName(kPolicyAuthServerWhitelist, 123 TypeAndName(kPolicyAuthServerWhitelist,
115 prefs::kAuthServerWhitelist), 124 prefs::kAuthServerWhitelist),
116 TypeAndName(kPolicyAuthNegotiateDelegateWhitelist, 125 TypeAndName(kPolicyAuthNegotiateDelegateWhitelist,
117 prefs::kAuthNegotiateDelegateWhitelist), 126 prefs::kAuthNegotiateDelegateWhitelist),
118 TypeAndName(kPolicyGSSAPILibraryName, 127 TypeAndName(kPolicyGSSAPILibraryName,
119 prefs::kGSSAPILibraryName))); 128 prefs::kGSSAPILibraryName)));
120 129
121 // Test cases for boolean-valued policy settings. 130 // Test cases for boolean-valued policy settings.
122 class ConfigurationPolicyPrefStoreBooleanTest 131 class ConfigurationPolicyPrefStoreBooleanTest
123 : public testing::TestWithParam<TypeAndName> { 132 : public ConfigurationPolicyPrefStoreTestBase<
133 testing::TestWithParam<TypeAndName> > {
124 }; 134 };
125 135
126 TEST_P(ConfigurationPolicyPrefStoreBooleanTest, GetDefault) { 136 TEST_P(ConfigurationPolicyPrefStoreBooleanTest, GetDefault) {
127 ConfigurationPolicyPrefStore store(NULL);
128 bool result = false; 137 bool result = false;
129 EXPECT_FALSE(store.prefs()->GetBoolean(GetParam().pref_name(), &result)); 138 EXPECT_FALSE(store_.prefs()->GetBoolean(GetParam().pref_name(), &result));
130 } 139 }
131 140
132 TEST_P(ConfigurationPolicyPrefStoreBooleanTest, SetValue) { 141 TEST_P(ConfigurationPolicyPrefStoreBooleanTest, SetValue) {
133 ConfigurationPolicyPrefStore store(NULL); 142 store_.Apply(GetParam().type(), Value::CreateBooleanValue(false));
134 store.Apply(GetParam().type(), Value::CreateBooleanValue(false));
135 bool result = true; 143 bool result = true;
136 EXPECT_TRUE(store.prefs()->GetBoolean(GetParam().pref_name(), &result)); 144 EXPECT_TRUE(store_.prefs()->GetBoolean(GetParam().pref_name(), &result));
137 EXPECT_FALSE(result); 145 EXPECT_FALSE(result);
138 146
139 store.Apply(GetParam().type(), Value::CreateBooleanValue(true)); 147 store_.Apply(GetParam().type(), Value::CreateBooleanValue(true));
140 result = false; 148 result = false;
141 EXPECT_TRUE(store.prefs()->GetBoolean(GetParam().pref_name(), &result)); 149 EXPECT_TRUE(store_.prefs()->GetBoolean(GetParam().pref_name(), &result));
142 EXPECT_TRUE(result); 150 EXPECT_TRUE(result);
143 } 151 }
144 152
145 INSTANTIATE_TEST_CASE_P( 153 INSTANTIATE_TEST_CASE_P(
146 ConfigurationPolicyPrefStoreBooleanTestInstance, 154 ConfigurationPolicyPrefStoreBooleanTestInstance,
147 ConfigurationPolicyPrefStoreBooleanTest, 155 ConfigurationPolicyPrefStoreBooleanTest,
148 testing::Values( 156 testing::Values(
149 TypeAndName(kPolicyHomepageIsNewTabPage, 157 TypeAndName(kPolicyHomepageIsNewTabPage,
150 prefs::kHomePageIsNewTabPage), 158 prefs::kHomePageIsNewTabPage),
151 TypeAndName(kPolicyAlternateErrorPagesEnabled, 159 TypeAndName(kPolicyAlternateErrorPagesEnabled,
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
183 INSTANTIATE_TEST_CASE_P( 191 INSTANTIATE_TEST_CASE_P(
184 CrosConfigurationPolicyPrefStoreBooleanTestInstance, 192 CrosConfigurationPolicyPrefStoreBooleanTestInstance,
185 ConfigurationPolicyPrefStoreBooleanTest, 193 ConfigurationPolicyPrefStoreBooleanTest,
186 testing::Values( 194 testing::Values(
187 TypeAndName(kPolicyChromeOsLockOnIdleSuspend, 195 TypeAndName(kPolicyChromeOsLockOnIdleSuspend,
188 prefs::kEnableScreenLock))); 196 prefs::kEnableScreenLock)));
189 #endif // defined(OS_CHROMEOS) 197 #endif // defined(OS_CHROMEOS)
190 198
191 // Test cases for integer-valued policy settings. 199 // Test cases for integer-valued policy settings.
192 class ConfigurationPolicyPrefStoreIntegerTest 200 class ConfigurationPolicyPrefStoreIntegerTest
193 : public testing::TestWithParam<TypeAndName> { 201 : public ConfigurationPolicyPrefStoreTestBase<
202 testing::TestWithParam<TypeAndName> > {
194 }; 203 };
195 204
196 TEST_P(ConfigurationPolicyPrefStoreIntegerTest, GetDefault) { 205 TEST_P(ConfigurationPolicyPrefStoreIntegerTest, GetDefault) {
197 ConfigurationPolicyPrefStore store(NULL);
198 int result = 0; 206 int result = 0;
199 EXPECT_FALSE(store.prefs()->GetInteger(GetParam().pref_name(), &result)); 207 EXPECT_FALSE(store_.prefs()->GetInteger(GetParam().pref_name(), &result));
200 } 208 }
201 209
202 TEST_P(ConfigurationPolicyPrefStoreIntegerTest, SetValue) { 210 TEST_P(ConfigurationPolicyPrefStoreIntegerTest, SetValue) {
203 ConfigurationPolicyPrefStore store(NULL); 211 store_.Apply(GetParam().type(), Value::CreateIntegerValue(2));
204 store.Apply(GetParam().type(), Value::CreateIntegerValue(2));
205 int result = 0; 212 int result = 0;
206 EXPECT_TRUE(store.prefs()->GetInteger(GetParam().pref_name(), &result)); 213 EXPECT_TRUE(store_.prefs()->GetInteger(GetParam().pref_name(), &result));
207 EXPECT_EQ(result, 2); 214 EXPECT_EQ(result, 2);
208 } 215 }
209 216
210 INSTANTIATE_TEST_CASE_P( 217 INSTANTIATE_TEST_CASE_P(
211 ConfigurationPolicyPrefStoreIntegerTestInstance, 218 ConfigurationPolicyPrefStoreIntegerTestInstance,
212 ConfigurationPolicyPrefStoreIntegerTest, 219 ConfigurationPolicyPrefStoreIntegerTest,
213 testing::Values( 220 testing::Values(
214 TypeAndName(kPolicyRestoreOnStartup, 221 TypeAndName(kPolicyRestoreOnStartup,
215 prefs::kRestoreOnStartup))); 222 prefs::kRestoreOnStartup)));
216 223
217 // Test cases for the proxy policy settings. 224 // Test cases for the proxy policy settings.
218 class ConfigurationPolicyPrefStoreProxyTest : public testing::Test { 225 class ConfigurationPolicyPrefStoreProxyTest : public testing::Test {
219 }; 226 };
220 227
221 TEST_F(ConfigurationPolicyPrefStoreProxyTest, ManualOptions) { 228 TEST_F(ConfigurationPolicyPrefStoreProxyTest, ManualOptions) {
222 scoped_ptr<MockConfigurationPolicyProvider> provider( 229 scoped_ptr<MockConfigurationPolicyProvider> provider(
223 new MockConfigurationPolicyProvider()); 230 new MockConfigurationPolicyProvider());
224 provider->AddPolicy(kPolicyProxyBypassList, 231 provider->AddPolicy(kPolicyProxyBypassList,
225 Value::CreateStringValue("http://chromium.org/override")); 232 Value::CreateStringValue("http://chromium.org/override"));
226 provider->AddPolicy(kPolicyProxyPacUrl, 233 provider->AddPolicy(kPolicyProxyPacUrl,
227 Value::CreateStringValue("http://short.org/proxy.pac")); 234 Value::CreateStringValue("http://short.org/proxy.pac"));
228 provider->AddPolicy(kPolicyProxyServer, 235 provider->AddPolicy(kPolicyProxyServer,
229 Value::CreateStringValue("chromium.org")); 236 Value::CreateStringValue("chromium.org"));
230 provider->AddPolicy(kPolicyProxyServerMode, 237 provider->AddPolicy(kPolicyProxyServerMode,
231 Value::CreateIntegerValue( 238 Value::CreateIntegerValue(
232 kPolicyManuallyConfiguredProxyMode)); 239 kPolicyManuallyConfiguredProxyMode));
233 240
234 ConfigurationPolicyPrefStore store(provider.get()); 241 ConfigurationPolicyPrefStore store(provider.get());
235 EXPECT_EQ(store.ReadPrefs(), PrefStore::PREF_READ_ERROR_NONE);
236 242
237 std::string string_result; 243 std::string string_result;
238 EXPECT_TRUE(store.prefs()->GetString(prefs::kProxyBypassList, 244 EXPECT_TRUE(store.prefs()->GetString(prefs::kProxyBypassList,
239 &string_result)); 245 &string_result));
240 EXPECT_EQ("http://chromium.org/override", string_result); 246 EXPECT_EQ("http://chromium.org/override", string_result);
241 EXPECT_TRUE(store.prefs()->GetString(prefs::kProxyPacUrl, &string_result)); 247 EXPECT_TRUE(store.prefs()->GetString(prefs::kProxyPacUrl, &string_result));
242 EXPECT_EQ("http://short.org/proxy.pac", string_result); 248 EXPECT_EQ("http://short.org/proxy.pac", string_result);
243 EXPECT_TRUE(store.prefs()->GetString(prefs::kProxyServer, &string_result)); 249 EXPECT_TRUE(store.prefs()->GetString(prefs::kProxyServer, &string_result));
244 EXPECT_EQ("chromium.org", string_result); 250 EXPECT_EQ("chromium.org", string_result);
245 bool bool_result; 251 bool bool_result;
246 EXPECT_TRUE(store.prefs()->GetBoolean(prefs::kNoProxyServer, &bool_result)); 252 EXPECT_TRUE(store.prefs()->GetBoolean(prefs::kNoProxyServer, &bool_result));
247 EXPECT_FALSE(bool_result); 253 EXPECT_FALSE(bool_result);
248 EXPECT_TRUE(store.prefs()->GetBoolean(prefs::kProxyAutoDetect, &bool_result)); 254 EXPECT_TRUE(store.prefs()->GetBoolean(prefs::kProxyAutoDetect, &bool_result));
249 EXPECT_FALSE(bool_result); 255 EXPECT_FALSE(bool_result);
250 } 256 }
251 257
252 TEST_F(ConfigurationPolicyPrefStoreProxyTest, NoProxy) { 258 TEST_F(ConfigurationPolicyPrefStoreProxyTest, NoProxy) {
253 scoped_ptr<MockConfigurationPolicyProvider> provider( 259 scoped_ptr<MockConfigurationPolicyProvider> provider(
254 new MockConfigurationPolicyProvider()); 260 new MockConfigurationPolicyProvider());
255 provider->AddPolicy(kPolicyProxyBypassList, 261 provider->AddPolicy(kPolicyProxyBypassList,
256 Value::CreateStringValue("http://chromium.org/override")); 262 Value::CreateStringValue("http://chromium.org/override"));
257 provider->AddPolicy(kPolicyProxyServerMode, 263 provider->AddPolicy(kPolicyProxyServerMode,
258 Value::CreateIntegerValue( 264 Value::CreateIntegerValue(
259 kPolicyNoProxyServerMode)); 265 kPolicyNoProxyServerMode));
260 266
261 ConfigurationPolicyPrefStore store(provider.get()); 267 ConfigurationPolicyPrefStore store(provider.get());
262 EXPECT_EQ(store.ReadPrefs(), PrefStore::PREF_READ_ERROR_NONE);
263 268
264 std::string string_result; 269 std::string string_result;
265 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyBypassList, 270 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyBypassList,
266 &string_result)); 271 &string_result));
267 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyPacUrl, &string_result)); 272 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyPacUrl, &string_result));
268 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyServer, &string_result)); 273 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyServer, &string_result));
269 bool bool_result; 274 bool bool_result;
270 EXPECT_TRUE(store.prefs()->GetBoolean(prefs::kNoProxyServer, &bool_result)); 275 EXPECT_TRUE(store.prefs()->GetBoolean(prefs::kNoProxyServer, &bool_result));
271 EXPECT_TRUE(bool_result); 276 EXPECT_TRUE(bool_result);
272 EXPECT_TRUE(store.prefs()->GetBoolean(prefs::kProxyAutoDetect, &bool_result)); 277 EXPECT_TRUE(store.prefs()->GetBoolean(prefs::kProxyAutoDetect, &bool_result));
273 EXPECT_FALSE(bool_result); 278 EXPECT_FALSE(bool_result);
274 } 279 }
275 280
276 TEST_F(ConfigurationPolicyPrefStoreProxyTest, NoProxyReversedApplyOrder) { 281 TEST_F(ConfigurationPolicyPrefStoreProxyTest, NoProxyReversedApplyOrder) {
277 scoped_ptr<MockConfigurationPolicyProvider> provider( 282 scoped_ptr<MockConfigurationPolicyProvider> provider(
278 new MockConfigurationPolicyProvider()); 283 new MockConfigurationPolicyProvider());
279 provider->AddPolicy(kPolicyProxyServerMode, 284 provider->AddPolicy(kPolicyProxyServerMode,
280 Value::CreateIntegerValue( 285 Value::CreateIntegerValue(
281 kPolicyNoProxyServerMode)); 286 kPolicyNoProxyServerMode));
282 provider->AddPolicy(kPolicyProxyBypassList, 287 provider->AddPolicy(kPolicyProxyBypassList,
283 Value::CreateStringValue("http://chromium.org/override")); 288 Value::CreateStringValue("http://chromium.org/override"));
284 289
285 ConfigurationPolicyPrefStore store(provider.get()); 290 ConfigurationPolicyPrefStore store(provider.get());
286 EXPECT_EQ(store.ReadPrefs(), PrefStore::PREF_READ_ERROR_NONE);
287 291
288 std::string string_result; 292 std::string string_result;
289 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyBypassList, 293 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyBypassList,
290 &string_result)); 294 &string_result));
291 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyPacUrl, &string_result)); 295 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyPacUrl, &string_result));
292 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyServer, &string_result)); 296 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyServer, &string_result));
293 bool bool_result; 297 bool bool_result;
294 EXPECT_TRUE(store.prefs()->GetBoolean(prefs::kNoProxyServer, &bool_result)); 298 EXPECT_TRUE(store.prefs()->GetBoolean(prefs::kNoProxyServer, &bool_result));
295 EXPECT_TRUE(bool_result); 299 EXPECT_TRUE(bool_result);
296 EXPECT_TRUE(store.prefs()->GetBoolean(prefs::kProxyAutoDetect, &bool_result)); 300 EXPECT_TRUE(store.prefs()->GetBoolean(prefs::kProxyAutoDetect, &bool_result));
297 EXPECT_FALSE(bool_result); 301 EXPECT_FALSE(bool_result);
298 } 302 }
299 303
300 TEST_F(ConfigurationPolicyPrefStoreProxyTest, AutoDetect) { 304 TEST_F(ConfigurationPolicyPrefStoreProxyTest, AutoDetect) {
301 scoped_ptr<MockConfigurationPolicyProvider> provider( 305 scoped_ptr<MockConfigurationPolicyProvider> provider(
302 new MockConfigurationPolicyProvider()); 306 new MockConfigurationPolicyProvider());
303 provider->AddPolicy(kPolicyProxyServerMode, 307 provider->AddPolicy(kPolicyProxyServerMode,
304 Value::CreateIntegerValue( 308 Value::CreateIntegerValue(
305 kPolicyAutoDetectProxyMode)); 309 kPolicyAutoDetectProxyMode));
306 310
307 ConfigurationPolicyPrefStore store(provider.get()); 311 ConfigurationPolicyPrefStore store(provider.get());
308 EXPECT_EQ(store.ReadPrefs(), PrefStore::PREF_READ_ERROR_NONE);
309 312
310 std::string string_result; 313 std::string string_result;
311 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyBypassList, 314 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyBypassList,
312 &string_result)); 315 &string_result));
313 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyPacUrl, &string_result)); 316 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyPacUrl, &string_result));
314 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyServer, &string_result)); 317 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyServer, &string_result));
315 bool bool_result; 318 bool bool_result;
316 EXPECT_TRUE(store.prefs()->GetBoolean(prefs::kNoProxyServer, &bool_result)); 319 EXPECT_TRUE(store.prefs()->GetBoolean(prefs::kNoProxyServer, &bool_result));
317 EXPECT_FALSE(bool_result); 320 EXPECT_FALSE(bool_result);
318 EXPECT_TRUE(store.prefs()->GetBoolean(prefs::kProxyAutoDetect, &bool_result)); 321 EXPECT_TRUE(store.prefs()->GetBoolean(prefs::kProxyAutoDetect, &bool_result));
319 EXPECT_TRUE(bool_result); 322 EXPECT_TRUE(bool_result);
320 } 323 }
321 324
322 TEST_F(ConfigurationPolicyPrefStoreProxyTest, UseSystem) { 325 TEST_F(ConfigurationPolicyPrefStoreProxyTest, UseSystem) {
323 scoped_ptr<MockConfigurationPolicyProvider> provider( 326 scoped_ptr<MockConfigurationPolicyProvider> provider(
324 new MockConfigurationPolicyProvider()); 327 new MockConfigurationPolicyProvider());
325 provider->AddPolicy(kPolicyProxyBypassList, 328 provider->AddPolicy(kPolicyProxyBypassList,
326 Value::CreateStringValue("http://chromium.org/override")); 329 Value::CreateStringValue("http://chromium.org/override"));
327 provider->AddPolicy(kPolicyProxyServerMode, 330 provider->AddPolicy(kPolicyProxyServerMode,
328 Value::CreateIntegerValue( 331 Value::CreateIntegerValue(
329 kPolicyUseSystemProxyMode)); 332 kPolicyUseSystemProxyMode));
330 333
331 ConfigurationPolicyPrefStore store(provider.get()); 334 ConfigurationPolicyPrefStore store(provider.get());
332 EXPECT_EQ(store.ReadPrefs(), PrefStore::PREF_READ_ERROR_NONE);
333 335
334 std::string string_result; 336 std::string string_result;
335 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyBypassList, 337 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyBypassList,
336 &string_result)); 338 &string_result));
337 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyPacUrl, &string_result)); 339 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyPacUrl, &string_result));
338 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyServer, &string_result)); 340 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyServer, &string_result));
339 bool bool_result; 341 bool bool_result;
340 EXPECT_FALSE(store.prefs()->GetBoolean(prefs::kNoProxyServer, &bool_result)); 342 EXPECT_FALSE(store.prefs()->GetBoolean(prefs::kNoProxyServer, &bool_result));
341 EXPECT_FALSE(store.prefs()->GetBoolean(prefs::kProxyAutoDetect, 343 EXPECT_FALSE(store.prefs()->GetBoolean(prefs::kProxyAutoDetect,
342 &bool_result)); 344 &bool_result));
343 } 345 }
344 346
345 TEST_F(ConfigurationPolicyPrefStoreProxyTest, UseSystemReversedApplyOrder) { 347 TEST_F(ConfigurationPolicyPrefStoreProxyTest, UseSystemReversedApplyOrder) {
346 scoped_ptr<MockConfigurationPolicyProvider> provider( 348 scoped_ptr<MockConfigurationPolicyProvider> provider(
347 new MockConfigurationPolicyProvider()); 349 new MockConfigurationPolicyProvider());
348 provider->AddPolicy(kPolicyProxyServerMode, 350 provider->AddPolicy(kPolicyProxyServerMode,
349 Value::CreateIntegerValue( 351 Value::CreateIntegerValue(
350 kPolicyUseSystemProxyMode)); 352 kPolicyUseSystemProxyMode));
351 provider->AddPolicy(kPolicyProxyBypassList, 353 provider->AddPolicy(kPolicyProxyBypassList,
352 Value::CreateStringValue("http://chromium.org/override")); 354 Value::CreateStringValue("http://chromium.org/override"));
353 355
354 ConfigurationPolicyPrefStore store(provider.get()); 356 ConfigurationPolicyPrefStore store(provider.get());
355 EXPECT_EQ(store.ReadPrefs(), PrefStore::PREF_READ_ERROR_NONE);
356 357
357 std::string string_result; 358 std::string string_result;
358 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyBypassList, 359 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyBypassList,
359 &string_result)); 360 &string_result));
360 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyPacUrl, &string_result)); 361 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyPacUrl, &string_result));
361 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyServer, &string_result)); 362 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyServer, &string_result));
362 bool bool_result; 363 bool bool_result;
363 EXPECT_FALSE(store.prefs()->GetBoolean(prefs::kNoProxyServer, &bool_result)); 364 EXPECT_FALSE(store.prefs()->GetBoolean(prefs::kNoProxyServer, &bool_result));
364 EXPECT_FALSE(store.prefs()->GetBoolean(prefs::kProxyAutoDetect, 365 EXPECT_FALSE(store.prefs()->GetBoolean(prefs::kProxyAutoDetect,
365 &bool_result)); 366 &bool_result));
366 } 367 }
367 368
368 class ConfigurationPolicyPrefStoreDefaultSearchTest : public testing::Test { 369 class ConfigurationPolicyPrefStoreDefaultSearchTest : public testing::Test {
369 }; 370 };
370 371
371 // Checks that if the policy for default search is valid, i.e. there's a 372 // Checks that if the policy for default search is valid, i.e. there's a
372 // search URL, that all the elements have been given proper defaults. 373 // search URL, that all the elements have been given proper defaults.
373 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, MinimallyDefined) { 374 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, MinimallyDefined) {
374 const char* const search_url = "http://test.com/search?t={searchTerms}"; 375 const char* const search_url = "http://test.com/search?t={searchTerms}";
375 scoped_ptr<MockConfigurationPolicyProvider> provider( 376 scoped_ptr<MockConfigurationPolicyProvider> provider(
376 new MockConfigurationPolicyProvider()); 377 new MockConfigurationPolicyProvider());
377 provider->AddPolicy( 378 provider->AddPolicy(
378 kPolicyDefaultSearchProviderEnabled, 379 kPolicyDefaultSearchProviderEnabled,
379 Value::CreateBooleanValue(true)); 380 Value::CreateBooleanValue(true));
380 provider->AddPolicy( 381 provider->AddPolicy(
381 kPolicyDefaultSearchProviderSearchURL, 382 kPolicyDefaultSearchProviderSearchURL,
382 Value::CreateStringValue(search_url)); 383 Value::CreateStringValue(search_url));
383 384
384 ConfigurationPolicyPrefStore store(provider.get()); 385 ConfigurationPolicyPrefStore store(provider.get());
385
386 EXPECT_EQ(store.ReadPrefs(), PrefStore::PREF_READ_ERROR_NONE);
387 const DictionaryValue* prefs = store.prefs(); 386 const DictionaryValue* prefs = store.prefs();
388 387
389 std::string string_result; 388 std::string string_result;
390 EXPECT_TRUE(prefs->GetString(prefs::kDefaultSearchProviderSearchURL, 389 EXPECT_TRUE(prefs->GetString(prefs::kDefaultSearchProviderSearchURL,
391 &string_result)); 390 &string_result));
392 EXPECT_EQ(string_result, search_url); 391 EXPECT_EQ(string_result, search_url);
393 392
394 EXPECT_TRUE(prefs->GetString(prefs::kDefaultSearchProviderName, 393 EXPECT_TRUE(prefs->GetString(prefs::kDefaultSearchProviderName,
395 &string_result)); 394 &string_result));
396 EXPECT_EQ(string_result, "test.com"); 395 EXPECT_EQ(string_result, "test.com");
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
439 kPolicyDefaultSearchProviderSuggestURL, 438 kPolicyDefaultSearchProviderSuggestURL,
440 Value::CreateStringValue(suggest_url)); 439 Value::CreateStringValue(suggest_url));
441 provider->AddPolicy( 440 provider->AddPolicy(
442 kPolicyDefaultSearchProviderIconURL, 441 kPolicyDefaultSearchProviderIconURL,
443 Value::CreateStringValue(icon_url)); 442 Value::CreateStringValue(icon_url));
444 provider->AddPolicy( 443 provider->AddPolicy(
445 kPolicyDefaultSearchProviderEncodings, 444 kPolicyDefaultSearchProviderEncodings,
446 Value::CreateStringValue(encodings)); 445 Value::CreateStringValue(encodings));
447 446
448 ConfigurationPolicyPrefStore store(provider.get()); 447 ConfigurationPolicyPrefStore store(provider.get());
449 EXPECT_EQ(store.ReadPrefs(), PrefStore::PREF_READ_ERROR_NONE);
450 const DictionaryValue* prefs = store.prefs(); 448 const DictionaryValue* prefs = store.prefs();
451 449
452 std::string result_search_url; 450 std::string result_search_url;
453 EXPECT_TRUE(prefs->GetString(prefs::kDefaultSearchProviderSearchURL, 451 EXPECT_TRUE(prefs->GetString(prefs::kDefaultSearchProviderSearchURL,
454 &result_search_url)); 452 &result_search_url));
455 EXPECT_EQ(result_search_url, search_url); 453 EXPECT_EQ(result_search_url, search_url);
456 454
457 std::string result_name; 455 std::string result_name;
458 EXPECT_TRUE(prefs->GetString(prefs::kDefaultSearchProviderName, 456 EXPECT_TRUE(prefs->GetString(prefs::kDefaultSearchProviderName,
459 &result_name)); 457 &result_name));
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
503 kPolicyDefaultSearchProviderSuggestURL, 501 kPolicyDefaultSearchProviderSuggestURL,
504 Value::CreateStringValue(suggest_url)); 502 Value::CreateStringValue(suggest_url));
505 provider->AddPolicy( 503 provider->AddPolicy(
506 kPolicyDefaultSearchProviderIconURL, 504 kPolicyDefaultSearchProviderIconURL,
507 Value::CreateStringValue(icon_url)); 505 Value::CreateStringValue(icon_url));
508 provider->AddPolicy( 506 provider->AddPolicy(
509 kPolicyDefaultSearchProviderEncodings, 507 kPolicyDefaultSearchProviderEncodings,
510 Value::CreateStringValue(encodings)); 508 Value::CreateStringValue(encodings));
511 509
512 ConfigurationPolicyPrefStore store(provider.get()); 510 ConfigurationPolicyPrefStore store(provider.get());
513 EXPECT_EQ(store.ReadPrefs(), PrefStore::PREF_READ_ERROR_NONE);
514 const DictionaryValue* prefs = store.prefs(); 511 const DictionaryValue* prefs = store.prefs();
515 512
516 std::string string_result; 513 std::string string_result;
517 EXPECT_FALSE(prefs->GetString(prefs::kDefaultSearchProviderSearchURL, 514 EXPECT_FALSE(prefs->GetString(prefs::kDefaultSearchProviderSearchURL,
518 &string_result)); 515 &string_result));
519 EXPECT_FALSE(prefs->GetString(prefs::kDefaultSearchProviderName, 516 EXPECT_FALSE(prefs->GetString(prefs::kDefaultSearchProviderName,
520 &string_result)); 517 &string_result));
521 EXPECT_FALSE(prefs->GetString(prefs::kDefaultSearchProviderKeyword, 518 EXPECT_FALSE(prefs->GetString(prefs::kDefaultSearchProviderKeyword,
522 &string_result)); 519 &string_result));
523 EXPECT_FALSE(prefs->GetString(prefs::kDefaultSearchProviderSuggestURL, 520 EXPECT_FALSE(prefs->GetString(prefs::kDefaultSearchProviderSuggestURL,
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
555 kPolicyDefaultSearchProviderSuggestURL, 552 kPolicyDefaultSearchProviderSuggestURL,
556 Value::CreateStringValue(suggest_url)); 553 Value::CreateStringValue(suggest_url));
557 provider->AddPolicy( 554 provider->AddPolicy(
558 kPolicyDefaultSearchProviderIconURL, 555 kPolicyDefaultSearchProviderIconURL,
559 Value::CreateStringValue(icon_url)); 556 Value::CreateStringValue(icon_url));
560 provider->AddPolicy( 557 provider->AddPolicy(
561 kPolicyDefaultSearchProviderEncodings, 558 kPolicyDefaultSearchProviderEncodings,
562 Value::CreateStringValue(encodings)); 559 Value::CreateStringValue(encodings));
563 560
564 ConfigurationPolicyPrefStore store(provider.get()); 561 ConfigurationPolicyPrefStore store(provider.get());
565 EXPECT_EQ(store.ReadPrefs(), PrefStore::PREF_READ_ERROR_NONE);
566 const DictionaryValue* const prefs = store.prefs(); 562 const DictionaryValue* const prefs = store.prefs();
567 563
568 std::string string_result; 564 std::string string_result;
569 EXPECT_FALSE(prefs->GetString(prefs::kDefaultSearchProviderEnabled, 565 EXPECT_FALSE(prefs->GetString(prefs::kDefaultSearchProviderEnabled,
570 &string_result)); 566 &string_result));
571 EXPECT_FALSE(prefs->GetString(prefs::kDefaultSearchProviderSearchURL, 567 EXPECT_FALSE(prefs->GetString(prefs::kDefaultSearchProviderSearchURL,
572 &string_result)); 568 &string_result));
573 EXPECT_FALSE(prefs->GetString(prefs::kDefaultSearchProviderName, 569 EXPECT_FALSE(prefs->GetString(prefs::kDefaultSearchProviderName,
574 &string_result)); 570 &string_result));
575 EXPECT_FALSE(prefs->GetString(prefs::kDefaultSearchProviderKeyword, 571 EXPECT_FALSE(prefs->GetString(prefs::kDefaultSearchProviderKeyword,
576 &string_result)); 572 &string_result));
577 EXPECT_FALSE(prefs->GetString(prefs::kDefaultSearchProviderSuggestURL, 573 EXPECT_FALSE(prefs->GetString(prefs::kDefaultSearchProviderSuggestURL,
578 &string_result)); 574 &string_result));
579 EXPECT_FALSE(prefs->GetString(prefs::kDefaultSearchProviderIconURL, 575 EXPECT_FALSE(prefs->GetString(prefs::kDefaultSearchProviderIconURL,
580 &string_result)); 576 &string_result));
581 EXPECT_FALSE(prefs->GetString(prefs::kDefaultSearchProviderEncodings, 577 EXPECT_FALSE(prefs->GetString(prefs::kDefaultSearchProviderEncodings,
582 &string_result)); 578 &string_result));
583 } 579 }
584 580
585 // Test cases for the Sync policy setting. 581 // Test cases for the Sync policy setting.
586 class ConfigurationPolicyPrefStoreSyncTest : public testing::Test { 582 class ConfigurationPolicyPrefStoreSyncTest
583 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> {
587 }; 584 };
588 585
589 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Default) { 586 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Default) {
590 ConfigurationPolicyPrefStore store(NULL);
591 bool result = false; 587 bool result = false;
592 EXPECT_FALSE(store.prefs()->GetBoolean(prefs::kSyncManaged, &result)); 588 EXPECT_FALSE(store_.prefs()->GetBoolean(prefs::kSyncManaged, &result));
593 } 589 }
594 590
595 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Enabled) { 591 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Enabled) {
596 ConfigurationPolicyPrefStore store(NULL); 592 store_.Apply(kPolicySyncDisabled, Value::CreateBooleanValue(false));
597 store.Apply(kPolicySyncDisabled, Value::CreateBooleanValue(false));
598 // Enabling Sync should not set the pref. 593 // Enabling Sync should not set the pref.
599 bool result = false; 594 bool result = false;
600 EXPECT_FALSE(store.prefs()->GetBoolean(prefs::kSyncManaged, &result)); 595 EXPECT_FALSE(store_.prefs()->GetBoolean(prefs::kSyncManaged, &result));
601 } 596 }
602 597
603 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Disabled) { 598 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Disabled) {
604 ConfigurationPolicyPrefStore store(NULL); 599 store_.Apply(kPolicySyncDisabled, Value::CreateBooleanValue(true));
605 store.Apply(kPolicySyncDisabled, Value::CreateBooleanValue(true));
606 // Sync should be flagged as managed. 600 // Sync should be flagged as managed.
607 bool result = false; 601 bool result = false;
608 EXPECT_TRUE(store.prefs()->GetBoolean(prefs::kSyncManaged, &result)); 602 EXPECT_TRUE(store_.prefs()->GetBoolean(prefs::kSyncManaged, &result));
609 EXPECT_TRUE(result); 603 EXPECT_TRUE(result);
610 } 604 }
611 605
612 // Test cases for the AutoFill policy setting. 606 // Test cases for the AutoFill policy setting.
613 class ConfigurationPolicyPrefStoreAutoFillTest : public testing::Test { 607 class ConfigurationPolicyPrefStoreAutoFillTest
608 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> {
614 }; 609 };
615 610
616 TEST_F(ConfigurationPolicyPrefStoreAutoFillTest, Default) { 611 TEST_F(ConfigurationPolicyPrefStoreAutoFillTest, Default) {
617 ConfigurationPolicyPrefStore store(NULL);
618 bool result = false; 612 bool result = false;
619 EXPECT_FALSE(store.prefs()->GetBoolean(prefs::kAutoFillEnabled, &result)); 613 EXPECT_FALSE(store_.prefs()->GetBoolean(prefs::kAutoFillEnabled, &result));
620 } 614 }
621 615
622 TEST_F(ConfigurationPolicyPrefStoreAutoFillTest, Enabled) { 616 TEST_F(ConfigurationPolicyPrefStoreAutoFillTest, Enabled) {
623 ConfigurationPolicyPrefStore store(NULL); 617 store_.Apply(kPolicyAutoFillEnabled, Value::CreateBooleanValue(true));
624 store.Apply(kPolicyAutoFillEnabled, Value::CreateBooleanValue(true));
625 // Enabling AutoFill should not set the pref. 618 // Enabling AutoFill should not set the pref.
626 bool result = false; 619 bool result = false;
627 EXPECT_FALSE(store.prefs()->GetBoolean(prefs::kAutoFillEnabled, &result)); 620 EXPECT_FALSE(store_.prefs()->GetBoolean(prefs::kAutoFillEnabled, &result));
628 } 621 }
629 622
630 TEST_F(ConfigurationPolicyPrefStoreAutoFillTest, Disabled) { 623 TEST_F(ConfigurationPolicyPrefStoreAutoFillTest, Disabled) {
631 ConfigurationPolicyPrefStore store(NULL); 624 store_.Apply(kPolicyAutoFillEnabled, Value::CreateBooleanValue(false));
632 store.Apply(kPolicyAutoFillEnabled, Value::CreateBooleanValue(false));
633 // Disabling AutoFill should switch the pref to managed. 625 // Disabling AutoFill should switch the pref to managed.
634 bool result = true; 626 bool result = true;
635 EXPECT_TRUE(store.prefs()->GetBoolean(prefs::kAutoFillEnabled, &result)); 627 EXPECT_TRUE(store_.prefs()->GetBoolean(prefs::kAutoFillEnabled, &result));
636 EXPECT_FALSE(result); 628 EXPECT_FALSE(result);
637 } 629 }
638 630
639 } // namespace policy 631 } // namespace policy
OLDNEW
« no previous file with comments | « chrome/browser/policy/configuration_policy_pref_store.cc ('k') | chrome/browser/prefs/command_line_pref_store.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698