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

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

Issue 9264070: Set prefs::kDefaultSearchProviderEnabled to false according to policy. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Address nits Created 8 years, 10 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
« no previous file with comments | « chrome/browser/policy/configuration_policy_handler.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include <string> 5 #include <string>
6 6
7 #include "base/file_path.h" 7 #include "base/file_path.h"
8 #include "base/memory/ref_counted.h" 8 #include "base/memory/ref_counted.h"
9 #include "chrome/browser/policy/configuration_policy_handler.h" 9 #include "chrome/browser/policy/configuration_policy_handler.h"
10 #include "chrome/browser/policy/configuration_policy_pref_store.h" 10 #include "chrome/browser/policy/configuration_policy_pref_store.h"
11 #include "chrome/browser/policy/mock_configuration_policy_provider.h" 11 #include "chrome/browser/policy/mock_configuration_policy_provider.h"
12 #include "chrome/browser/prefs/incognito_mode_prefs.h" 12 #include "chrome/browser/prefs/incognito_mode_prefs.h"
13 #include "chrome/browser/prefs/proxy_config_dictionary.h" 13 #include "chrome/browser/prefs/proxy_config_dictionary.h"
14 #include "chrome/common/content_settings.h" 14 #include "chrome/common/content_settings.h"
15 #include "chrome/common/pref_names.h" 15 #include "chrome/common/pref_names.h"
16 #include "chrome/common/pref_store_observer_mock.h" 16 #include "chrome/common/pref_store_observer_mock.h"
17 #include "policy/policy_constants.h" 17 #include "policy/policy_constants.h"
18 #include "testing/gmock/include/gmock/gmock.h" 18 #include "testing/gmock/include/gmock/gmock.h"
19 #include "testing/gtest/include/gtest/gtest.h" 19 #include "testing/gtest/include/gtest/gtest.h"
20 20
21 using testing::Mock;
21 using testing::_; 22 using testing::_;
22 using testing::Mock;
23 23
24 namespace policy { 24 namespace policy {
25 25
26 // Holds a set of test parameters, consisting of pref name and policy name. 26 // Holds a set of test parameters, consisting of pref name and policy name.
27 class PolicyAndPref { 27 class PolicyAndPref {
28 public: 28 public:
29 PolicyAndPref(const char* policy_name, const char* pref_name) 29 PolicyAndPref(const char* policy_name, const char* pref_name)
30 : policy_name_(policy_name), 30 : policy_name_(policy_name),
31 pref_name_(pref_name) {} 31 pref_name_(pref_name) {}
32 32
(...skipping 21 matching lines...) Expand all
54 : public ConfigurationPolicyPrefStoreTestBase< 54 : public ConfigurationPolicyPrefStoreTestBase<
55 testing::TestWithParam<PolicyAndPref> > { 55 testing::TestWithParam<PolicyAndPref> > {
56 }; 56 };
57 57
58 TEST_P(ConfigurationPolicyPrefStoreListTest, GetDefault) { 58 TEST_P(ConfigurationPolicyPrefStoreListTest, GetDefault) {
59 EXPECT_EQ(PrefStore::READ_NO_VALUE, 59 EXPECT_EQ(PrefStore::READ_NO_VALUE,
60 store_->GetValue(GetParam().pref_name(), NULL)); 60 store_->GetValue(GetParam().pref_name(), NULL));
61 } 61 }
62 62
63 TEST_P(ConfigurationPolicyPrefStoreListTest, SetValue) { 63 TEST_P(ConfigurationPolicyPrefStoreListTest, SetValue) {
64 ListValue* in_value = new ListValue(); 64 base::ListValue* in_value = new base::ListValue();
65 in_value->Append(Value::CreateStringValue("test1")); 65 in_value->Append(base::Value::CreateStringValue("test1"));
66 in_value->Append(Value::CreateStringValue("test2,")); 66 in_value->Append(base::Value::CreateStringValue("test2,"));
67 provider_.AddMandatoryPolicy(GetParam().policy_name(), in_value); 67 provider_.AddMandatoryPolicy(GetParam().policy_name(), in_value);
68 store_->OnUpdatePolicy(&provider_); 68 store_->OnUpdatePolicy(&provider_);
69 const Value* value = NULL; 69 const base::Value* value = NULL;
70 EXPECT_EQ(PrefStore::READ_OK, 70 EXPECT_EQ(PrefStore::READ_OK,
71 store_->GetValue(GetParam().pref_name(), &value)); 71 store_->GetValue(GetParam().pref_name(), &value));
72 ASSERT_TRUE(value); 72 ASSERT_TRUE(value);
73 EXPECT_TRUE(in_value->Equals(value)); 73 EXPECT_TRUE(in_value->Equals(value));
74 } 74 }
75 75
76 INSTANTIATE_TEST_CASE_P( 76 INSTANTIATE_TEST_CASE_P(
77 ConfigurationPolicyPrefStoreListTestInstance, 77 ConfigurationPolicyPrefStoreListTestInstance,
78 ConfigurationPolicyPrefStoreListTest, 78 ConfigurationPolicyPrefStoreListTest,
79 testing::Values( 79 testing::Values(
(...skipping 24 matching lines...) Expand all
104 testing::TestWithParam<PolicyAndPref> > { 104 testing::TestWithParam<PolicyAndPref> > {
105 }; 105 };
106 106
107 TEST_P(ConfigurationPolicyPrefStoreStringTest, GetDefault) { 107 TEST_P(ConfigurationPolicyPrefStoreStringTest, GetDefault) {
108 EXPECT_EQ(PrefStore::READ_NO_VALUE, 108 EXPECT_EQ(PrefStore::READ_NO_VALUE,
109 store_->GetValue(GetParam().pref_name(), NULL)); 109 store_->GetValue(GetParam().pref_name(), NULL));
110 } 110 }
111 111
112 TEST_P(ConfigurationPolicyPrefStoreStringTest, SetValue) { 112 TEST_P(ConfigurationPolicyPrefStoreStringTest, SetValue) {
113 provider_.AddMandatoryPolicy(GetParam().policy_name(), 113 provider_.AddMandatoryPolicy(GetParam().policy_name(),
114 Value::CreateStringValue("http://chromium.org")); 114 base::Value::CreateStringValue("http://chromium.o rg"));
115 store_->OnUpdatePolicy(&provider_); 115 store_->OnUpdatePolicy(&provider_);
116 const Value* value = NULL; 116 const base::Value* value = NULL;
117 EXPECT_EQ(PrefStore::READ_OK, 117 EXPECT_EQ(PrefStore::READ_OK,
118 store_->GetValue(GetParam().pref_name(), &value)); 118 store_->GetValue(GetParam().pref_name(), &value));
119 ASSERT_TRUE(value); 119 ASSERT_TRUE(value);
120 EXPECT_TRUE(StringValue("http://chromium.org").Equals(value)); 120 EXPECT_TRUE(base::StringValue("http://chromium.org").Equals(value));
121 } 121 }
122 122
123 INSTANTIATE_TEST_CASE_P( 123 INSTANTIATE_TEST_CASE_P(
124 ConfigurationPolicyPrefStoreStringTestInstance, 124 ConfigurationPolicyPrefStoreStringTestInstance,
125 ConfigurationPolicyPrefStoreStringTest, 125 ConfigurationPolicyPrefStoreStringTest,
126 testing::Values( 126 testing::Values(
127 PolicyAndPref(key::kHomepageLocation, 127 PolicyAndPref(key::kHomepageLocation,
128 prefs::kHomePage), 128 prefs::kHomePage),
129 PolicyAndPref(key::kApplicationLocaleValue, 129 PolicyAndPref(key::kApplicationLocaleValue,
130 prefs::kApplicationLocale), 130 prefs::kApplicationLocale),
(...skipping 22 matching lines...) Expand all
153 testing::TestWithParam<PolicyAndPref> > { 153 testing::TestWithParam<PolicyAndPref> > {
154 }; 154 };
155 155
156 TEST_P(ConfigurationPolicyPrefStoreBooleanTest, GetDefault) { 156 TEST_P(ConfigurationPolicyPrefStoreBooleanTest, GetDefault) {
157 EXPECT_EQ(PrefStore::READ_NO_VALUE, 157 EXPECT_EQ(PrefStore::READ_NO_VALUE,
158 store_->GetValue(GetParam().pref_name(), NULL)); 158 store_->GetValue(GetParam().pref_name(), NULL));
159 } 159 }
160 160
161 TEST_P(ConfigurationPolicyPrefStoreBooleanTest, SetValue) { 161 TEST_P(ConfigurationPolicyPrefStoreBooleanTest, SetValue) {
162 provider_.AddMandatoryPolicy(GetParam().policy_name(), 162 provider_.AddMandatoryPolicy(GetParam().policy_name(),
163 Value::CreateBooleanValue(false)); 163 base::Value::CreateBooleanValue(false));
164 store_->OnUpdatePolicy(&provider_); 164 store_->OnUpdatePolicy(&provider_);
165 const Value* value = NULL; 165 const base::Value* value = NULL;
166 EXPECT_EQ(PrefStore::READ_OK, 166 EXPECT_EQ(PrefStore::READ_OK,
167 store_->GetValue(GetParam().pref_name(), &value)); 167 store_->GetValue(GetParam().pref_name(), &value));
168 ASSERT_TRUE(value); 168 ASSERT_TRUE(value);
169 bool boolean_value = true; 169 bool boolean_value = true;
170 bool result = value->GetAsBoolean(&boolean_value); 170 bool result = value->GetAsBoolean(&boolean_value);
171 ASSERT_TRUE(result); 171 ASSERT_TRUE(result);
172 EXPECT_FALSE(boolean_value); 172 EXPECT_FALSE(boolean_value);
173 173
174 provider_.AddMandatoryPolicy(GetParam().policy_name(), 174 provider_.AddMandatoryPolicy(GetParam().policy_name(),
175 Value::CreateBooleanValue(true)); 175 base::Value::CreateBooleanValue(true));
176 store_->OnUpdatePolicy(&provider_); 176 store_->OnUpdatePolicy(&provider_);
177 value = NULL; 177 value = NULL;
178 EXPECT_EQ(PrefStore::READ_OK, 178 EXPECT_EQ(PrefStore::READ_OK,
179 store_->GetValue(GetParam().pref_name(), &value)); 179 store_->GetValue(GetParam().pref_name(), &value));
180 boolean_value = false; 180 boolean_value = false;
181 result = value->GetAsBoolean(&boolean_value); 181 result = value->GetAsBoolean(&boolean_value);
182 ASSERT_TRUE(result); 182 ASSERT_TRUE(result);
183 EXPECT_TRUE(boolean_value); 183 EXPECT_TRUE(boolean_value);
184 } 184 }
185 185
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
281 testing::TestWithParam<PolicyAndPref> > { 281 testing::TestWithParam<PolicyAndPref> > {
282 }; 282 };
283 283
284 TEST_P(ConfigurationPolicyPrefStoreIntegerTest, GetDefault) { 284 TEST_P(ConfigurationPolicyPrefStoreIntegerTest, GetDefault) {
285 EXPECT_EQ(PrefStore::READ_NO_VALUE, 285 EXPECT_EQ(PrefStore::READ_NO_VALUE,
286 store_->GetValue(GetParam().pref_name(), NULL)); 286 store_->GetValue(GetParam().pref_name(), NULL));
287 } 287 }
288 288
289 TEST_P(ConfigurationPolicyPrefStoreIntegerTest, SetValue) { 289 TEST_P(ConfigurationPolicyPrefStoreIntegerTest, SetValue) {
290 provider_.AddMandatoryPolicy(GetParam().policy_name(), 290 provider_.AddMandatoryPolicy(GetParam().policy_name(),
291 Value::CreateIntegerValue(2)); 291 base::Value::CreateIntegerValue(2));
292 store_->OnUpdatePolicy(&provider_); 292 store_->OnUpdatePolicy(&provider_);
293 const Value* value = NULL; 293 const base::Value* value = NULL;
294 EXPECT_EQ(PrefStore::READ_OK, 294 EXPECT_EQ(PrefStore::READ_OK,
295 store_->GetValue(GetParam().pref_name(), &value)); 295 store_->GetValue(GetParam().pref_name(), &value));
296 EXPECT_TRUE(base::FundamentalValue(2).Equals(value)); 296 EXPECT_TRUE(base::FundamentalValue(2).Equals(value));
297 } 297 }
298 298
299 INSTANTIATE_TEST_CASE_P( 299 INSTANTIATE_TEST_CASE_P(
300 ConfigurationPolicyPrefStoreIntegerTestInstance, 300 ConfigurationPolicyPrefStoreIntegerTestInstance,
301 ConfigurationPolicyPrefStoreIntegerTest, 301 ConfigurationPolicyPrefStoreIntegerTest,
302 testing::Values( 302 testing::Values(
303 PolicyAndPref(key::kDefaultCookiesSetting, 303 PolicyAndPref(key::kDefaultCookiesSetting,
(...skipping 22 matching lines...) Expand all
326 // Test cases for the proxy policy settings. 326 // Test cases for the proxy policy settings.
327 class ConfigurationPolicyPrefStoreProxyTest : public testing::Test { 327 class ConfigurationPolicyPrefStoreProxyTest : public testing::Test {
328 protected: 328 protected:
329 // Verify that all the proxy prefs are set to the specified expected values. 329 // Verify that all the proxy prefs are set to the specified expected values.
330 static void VerifyProxyPrefs( 330 static void VerifyProxyPrefs(
331 const ConfigurationPolicyPrefStore& store, 331 const ConfigurationPolicyPrefStore& store,
332 const std::string& expected_proxy_server, 332 const std::string& expected_proxy_server,
333 const std::string& expected_proxy_pac_url, 333 const std::string& expected_proxy_pac_url,
334 const std::string& expected_proxy_bypass_list, 334 const std::string& expected_proxy_bypass_list,
335 const ProxyPrefs::ProxyMode& expected_proxy_mode) { 335 const ProxyPrefs::ProxyMode& expected_proxy_mode) {
336 const Value* value = NULL; 336 const base::Value* value = NULL;
337 ASSERT_EQ(PrefStore::READ_OK, 337 ASSERT_EQ(PrefStore::READ_OK,
338 store.GetValue(prefs::kProxy, &value)); 338 store.GetValue(prefs::kProxy, &value));
339 ASSERT_EQ(Value::TYPE_DICTIONARY, value->GetType()); 339 ASSERT_EQ(base::Value::TYPE_DICTIONARY, value->GetType());
340 ProxyConfigDictionary dict(static_cast<const DictionaryValue*>(value)); 340 ProxyConfigDictionary dict(
341 static_cast<const base::DictionaryValue*>(value));
341 std::string s; 342 std::string s;
342 if (expected_proxy_server.empty()) { 343 if (expected_proxy_server.empty()) {
343 EXPECT_FALSE(dict.GetProxyServer(&s)); 344 EXPECT_FALSE(dict.GetProxyServer(&s));
344 } else { 345 } else {
345 ASSERT_TRUE(dict.GetProxyServer(&s)); 346 ASSERT_TRUE(dict.GetProxyServer(&s));
346 EXPECT_EQ(expected_proxy_server, s); 347 EXPECT_EQ(expected_proxy_server, s);
347 } 348 }
348 if (expected_proxy_pac_url.empty()) { 349 if (expected_proxy_pac_url.empty()) {
349 EXPECT_FALSE(dict.GetPacUrl(&s)); 350 EXPECT_FALSE(dict.GetPacUrl(&s));
350 } else { 351 } else {
351 ASSERT_TRUE(dict.GetPacUrl(&s)); 352 ASSERT_TRUE(dict.GetPacUrl(&s));
352 EXPECT_EQ(expected_proxy_pac_url, s); 353 EXPECT_EQ(expected_proxy_pac_url, s);
353 } 354 }
354 if (expected_proxy_bypass_list.empty()) { 355 if (expected_proxy_bypass_list.empty()) {
355 EXPECT_FALSE(dict.GetBypassList(&s)); 356 EXPECT_FALSE(dict.GetBypassList(&s));
356 } else { 357 } else {
357 ASSERT_TRUE(dict.GetBypassList(&s)); 358 ASSERT_TRUE(dict.GetBypassList(&s));
358 EXPECT_EQ(expected_proxy_bypass_list, s); 359 EXPECT_EQ(expected_proxy_bypass_list, s);
359 } 360 }
360 ProxyPrefs::ProxyMode mode; 361 ProxyPrefs::ProxyMode mode;
361 ASSERT_TRUE(dict.GetMode(&mode)); 362 ASSERT_TRUE(dict.GetMode(&mode));
362 EXPECT_EQ(expected_proxy_mode, mode); 363 EXPECT_EQ(expected_proxy_mode, mode);
363 } 364 }
364 }; 365 };
365 366
366 TEST_F(ConfigurationPolicyPrefStoreProxyTest, ManualOptions) { 367 TEST_F(ConfigurationPolicyPrefStoreProxyTest, ManualOptions) {
367 MockConfigurationPolicyProvider provider; 368 MockConfigurationPolicyProvider provider;
368 provider.AddMandatoryPolicy( 369 provider.AddMandatoryPolicy(
369 key::kProxyBypassList, 370 key::kProxyBypassList,
370 Value::CreateStringValue("http://chromium.org/override")); 371 base::Value::CreateStringValue("http://chromium.org/override"));
371 provider.AddMandatoryPolicy(key::kProxyServer, 372 provider.AddMandatoryPolicy(key::kProxyServer,
372 Value::CreateStringValue("chromium.org")); 373 base::Value::CreateStringValue("chromium.org"));
373 provider.AddMandatoryPolicy( 374 provider.AddMandatoryPolicy(
374 key::kProxyServerMode, 375 key::kProxyServerMode,
375 Value::CreateIntegerValue( 376 base::Value::CreateIntegerValue(
376 ProxyPolicyHandler::PROXY_MANUALLY_CONFIGURED_PROXY_SERVER_MODE)); 377 ProxyPolicyHandler::PROXY_MANUALLY_CONFIGURED_PROXY_SERVER_MODE));
377 378
378 scoped_refptr<ConfigurationPolicyPrefStore> store( 379 scoped_refptr<ConfigurationPolicyPrefStore> store(
379 new ConfigurationPolicyPrefStore(&provider)); 380 new ConfigurationPolicyPrefStore(&provider));
380 VerifyProxyPrefs( 381 VerifyProxyPrefs(
381 *store, "chromium.org", "", "http://chromium.org/override", 382 *store, "chromium.org", "", "http://chromium.org/override",
382 ProxyPrefs::MODE_FIXED_SERVERS); 383 ProxyPrefs::MODE_FIXED_SERVERS);
383 } 384 }
384 385
385 TEST_F(ConfigurationPolicyPrefStoreProxyTest, ManualOptionsReversedApplyOrder) { 386 TEST_F(ConfigurationPolicyPrefStoreProxyTest, ManualOptionsReversedApplyOrder) {
386 MockConfigurationPolicyProvider provider; 387 MockConfigurationPolicyProvider provider;
387 provider.AddMandatoryPolicy( 388 provider.AddMandatoryPolicy(
388 key::kProxyServerMode, 389 key::kProxyServerMode,
389 Value::CreateIntegerValue( 390 base::Value::CreateIntegerValue(
390 ProxyPolicyHandler::PROXY_MANUALLY_CONFIGURED_PROXY_SERVER_MODE)); 391 ProxyPolicyHandler::PROXY_MANUALLY_CONFIGURED_PROXY_SERVER_MODE));
391 provider.AddMandatoryPolicy( 392 provider.AddMandatoryPolicy(
392 key::kProxyBypassList, 393 key::kProxyBypassList,
393 Value::CreateStringValue("http://chromium.org/override")); 394 base::Value::CreateStringValue("http://chromium.org/override"));
394 provider.AddMandatoryPolicy( 395 provider.AddMandatoryPolicy(
395 key::kProxyServer, 396 key::kProxyServer,
396 Value::CreateStringValue("chromium.org")); 397 base::Value::CreateStringValue("chromium.org"));
397 scoped_refptr<ConfigurationPolicyPrefStore> store( 398 scoped_refptr<ConfigurationPolicyPrefStore> store(
398 new ConfigurationPolicyPrefStore(&provider)); 399 new ConfigurationPolicyPrefStore(&provider));
399 VerifyProxyPrefs( 400 VerifyProxyPrefs(
400 *store, "chromium.org", "", "http://chromium.org/override", 401 *store, "chromium.org", "", "http://chromium.org/override",
401 ProxyPrefs::MODE_FIXED_SERVERS); 402 ProxyPrefs::MODE_FIXED_SERVERS);
402 } 403 }
403 404
404 TEST_F(ConfigurationPolicyPrefStoreProxyTest, ManualOptionsInvalid) { 405 TEST_F(ConfigurationPolicyPrefStoreProxyTest, ManualOptionsInvalid) {
405 MockConfigurationPolicyProvider provider; 406 MockConfigurationPolicyProvider provider;
406 provider.AddMandatoryPolicy( 407 provider.AddMandatoryPolicy(
407 key::kProxyServerMode, 408 key::kProxyServerMode,
408 Value::CreateIntegerValue( 409 base::Value::CreateIntegerValue(
409 ProxyPolicyHandler::PROXY_MANUALLY_CONFIGURED_PROXY_SERVER_MODE)); 410 ProxyPolicyHandler::PROXY_MANUALLY_CONFIGURED_PROXY_SERVER_MODE));
410 411
411 scoped_refptr<ConfigurationPolicyPrefStore> store( 412 scoped_refptr<ConfigurationPolicyPrefStore> store(
412 new ConfigurationPolicyPrefStore(&provider)); 413 new ConfigurationPolicyPrefStore(&provider));
413 const Value* value = NULL; 414 const base::Value* value = NULL;
414 EXPECT_EQ(PrefStore::READ_NO_VALUE, store->GetValue(prefs::kProxy, &value)); 415 EXPECT_EQ(PrefStore::READ_NO_VALUE, store->GetValue(prefs::kProxy, &value));
415 } 416 }
416 417
417 418
418 TEST_F(ConfigurationPolicyPrefStoreProxyTest, NoProxyServerMode) { 419 TEST_F(ConfigurationPolicyPrefStoreProxyTest, NoProxyServerMode) {
419 MockConfigurationPolicyProvider provider; 420 MockConfigurationPolicyProvider provider;
420 provider.AddMandatoryPolicy( 421 provider.AddMandatoryPolicy(
421 key::kProxyServerMode, 422 key::kProxyServerMode,
422 Value::CreateIntegerValue(ProxyPolicyHandler::PROXY_SERVER_MODE)); 423 base::Value::CreateIntegerValue(ProxyPolicyHandler::PROXY_SERVER_MODE));
423 424
424 scoped_refptr<ConfigurationPolicyPrefStore> store( 425 scoped_refptr<ConfigurationPolicyPrefStore> store(
425 new ConfigurationPolicyPrefStore(&provider)); 426 new ConfigurationPolicyPrefStore(&provider));
426 VerifyProxyPrefs(*store, "", "", "", ProxyPrefs::MODE_DIRECT); 427 VerifyProxyPrefs(*store, "", "", "", ProxyPrefs::MODE_DIRECT);
427 } 428 }
428 429
429 TEST_F(ConfigurationPolicyPrefStoreProxyTest, NoProxyModeName) { 430 TEST_F(ConfigurationPolicyPrefStoreProxyTest, NoProxyModeName) {
430 MockConfigurationPolicyProvider provider; 431 MockConfigurationPolicyProvider provider;
431 provider.AddMandatoryPolicy( 432 provider.AddMandatoryPolicy(
432 key::kProxyMode, 433 key::kProxyMode,
433 Value::CreateStringValue(ProxyPrefs::kDirectProxyModeName)); 434 base::Value::CreateStringValue(ProxyPrefs::kDirectProxyModeName));
434 435
435 scoped_refptr<ConfigurationPolicyPrefStore> store( 436 scoped_refptr<ConfigurationPolicyPrefStore> store(
436 new ConfigurationPolicyPrefStore(&provider)); 437 new ConfigurationPolicyPrefStore(&provider));
437 VerifyProxyPrefs(*store, "", "", "", ProxyPrefs::MODE_DIRECT); 438 VerifyProxyPrefs(*store, "", "", "", ProxyPrefs::MODE_DIRECT);
438 } 439 }
439 440
440 TEST_F(ConfigurationPolicyPrefStoreProxyTest, AutoDetectProxyServerMode) { 441 TEST_F(ConfigurationPolicyPrefStoreProxyTest, AutoDetectProxyServerMode) {
441 MockConfigurationPolicyProvider provider; 442 MockConfigurationPolicyProvider provider;
442 provider.AddMandatoryPolicy( 443 provider.AddMandatoryPolicy(
443 key::kProxyServerMode, 444 key::kProxyServerMode,
444 Value::CreateIntegerValue( 445 base::Value::CreateIntegerValue(
445 ProxyPolicyHandler::PROXY_AUTO_DETECT_PROXY_SERVER_MODE)); 446 ProxyPolicyHandler::PROXY_AUTO_DETECT_PROXY_SERVER_MODE));
446 447
447 scoped_refptr<ConfigurationPolicyPrefStore> store( 448 scoped_refptr<ConfigurationPolicyPrefStore> store(
448 new ConfigurationPolicyPrefStore(&provider)); 449 new ConfigurationPolicyPrefStore(&provider));
449 VerifyProxyPrefs(*store, "", "", "", ProxyPrefs::MODE_AUTO_DETECT); 450 VerifyProxyPrefs(*store, "", "", "", ProxyPrefs::MODE_AUTO_DETECT);
450 } 451 }
451 452
452 TEST_F(ConfigurationPolicyPrefStoreProxyTest, AutoDetectProxyModeName) { 453 TEST_F(ConfigurationPolicyPrefStoreProxyTest, AutoDetectProxyModeName) {
453 MockConfigurationPolicyProvider provider; 454 MockConfigurationPolicyProvider provider;
454 provider.AddMandatoryPolicy( 455 provider.AddMandatoryPolicy(
455 key::kProxyMode, 456 key::kProxyMode,
456 Value::CreateStringValue(ProxyPrefs::kAutoDetectProxyModeName)); 457 base::Value::CreateStringValue(ProxyPrefs::kAutoDetectProxyModeName));
457 458
458 scoped_refptr<ConfigurationPolicyPrefStore> store( 459 scoped_refptr<ConfigurationPolicyPrefStore> store(
459 new ConfigurationPolicyPrefStore(&provider)); 460 new ConfigurationPolicyPrefStore(&provider));
460 VerifyProxyPrefs(*store, "", "", "", ProxyPrefs::MODE_AUTO_DETECT); 461 VerifyProxyPrefs(*store, "", "", "", ProxyPrefs::MODE_AUTO_DETECT);
461 } 462 }
462 463
463 TEST_F(ConfigurationPolicyPrefStoreProxyTest, PacScriptProxyMode) { 464 TEST_F(ConfigurationPolicyPrefStoreProxyTest, PacScriptProxyMode) {
464 MockConfigurationPolicyProvider provider; 465 MockConfigurationPolicyProvider provider;
465 provider.AddMandatoryPolicy( 466 provider.AddMandatoryPolicy(
466 key::kProxyPacUrl, 467 key::kProxyPacUrl,
467 Value::CreateStringValue("http://short.org/proxy.pac")); 468 base::Value::CreateStringValue("http://short.org/proxy.pac"));
468 provider.AddMandatoryPolicy( 469 provider.AddMandatoryPolicy(
469 key::kProxyMode, 470 key::kProxyMode,
470 Value::CreateStringValue(ProxyPrefs::kPacScriptProxyModeName)); 471 base::Value::CreateStringValue(ProxyPrefs::kPacScriptProxyModeName));
471 472
472 scoped_refptr<ConfigurationPolicyPrefStore> store( 473 scoped_refptr<ConfigurationPolicyPrefStore> store(
473 new ConfigurationPolicyPrefStore(&provider)); 474 new ConfigurationPolicyPrefStore(&provider));
474 VerifyProxyPrefs(*store, "", "http://short.org/proxy.pac", "", 475 VerifyProxyPrefs(*store, "", "http://short.org/proxy.pac", "",
475 ProxyPrefs::MODE_PAC_SCRIPT); 476 ProxyPrefs::MODE_PAC_SCRIPT);
476 } 477 }
477 478
478 TEST_F(ConfigurationPolicyPrefStoreProxyTest, PacScriptProxyModeInvalid) { 479 TEST_F(ConfigurationPolicyPrefStoreProxyTest, PacScriptProxyModeInvalid) {
479 MockConfigurationPolicyProvider provider; 480 MockConfigurationPolicyProvider provider;
480 provider.AddMandatoryPolicy( 481 provider.AddMandatoryPolicy(
481 key::kProxyMode, 482 key::kProxyMode,
482 Value::CreateStringValue(ProxyPrefs::kPacScriptProxyModeName)); 483 base::Value::CreateStringValue(ProxyPrefs::kPacScriptProxyModeName));
483 484
484 scoped_refptr<ConfigurationPolicyPrefStore> store( 485 scoped_refptr<ConfigurationPolicyPrefStore> store(
485 new ConfigurationPolicyPrefStore(&provider)); 486 new ConfigurationPolicyPrefStore(&provider));
486 const Value* value = NULL; 487 const base::Value* value = NULL;
487 EXPECT_EQ(PrefStore::READ_NO_VALUE, store->GetValue(prefs::kProxy, &value)); 488 EXPECT_EQ(PrefStore::READ_NO_VALUE, store->GetValue(prefs::kProxy, &value));
488 } 489 }
489 490
490 // Regression test for http://crbug.com/78016, CPanel returns empty strings 491 // Regression test for http://crbug.com/78016, CPanel returns empty strings
491 // for unset properties. 492 // for unset properties.
492 TEST_F(ConfigurationPolicyPrefStoreProxyTest, PacScriptProxyModeBug78016) { 493 TEST_F(ConfigurationPolicyPrefStoreProxyTest, PacScriptProxyModeBug78016) {
493 MockConfigurationPolicyProvider provider; 494 MockConfigurationPolicyProvider provider;
494 provider.AddMandatoryPolicy(key::kProxyServer, 495 provider.AddMandatoryPolicy(key::kProxyServer,
495 Value::CreateStringValue("")); 496 base::Value::CreateStringValue(""));
496 provider.AddMandatoryPolicy( 497 provider.AddMandatoryPolicy(
497 key::kProxyPacUrl, 498 key::kProxyPacUrl,
498 Value::CreateStringValue("http://short.org/proxy.pac")); 499 base::Value::CreateStringValue("http://short.org/proxy.pac"));
499 provider.AddMandatoryPolicy( 500 provider.AddMandatoryPolicy(
500 key::kProxyMode, 501 key::kProxyMode,
501 Value::CreateStringValue(ProxyPrefs::kPacScriptProxyModeName)); 502 base::Value::CreateStringValue(ProxyPrefs::kPacScriptProxyModeName));
502 503
503 scoped_refptr<ConfigurationPolicyPrefStore> store( 504 scoped_refptr<ConfigurationPolicyPrefStore> store(
504 new ConfigurationPolicyPrefStore(&provider)); 505 new ConfigurationPolicyPrefStore(&provider));
505 VerifyProxyPrefs(*store, "", "http://short.org/proxy.pac", "", 506 VerifyProxyPrefs(*store, "", "http://short.org/proxy.pac", "",
506 ProxyPrefs::MODE_PAC_SCRIPT); 507 ProxyPrefs::MODE_PAC_SCRIPT);
507 } 508 }
508 509
509 TEST_F(ConfigurationPolicyPrefStoreProxyTest, UseSystemProxyServerMode) { 510 TEST_F(ConfigurationPolicyPrefStoreProxyTest, UseSystemProxyServerMode) {
510 MockConfigurationPolicyProvider provider; 511 MockConfigurationPolicyProvider provider;
511 provider.AddMandatoryPolicy( 512 provider.AddMandatoryPolicy(
512 key::kProxyServerMode, 513 key::kProxyServerMode,
513 Value::CreateIntegerValue( 514 base::Value::CreateIntegerValue(
514 ProxyPolicyHandler::PROXY_USE_SYSTEM_PROXY_SERVER_MODE)); 515 ProxyPolicyHandler::PROXY_USE_SYSTEM_PROXY_SERVER_MODE));
515 516
516 scoped_refptr<ConfigurationPolicyPrefStore> store( 517 scoped_refptr<ConfigurationPolicyPrefStore> store(
517 new ConfigurationPolicyPrefStore(&provider)); 518 new ConfigurationPolicyPrefStore(&provider));
518 VerifyProxyPrefs(*store, "", "", "", ProxyPrefs::MODE_SYSTEM); 519 VerifyProxyPrefs(*store, "", "", "", ProxyPrefs::MODE_SYSTEM);
519 } 520 }
520 521
521 TEST_F(ConfigurationPolicyPrefStoreProxyTest, UseSystemProxyMode) { 522 TEST_F(ConfigurationPolicyPrefStoreProxyTest, UseSystemProxyMode) {
522 MockConfigurationPolicyProvider provider; 523 MockConfigurationPolicyProvider provider;
523 provider.AddMandatoryPolicy( 524 provider.AddMandatoryPolicy(
524 key::kProxyMode, 525 key::kProxyMode,
525 Value::CreateStringValue(ProxyPrefs::kSystemProxyModeName)); 526 base::Value::CreateStringValue(ProxyPrefs::kSystemProxyModeName));
526 527
527 scoped_refptr<ConfigurationPolicyPrefStore> store( 528 scoped_refptr<ConfigurationPolicyPrefStore> store(
528 new ConfigurationPolicyPrefStore(&provider)); 529 new ConfigurationPolicyPrefStore(&provider));
529 VerifyProxyPrefs(*store, "", "", "", ProxyPrefs::MODE_SYSTEM); 530 VerifyProxyPrefs(*store, "", "", "", ProxyPrefs::MODE_SYSTEM);
530 } 531 }
531 532
532 TEST_F(ConfigurationPolicyPrefStoreProxyTest, 533 TEST_F(ConfigurationPolicyPrefStoreProxyTest,
533 ProxyModeOverridesProxyServerMode) { 534 ProxyModeOverridesProxyServerMode) {
534 MockConfigurationPolicyProvider provider; 535 MockConfigurationPolicyProvider provider;
535 provider.AddMandatoryPolicy( 536 provider.AddMandatoryPolicy(
536 key::kProxyServerMode, 537 key::kProxyServerMode,
537 Value::CreateIntegerValue(ProxyPolicyHandler::PROXY_SERVER_MODE)); 538 base::Value::CreateIntegerValue(ProxyPolicyHandler::PROXY_SERVER_MODE));
538 provider.AddMandatoryPolicy( 539 provider.AddMandatoryPolicy(
539 key::kProxyMode, 540 key::kProxyMode,
540 Value::CreateStringValue(ProxyPrefs::kAutoDetectProxyModeName)); 541 base::Value::CreateStringValue(ProxyPrefs::kAutoDetectProxyModeName));
541 542
542 scoped_refptr<ConfigurationPolicyPrefStore> store( 543 scoped_refptr<ConfigurationPolicyPrefStore> store(
543 new ConfigurationPolicyPrefStore(&provider)); 544 new ConfigurationPolicyPrefStore(&provider));
544 VerifyProxyPrefs(*store, "", "", "", ProxyPrefs::MODE_AUTO_DETECT); 545 VerifyProxyPrefs(*store, "", "", "", ProxyPrefs::MODE_AUTO_DETECT);
545 } 546 }
546 547
547 TEST_F(ConfigurationPolicyPrefStoreProxyTest, ProxyInvalid) { 548 TEST_F(ConfigurationPolicyPrefStoreProxyTest, ProxyInvalid) {
548 for (int i = 0; i < ProxyPolicyHandler::MODE_COUNT; ++i) { 549 for (int i = 0; i < ProxyPolicyHandler::MODE_COUNT; ++i) {
549 MockConfigurationPolicyProvider provider; 550 MockConfigurationPolicyProvider provider;
550 provider.AddMandatoryPolicy(key::kProxyServerMode, 551 provider.AddMandatoryPolicy(key::kProxyServerMode,
551 Value::CreateIntegerValue(i)); 552 base::Value::CreateIntegerValue(i));
552 // No mode expects all three parameters being set. 553 // No mode expects all three parameters being set.
553 provider.AddMandatoryPolicy( 554 provider.AddMandatoryPolicy(
554 key::kProxyPacUrl, 555 key::kProxyPacUrl,
555 Value::CreateStringValue("http://short.org/proxy.pac")); 556 base::Value::CreateStringValue("http://short.org/proxy.pac"));
556 provider.AddMandatoryPolicy( 557 provider.AddMandatoryPolicy(
557 key::kProxyBypassList, 558 key::kProxyBypassList,
558 Value::CreateStringValue("http://chromium.org/override")); 559 base::Value::CreateStringValue("http://chromium.org/override"));
559 provider.AddMandatoryPolicy(key::kProxyServer, 560 provider.AddMandatoryPolicy(key::kProxyServer,
560 Value::CreateStringValue("chromium.org")); 561 base::Value::CreateStringValue("chromium.org"));
561 562
562 scoped_refptr<ConfigurationPolicyPrefStore> store( 563 scoped_refptr<ConfigurationPolicyPrefStore> store(
563 new ConfigurationPolicyPrefStore(&provider)); 564 new ConfigurationPolicyPrefStore(&provider));
564 const Value* value = NULL; 565 const base::Value* value = NULL;
565 EXPECT_EQ(PrefStore::READ_NO_VALUE, 566 EXPECT_EQ(PrefStore::READ_NO_VALUE,
566 store->GetValue(prefs::kProxy, &value)); 567 store->GetValue(prefs::kProxy, &value));
567 } 568 }
568 } 569 }
569 570
570 class ConfigurationPolicyPrefStoreDefaultSearchTest : public testing::Test { 571 class ConfigurationPolicyPrefStoreDefaultSearchTest : public testing::Test {
571 }; 572 };
572 573
573 // Checks that if the policy for default search is valid, i.e. there's a 574 // Checks that if the policy for default search is valid, i.e. there's a
574 // search URL, that all the elements have been given proper defaults. 575 // search URL, that all the elements have been given proper defaults.
575 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, MinimallyDefined) { 576 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, MinimallyDefined) {
576 const char* const search_url = "http://test.com/search?t={searchTerms}"; 577 const char* const search_url = "http://test.com/search?t={searchTerms}";
577 MockConfigurationPolicyProvider provider; 578 MockConfigurationPolicyProvider provider;
578 provider.AddMandatoryPolicy(key::kDefaultSearchProviderEnabled, 579 provider.AddMandatoryPolicy(key::kDefaultSearchProviderEnabled,
579 Value::CreateBooleanValue(true)); 580 base::Value::CreateBooleanValue(true));
580 provider.AddMandatoryPolicy(key::kDefaultSearchProviderSearchURL, 581 provider.AddMandatoryPolicy(key::kDefaultSearchProviderSearchURL,
581 Value::CreateStringValue(search_url)); 582 base::Value::CreateStringValue(search_url));
582 583
583 scoped_refptr<ConfigurationPolicyPrefStore> store( 584 scoped_refptr<ConfigurationPolicyPrefStore> store(
584 new ConfigurationPolicyPrefStore(&provider)); 585 new ConfigurationPolicyPrefStore(&provider));
585 586
586 const Value* value = NULL; 587 const base::Value* value = NULL;
587 EXPECT_EQ(PrefStore::READ_OK, 588 EXPECT_EQ(PrefStore::READ_OK,
588 store->GetValue(prefs::kDefaultSearchProviderSearchURL, &value)); 589 store->GetValue(prefs::kDefaultSearchProviderSearchURL, &value));
589 EXPECT_TRUE(StringValue(search_url).Equals(value)); 590 EXPECT_TRUE(base::StringValue(search_url).Equals(value));
590 591
591 EXPECT_EQ(PrefStore::READ_OK, 592 EXPECT_EQ(PrefStore::READ_OK,
592 store->GetValue(prefs::kDefaultSearchProviderName, &value)); 593 store->GetValue(prefs::kDefaultSearchProviderName, &value));
593 EXPECT_TRUE(StringValue("test.com").Equals(value)); 594 EXPECT_TRUE(base::StringValue("test.com").Equals(value));
594 595
595 EXPECT_EQ(PrefStore::READ_OK, 596 EXPECT_EQ(PrefStore::READ_OK,
596 store->GetValue(prefs::kDefaultSearchProviderKeyword, &value)); 597 store->GetValue(prefs::kDefaultSearchProviderKeyword, &value));
597 EXPECT_TRUE(StringValue(std::string()).Equals(value)); 598 EXPECT_TRUE(base::StringValue(std::string()).Equals(value));
598 599
599 EXPECT_EQ(PrefStore::READ_OK, 600 EXPECT_EQ(PrefStore::READ_OK,
600 store->GetValue(prefs::kDefaultSearchProviderSuggestURL, &value)); 601 store->GetValue(prefs::kDefaultSearchProviderSuggestURL, &value));
601 EXPECT_TRUE(StringValue(std::string()).Equals(value)); 602 EXPECT_TRUE(base::StringValue(std::string()).Equals(value));
602 603
603 EXPECT_EQ(PrefStore::READ_OK, 604 EXPECT_EQ(PrefStore::READ_OK,
604 store->GetValue(prefs::kDefaultSearchProviderIconURL, &value)); 605 store->GetValue(prefs::kDefaultSearchProviderIconURL, &value));
605 EXPECT_TRUE(StringValue(std::string()).Equals(value)); 606 EXPECT_TRUE(base::StringValue(std::string()).Equals(value));
606 607
607 EXPECT_EQ(PrefStore::READ_OK, 608 EXPECT_EQ(PrefStore::READ_OK,
608 store->GetValue(prefs::kDefaultSearchProviderEncodings, &value)); 609 store->GetValue(prefs::kDefaultSearchProviderEncodings, &value));
609 EXPECT_TRUE(StringValue(std::string()).Equals(value)); 610 EXPECT_TRUE(base::StringValue(std::string()).Equals(value));
610 611
611 EXPECT_EQ(PrefStore::READ_OK, 612 EXPECT_EQ(PrefStore::READ_OK,
612 store->GetValue(prefs::kDefaultSearchProviderInstantURL, &value)); 613 store->GetValue(prefs::kDefaultSearchProviderInstantURL, &value));
613 EXPECT_TRUE(StringValue(std::string()).Equals(value)); 614 EXPECT_TRUE(base::StringValue(std::string()).Equals(value));
614 } 615 }
615 616
616 // Checks that for a fully defined search policy, all elements have been 617 // Checks that for a fully defined search policy, all elements have been
617 // read properly. 618 // read properly.
618 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, FullyDefined) { 619 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, FullyDefined) {
619 const char* const search_url = "http://test.com/search?t={searchTerms}"; 620 const char* const search_url = "http://test.com/search?t={searchTerms}";
620 const char* const suggest_url = "http://test.com/sugg?={searchTerms}"; 621 const char* const suggest_url = "http://test.com/sugg?={searchTerms}";
621 const char* const icon_url = "http://test.com/icon.jpg"; 622 const char* const icon_url = "http://test.com/icon.jpg";
622 const char* const name = "MyName"; 623 const char* const name = "MyName";
623 const char* const keyword = "MyKeyword"; 624 const char* const keyword = "MyKeyword";
624 ListValue* encodings = new ListValue(); 625 base::ListValue* encodings = new base::ListValue();
625 encodings->Append(Value::CreateStringValue("UTF-16")); 626 encodings->Append(base::Value::CreateStringValue("UTF-16"));
626 encodings->Append(Value::CreateStringValue("UTF-8")); 627 encodings->Append(base::Value::CreateStringValue("UTF-8"));
627 MockConfigurationPolicyProvider provider; 628 MockConfigurationPolicyProvider provider;
628 provider.AddMandatoryPolicy(key::kDefaultSearchProviderEnabled, 629 provider.AddMandatoryPolicy(key::kDefaultSearchProviderEnabled,
629 Value::CreateBooleanValue(true)); 630 base::Value::CreateBooleanValue(true));
630 provider.AddMandatoryPolicy(key::kDefaultSearchProviderSearchURL, 631 provider.AddMandatoryPolicy(key::kDefaultSearchProviderSearchURL,
631 Value::CreateStringValue(search_url)); 632 base::Value::CreateStringValue(search_url));
632 provider.AddMandatoryPolicy(key::kDefaultSearchProviderName, 633 provider.AddMandatoryPolicy(key::kDefaultSearchProviderName,
633 Value::CreateStringValue(name)); 634 base::Value::CreateStringValue(name));
634 provider.AddMandatoryPolicy(key::kDefaultSearchProviderKeyword, 635 provider.AddMandatoryPolicy(key::kDefaultSearchProviderKeyword,
635 Value::CreateStringValue(keyword)); 636 base::Value::CreateStringValue(keyword));
636 provider.AddMandatoryPolicy(key::kDefaultSearchProviderSuggestURL, 637 provider.AddMandatoryPolicy(key::kDefaultSearchProviderSuggestURL,
637 Value::CreateStringValue(suggest_url)); 638 base::Value::CreateStringValue(suggest_url));
638 provider.AddMandatoryPolicy(key::kDefaultSearchProviderIconURL, 639 provider.AddMandatoryPolicy(key::kDefaultSearchProviderIconURL,
639 Value::CreateStringValue(icon_url)); 640 base::Value::CreateStringValue(icon_url));
640 provider.AddMandatoryPolicy(key::kDefaultSearchProviderEncodings, encodings); 641 provider.AddMandatoryPolicy(key::kDefaultSearchProviderEncodings, encodings);
641 642
642 scoped_refptr<ConfigurationPolicyPrefStore> store( 643 scoped_refptr<ConfigurationPolicyPrefStore> store(
643 new ConfigurationPolicyPrefStore(&provider)); 644 new ConfigurationPolicyPrefStore(&provider));
644 645
645 const Value* value = NULL; 646 const base::Value* value = NULL;
646 EXPECT_EQ(PrefStore::READ_OK, 647 EXPECT_EQ(PrefStore::READ_OK,
647 store->GetValue(prefs::kDefaultSearchProviderSearchURL, &value)); 648 store->GetValue(prefs::kDefaultSearchProviderSearchURL, &value));
648 EXPECT_TRUE(StringValue(search_url).Equals(value)); 649 EXPECT_TRUE(base::StringValue(search_url).Equals(value));
649 650
650 EXPECT_EQ(PrefStore::READ_OK, 651 EXPECT_EQ(PrefStore::READ_OK,
651 store->GetValue(prefs::kDefaultSearchProviderName, &value)); 652 store->GetValue(prefs::kDefaultSearchProviderName, &value));
652 EXPECT_TRUE(StringValue(name).Equals(value)); 653 EXPECT_TRUE(base::StringValue(name).Equals(value));
653 654
654 EXPECT_EQ(PrefStore::READ_OK, 655 EXPECT_EQ(PrefStore::READ_OK,
655 store->GetValue(prefs::kDefaultSearchProviderKeyword, &value)); 656 store->GetValue(prefs::kDefaultSearchProviderKeyword, &value));
656 EXPECT_TRUE(StringValue(keyword).Equals(value)); 657 EXPECT_TRUE(base::StringValue(keyword).Equals(value));
657 658
658 EXPECT_EQ(PrefStore::READ_OK, 659 EXPECT_EQ(PrefStore::READ_OK,
659 store->GetValue(prefs::kDefaultSearchProviderSuggestURL, &value)); 660 store->GetValue(prefs::kDefaultSearchProviderSuggestURL, &value));
660 EXPECT_TRUE(StringValue(suggest_url).Equals(value)); 661 EXPECT_TRUE(base::StringValue(suggest_url).Equals(value));
661 662
662 EXPECT_EQ(PrefStore::READ_OK, 663 EXPECT_EQ(PrefStore::READ_OK,
663 store->GetValue(prefs::kDefaultSearchProviderIconURL, &value)); 664 store->GetValue(prefs::kDefaultSearchProviderIconURL, &value));
664 EXPECT_TRUE(StringValue(icon_url).Equals(value)); 665 EXPECT_TRUE(base::StringValue(icon_url).Equals(value));
665 666
666 EXPECT_EQ(PrefStore::READ_OK, 667 EXPECT_EQ(PrefStore::READ_OK,
667 store->GetValue(prefs::kDefaultSearchProviderEncodings, &value)); 668 store->GetValue(prefs::kDefaultSearchProviderEncodings, &value));
668 EXPECT_TRUE(StringValue("UTF-16;UTF-8").Equals(value)); 669 EXPECT_TRUE(base::StringValue("UTF-16;UTF-8").Equals(value));
669 } 670 }
670 671
671 // Checks that if the default search policy is missing, that no elements of the 672 // Checks that if the default search policy is missing, that no elements of the
672 // default search policy will be present. 673 // default search policy will be present.
673 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, MissingUrl) { 674 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, MissingUrl) {
674 const char* const suggest_url = "http://test.com/sugg?t={searchTerms}"; 675 const char* const suggest_url = "http://test.com/sugg?t={searchTerms}";
675 const char* const icon_url = "http://test.com/icon.jpg"; 676 const char* const icon_url = "http://test.com/icon.jpg";
676 const char* const name = "MyName"; 677 const char* const name = "MyName";
677 const char* const keyword = "MyKeyword"; 678 const char* const keyword = "MyKeyword";
678 ListValue* encodings = new ListValue(); 679 base::ListValue* encodings = new base::ListValue();
679 encodings->Append(Value::CreateStringValue("UTF-16")); 680 encodings->Append(base::Value::CreateStringValue("UTF-16"));
680 encodings->Append(Value::CreateStringValue("UTF-8")); 681 encodings->Append(base::Value::CreateStringValue("UTF-8"));
681 MockConfigurationPolicyProvider provider; 682 MockConfigurationPolicyProvider provider;
682 provider.AddMandatoryPolicy(key::kDefaultSearchProviderEnabled, 683 provider.AddMandatoryPolicy(key::kDefaultSearchProviderEnabled,
683 Value::CreateBooleanValue(true)); 684 base::Value::CreateBooleanValue(true));
684 provider.AddMandatoryPolicy(key::kDefaultSearchProviderName, 685 provider.AddMandatoryPolicy(key::kDefaultSearchProviderName,
685 Value::CreateStringValue(name)); 686 base::Value::CreateStringValue(name));
686 provider.AddMandatoryPolicy(key::kDefaultSearchProviderKeyword, 687 provider.AddMandatoryPolicy(key::kDefaultSearchProviderKeyword,
687 Value::CreateStringValue(keyword)); 688 base::Value::CreateStringValue(keyword));
688 provider.AddMandatoryPolicy(key::kDefaultSearchProviderSuggestURL, 689 provider.AddMandatoryPolicy(key::kDefaultSearchProviderSuggestURL,
689 Value::CreateStringValue(suggest_url)); 690 base::Value::CreateStringValue(suggest_url));
690 provider.AddMandatoryPolicy(key::kDefaultSearchProviderIconURL, 691 provider.AddMandatoryPolicy(key::kDefaultSearchProviderIconURL,
691 Value::CreateStringValue(icon_url)); 692 base::Value::CreateStringValue(icon_url));
692 provider.AddMandatoryPolicy(key::kDefaultSearchProviderEncodings, encodings); 693 provider.AddMandatoryPolicy(key::kDefaultSearchProviderEncodings, encodings);
693 694
694 scoped_refptr<ConfigurationPolicyPrefStore> store( 695 scoped_refptr<ConfigurationPolicyPrefStore> store(
695 new ConfigurationPolicyPrefStore(&provider)); 696 new ConfigurationPolicyPrefStore(&provider));
696 697
697 EXPECT_EQ(PrefStore::READ_NO_VALUE, 698 EXPECT_EQ(PrefStore::READ_NO_VALUE,
698 store->GetValue(prefs::kDefaultSearchProviderSearchURL, NULL)); 699 store->GetValue(prefs::kDefaultSearchProviderSearchURL, NULL));
699 EXPECT_EQ(PrefStore::READ_NO_VALUE, 700 EXPECT_EQ(PrefStore::READ_NO_VALUE,
700 store->GetValue(prefs::kDefaultSearchProviderName, NULL)); 701 store->GetValue(prefs::kDefaultSearchProviderName, NULL));
701 EXPECT_EQ(PrefStore::READ_NO_VALUE, 702 EXPECT_EQ(PrefStore::READ_NO_VALUE,
702 store->GetValue(prefs::kDefaultSearchProviderKeyword, NULL)); 703 store->GetValue(prefs::kDefaultSearchProviderKeyword, NULL));
703 EXPECT_EQ(PrefStore::READ_NO_VALUE, 704 EXPECT_EQ(PrefStore::READ_NO_VALUE,
704 store->GetValue(prefs::kDefaultSearchProviderSuggestURL, NULL)); 705 store->GetValue(prefs::kDefaultSearchProviderSuggestURL, NULL));
705 EXPECT_EQ(PrefStore::READ_NO_VALUE, 706 EXPECT_EQ(PrefStore::READ_NO_VALUE,
706 store->GetValue(prefs::kDefaultSearchProviderIconURL, NULL)); 707 store->GetValue(prefs::kDefaultSearchProviderIconURL, NULL));
707 EXPECT_EQ(PrefStore::READ_NO_VALUE, 708 EXPECT_EQ(PrefStore::READ_NO_VALUE,
708 store->GetValue(prefs::kDefaultSearchProviderEncodings, NULL)); 709 store->GetValue(prefs::kDefaultSearchProviderEncodings, NULL));
709 } 710 }
710 711
711 // Checks that if the default search policy is invalid, that no elements of the 712 // Checks that if the default search policy is invalid, that no elements of the
712 // default search policy will be present. 713 // default search policy will be present.
713 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, Invalid) { 714 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, Invalid) {
714 const char* const bad_search_url = "http://test.com/noSearchTerms"; 715 const char* const bad_search_url = "http://test.com/noSearchTerms";
715 const char* const suggest_url = "http://test.com/sugg?t={searchTerms}"; 716 const char* const suggest_url = "http://test.com/sugg?t={searchTerms}";
716 const char* const icon_url = "http://test.com/icon.jpg"; 717 const char* const icon_url = "http://test.com/icon.jpg";
717 const char* const name = "MyName"; 718 const char* const name = "MyName";
718 const char* const keyword = "MyKeyword"; 719 const char* const keyword = "MyKeyword";
719 ListValue* encodings = new ListValue(); 720 base::ListValue* encodings = new base::ListValue();
720 encodings->Append(Value::CreateStringValue("UTF-16")); 721 encodings->Append(base::Value::CreateStringValue("UTF-16"));
721 encodings->Append(Value::CreateStringValue("UTF-8")); 722 encodings->Append(base::Value::CreateStringValue("UTF-8"));
722 MockConfigurationPolicyProvider provider; 723 MockConfigurationPolicyProvider provider;
723 provider.AddMandatoryPolicy(key::kDefaultSearchProviderEnabled, 724 provider.AddMandatoryPolicy(key::kDefaultSearchProviderEnabled,
724 Value::CreateBooleanValue(true)); 725 base::Value::CreateBooleanValue(true));
725 provider.AddMandatoryPolicy(key::kDefaultSearchProviderSearchURL, 726 provider.AddMandatoryPolicy(key::kDefaultSearchProviderSearchURL,
726 Value::CreateStringValue(bad_search_url)); 727 base::Value::CreateStringValue(bad_search_url));
727 provider.AddMandatoryPolicy(key::kDefaultSearchProviderName, 728 provider.AddMandatoryPolicy(key::kDefaultSearchProviderName,
728 Value::CreateStringValue(name)); 729 base::Value::CreateStringValue(name));
729 provider.AddMandatoryPolicy(key::kDefaultSearchProviderKeyword, 730 provider.AddMandatoryPolicy(key::kDefaultSearchProviderKeyword,
730 Value::CreateStringValue(keyword)); 731 base::Value::CreateStringValue(keyword));
731 provider.AddMandatoryPolicy(key::kDefaultSearchProviderSuggestURL, 732 provider.AddMandatoryPolicy(key::kDefaultSearchProviderSuggestURL,
732 Value::CreateStringValue(suggest_url)); 733 base::Value::CreateStringValue(suggest_url));
733 provider.AddMandatoryPolicy(key::kDefaultSearchProviderIconURL, 734 provider.AddMandatoryPolicy(key::kDefaultSearchProviderIconURL,
734 Value::CreateStringValue(icon_url)); 735 base::Value::CreateStringValue(icon_url));
735 provider.AddMandatoryPolicy(key::kDefaultSearchProviderEncodings, encodings); 736 provider.AddMandatoryPolicy(key::kDefaultSearchProviderEncodings, encodings);
736 737
737 scoped_refptr<ConfigurationPolicyPrefStore> store( 738 scoped_refptr<ConfigurationPolicyPrefStore> store(
738 new ConfigurationPolicyPrefStore(&provider)); 739 new ConfigurationPolicyPrefStore(&provider));
739 740
740 EXPECT_EQ(PrefStore::READ_NO_VALUE, 741 EXPECT_EQ(PrefStore::READ_NO_VALUE,
741 store->GetValue(prefs::kDefaultSearchProviderSearchURL, NULL)); 742 store->GetValue(prefs::kDefaultSearchProviderSearchURL, NULL));
742 EXPECT_EQ(PrefStore::READ_NO_VALUE, 743 EXPECT_EQ(PrefStore::READ_NO_VALUE,
743 store->GetValue(prefs::kDefaultSearchProviderName, NULL)); 744 store->GetValue(prefs::kDefaultSearchProviderName, NULL));
744 EXPECT_EQ(PrefStore::READ_NO_VALUE, 745 EXPECT_EQ(PrefStore::READ_NO_VALUE,
745 store->GetValue(prefs::kDefaultSearchProviderKeyword, NULL)); 746 store->GetValue(prefs::kDefaultSearchProviderKeyword, NULL));
746 EXPECT_EQ(PrefStore::READ_NO_VALUE, 747 EXPECT_EQ(PrefStore::READ_NO_VALUE,
747 store->GetValue(prefs::kDefaultSearchProviderSuggestURL, NULL)); 748 store->GetValue(prefs::kDefaultSearchProviderSuggestURL, NULL));
748 EXPECT_EQ(PrefStore::READ_NO_VALUE, 749 EXPECT_EQ(PrefStore::READ_NO_VALUE,
749 store->GetValue(prefs::kDefaultSearchProviderIconURL, NULL)); 750 store->GetValue(prefs::kDefaultSearchProviderIconURL, NULL));
750 EXPECT_EQ(PrefStore::READ_NO_VALUE, 751 EXPECT_EQ(PrefStore::READ_NO_VALUE,
751 store->GetValue(prefs::kDefaultSearchProviderEncodings, NULL)); 752 store->GetValue(prefs::kDefaultSearchProviderEncodings, NULL));
752 } 753 }
753 754
755 // Checks that if the default search policy is invalid, that no elements of the
756 // default search policy will be present.
757 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, Disabled) {
758 MockConfigurationPolicyProvider provider;
759 provider.AddMandatoryPolicy(key::kDefaultSearchProviderEnabled,
760 base::Value::CreateBooleanValue(false));
761
762 scoped_refptr<ConfigurationPolicyPrefStore> store(
763 new ConfigurationPolicyPrefStore(&provider));
764
765 const base::Value* value = NULL;
766 EXPECT_EQ(PrefStore::READ_OK,
767 store->GetValue(prefs::kDefaultSearchProviderEnabled, &value));
768 base::FundamentalValue expected_enabled(false);
769 EXPECT_TRUE(base::Value::Equals(&expected_enabled, value));
770 EXPECT_EQ(PrefStore::READ_OK,
771 store->GetValue(prefs::kDefaultSearchProviderSearchURL, &value));
772 base::StringValue expected_search_url("");
773 EXPECT_TRUE(base::Value::Equals(&expected_search_url, value));
774 }
775
754 // Tests Incognito mode availability preference setting. 776 // Tests Incognito mode availability preference setting.
755 class ConfigurationPolicyPrefStoreIncognitoModeTest : public testing::Test { 777 class ConfigurationPolicyPrefStoreIncognitoModeTest : public testing::Test {
756 protected: 778 protected:
757 static const int kIncognitoModeAvailabilityNotSet = -1; 779 static const int kIncognitoModeAvailabilityNotSet = -1;
758 780
759 enum ObsoleteIncognitoEnabledValue { 781 enum ObsoleteIncognitoEnabledValue {
760 INCOGNITO_ENABLED_UNKNOWN, 782 INCOGNITO_ENABLED_UNKNOWN,
761 INCOGNITO_ENABLED_TRUE, 783 INCOGNITO_ENABLED_TRUE,
762 INCOGNITO_ENABLED_FALSE 784 INCOGNITO_ENABLED_FALSE
763 }; 785 };
764 786
765 void SetPolicies(ObsoleteIncognitoEnabledValue incognito_enabled, 787 void SetPolicies(ObsoleteIncognitoEnabledValue incognito_enabled,
766 int availability) { 788 int availability) {
767 if (incognito_enabled != INCOGNITO_ENABLED_UNKNOWN) { 789 if (incognito_enabled != INCOGNITO_ENABLED_UNKNOWN) {
768 provider_.AddMandatoryPolicy( 790 provider_.AddMandatoryPolicy(
769 key::kIncognitoEnabled, 791 key::kIncognitoEnabled,
770 Value::CreateBooleanValue( 792 base::Value::CreateBooleanValue(
771 incognito_enabled == INCOGNITO_ENABLED_TRUE)); 793 incognito_enabled == INCOGNITO_ENABLED_TRUE));
772 } 794 }
773 if (availability >= 0) { 795 if (availability >= 0) {
774 provider_.AddMandatoryPolicy(key::kIncognitoModeAvailability, 796 provider_.AddMandatoryPolicy(
775 Value::CreateIntegerValue(availability)); 797 key::kIncognitoModeAvailability,
798 base::Value::CreateIntegerValue(availability));
776 } 799 }
777 store_ = new ConfigurationPolicyPrefStore(&provider_); 800 store_ = new ConfigurationPolicyPrefStore(&provider_);
778 } 801 }
779 802
780 void VerifyValues(IncognitoModePrefs::Availability availability) { 803 void VerifyValues(IncognitoModePrefs::Availability availability) {
781 const Value* value = NULL; 804 const base::Value* value = NULL;
782 EXPECT_EQ(PrefStore::READ_OK, 805 EXPECT_EQ(PrefStore::READ_OK,
783 store_->GetValue(prefs::kIncognitoModeAvailability, &value)); 806 store_->GetValue(prefs::kIncognitoModeAvailability, &value));
784 EXPECT_TRUE(base::FundamentalValue(availability).Equals(value)); 807 EXPECT_TRUE(base::FundamentalValue(availability).Equals(value));
785 } 808 }
786 809
787 MockConfigurationPolicyProvider provider_; 810 MockConfigurationPolicyProvider provider_;
788 scoped_refptr<ConfigurationPolicyPrefStore> store_; 811 scoped_refptr<ConfigurationPolicyPrefStore> store_;
789 }; 812 };
790 813
791 // The following testcases verify that if the obsolete IncognitoEnabled 814 // The following testcases verify that if the obsolete IncognitoEnabled
(...skipping 13 matching lines...) Expand all
805 828
806 TEST_F(ConfigurationPolicyPrefStoreIncognitoModeTest, 829 TEST_F(ConfigurationPolicyPrefStoreIncognitoModeTest,
807 NoObsoletePolicyAndIncognitoForced) { 830 NoObsoletePolicyAndIncognitoForced) {
808 SetPolicies(INCOGNITO_ENABLED_UNKNOWN, IncognitoModePrefs::FORCED); 831 SetPolicies(INCOGNITO_ENABLED_UNKNOWN, IncognitoModePrefs::FORCED);
809 VerifyValues(IncognitoModePrefs::FORCED); 832 VerifyValues(IncognitoModePrefs::FORCED);
810 } 833 }
811 834
812 TEST_F(ConfigurationPolicyPrefStoreIncognitoModeTest, 835 TEST_F(ConfigurationPolicyPrefStoreIncognitoModeTest,
813 NoObsoletePolicyAndNoIncognitoAvailability) { 836 NoObsoletePolicyAndNoIncognitoAvailability) {
814 SetPolicies(INCOGNITO_ENABLED_UNKNOWN, kIncognitoModeAvailabilityNotSet); 837 SetPolicies(INCOGNITO_ENABLED_UNKNOWN, kIncognitoModeAvailabilityNotSet);
815 const Value* value = NULL; 838 const base::Value* value = NULL;
816 EXPECT_EQ(PrefStore::READ_NO_VALUE, 839 EXPECT_EQ(PrefStore::READ_NO_VALUE,
817 store_->GetValue(prefs::kIncognitoModeAvailability, &value)); 840 store_->GetValue(prefs::kIncognitoModeAvailability, &value));
818 } 841 }
819 842
820 // Checks that if the obsolete IncognitoEnabled policy is set, if sets 843 // Checks that if the obsolete IncognitoEnabled policy is set, if sets
821 // the IncognitoModeAvailability preference only in case 844 // the IncognitoModeAvailability preference only in case
822 // the IncognitoModeAvailability policy is not specified. 845 // the IncognitoModeAvailability policy is not specified.
823 TEST_F(ConfigurationPolicyPrefStoreIncognitoModeTest, 846 TEST_F(ConfigurationPolicyPrefStoreIncognitoModeTest,
824 ObsoletePolicyDoesNotAffectAvailabilityEnabled) { 847 ObsoletePolicyDoesNotAffectAvailabilityEnabled) {
825 SetPolicies(INCOGNITO_ENABLED_FALSE, IncognitoModePrefs::ENABLED); 848 SetPolicies(INCOGNITO_ENABLED_FALSE, IncognitoModePrefs::ENABLED);
(...skipping 23 matching lines...) Expand all
849 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> { 872 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> {
850 }; 873 };
851 874
852 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Default) { 875 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Default) {
853 EXPECT_EQ(PrefStore::READ_NO_VALUE, 876 EXPECT_EQ(PrefStore::READ_NO_VALUE,
854 store_->GetValue(prefs::kSyncManaged, NULL)); 877 store_->GetValue(prefs::kSyncManaged, NULL));
855 } 878 }
856 879
857 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Enabled) { 880 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Enabled) {
858 provider_.AddMandatoryPolicy(key::kSyncDisabled, 881 provider_.AddMandatoryPolicy(key::kSyncDisabled,
859 Value::CreateBooleanValue(false)); 882 base::Value::CreateBooleanValue(false));
860 store_->OnUpdatePolicy(&provider_); 883 store_->OnUpdatePolicy(&provider_);
861 // Enabling Sync should not set the pref. 884 // Enabling Sync should not set the pref.
862 EXPECT_EQ(PrefStore::READ_NO_VALUE, 885 EXPECT_EQ(PrefStore::READ_NO_VALUE,
863 store_->GetValue(prefs::kSyncManaged, NULL)); 886 store_->GetValue(prefs::kSyncManaged, NULL));
864 } 887 }
865 888
866 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Disabled) { 889 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Disabled) {
867 provider_.AddMandatoryPolicy(key::kSyncDisabled, 890 provider_.AddMandatoryPolicy(key::kSyncDisabled,
868 Value::CreateBooleanValue(true)); 891 base::Value::CreateBooleanValue(true));
869 store_->OnUpdatePolicy(&provider_); 892 store_->OnUpdatePolicy(&provider_);
870 // Sync should be flagged as managed. 893 // Sync should be flagged as managed.
871 const Value* value = NULL; 894 const base::Value* value = NULL;
872 EXPECT_EQ(PrefStore::READ_OK, store_->GetValue(prefs::kSyncManaged, &value)); 895 EXPECT_EQ(PrefStore::READ_OK, store_->GetValue(prefs::kSyncManaged, &value));
873 ASSERT_TRUE(value); 896 ASSERT_TRUE(value);
874 bool sync_managed = false; 897 bool sync_managed = false;
875 bool result = value->GetAsBoolean(&sync_managed); 898 bool result = value->GetAsBoolean(&sync_managed);
876 ASSERT_TRUE(result); 899 ASSERT_TRUE(result);
877 EXPECT_TRUE(sync_managed); 900 EXPECT_TRUE(sync_managed);
878 } 901 }
879 902
880 // Test cases for how the DownloadDirectory and AllowFileSelectionDialogs policy 903 // Test cases for how the DownloadDirectory and AllowFileSelectionDialogs policy
881 // influence the PromptForDownload preference. 904 // influence the PromptForDownload preference.
882 class ConfigurationPolicyPrefStorePromptDownloadTest 905 class ConfigurationPolicyPrefStorePromptDownloadTest
883 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> { 906 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> {
884 }; 907 };
885 908
886 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, Default) { 909 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, Default) {
887 EXPECT_EQ(PrefStore::READ_NO_VALUE, 910 EXPECT_EQ(PrefStore::READ_NO_VALUE,
888 store_->GetValue(prefs::kPromptForDownload, NULL)); 911 store_->GetValue(prefs::kPromptForDownload, NULL));
889 } 912 }
890 913
891 #if !defined(OS_CHROMEOS) 914 #if !defined(OS_CHROMEOS)
892 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, SetDownloadDirectory) { 915 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, SetDownloadDirectory) {
893 EXPECT_EQ(PrefStore::READ_NO_VALUE, 916 EXPECT_EQ(PrefStore::READ_NO_VALUE,
894 store_->GetValue(prefs::kPromptForDownload, NULL)); 917 store_->GetValue(prefs::kPromptForDownload, NULL));
895 provider_.AddMandatoryPolicy(key::kDownloadDirectory, 918 provider_.AddMandatoryPolicy(key::kDownloadDirectory,
896 Value::CreateStringValue("")); 919 base::Value::CreateStringValue(""));
897 store_->OnUpdatePolicy(&provider_); 920 store_->OnUpdatePolicy(&provider_);
898 921
899 // Setting a DownloadDirectory should disable the PromptForDownload pref. 922 // Setting a DownloadDirectory should disable the PromptForDownload pref.
900 const Value* value = NULL; 923 const base::Value* value = NULL;
901 EXPECT_EQ(PrefStore::READ_OK, store_->GetValue(prefs::kPromptForDownload, 924 EXPECT_EQ(PrefStore::READ_OK, store_->GetValue(prefs::kPromptForDownload,
902 &value)); 925 &value));
903 ASSERT_TRUE(value); 926 ASSERT_TRUE(value);
904 bool prompt_for_download = true; 927 bool prompt_for_download = true;
905 bool result = value->GetAsBoolean(&prompt_for_download); 928 bool result = value->GetAsBoolean(&prompt_for_download);
906 ASSERT_TRUE(result); 929 ASSERT_TRUE(result);
907 EXPECT_FALSE(prompt_for_download); 930 EXPECT_FALSE(prompt_for_download);
908 } 931 }
909 #endif // !defined(OS_CHROMEOS) 932 #endif // !defined(OS_CHROMEOS)
910 933
911 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, 934 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest,
912 EnableFileSelectionDialogs) { 935 EnableFileSelectionDialogs) {
913 EXPECT_EQ(PrefStore::READ_NO_VALUE, 936 EXPECT_EQ(PrefStore::READ_NO_VALUE,
914 store_->GetValue(prefs::kPromptForDownload, NULL)); 937 store_->GetValue(prefs::kPromptForDownload, NULL));
915 provider_.AddMandatoryPolicy(key::kAllowFileSelectionDialogs, 938 provider_.AddMandatoryPolicy(key::kAllowFileSelectionDialogs,
916 Value::CreateBooleanValue(true)); 939 base::Value::CreateBooleanValue(true));
917 store_->OnUpdatePolicy(&provider_); 940 store_->OnUpdatePolicy(&provider_);
918 941
919 // Allowing file-selection dialogs should not influence the PromptForDownload 942 // Allowing file-selection dialogs should not influence the PromptForDownload
920 // pref. 943 // pref.
921 EXPECT_EQ(PrefStore::READ_NO_VALUE, 944 EXPECT_EQ(PrefStore::READ_NO_VALUE,
922 store_->GetValue(prefs::kPromptForDownload, NULL)); 945 store_->GetValue(prefs::kPromptForDownload, NULL));
923 } 946 }
924 947
925 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, 948 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest,
926 DisableFileSelectionDialogs) { 949 DisableFileSelectionDialogs) {
927 EXPECT_EQ(PrefStore::READ_NO_VALUE, 950 EXPECT_EQ(PrefStore::READ_NO_VALUE,
928 store_->GetValue(prefs::kPromptForDownload, NULL)); 951 store_->GetValue(prefs::kPromptForDownload, NULL));
929 provider_.AddMandatoryPolicy(key::kAllowFileSelectionDialogs, 952 provider_.AddMandatoryPolicy(key::kAllowFileSelectionDialogs,
930 Value::CreateBooleanValue(false)); 953 base::Value::CreateBooleanValue(false));
931 store_->OnUpdatePolicy(&provider_); 954 store_->OnUpdatePolicy(&provider_);
932 955
933 // Disabling file-selection dialogs should disable the PromptForDownload pref. 956 // Disabling file-selection dialogs should disable the PromptForDownload pref.
934 const Value* value = NULL; 957 const base::Value* value = NULL;
935 EXPECT_EQ(PrefStore::READ_OK, store_->GetValue(prefs::kPromptForDownload, 958 EXPECT_EQ(PrefStore::READ_OK, store_->GetValue(prefs::kPromptForDownload,
936 &value)); 959 &value));
937 ASSERT_TRUE(value); 960 ASSERT_TRUE(value);
938 bool prompt_for_download = true; 961 bool prompt_for_download = true;
939 bool result = value->GetAsBoolean(&prompt_for_download); 962 bool result = value->GetAsBoolean(&prompt_for_download);
940 ASSERT_TRUE(result); 963 ASSERT_TRUE(result);
941 EXPECT_FALSE(prompt_for_download); 964 EXPECT_FALSE(prompt_for_download);
942 } 965 }
943 966
944 // Test cases for the Autofill policy setting. 967 // Test cases for the Autofill policy setting.
945 class ConfigurationPolicyPrefStoreAutofillTest 968 class ConfigurationPolicyPrefStoreAutofillTest
946 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> { 969 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> {
947 }; 970 };
948 971
949 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Default) { 972 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Default) {
950 EXPECT_EQ(PrefStore::READ_NO_VALUE, 973 EXPECT_EQ(PrefStore::READ_NO_VALUE,
951 store_->GetValue(prefs::kAutofillEnabled, NULL)); 974 store_->GetValue(prefs::kAutofillEnabled, NULL));
952 } 975 }
953 976
954 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Enabled) { 977 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Enabled) {
955 provider_.AddMandatoryPolicy(key::kAutoFillEnabled, 978 provider_.AddMandatoryPolicy(key::kAutoFillEnabled,
956 Value::CreateBooleanValue(true)); 979 base::Value::CreateBooleanValue(true));
957 store_->OnUpdatePolicy(&provider_); 980 store_->OnUpdatePolicy(&provider_);
958 // Enabling Autofill should not set the pref. 981 // Enabling Autofill should not set the pref.
959 EXPECT_EQ(PrefStore::READ_NO_VALUE, 982 EXPECT_EQ(PrefStore::READ_NO_VALUE,
960 store_->GetValue(prefs::kAutofillEnabled, NULL)); 983 store_->GetValue(prefs::kAutofillEnabled, NULL));
961 } 984 }
962 985
963 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Disabled) { 986 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Disabled) {
964 provider_.AddMandatoryPolicy(key::kAutoFillEnabled, 987 provider_.AddMandatoryPolicy(key::kAutoFillEnabled,
965 Value::CreateBooleanValue(false)); 988 base::Value::CreateBooleanValue(false));
966 store_->OnUpdatePolicy(&provider_); 989 store_->OnUpdatePolicy(&provider_);
967 // Disabling Autofill should switch the pref to managed. 990 // Disabling Autofill should switch the pref to managed.
968 const Value* value = NULL; 991 const base::Value* value = NULL;
969 EXPECT_EQ(PrefStore::READ_OK, 992 EXPECT_EQ(PrefStore::READ_OK,
970 store_->GetValue(prefs::kAutofillEnabled, &value)); 993 store_->GetValue(prefs::kAutofillEnabled, &value));
971 ASSERT_TRUE(value); 994 ASSERT_TRUE(value);
972 bool autofill_enabled = true; 995 bool autofill_enabled = true;
973 bool result = value->GetAsBoolean(&autofill_enabled); 996 bool result = value->GetAsBoolean(&autofill_enabled);
974 ASSERT_TRUE(result); 997 ASSERT_TRUE(result);
975 EXPECT_FALSE(autofill_enabled); 998 EXPECT_FALSE(autofill_enabled);
976 } 999 }
977 1000
978 // Exercises the policy refresh mechanism. 1001 // Exercises the policy refresh mechanism.
979 class ConfigurationPolicyPrefStoreRefreshTest 1002 class ConfigurationPolicyPrefStoreRefreshTest
980 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> { 1003 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> {
981 protected: 1004 protected:
982 virtual void SetUp() { 1005 virtual void SetUp() {
983 store_->AddObserver(&observer_); 1006 store_->AddObserver(&observer_);
984 } 1007 }
985 1008
986 virtual void TearDown() { 1009 virtual void TearDown() {
987 store_->RemoveObserver(&observer_); 1010 store_->RemoveObserver(&observer_);
988 } 1011 }
989 1012
990 PrefStoreObserverMock observer_; 1013 PrefStoreObserverMock observer_;
991 }; 1014 };
992 1015
993 TEST_F(ConfigurationPolicyPrefStoreRefreshTest, Refresh) { 1016 TEST_F(ConfigurationPolicyPrefStoreRefreshTest, Refresh) {
994 const Value* value = NULL; 1017 const base::Value* value = NULL;
995 EXPECT_EQ(PrefStore::READ_NO_VALUE, 1018 EXPECT_EQ(PrefStore::READ_NO_VALUE,
996 store_->GetValue(prefs::kHomePage, NULL)); 1019 store_->GetValue(prefs::kHomePage, NULL));
997 1020
998 EXPECT_CALL(observer_, OnPrefValueChanged(prefs::kHomePage)).Times(1); 1021 EXPECT_CALL(observer_, OnPrefValueChanged(prefs::kHomePage)).Times(1);
999 provider_.AddMandatoryPolicy( 1022 provider_.AddMandatoryPolicy(
1000 key::kHomepageLocation, 1023 key::kHomepageLocation,
1001 Value::CreateStringValue("http://www.chromium.org")); 1024 base::Value::CreateStringValue("http://www.chromium.org"));
1002 store_->OnUpdatePolicy(&provider_); 1025 store_->OnUpdatePolicy(&provider_);
1003 Mock::VerifyAndClearExpectations(&observer_); 1026 Mock::VerifyAndClearExpectations(&observer_);
1004 EXPECT_EQ(PrefStore::READ_OK, 1027 EXPECT_EQ(PrefStore::READ_OK,
1005 store_->GetValue(prefs::kHomePage, &value)); 1028 store_->GetValue(prefs::kHomePage, &value));
1006 EXPECT_TRUE(StringValue("http://www.chromium.org").Equals(value)); 1029 EXPECT_TRUE(base::StringValue("http://www.chromium.org").Equals(value));
1007 1030
1008 EXPECT_CALL(observer_, OnPrefValueChanged(_)).Times(0); 1031 EXPECT_CALL(observer_, OnPrefValueChanged(_)).Times(0);
1009 store_->OnUpdatePolicy(&provider_); 1032 store_->OnUpdatePolicy(&provider_);
1010 Mock::VerifyAndClearExpectations(&observer_); 1033 Mock::VerifyAndClearExpectations(&observer_);
1011 1034
1012 EXPECT_CALL(observer_, OnPrefValueChanged(prefs::kHomePage)).Times(1); 1035 EXPECT_CALL(observer_, OnPrefValueChanged(prefs::kHomePage)).Times(1);
1013 provider_.RemovePolicy(key::kHomepageLocation); 1036 provider_.RemovePolicy(key::kHomepageLocation);
1014 store_->OnUpdatePolicy(&provider_); 1037 store_->OnUpdatePolicy(&provider_);
1015 Mock::VerifyAndClearExpectations(&observer_); 1038 Mock::VerifyAndClearExpectations(&observer_);
1016 EXPECT_EQ(PrefStore::READ_NO_VALUE, 1039 EXPECT_EQ(PrefStore::READ_NO_VALUE,
(...skipping 16 matching lines...) Expand all
1033 // Tests for policies that don't quite fit the previous patterns. 1056 // Tests for policies that don't quite fit the previous patterns.
1034 class ConfigurationPolicyPrefStoreOthersTest 1057 class ConfigurationPolicyPrefStoreOthersTest
1035 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> { 1058 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> {
1036 }; 1059 };
1037 1060
1038 TEST_F(ConfigurationPolicyPrefStoreOthersTest, JavascriptEnabled) { 1061 TEST_F(ConfigurationPolicyPrefStoreOthersTest, JavascriptEnabled) {
1039 // This is a boolean policy, but affects an integer preference. 1062 // This is a boolean policy, but affects an integer preference.
1040 EXPECT_EQ(PrefStore::READ_NO_VALUE, 1063 EXPECT_EQ(PrefStore::READ_NO_VALUE,
1041 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL)); 1064 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL));
1042 provider_.AddMandatoryPolicy(key::kJavascriptEnabled, 1065 provider_.AddMandatoryPolicy(key::kJavascriptEnabled,
1043 Value::CreateBooleanValue(true)); 1066 base::Value::CreateBooleanValue(true));
1044 store_->OnUpdatePolicy(&provider_); 1067 store_->OnUpdatePolicy(&provider_);
1045 EXPECT_EQ(PrefStore::READ_NO_VALUE, 1068 EXPECT_EQ(PrefStore::READ_NO_VALUE,
1046 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL)); 1069 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL));
1047 provider_.AddMandatoryPolicy(key::kJavascriptEnabled, 1070 provider_.AddMandatoryPolicy(key::kJavascriptEnabled,
1048 Value::CreateBooleanValue(false)); 1071 base::Value::CreateBooleanValue(false));
1049 store_->OnUpdatePolicy(&provider_); 1072 store_->OnUpdatePolicy(&provider_);
1050 const Value* value = NULL; 1073 const base::Value* value = NULL;
1051 EXPECT_EQ(PrefStore::READ_OK, 1074 EXPECT_EQ(PrefStore::READ_OK,
1052 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, &value)); 1075 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, &value));
1053 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_BLOCK).Equals(value)); 1076 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_BLOCK).Equals(value));
1054 } 1077 }
1055 1078
1056 TEST_F(ConfigurationPolicyPrefStoreOthersTest, JavascriptEnabledOverridden) { 1079 TEST_F(ConfigurationPolicyPrefStoreOthersTest, JavascriptEnabledOverridden) {
1057 EXPECT_EQ(PrefStore::READ_NO_VALUE, 1080 EXPECT_EQ(PrefStore::READ_NO_VALUE,
1058 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL)); 1081 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL));
1059 provider_.AddMandatoryPolicy(key::kJavascriptEnabled, 1082 provider_.AddMandatoryPolicy(key::kJavascriptEnabled,
1060 Value::CreateBooleanValue(false)); 1083 base::Value::CreateBooleanValue(false));
1061 store_->OnUpdatePolicy(&provider_); 1084 store_->OnUpdatePolicy(&provider_);
1062 const Value* value = NULL; 1085 const base::Value* value = NULL;
1063 EXPECT_EQ(PrefStore::READ_OK, 1086 EXPECT_EQ(PrefStore::READ_OK,
1064 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, &value)); 1087 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, &value));
1065 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_BLOCK).Equals(value)); 1088 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_BLOCK).Equals(value));
1066 // DefaultJavaScriptSetting overrides JavascriptEnabled. 1089 // DefaultJavaScriptSetting overrides JavascriptEnabled.
1067 provider_.AddMandatoryPolicy( 1090 provider_.AddMandatoryPolicy(
1068 key::kDefaultJavaScriptSetting, 1091 key::kDefaultJavaScriptSetting,
1069 Value::CreateIntegerValue(CONTENT_SETTING_ALLOW)); 1092 base::Value::CreateIntegerValue(CONTENT_SETTING_ALLOW));
1070 store_->OnUpdatePolicy(&provider_); 1093 store_->OnUpdatePolicy(&provider_);
1071 EXPECT_EQ(PrefStore::READ_OK, 1094 EXPECT_EQ(PrefStore::READ_OK,
1072 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, &value)); 1095 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, &value));
1073 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_ALLOW).Equals(value)); 1096 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_ALLOW).Equals(value));
1074 } 1097 }
1075 1098
1076 } // namespace policy 1099 } // namespace policy
OLDNEW
« no previous file with comments | « chrome/browser/policy/configuration_policy_handler.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698