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

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: 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 EXPECT_TRUE(base::FundamentalValue(false).Equals(value));
Joao da Silva 2012/02/01 10:01:09 Will crash if |value| is NULL. How about base::Fun
Mattias Nissler (ping if slow) 2012/02/01 12:19:39 Done.
769 EXPECT_EQ(PrefStore::READ_OK,
770 store->GetValue(prefs::kDefaultSearchProviderSearchURL, &value));
771 EXPECT_TRUE(base::StringValue("").Equals(value));
Joao da Silva 2012/02/01 10:01:09 Same.
Mattias Nissler (ping if slow) 2012/02/01 12:19:39 Done.
772 }
773
754 // Tests Incognito mode availability preference setting. 774 // Tests Incognito mode availability preference setting.
755 class ConfigurationPolicyPrefStoreIncognitoModeTest : public testing::Test { 775 class ConfigurationPolicyPrefStoreIncognitoModeTest : public testing::Test {
756 protected: 776 protected:
757 static const int kIncognitoModeAvailabilityNotSet = -1; 777 static const int kIncognitoModeAvailabilityNotSet = -1;
758 778
759 enum ObsoleteIncognitoEnabledValue { 779 enum ObsoleteIncognitoEnabledValue {
760 INCOGNITO_ENABLED_UNKNOWN, 780 INCOGNITO_ENABLED_UNKNOWN,
761 INCOGNITO_ENABLED_TRUE, 781 INCOGNITO_ENABLED_TRUE,
762 INCOGNITO_ENABLED_FALSE 782 INCOGNITO_ENABLED_FALSE
763 }; 783 };
764 784
765 void SetPolicies(ObsoleteIncognitoEnabledValue incognito_enabled, 785 void SetPolicies(ObsoleteIncognitoEnabledValue incognito_enabled,
766 int availability) { 786 int availability) {
767 if (incognito_enabled != INCOGNITO_ENABLED_UNKNOWN) { 787 if (incognito_enabled != INCOGNITO_ENABLED_UNKNOWN) {
768 provider_.AddMandatoryPolicy( 788 provider_.AddMandatoryPolicy(
769 key::kIncognitoEnabled, 789 key::kIncognitoEnabled,
770 Value::CreateBooleanValue( 790 base::Value::CreateBooleanValue(
771 incognito_enabled == INCOGNITO_ENABLED_TRUE)); 791 incognito_enabled == INCOGNITO_ENABLED_TRUE));
772 } 792 }
773 if (availability >= 0) { 793 if (availability >= 0) {
774 provider_.AddMandatoryPolicy(key::kIncognitoModeAvailability, 794 provider_.AddMandatoryPolicy(
775 Value::CreateIntegerValue(availability)); 795 key::kIncognitoModeAvailability,
796 base::Value::CreateIntegerValue(availability));
776 } 797 }
777 store_ = new ConfigurationPolicyPrefStore(&provider_); 798 store_ = new ConfigurationPolicyPrefStore(&provider_);
778 } 799 }
779 800
780 void VerifyValues(IncognitoModePrefs::Availability availability) { 801 void VerifyValues(IncognitoModePrefs::Availability availability) {
781 const Value* value = NULL; 802 const base::Value* value = NULL;
782 EXPECT_EQ(PrefStore::READ_OK, 803 EXPECT_EQ(PrefStore::READ_OK,
783 store_->GetValue(prefs::kIncognitoModeAvailability, &value)); 804 store_->GetValue(prefs::kIncognitoModeAvailability, &value));
784 EXPECT_TRUE(base::FundamentalValue(availability).Equals(value)); 805 EXPECT_TRUE(base::FundamentalValue(availability).Equals(value));
785 } 806 }
786 807
787 MockConfigurationPolicyProvider provider_; 808 MockConfigurationPolicyProvider provider_;
788 scoped_refptr<ConfigurationPolicyPrefStore> store_; 809 scoped_refptr<ConfigurationPolicyPrefStore> store_;
789 }; 810 };
790 811
791 // The following testcases verify that if the obsolete IncognitoEnabled 812 // The following testcases verify that if the obsolete IncognitoEnabled
(...skipping 13 matching lines...) Expand all
805 826
806 TEST_F(ConfigurationPolicyPrefStoreIncognitoModeTest, 827 TEST_F(ConfigurationPolicyPrefStoreIncognitoModeTest,
807 NoObsoletePolicyAndIncognitoForced) { 828 NoObsoletePolicyAndIncognitoForced) {
808 SetPolicies(INCOGNITO_ENABLED_UNKNOWN, IncognitoModePrefs::FORCED); 829 SetPolicies(INCOGNITO_ENABLED_UNKNOWN, IncognitoModePrefs::FORCED);
809 VerifyValues(IncognitoModePrefs::FORCED); 830 VerifyValues(IncognitoModePrefs::FORCED);
810 } 831 }
811 832
812 TEST_F(ConfigurationPolicyPrefStoreIncognitoModeTest, 833 TEST_F(ConfigurationPolicyPrefStoreIncognitoModeTest,
813 NoObsoletePolicyAndNoIncognitoAvailability) { 834 NoObsoletePolicyAndNoIncognitoAvailability) {
814 SetPolicies(INCOGNITO_ENABLED_UNKNOWN, kIncognitoModeAvailabilityNotSet); 835 SetPolicies(INCOGNITO_ENABLED_UNKNOWN, kIncognitoModeAvailabilityNotSet);
815 const Value* value = NULL; 836 const base::Value* value = NULL;
816 EXPECT_EQ(PrefStore::READ_NO_VALUE, 837 EXPECT_EQ(PrefStore::READ_NO_VALUE,
817 store_->GetValue(prefs::kIncognitoModeAvailability, &value)); 838 store_->GetValue(prefs::kIncognitoModeAvailability, &value));
818 } 839 }
819 840
820 // Checks that if the obsolete IncognitoEnabled policy is set, if sets 841 // Checks that if the obsolete IncognitoEnabled policy is set, if sets
821 // the IncognitoModeAvailability preference only in case 842 // the IncognitoModeAvailability preference only in case
822 // the IncognitoModeAvailability policy is not specified. 843 // the IncognitoModeAvailability policy is not specified.
823 TEST_F(ConfigurationPolicyPrefStoreIncognitoModeTest, 844 TEST_F(ConfigurationPolicyPrefStoreIncognitoModeTest,
824 ObsoletePolicyDoesNotAffectAvailabilityEnabled) { 845 ObsoletePolicyDoesNotAffectAvailabilityEnabled) {
825 SetPolicies(INCOGNITO_ENABLED_FALSE, IncognitoModePrefs::ENABLED); 846 SetPolicies(INCOGNITO_ENABLED_FALSE, IncognitoModePrefs::ENABLED);
(...skipping 23 matching lines...) Expand all
849 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> { 870 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> {
850 }; 871 };
851 872
852 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Default) { 873 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Default) {
853 EXPECT_EQ(PrefStore::READ_NO_VALUE, 874 EXPECT_EQ(PrefStore::READ_NO_VALUE,
854 store_->GetValue(prefs::kSyncManaged, NULL)); 875 store_->GetValue(prefs::kSyncManaged, NULL));
855 } 876 }
856 877
857 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Enabled) { 878 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Enabled) {
858 provider_.AddMandatoryPolicy(key::kSyncDisabled, 879 provider_.AddMandatoryPolicy(key::kSyncDisabled,
859 Value::CreateBooleanValue(false)); 880 base::Value::CreateBooleanValue(false));
860 store_->OnUpdatePolicy(&provider_); 881 store_->OnUpdatePolicy(&provider_);
861 // Enabling Sync should not set the pref. 882 // Enabling Sync should not set the pref.
862 EXPECT_EQ(PrefStore::READ_NO_VALUE, 883 EXPECT_EQ(PrefStore::READ_NO_VALUE,
863 store_->GetValue(prefs::kSyncManaged, NULL)); 884 store_->GetValue(prefs::kSyncManaged, NULL));
864 } 885 }
865 886
866 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Disabled) { 887 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Disabled) {
867 provider_.AddMandatoryPolicy(key::kSyncDisabled, 888 provider_.AddMandatoryPolicy(key::kSyncDisabled,
868 Value::CreateBooleanValue(true)); 889 base::Value::CreateBooleanValue(true));
869 store_->OnUpdatePolicy(&provider_); 890 store_->OnUpdatePolicy(&provider_);
870 // Sync should be flagged as managed. 891 // Sync should be flagged as managed.
871 const Value* value = NULL; 892 const base::Value* value = NULL;
872 EXPECT_EQ(PrefStore::READ_OK, store_->GetValue(prefs::kSyncManaged, &value)); 893 EXPECT_EQ(PrefStore::READ_OK, store_->GetValue(prefs::kSyncManaged, &value));
873 ASSERT_TRUE(value); 894 ASSERT_TRUE(value);
874 bool sync_managed = false; 895 bool sync_managed = false;
875 bool result = value->GetAsBoolean(&sync_managed); 896 bool result = value->GetAsBoolean(&sync_managed);
876 ASSERT_TRUE(result); 897 ASSERT_TRUE(result);
877 EXPECT_TRUE(sync_managed); 898 EXPECT_TRUE(sync_managed);
878 } 899 }
879 900
880 // Test cases for how the DownloadDirectory and AllowFileSelectionDialogs policy 901 // Test cases for how the DownloadDirectory and AllowFileSelectionDialogs policy
881 // influence the PromptForDownload preference. 902 // influence the PromptForDownload preference.
882 class ConfigurationPolicyPrefStorePromptDownloadTest 903 class ConfigurationPolicyPrefStorePromptDownloadTest
883 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> { 904 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> {
884 }; 905 };
885 906
886 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, Default) { 907 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, Default) {
887 EXPECT_EQ(PrefStore::READ_NO_VALUE, 908 EXPECT_EQ(PrefStore::READ_NO_VALUE,
888 store_->GetValue(prefs::kPromptForDownload, NULL)); 909 store_->GetValue(prefs::kPromptForDownload, NULL));
889 } 910 }
890 911
891 #if !defined(OS_CHROMEOS) 912 #if !defined(OS_CHROMEOS)
892 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, SetDownloadDirectory) { 913 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, SetDownloadDirectory) {
893 EXPECT_EQ(PrefStore::READ_NO_VALUE, 914 EXPECT_EQ(PrefStore::READ_NO_VALUE,
894 store_->GetValue(prefs::kPromptForDownload, NULL)); 915 store_->GetValue(prefs::kPromptForDownload, NULL));
895 provider_.AddMandatoryPolicy(key::kDownloadDirectory, 916 provider_.AddMandatoryPolicy(key::kDownloadDirectory,
896 Value::CreateStringValue("")); 917 base::Value::CreateStringValue(""));
897 store_->OnUpdatePolicy(&provider_); 918 store_->OnUpdatePolicy(&provider_);
898 919
899 // Setting a DownloadDirectory should disable the PromptForDownload pref. 920 // Setting a DownloadDirectory should disable the PromptForDownload pref.
900 const Value* value = NULL; 921 const base::Value* value = NULL;
901 EXPECT_EQ(PrefStore::READ_OK, store_->GetValue(prefs::kPromptForDownload, 922 EXPECT_EQ(PrefStore::READ_OK, store_->GetValue(prefs::kPromptForDownload,
902 &value)); 923 &value));
903 ASSERT_TRUE(value); 924 ASSERT_TRUE(value);
904 bool prompt_for_download = true; 925 bool prompt_for_download = true;
905 bool result = value->GetAsBoolean(&prompt_for_download); 926 bool result = value->GetAsBoolean(&prompt_for_download);
906 ASSERT_TRUE(result); 927 ASSERT_TRUE(result);
907 EXPECT_FALSE(prompt_for_download); 928 EXPECT_FALSE(prompt_for_download);
908 } 929 }
909 #endif // !defined(OS_CHROMEOS) 930 #endif // !defined(OS_CHROMEOS)
910 931
911 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, 932 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest,
912 EnableFileSelectionDialogs) { 933 EnableFileSelectionDialogs) {
913 EXPECT_EQ(PrefStore::READ_NO_VALUE, 934 EXPECT_EQ(PrefStore::READ_NO_VALUE,
914 store_->GetValue(prefs::kPromptForDownload, NULL)); 935 store_->GetValue(prefs::kPromptForDownload, NULL));
915 provider_.AddMandatoryPolicy(key::kAllowFileSelectionDialogs, 936 provider_.AddMandatoryPolicy(key::kAllowFileSelectionDialogs,
916 Value::CreateBooleanValue(true)); 937 base::Value::CreateBooleanValue(true));
917 store_->OnUpdatePolicy(&provider_); 938 store_->OnUpdatePolicy(&provider_);
918 939
919 // Allowing file-selection dialogs should not influence the PromptForDownload 940 // Allowing file-selection dialogs should not influence the PromptForDownload
920 // pref. 941 // pref.
921 EXPECT_EQ(PrefStore::READ_NO_VALUE, 942 EXPECT_EQ(PrefStore::READ_NO_VALUE,
922 store_->GetValue(prefs::kPromptForDownload, NULL)); 943 store_->GetValue(prefs::kPromptForDownload, NULL));
923 } 944 }
924 945
925 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, 946 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest,
926 DisableFileSelectionDialogs) { 947 DisableFileSelectionDialogs) {
927 EXPECT_EQ(PrefStore::READ_NO_VALUE, 948 EXPECT_EQ(PrefStore::READ_NO_VALUE,
928 store_->GetValue(prefs::kPromptForDownload, NULL)); 949 store_->GetValue(prefs::kPromptForDownload, NULL));
929 provider_.AddMandatoryPolicy(key::kAllowFileSelectionDialogs, 950 provider_.AddMandatoryPolicy(key::kAllowFileSelectionDialogs,
930 Value::CreateBooleanValue(false)); 951 base::Value::CreateBooleanValue(false));
931 store_->OnUpdatePolicy(&provider_); 952 store_->OnUpdatePolicy(&provider_);
932 953
933 // Disabling file-selection dialogs should disable the PromptForDownload pref. 954 // Disabling file-selection dialogs should disable the PromptForDownload pref.
934 const Value* value = NULL; 955 const base::Value* value = NULL;
935 EXPECT_EQ(PrefStore::READ_OK, store_->GetValue(prefs::kPromptForDownload, 956 EXPECT_EQ(PrefStore::READ_OK, store_->GetValue(prefs::kPromptForDownload,
936 &value)); 957 &value));
937 ASSERT_TRUE(value); 958 ASSERT_TRUE(value);
938 bool prompt_for_download = true; 959 bool prompt_for_download = true;
939 bool result = value->GetAsBoolean(&prompt_for_download); 960 bool result = value->GetAsBoolean(&prompt_for_download);
940 ASSERT_TRUE(result); 961 ASSERT_TRUE(result);
941 EXPECT_FALSE(prompt_for_download); 962 EXPECT_FALSE(prompt_for_download);
942 } 963 }
943 964
944 // Test cases for the Autofill policy setting. 965 // Test cases for the Autofill policy setting.
945 class ConfigurationPolicyPrefStoreAutofillTest 966 class ConfigurationPolicyPrefStoreAutofillTest
946 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> { 967 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> {
947 }; 968 };
948 969
949 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Default) { 970 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Default) {
950 EXPECT_EQ(PrefStore::READ_NO_VALUE, 971 EXPECT_EQ(PrefStore::READ_NO_VALUE,
951 store_->GetValue(prefs::kAutofillEnabled, NULL)); 972 store_->GetValue(prefs::kAutofillEnabled, NULL));
952 } 973 }
953 974
954 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Enabled) { 975 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Enabled) {
955 provider_.AddMandatoryPolicy(key::kAutoFillEnabled, 976 provider_.AddMandatoryPolicy(key::kAutoFillEnabled,
956 Value::CreateBooleanValue(true)); 977 base::Value::CreateBooleanValue(true));
957 store_->OnUpdatePolicy(&provider_); 978 store_->OnUpdatePolicy(&provider_);
958 // Enabling Autofill should not set the pref. 979 // Enabling Autofill should not set the pref.
959 EXPECT_EQ(PrefStore::READ_NO_VALUE, 980 EXPECT_EQ(PrefStore::READ_NO_VALUE,
960 store_->GetValue(prefs::kAutofillEnabled, NULL)); 981 store_->GetValue(prefs::kAutofillEnabled, NULL));
961 } 982 }
962 983
963 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Disabled) { 984 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Disabled) {
964 provider_.AddMandatoryPolicy(key::kAutoFillEnabled, 985 provider_.AddMandatoryPolicy(key::kAutoFillEnabled,
965 Value::CreateBooleanValue(false)); 986 base::Value::CreateBooleanValue(false));
966 store_->OnUpdatePolicy(&provider_); 987 store_->OnUpdatePolicy(&provider_);
967 // Disabling Autofill should switch the pref to managed. 988 // Disabling Autofill should switch the pref to managed.
968 const Value* value = NULL; 989 const base::Value* value = NULL;
969 EXPECT_EQ(PrefStore::READ_OK, 990 EXPECT_EQ(PrefStore::READ_OK,
970 store_->GetValue(prefs::kAutofillEnabled, &value)); 991 store_->GetValue(prefs::kAutofillEnabled, &value));
971 ASSERT_TRUE(value); 992 ASSERT_TRUE(value);
972 bool autofill_enabled = true; 993 bool autofill_enabled = true;
973 bool result = value->GetAsBoolean(&autofill_enabled); 994 bool result = value->GetAsBoolean(&autofill_enabled);
974 ASSERT_TRUE(result); 995 ASSERT_TRUE(result);
975 EXPECT_FALSE(autofill_enabled); 996 EXPECT_FALSE(autofill_enabled);
976 } 997 }
977 998
978 // Exercises the policy refresh mechanism. 999 // Exercises the policy refresh mechanism.
979 class ConfigurationPolicyPrefStoreRefreshTest 1000 class ConfigurationPolicyPrefStoreRefreshTest
980 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> { 1001 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> {
981 protected: 1002 protected:
982 virtual void SetUp() { 1003 virtual void SetUp() {
983 store_->AddObserver(&observer_); 1004 store_->AddObserver(&observer_);
984 } 1005 }
985 1006
986 virtual void TearDown() { 1007 virtual void TearDown() {
987 store_->RemoveObserver(&observer_); 1008 store_->RemoveObserver(&observer_);
988 } 1009 }
989 1010
990 PrefStoreObserverMock observer_; 1011 PrefStoreObserverMock observer_;
991 }; 1012 };
992 1013
993 TEST_F(ConfigurationPolicyPrefStoreRefreshTest, Refresh) { 1014 TEST_F(ConfigurationPolicyPrefStoreRefreshTest, Refresh) {
994 const Value* value = NULL; 1015 const base::Value* value = NULL;
995 EXPECT_EQ(PrefStore::READ_NO_VALUE, 1016 EXPECT_EQ(PrefStore::READ_NO_VALUE,
996 store_->GetValue(prefs::kHomePage, NULL)); 1017 store_->GetValue(prefs::kHomePage, NULL));
997 1018
998 EXPECT_CALL(observer_, OnPrefValueChanged(prefs::kHomePage)).Times(1); 1019 EXPECT_CALL(observer_, OnPrefValueChanged(prefs::kHomePage)).Times(1);
999 provider_.AddMandatoryPolicy( 1020 provider_.AddMandatoryPolicy(
1000 key::kHomepageLocation, 1021 key::kHomepageLocation,
1001 Value::CreateStringValue("http://www.chromium.org")); 1022 base::Value::CreateStringValue("http://www.chromium.org"));
1002 store_->OnUpdatePolicy(&provider_); 1023 store_->OnUpdatePolicy(&provider_);
1003 Mock::VerifyAndClearExpectations(&observer_); 1024 Mock::VerifyAndClearExpectations(&observer_);
1004 EXPECT_EQ(PrefStore::READ_OK, 1025 EXPECT_EQ(PrefStore::READ_OK,
1005 store_->GetValue(prefs::kHomePage, &value)); 1026 store_->GetValue(prefs::kHomePage, &value));
1006 EXPECT_TRUE(StringValue("http://www.chromium.org").Equals(value)); 1027 EXPECT_TRUE(base::StringValue("http://www.chromium.org").Equals(value));
1007 1028
1008 EXPECT_CALL(observer_, OnPrefValueChanged(_)).Times(0); 1029 EXPECT_CALL(observer_, OnPrefValueChanged(_)).Times(0);
1009 store_->OnUpdatePolicy(&provider_); 1030 store_->OnUpdatePolicy(&provider_);
1010 Mock::VerifyAndClearExpectations(&observer_); 1031 Mock::VerifyAndClearExpectations(&observer_);
1011 1032
1012 EXPECT_CALL(observer_, OnPrefValueChanged(prefs::kHomePage)).Times(1); 1033 EXPECT_CALL(observer_, OnPrefValueChanged(prefs::kHomePage)).Times(1);
1013 provider_.RemovePolicy(key::kHomepageLocation); 1034 provider_.RemovePolicy(key::kHomepageLocation);
1014 store_->OnUpdatePolicy(&provider_); 1035 store_->OnUpdatePolicy(&provider_);
1015 Mock::VerifyAndClearExpectations(&observer_); 1036 Mock::VerifyAndClearExpectations(&observer_);
1016 EXPECT_EQ(PrefStore::READ_NO_VALUE, 1037 EXPECT_EQ(PrefStore::READ_NO_VALUE,
(...skipping 16 matching lines...) Expand all
1033 // Tests for policies that don't quite fit the previous patterns. 1054 // Tests for policies that don't quite fit the previous patterns.
1034 class ConfigurationPolicyPrefStoreOthersTest 1055 class ConfigurationPolicyPrefStoreOthersTest
1035 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> { 1056 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> {
1036 }; 1057 };
1037 1058
1038 TEST_F(ConfigurationPolicyPrefStoreOthersTest, JavascriptEnabled) { 1059 TEST_F(ConfigurationPolicyPrefStoreOthersTest, JavascriptEnabled) {
1039 // This is a boolean policy, but affects an integer preference. 1060 // This is a boolean policy, but affects an integer preference.
1040 EXPECT_EQ(PrefStore::READ_NO_VALUE, 1061 EXPECT_EQ(PrefStore::READ_NO_VALUE,
1041 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL)); 1062 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL));
1042 provider_.AddMandatoryPolicy(key::kJavascriptEnabled, 1063 provider_.AddMandatoryPolicy(key::kJavascriptEnabled,
1043 Value::CreateBooleanValue(true)); 1064 base::Value::CreateBooleanValue(true));
1044 store_->OnUpdatePolicy(&provider_); 1065 store_->OnUpdatePolicy(&provider_);
1045 EXPECT_EQ(PrefStore::READ_NO_VALUE, 1066 EXPECT_EQ(PrefStore::READ_NO_VALUE,
1046 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL)); 1067 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL));
1047 provider_.AddMandatoryPolicy(key::kJavascriptEnabled, 1068 provider_.AddMandatoryPolicy(key::kJavascriptEnabled,
1048 Value::CreateBooleanValue(false)); 1069 base::Value::CreateBooleanValue(false));
1049 store_->OnUpdatePolicy(&provider_); 1070 store_->OnUpdatePolicy(&provider_);
1050 const Value* value = NULL; 1071 const base::Value* value = NULL;
1051 EXPECT_EQ(PrefStore::READ_OK, 1072 EXPECT_EQ(PrefStore::READ_OK,
1052 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, &value)); 1073 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, &value));
1053 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_BLOCK).Equals(value)); 1074 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_BLOCK).Equals(value));
1054 } 1075 }
1055 1076
1056 TEST_F(ConfigurationPolicyPrefStoreOthersTest, JavascriptEnabledOverridden) { 1077 TEST_F(ConfigurationPolicyPrefStoreOthersTest, JavascriptEnabledOverridden) {
1057 EXPECT_EQ(PrefStore::READ_NO_VALUE, 1078 EXPECT_EQ(PrefStore::READ_NO_VALUE,
1058 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL)); 1079 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL));
1059 provider_.AddMandatoryPolicy(key::kJavascriptEnabled, 1080 provider_.AddMandatoryPolicy(key::kJavascriptEnabled,
1060 Value::CreateBooleanValue(false)); 1081 base::Value::CreateBooleanValue(false));
1061 store_->OnUpdatePolicy(&provider_); 1082 store_->OnUpdatePolicy(&provider_);
1062 const Value* value = NULL; 1083 const base::Value* value = NULL;
1063 EXPECT_EQ(PrefStore::READ_OK, 1084 EXPECT_EQ(PrefStore::READ_OK,
1064 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, &value)); 1085 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, &value));
1065 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_BLOCK).Equals(value)); 1086 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_BLOCK).Equals(value));
1066 // DefaultJavaScriptSetting overrides JavascriptEnabled. 1087 // DefaultJavaScriptSetting overrides JavascriptEnabled.
1067 provider_.AddMandatoryPolicy( 1088 provider_.AddMandatoryPolicy(
1068 key::kDefaultJavaScriptSetting, 1089 key::kDefaultJavaScriptSetting,
1069 Value::CreateIntegerValue(CONTENT_SETTING_ALLOW)); 1090 base::Value::CreateIntegerValue(CONTENT_SETTING_ALLOW));
1070 store_->OnUpdatePolicy(&provider_); 1091 store_->OnUpdatePolicy(&provider_);
1071 EXPECT_EQ(PrefStore::READ_OK, 1092 EXPECT_EQ(PrefStore::READ_OK,
1072 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, &value)); 1093 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, &value));
1073 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_ALLOW).Equals(value)); 1094 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_ALLOW).Equals(value));
1074 } 1095 }
1075 1096
1076 } // namespace policy 1097 } // 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