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

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

Issue 11365112: Change PrefStore::ReadResult to a boolean. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix Created 8 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include <string> 5 #include <string>
6 6
7 #include "base/file_path.h" 7 #include "base/file_path.h"
8 #include "base/memory/ref_counted.h" 8 #include "base/memory/ref_counted.h"
9 #include "base/prefs/pref_store_observer_mock.h" 9 #include "base/prefs/pref_store_observer_mock.h"
10 #include "chrome/browser/policy/configuration_policy_handler.h" 10 #include "chrome/browser/policy/configuration_policy_handler.h"
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
62 scoped_ptr<PolicyServiceImpl> policy_service_; 62 scoped_ptr<PolicyServiceImpl> policy_service_;
63 scoped_refptr<ConfigurationPolicyPrefStore> store_; 63 scoped_refptr<ConfigurationPolicyPrefStore> store_;
64 }; 64 };
65 65
66 // Test cases for list-valued policy settings. 66 // Test cases for list-valued policy settings.
67 class ConfigurationPolicyPrefStoreListTest 67 class ConfigurationPolicyPrefStoreListTest
68 : public ConfigurationPolicyPrefStoreTest, 68 : public ConfigurationPolicyPrefStoreTest,
69 public testing::WithParamInterface<PolicyAndPref> {}; 69 public testing::WithParamInterface<PolicyAndPref> {};
70 70
71 TEST_P(ConfigurationPolicyPrefStoreListTest, GetDefault) { 71 TEST_P(ConfigurationPolicyPrefStoreListTest, GetDefault) {
72 EXPECT_EQ(PrefStore::READ_NO_VALUE, 72 EXPECT_FALSE(store_->GetValue(GetParam().pref_name(), NULL));
73 store_->GetValue(GetParam().pref_name(), NULL));
74 } 73 }
75 74
76 TEST_P(ConfigurationPolicyPrefStoreListTest, SetValue) { 75 TEST_P(ConfigurationPolicyPrefStoreListTest, SetValue) {
77 base::ListValue* in_value = new base::ListValue(); 76 base::ListValue* in_value = new base::ListValue();
78 in_value->Append(base::Value::CreateStringValue("test1")); 77 in_value->Append(base::Value::CreateStringValue("test1"));
79 in_value->Append(base::Value::CreateStringValue("test2,")); 78 in_value->Append(base::Value::CreateStringValue("test2,"));
80 PolicyMap policy; 79 PolicyMap policy;
81 policy.Set(GetParam().policy_name(), POLICY_LEVEL_MANDATORY, 80 policy.Set(GetParam().policy_name(), POLICY_LEVEL_MANDATORY,
82 POLICY_SCOPE_USER, in_value); 81 POLICY_SCOPE_USER, in_value);
83 provider_.UpdateChromePolicy(policy); 82 provider_.UpdateChromePolicy(policy);
84 const base::Value* value = NULL; 83 const base::Value* value = NULL;
85 EXPECT_EQ(PrefStore::READ_OK, 84 EXPECT_TRUE(store_->GetValue(GetParam().pref_name(), &value));
86 store_->GetValue(GetParam().pref_name(), &value));
87 ASSERT_TRUE(value); 85 ASSERT_TRUE(value);
88 EXPECT_TRUE(in_value->Equals(value)); 86 EXPECT_TRUE(in_value->Equals(value));
89 } 87 }
90 88
91 INSTANTIATE_TEST_CASE_P( 89 INSTANTIATE_TEST_CASE_P(
92 ConfigurationPolicyPrefStoreListTestInstance, 90 ConfigurationPolicyPrefStoreListTestInstance,
93 ConfigurationPolicyPrefStoreListTest, 91 ConfigurationPolicyPrefStoreListTest,
94 testing::Values( 92 testing::Values(
95 PolicyAndPref(key::kRestoreOnStartupURLs, 93 PolicyAndPref(key::kRestoreOnStartupURLs,
96 prefs::kURLsToRestoreOnStartup), 94 prefs::kURLsToRestoreOnStartup),
(...skipping 11 matching lines...) Expand all
108 prefs::kUrlBlacklist), 106 prefs::kUrlBlacklist),
109 PolicyAndPref(key::kURLWhitelist, 107 PolicyAndPref(key::kURLWhitelist,
110 prefs::kUrlWhitelist))); 108 prefs::kUrlWhitelist)));
111 109
112 // Test cases for string-valued policy settings. 110 // Test cases for string-valued policy settings.
113 class ConfigurationPolicyPrefStoreStringTest 111 class ConfigurationPolicyPrefStoreStringTest
114 : public ConfigurationPolicyPrefStoreTest, 112 : public ConfigurationPolicyPrefStoreTest,
115 public testing::WithParamInterface<PolicyAndPref> {}; 113 public testing::WithParamInterface<PolicyAndPref> {};
116 114
117 TEST_P(ConfigurationPolicyPrefStoreStringTest, GetDefault) { 115 TEST_P(ConfigurationPolicyPrefStoreStringTest, GetDefault) {
118 EXPECT_EQ(PrefStore::READ_NO_VALUE, 116 EXPECT_FALSE(store_->GetValue(GetParam().pref_name(), NULL));
119 store_->GetValue(GetParam().pref_name(), NULL));
120 } 117 }
121 118
122 TEST_P(ConfigurationPolicyPrefStoreStringTest, SetValue) { 119 TEST_P(ConfigurationPolicyPrefStoreStringTest, SetValue) {
123 PolicyMap policy; 120 PolicyMap policy;
124 policy.Set(GetParam().policy_name(), POLICY_LEVEL_MANDATORY, 121 policy.Set(GetParam().policy_name(), POLICY_LEVEL_MANDATORY,
125 POLICY_SCOPE_USER, 122 POLICY_SCOPE_USER,
126 base::Value::CreateStringValue("http://chromium.org")); 123 base::Value::CreateStringValue("http://chromium.org"));
127 provider_.UpdateChromePolicy(policy); 124 provider_.UpdateChromePolicy(policy);
128 const base::Value* value = NULL; 125 const base::Value* value = NULL;
129 EXPECT_EQ(PrefStore::READ_OK, 126 EXPECT_TRUE(store_->GetValue(GetParam().pref_name(), &value));
130 store_->GetValue(GetParam().pref_name(), &value));
131 ASSERT_TRUE(value); 127 ASSERT_TRUE(value);
132 EXPECT_TRUE(base::StringValue("http://chromium.org").Equals(value)); 128 EXPECT_TRUE(base::StringValue("http://chromium.org").Equals(value));
133 } 129 }
134 130
135 INSTANTIATE_TEST_CASE_P( 131 INSTANTIATE_TEST_CASE_P(
136 ConfigurationPolicyPrefStoreStringTestInstance, 132 ConfigurationPolicyPrefStoreStringTestInstance,
137 ConfigurationPolicyPrefStoreStringTest, 133 ConfigurationPolicyPrefStoreStringTest,
138 testing::Values( 134 testing::Values(
139 PolicyAndPref(key::kRestrictSigninToPattern, 135 PolicyAndPref(key::kRestrictSigninToPattern,
140 prefs::kGoogleServicesUsernamePattern), 136 prefs::kGoogleServicesUsernamePattern),
(...skipping 19 matching lines...) Expand all
160 testing::Values(PolicyAndPref(key::kDownloadDirectory, 156 testing::Values(PolicyAndPref(key::kDownloadDirectory,
161 prefs::kDownloadDefaultDirectory))); 157 prefs::kDownloadDefaultDirectory)));
162 #endif // !defined(OS_CHROMEOS) 158 #endif // !defined(OS_CHROMEOS)
163 159
164 // Test cases for boolean-valued policy settings. 160 // Test cases for boolean-valued policy settings.
165 class ConfigurationPolicyPrefStoreBooleanTest 161 class ConfigurationPolicyPrefStoreBooleanTest
166 : public ConfigurationPolicyPrefStoreTest, 162 : public ConfigurationPolicyPrefStoreTest,
167 public testing::WithParamInterface<PolicyAndPref> {}; 163 public testing::WithParamInterface<PolicyAndPref> {};
168 164
169 TEST_P(ConfigurationPolicyPrefStoreBooleanTest, GetDefault) { 165 TEST_P(ConfigurationPolicyPrefStoreBooleanTest, GetDefault) {
170 EXPECT_EQ(PrefStore::READ_NO_VALUE, 166 EXPECT_FALSE(store_->GetValue(GetParam().pref_name(), NULL));
171 store_->GetValue(GetParam().pref_name(), NULL));
172 } 167 }
173 168
174 TEST_P(ConfigurationPolicyPrefStoreBooleanTest, SetValue) { 169 TEST_P(ConfigurationPolicyPrefStoreBooleanTest, SetValue) {
175 PolicyMap policy; 170 PolicyMap policy;
176 policy.Set(GetParam().policy_name(), POLICY_LEVEL_MANDATORY, 171 policy.Set(GetParam().policy_name(), POLICY_LEVEL_MANDATORY,
177 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(false)); 172 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(false));
178 provider_.UpdateChromePolicy(policy); 173 provider_.UpdateChromePolicy(policy);
179 const base::Value* value = NULL; 174 const base::Value* value = NULL;
180 EXPECT_EQ(PrefStore::READ_OK, 175 EXPECT_TRUE(store_->GetValue(GetParam().pref_name(), &value));
181 store_->GetValue(GetParam().pref_name(), &value));
182 ASSERT_TRUE(value); 176 ASSERT_TRUE(value);
183 bool boolean_value = true; 177 bool boolean_value = true;
184 bool result = value->GetAsBoolean(&boolean_value); 178 bool result = value->GetAsBoolean(&boolean_value);
185 ASSERT_TRUE(result); 179 ASSERT_TRUE(result);
186 EXPECT_FALSE(boolean_value); 180 EXPECT_FALSE(boolean_value);
187 181
188 policy.Set(GetParam().policy_name(), POLICY_LEVEL_MANDATORY, 182 policy.Set(GetParam().policy_name(), POLICY_LEVEL_MANDATORY,
189 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(true)); 183 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(true));
190 provider_.UpdateChromePolicy(policy); 184 provider_.UpdateChromePolicy(policy);
191 value = NULL; 185 value = NULL;
192 EXPECT_EQ(PrefStore::READ_OK, 186 EXPECT_TRUE(store_->GetValue(GetParam().pref_name(), &value));
193 store_->GetValue(GetParam().pref_name(), &value));
194 boolean_value = false; 187 boolean_value = false;
195 result = value->GetAsBoolean(&boolean_value); 188 result = value->GetAsBoolean(&boolean_value);
196 ASSERT_TRUE(result); 189 ASSERT_TRUE(result);
197 EXPECT_TRUE(boolean_value); 190 EXPECT_TRUE(boolean_value);
198 } 191 }
199 192
200 INSTANTIATE_TEST_CASE_P( 193 INSTANTIATE_TEST_CASE_P(
201 ConfigurationPolicyPrefStoreBooleanTestInstance, 194 ConfigurationPolicyPrefStoreBooleanTestInstance,
202 ConfigurationPolicyPrefStoreBooleanTest, 195 ConfigurationPolicyPrefStoreBooleanTest,
203 testing::Values( 196 testing::Values(
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
298 PolicyAndPref(key::kAudioCaptureAllowed, 291 PolicyAndPref(key::kAudioCaptureAllowed,
299 prefs::kAudioCaptureAllowed))); 292 prefs::kAudioCaptureAllowed)));
300 #endif // defined(OS_CHROMEOS) 293 #endif // defined(OS_CHROMEOS)
301 294
302 // Test cases for integer-valued policy settings. 295 // Test cases for integer-valued policy settings.
303 class ConfigurationPolicyPrefStoreIntegerTest 296 class ConfigurationPolicyPrefStoreIntegerTest
304 : public ConfigurationPolicyPrefStoreTest, 297 : public ConfigurationPolicyPrefStoreTest,
305 public testing::WithParamInterface<PolicyAndPref> {}; 298 public testing::WithParamInterface<PolicyAndPref> {};
306 299
307 TEST_P(ConfigurationPolicyPrefStoreIntegerTest, GetDefault) { 300 TEST_P(ConfigurationPolicyPrefStoreIntegerTest, GetDefault) {
308 EXPECT_EQ(PrefStore::READ_NO_VALUE, 301 EXPECT_FALSE(store_->GetValue(GetParam().pref_name(), NULL));
309 store_->GetValue(GetParam().pref_name(), NULL));
310 } 302 }
311 303
312 TEST_P(ConfigurationPolicyPrefStoreIntegerTest, SetValue) { 304 TEST_P(ConfigurationPolicyPrefStoreIntegerTest, SetValue) {
313 PolicyMap policy; 305 PolicyMap policy;
314 policy.Set(GetParam().policy_name(), POLICY_LEVEL_MANDATORY, 306 policy.Set(GetParam().policy_name(), POLICY_LEVEL_MANDATORY,
315 POLICY_SCOPE_USER, base::Value::CreateIntegerValue(2)); 307 POLICY_SCOPE_USER, base::Value::CreateIntegerValue(2));
316 provider_.UpdateChromePolicy(policy); 308 provider_.UpdateChromePolicy(policy);
317 const base::Value* value = NULL; 309 const base::Value* value = NULL;
318 EXPECT_EQ(PrefStore::READ_OK, 310 EXPECT_TRUE(store_->GetValue(GetParam().pref_name(), &value));
319 store_->GetValue(GetParam().pref_name(), &value));
320 EXPECT_TRUE(base::FundamentalValue(2).Equals(value)); 311 EXPECT_TRUE(base::FundamentalValue(2).Equals(value));
321 } 312 }
322 313
323 INSTANTIATE_TEST_CASE_P( 314 INSTANTIATE_TEST_CASE_P(
324 ConfigurationPolicyPrefStoreIntegerTestInstance, 315 ConfigurationPolicyPrefStoreIntegerTestInstance,
325 ConfigurationPolicyPrefStoreIntegerTest, 316 ConfigurationPolicyPrefStoreIntegerTest,
326 testing::Values( 317 testing::Values(
327 PolicyAndPref(key::kDefaultCookiesSetting, 318 PolicyAndPref(key::kDefaultCookiesSetting,
328 prefs::kManagedDefaultCookiesSetting), 319 prefs::kManagedDefaultCookiesSetting),
329 PolicyAndPref(key::kDefaultImagesSetting, 320 PolicyAndPref(key::kDefaultImagesSetting,
(...skipping 21 matching lines...) Expand all
351 class ConfigurationPolicyPrefStoreProxyTest 342 class ConfigurationPolicyPrefStoreProxyTest
352 : public ConfigurationPolicyPrefStoreTest { 343 : public ConfigurationPolicyPrefStoreTest {
353 protected: 344 protected:
354 // Verify that all the proxy prefs are set to the specified expected values. 345 // Verify that all the proxy prefs are set to the specified expected values.
355 void VerifyProxyPrefs( 346 void VerifyProxyPrefs(
356 const std::string& expected_proxy_server, 347 const std::string& expected_proxy_server,
357 const std::string& expected_proxy_pac_url, 348 const std::string& expected_proxy_pac_url,
358 const std::string& expected_proxy_bypass_list, 349 const std::string& expected_proxy_bypass_list,
359 const ProxyPrefs::ProxyMode& expected_proxy_mode) { 350 const ProxyPrefs::ProxyMode& expected_proxy_mode) {
360 const base::Value* value = NULL; 351 const base::Value* value = NULL;
361 ASSERT_EQ(PrefStore::READ_OK, 352 ASSERT_TRUE(store_->GetValue(prefs::kProxy, &value));
362 store_->GetValue(prefs::kProxy, &value));
363 ASSERT_EQ(base::Value::TYPE_DICTIONARY, value->GetType()); 353 ASSERT_EQ(base::Value::TYPE_DICTIONARY, value->GetType());
364 ProxyConfigDictionary dict( 354 ProxyConfigDictionary dict(
365 static_cast<const base::DictionaryValue*>(value)); 355 static_cast<const base::DictionaryValue*>(value));
366 std::string s; 356 std::string s;
367 if (expected_proxy_server.empty()) { 357 if (expected_proxy_server.empty()) {
368 EXPECT_FALSE(dict.GetProxyServer(&s)); 358 EXPECT_FALSE(dict.GetProxyServer(&s));
369 } else { 359 } else {
370 ASSERT_TRUE(dict.GetProxyServer(&s)); 360 ASSERT_TRUE(dict.GetProxyServer(&s));
371 EXPECT_EQ(expected_proxy_server, s); 361 EXPECT_EQ(expected_proxy_server, s);
372 } 362 }
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
424 414
425 TEST_F(ConfigurationPolicyPrefStoreProxyTest, ManualOptionsInvalid) { 415 TEST_F(ConfigurationPolicyPrefStoreProxyTest, ManualOptionsInvalid) {
426 PolicyMap policy; 416 PolicyMap policy;
427 policy.Set( 417 policy.Set(
428 key::kProxyServerMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 418 key::kProxyServerMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
429 base::Value::CreateIntegerValue( 419 base::Value::CreateIntegerValue(
430 ProxyPolicyHandler::PROXY_MANUALLY_CONFIGURED_PROXY_SERVER_MODE)); 420 ProxyPolicyHandler::PROXY_MANUALLY_CONFIGURED_PROXY_SERVER_MODE));
431 provider_.UpdateChromePolicy(policy); 421 provider_.UpdateChromePolicy(policy);
432 422
433 const base::Value* value = NULL; 423 const base::Value* value = NULL;
434 EXPECT_EQ(PrefStore::READ_NO_VALUE, store_->GetValue(prefs::kProxy, &value)); 424 EXPECT_FALSE(store_->GetValue(prefs::kProxy, &value));
435 } 425 }
436 426
437 427
438 TEST_F(ConfigurationPolicyPrefStoreProxyTest, NoProxyServerMode) { 428 TEST_F(ConfigurationPolicyPrefStoreProxyTest, NoProxyServerMode) {
439 PolicyMap policy; 429 PolicyMap policy;
440 policy.Set(key::kProxyServerMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 430 policy.Set(key::kProxyServerMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
441 base::Value::CreateIntegerValue( 431 base::Value::CreateIntegerValue(
442 ProxyPolicyHandler::PROXY_SERVER_MODE)); 432 ProxyPolicyHandler::PROXY_SERVER_MODE));
443 provider_.UpdateChromePolicy(policy); 433 provider_.UpdateChromePolicy(policy);
444 VerifyProxyPrefs("", "", "", ProxyPrefs::MODE_DIRECT); 434 VerifyProxyPrefs("", "", "", ProxyPrefs::MODE_DIRECT);
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
483 ProxyPrefs::MODE_PAC_SCRIPT); 473 ProxyPrefs::MODE_PAC_SCRIPT);
484 } 474 }
485 475
486 TEST_F(ConfigurationPolicyPrefStoreProxyTest, PacScriptProxyModeInvalid) { 476 TEST_F(ConfigurationPolicyPrefStoreProxyTest, PacScriptProxyModeInvalid) {
487 PolicyMap policy; 477 PolicyMap policy;
488 policy.Set(key::kProxyMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 478 policy.Set(key::kProxyMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
489 base::Value::CreateStringValue( 479 base::Value::CreateStringValue(
490 ProxyPrefs::kPacScriptProxyModeName)); 480 ProxyPrefs::kPacScriptProxyModeName));
491 provider_.UpdateChromePolicy(policy); 481 provider_.UpdateChromePolicy(policy);
492 const base::Value* value = NULL; 482 const base::Value* value = NULL;
493 EXPECT_EQ(PrefStore::READ_NO_VALUE, store_->GetValue(prefs::kProxy, &value)); 483 EXPECT_FALSE(store_->GetValue(prefs::kProxy, &value));
494 } 484 }
495 485
496 // Regression test for http://crbug.com/78016, CPanel returns empty strings 486 // Regression test for http://crbug.com/78016, CPanel returns empty strings
497 // for unset properties. 487 // for unset properties.
498 TEST_F(ConfigurationPolicyPrefStoreProxyTest, PacScriptProxyModeBug78016) { 488 TEST_F(ConfigurationPolicyPrefStoreProxyTest, PacScriptProxyModeBug78016) {
499 PolicyMap policy; 489 PolicyMap policy;
500 policy.Set(key::kProxyServer, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 490 policy.Set(key::kProxyServer, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
501 base::Value::CreateStringValue("")); 491 base::Value::CreateStringValue(""));
502 policy.Set(key::kProxyPacUrl, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 492 policy.Set(key::kProxyPacUrl, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
503 base::Value::CreateStringValue("http://short.org/proxy.pac")); 493 base::Value::CreateStringValue("http://short.org/proxy.pac"));
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
546 base::Value::CreateStringValue("http://short.org/proxy.pac")); 536 base::Value::CreateStringValue("http://short.org/proxy.pac"));
547 policy.Set(key::kProxyBypassList, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 537 policy.Set(key::kProxyBypassList, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
548 base::Value::CreateStringValue("http://chromium.org/override")); 538 base::Value::CreateStringValue("http://chromium.org/override"));
549 policy.Set(key::kProxyServer, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 539 policy.Set(key::kProxyServer, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
550 base::Value::CreateStringValue("chromium.org")); 540 base::Value::CreateStringValue("chromium.org"));
551 for (int i = 0; i < ProxyPolicyHandler::MODE_COUNT; ++i) { 541 for (int i = 0; i < ProxyPolicyHandler::MODE_COUNT; ++i) {
552 policy.Set(key::kProxyServerMode, POLICY_LEVEL_MANDATORY, 542 policy.Set(key::kProxyServerMode, POLICY_LEVEL_MANDATORY,
553 POLICY_SCOPE_USER, base::Value::CreateIntegerValue(i)); 543 POLICY_SCOPE_USER, base::Value::CreateIntegerValue(i));
554 provider_.UpdateChromePolicy(policy); 544 provider_.UpdateChromePolicy(policy);
555 const base::Value* value = NULL; 545 const base::Value* value = NULL;
556 EXPECT_EQ(PrefStore::READ_NO_VALUE, 546 EXPECT_FALSE(store_->GetValue(prefs::kProxy, &value));
557 store_->GetValue(prefs::kProxy, &value));
558 } 547 }
559 } 548 }
560 549
561 class ConfigurationPolicyPrefStoreDefaultSearchTest 550 class ConfigurationPolicyPrefStoreDefaultSearchTest
562 : public ConfigurationPolicyPrefStoreTest { 551 : public ConfigurationPolicyPrefStoreTest {
563 public: 552 public:
564 ConfigurationPolicyPrefStoreDefaultSearchTest() { 553 ConfigurationPolicyPrefStoreDefaultSearchTest() {
565 default_alternate_urls_.AppendString( 554 default_alternate_urls_.AppendString(
566 "http://www.google.com/#q={searchTerms}"); 555 "http://www.google.com/#q={searchTerms}");
567 default_alternate_urls_.AppendString( 556 default_alternate_urls_.AppendString(
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
621 // search URL, that all the elements have been given proper defaults. 610 // search URL, that all the elements have been given proper defaults.
622 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, MinimallyDefined) { 611 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, MinimallyDefined) {
623 PolicyMap policy; 612 PolicyMap policy;
624 policy.Set(key::kDefaultSearchProviderEnabled, POLICY_LEVEL_MANDATORY, 613 policy.Set(key::kDefaultSearchProviderEnabled, POLICY_LEVEL_MANDATORY,
625 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(true)); 614 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(true));
626 policy.Set(key::kDefaultSearchProviderSearchURL, POLICY_LEVEL_MANDATORY, 615 policy.Set(key::kDefaultSearchProviderSearchURL, POLICY_LEVEL_MANDATORY,
627 POLICY_SCOPE_USER, base::Value::CreateStringValue(kSearchURL)); 616 POLICY_SCOPE_USER, base::Value::CreateStringValue(kSearchURL));
628 provider_.UpdateChromePolicy(policy); 617 provider_.UpdateChromePolicy(policy);
629 618
630 const base::Value* value = NULL; 619 const base::Value* value = NULL;
631 EXPECT_EQ(PrefStore::READ_OK, 620 EXPECT_TRUE(store_->GetValue(prefs::kDefaultSearchProviderSearchURL, &value));
632 store_->GetValue(prefs::kDefaultSearchProviderSearchURL, &value));
633 EXPECT_TRUE(base::StringValue(kSearchURL).Equals(value)); 621 EXPECT_TRUE(base::StringValue(kSearchURL).Equals(value));
634 622
635 EXPECT_EQ(PrefStore::READ_OK, 623 EXPECT_TRUE(store_->GetValue(prefs::kDefaultSearchProviderName, &value));
636 store_->GetValue(prefs::kDefaultSearchProviderName, &value));
637 EXPECT_TRUE(base::StringValue("test.com").Equals(value)); 624 EXPECT_TRUE(base::StringValue("test.com").Equals(value));
638 625
639 EXPECT_EQ(PrefStore::READ_OK, 626 EXPECT_TRUE(store_->GetValue(prefs::kDefaultSearchProviderKeyword, &value));
640 store_->GetValue(prefs::kDefaultSearchProviderKeyword, &value));
641 EXPECT_TRUE(base::StringValue("test.com").Equals(value)); 627 EXPECT_TRUE(base::StringValue("test.com").Equals(value));
642 628
643 EXPECT_EQ(PrefStore::READ_OK, 629 EXPECT_TRUE(store_->GetValue(prefs::kDefaultSearchProviderSuggestURL,
644 store_->GetValue(prefs::kDefaultSearchProviderSuggestURL, &value)); 630 &value));
645 EXPECT_TRUE(base::StringValue(std::string()).Equals(value)); 631 EXPECT_TRUE(base::StringValue(std::string()).Equals(value));
646 632
647 EXPECT_EQ(PrefStore::READ_OK, 633 EXPECT_TRUE(store_->GetValue(prefs::kDefaultSearchProviderIconURL, &value));
648 store_->GetValue(prefs::kDefaultSearchProviderIconURL, &value));
649 EXPECT_TRUE(base::StringValue(std::string()).Equals(value)); 634 EXPECT_TRUE(base::StringValue(std::string()).Equals(value));
650 635
651 EXPECT_EQ(PrefStore::READ_OK, 636 EXPECT_TRUE(store_->GetValue(prefs::kDefaultSearchProviderEncodings, &value));
652 store_->GetValue(prefs::kDefaultSearchProviderEncodings, &value));
653 EXPECT_TRUE(base::StringValue(std::string()).Equals(value)); 637 EXPECT_TRUE(base::StringValue(std::string()).Equals(value));
654 638
655 EXPECT_EQ(PrefStore::READ_OK, 639 EXPECT_TRUE(store_->GetValue(prefs::kDefaultSearchProviderInstantURL,
656 store_->GetValue(prefs::kDefaultSearchProviderInstantURL, &value)); 640 &value));
657 EXPECT_TRUE(base::StringValue(std::string()).Equals(value)); 641 EXPECT_TRUE(base::StringValue(std::string()).Equals(value));
658 642
659 EXPECT_EQ(PrefStore::READ_OK, 643 EXPECT_TRUE(store_->GetValue(prefs::kDefaultSearchProviderAlternateURLs,
660 store_->GetValue(prefs::kDefaultSearchProviderAlternateURLs,
661 &value)); 644 &value));
662 EXPECT_TRUE(base::ListValue().Equals(value)); 645 EXPECT_TRUE(base::ListValue().Equals(value));
663 } 646 }
664 647
665 // Checks that for a fully defined search policy, all elements have been 648 // Checks that for a fully defined search policy, all elements have been
666 // read properly. 649 // read properly.
667 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, FullyDefined) { 650 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, FullyDefined) {
668 PolicyMap policy; 651 PolicyMap policy;
669 BuildDefaultSearchPolicy(&policy); 652 BuildDefaultSearchPolicy(&policy);
670 provider_.UpdateChromePolicy(policy); 653 provider_.UpdateChromePolicy(policy);
671 654
672 const base::Value* value = NULL; 655 const base::Value* value = NULL;
673 EXPECT_EQ(PrefStore::READ_OK, 656 EXPECT_TRUE(store_->GetValue(prefs::kDefaultSearchProviderSearchURL, &value));
674 store_->GetValue(prefs::kDefaultSearchProviderSearchURL, &value));
675 EXPECT_TRUE(base::StringValue(kSearchURL).Equals(value)); 657 EXPECT_TRUE(base::StringValue(kSearchURL).Equals(value));
676 658
677 EXPECT_EQ(PrefStore::READ_OK, 659 EXPECT_TRUE(store_->GetValue(prefs::kDefaultSearchProviderName, &value));
678 store_->GetValue(prefs::kDefaultSearchProviderName, &value));
679 EXPECT_TRUE(base::StringValue(kName).Equals(value)); 660 EXPECT_TRUE(base::StringValue(kName).Equals(value));
680 661
681 EXPECT_EQ(PrefStore::READ_OK, 662 EXPECT_TRUE(store_->GetValue(prefs::kDefaultSearchProviderKeyword, &value));
682 store_->GetValue(prefs::kDefaultSearchProviderKeyword, &value));
683 EXPECT_TRUE(base::StringValue(kKeyword).Equals(value)); 663 EXPECT_TRUE(base::StringValue(kKeyword).Equals(value));
684 664
685 EXPECT_EQ(PrefStore::READ_OK, 665 EXPECT_TRUE(store_->GetValue(prefs::kDefaultSearchProviderSuggestURL,
686 store_->GetValue(prefs::kDefaultSearchProviderSuggestURL, &value)); 666 &value));
687 EXPECT_TRUE(base::StringValue(kSuggestURL).Equals(value)); 667 EXPECT_TRUE(base::StringValue(kSuggestURL).Equals(value));
688 668
689 EXPECT_EQ(PrefStore::READ_OK, 669 EXPECT_TRUE(store_->GetValue(prefs::kDefaultSearchProviderIconURL, &value));
690 store_->GetValue(prefs::kDefaultSearchProviderIconURL, &value));
691 EXPECT_TRUE(base::StringValue(kIconURL).Equals(value)); 670 EXPECT_TRUE(base::StringValue(kIconURL).Equals(value));
692 671
693 EXPECT_EQ(PrefStore::READ_OK, 672 EXPECT_TRUE(store_->GetValue(prefs::kDefaultSearchProviderEncodings, &value));
694 store_->GetValue(prefs::kDefaultSearchProviderEncodings, &value));
695 EXPECT_TRUE(base::StringValue("UTF-16;UTF-8").Equals(value)); 673 EXPECT_TRUE(base::StringValue("UTF-16;UTF-8").Equals(value));
696 674
697 EXPECT_EQ(PrefStore::READ_OK, store_->GetValue( 675 EXPECT_TRUE(store_->GetValue(
698 prefs::kDefaultSearchProviderAlternateURLs, &value)); 676 prefs::kDefaultSearchProviderAlternateURLs, &value));
699 EXPECT_TRUE(default_alternate_urls_.Equals(value)); 677 EXPECT_TRUE(default_alternate_urls_.Equals(value));
700 } 678 }
701 679
702 // Checks that if the default search policy is missing, that no elements of the 680 // Checks that if the default search policy is missing, that no elements of the
703 // default search policy will be present. 681 // default search policy will be present.
704 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, MissingUrl) { 682 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, MissingUrl) {
705 PolicyMap policy; 683 PolicyMap policy;
706 BuildDefaultSearchPolicy(&policy); 684 BuildDefaultSearchPolicy(&policy);
707 policy.Erase(key::kDefaultSearchProviderSearchURL); 685 policy.Erase(key::kDefaultSearchProviderSearchURL);
708 provider_.UpdateChromePolicy(policy); 686 provider_.UpdateChromePolicy(policy);
709 687
710 EXPECT_EQ(PrefStore::READ_NO_VALUE, 688 EXPECT_FALSE(store_->GetValue(prefs::kDefaultSearchProviderSearchURL, NULL));
711 store_->GetValue(prefs::kDefaultSearchProviderSearchURL, NULL)); 689 EXPECT_FALSE(store_->GetValue(prefs::kDefaultSearchProviderName, NULL));
712 EXPECT_EQ(PrefStore::READ_NO_VALUE, 690 EXPECT_FALSE(store_->GetValue(prefs::kDefaultSearchProviderKeyword, NULL));
713 store_->GetValue(prefs::kDefaultSearchProviderName, NULL)); 691 EXPECT_FALSE(store_->GetValue(prefs::kDefaultSearchProviderSuggestURL, NULL));
714 EXPECT_EQ(PrefStore::READ_NO_VALUE, 692 EXPECT_FALSE(store_->GetValue(prefs::kDefaultSearchProviderIconURL, NULL));
715 store_->GetValue(prefs::kDefaultSearchProviderKeyword, NULL)); 693 EXPECT_FALSE(store_->GetValue(prefs::kDefaultSearchProviderEncodings, NULL));
716 EXPECT_EQ(PrefStore::READ_NO_VALUE, 694 EXPECT_FALSE(store_->GetValue(prefs::kDefaultSearchProviderAlternateURLs,
717 store_->GetValue(prefs::kDefaultSearchProviderSuggestURL, NULL)); 695 NULL));
718 EXPECT_EQ(PrefStore::READ_NO_VALUE,
719 store_->GetValue(prefs::kDefaultSearchProviderIconURL, NULL));
720 EXPECT_EQ(PrefStore::READ_NO_VALUE,
721 store_->GetValue(prefs::kDefaultSearchProviderEncodings, NULL));
722 EXPECT_EQ(PrefStore::READ_NO_VALUE,
723 store_->GetValue(prefs::kDefaultSearchProviderAlternateURLs, NULL));
724 } 696 }
725 697
726 // Checks that if the default search policy is invalid, that no elements of the 698 // Checks that if the default search policy is invalid, that no elements of the
727 // default search policy will be present. 699 // default search policy will be present.
728 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, Invalid) { 700 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, Invalid) {
729 PolicyMap policy; 701 PolicyMap policy;
730 BuildDefaultSearchPolicy(&policy); 702 BuildDefaultSearchPolicy(&policy);
731 const char* const bad_search_url = "http://test.com/noSearchTerms"; 703 const char* const bad_search_url = "http://test.com/noSearchTerms";
732 policy.Set(key::kDefaultSearchProviderSearchURL, POLICY_LEVEL_MANDATORY, 704 policy.Set(key::kDefaultSearchProviderSearchURL, POLICY_LEVEL_MANDATORY,
733 POLICY_SCOPE_USER, 705 POLICY_SCOPE_USER,
734 base::Value::CreateStringValue(bad_search_url)); 706 base::Value::CreateStringValue(bad_search_url));
735 provider_.UpdateChromePolicy(policy); 707 provider_.UpdateChromePolicy(policy);
736 708
737 EXPECT_EQ(PrefStore::READ_NO_VALUE, 709 EXPECT_FALSE(store_->GetValue(prefs::kDefaultSearchProviderSearchURL, NULL));
738 store_->GetValue(prefs::kDefaultSearchProviderSearchURL, NULL)); 710 EXPECT_FALSE(store_->GetValue(prefs::kDefaultSearchProviderName, NULL));
739 EXPECT_EQ(PrefStore::READ_NO_VALUE, 711 EXPECT_FALSE(store_->GetValue(prefs::kDefaultSearchProviderKeyword, NULL));
740 store_->GetValue(prefs::kDefaultSearchProviderName, NULL)); 712 EXPECT_FALSE(store_->GetValue(prefs::kDefaultSearchProviderSuggestURL, NULL));
741 EXPECT_EQ(PrefStore::READ_NO_VALUE, 713 EXPECT_FALSE(store_->GetValue(prefs::kDefaultSearchProviderIconURL, NULL));
742 store_->GetValue(prefs::kDefaultSearchProviderKeyword, NULL)); 714 EXPECT_FALSE(store_->GetValue(prefs::kDefaultSearchProviderEncodings, NULL));
743 EXPECT_EQ(PrefStore::READ_NO_VALUE, 715 EXPECT_FALSE(store_->GetValue(prefs::kDefaultSearchProviderAlternateURLs,
744 store_->GetValue(prefs::kDefaultSearchProviderSuggestURL, NULL)); 716 NULL));
745 EXPECT_EQ(PrefStore::READ_NO_VALUE,
746 store_->GetValue(prefs::kDefaultSearchProviderIconURL, NULL));
747 EXPECT_EQ(PrefStore::READ_NO_VALUE,
748 store_->GetValue(prefs::kDefaultSearchProviderEncodings, NULL));
749 EXPECT_EQ(PrefStore::READ_NO_VALUE,
750 store_->GetValue(prefs::kDefaultSearchProviderAlternateURLs, NULL));
751 } 717 }
752 718
753 // Checks that if the default search policy is invalid, that no elements of the 719 // Checks that if the default search policy is invalid, that no elements of the
754 // default search policy will be present. 720 // default search policy will be present.
755 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, Disabled) { 721 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, Disabled) {
756 PolicyMap policy; 722 PolicyMap policy;
757 policy.Set(key::kDefaultSearchProviderEnabled, POLICY_LEVEL_MANDATORY, 723 policy.Set(key::kDefaultSearchProviderEnabled, POLICY_LEVEL_MANDATORY,
758 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(false)); 724 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(false));
759 provider_.UpdateChromePolicy(policy); 725 provider_.UpdateChromePolicy(policy);
760 726
761 const base::Value* value = NULL; 727 const base::Value* value = NULL;
762 EXPECT_EQ(PrefStore::READ_OK, 728 EXPECT_TRUE(store_->GetValue(prefs::kDefaultSearchProviderEnabled, &value));
763 store_->GetValue(prefs::kDefaultSearchProviderEnabled, &value));
764 base::FundamentalValue expected_enabled(false); 729 base::FundamentalValue expected_enabled(false);
765 EXPECT_TRUE(base::Value::Equals(&expected_enabled, value)); 730 EXPECT_TRUE(base::Value::Equals(&expected_enabled, value));
766 EXPECT_EQ(PrefStore::READ_OK, 731 EXPECT_TRUE(store_->GetValue(prefs::kDefaultSearchProviderSearchURL, &value));
767 store_->GetValue(prefs::kDefaultSearchProviderSearchURL, &value));
768 base::StringValue expected_search_url(""); 732 base::StringValue expected_search_url("");
769 EXPECT_TRUE(base::Value::Equals(&expected_search_url, value)); 733 EXPECT_TRUE(base::Value::Equals(&expected_search_url, value));
770 } 734 }
771 735
772 // Tests Incognito mode availability preference setting. 736 // Tests Incognito mode availability preference setting.
773 class ConfigurationPolicyPrefStoreIncognitoModeTest 737 class ConfigurationPolicyPrefStoreIncognitoModeTest
774 : public ConfigurationPolicyPrefStoreTest { 738 : public ConfigurationPolicyPrefStoreTest {
775 protected: 739 protected:
776 static const int kIncognitoModeAvailabilityNotSet = -1; 740 static const int kIncognitoModeAvailabilityNotSet = -1;
777 741
(...skipping 15 matching lines...) Expand all
793 if (availability >= 0) { 757 if (availability >= 0) {
794 policy.Set(key::kIncognitoModeAvailability, POLICY_LEVEL_MANDATORY, 758 policy.Set(key::kIncognitoModeAvailability, POLICY_LEVEL_MANDATORY,
795 POLICY_SCOPE_USER, 759 POLICY_SCOPE_USER,
796 base::Value::CreateIntegerValue(availability)); 760 base::Value::CreateIntegerValue(availability));
797 } 761 }
798 provider_.UpdateChromePolicy(policy); 762 provider_.UpdateChromePolicy(policy);
799 } 763 }
800 764
801 void VerifyValues(IncognitoModePrefs::Availability availability) { 765 void VerifyValues(IncognitoModePrefs::Availability availability) {
802 const base::Value* value = NULL; 766 const base::Value* value = NULL;
803 EXPECT_EQ(PrefStore::READ_OK, 767 EXPECT_TRUE(store_->GetValue(prefs::kIncognitoModeAvailability, &value));
804 store_->GetValue(prefs::kIncognitoModeAvailability, &value));
805 EXPECT_TRUE(base::FundamentalValue(availability).Equals(value)); 768 EXPECT_TRUE(base::FundamentalValue(availability).Equals(value));
806 } 769 }
807 }; 770 };
808 771
809 // The following testcases verify that if the obsolete IncognitoEnabled 772 // The following testcases verify that if the obsolete IncognitoEnabled
810 // policy is not set, the IncognitoModeAvailability values should be copied 773 // policy is not set, the IncognitoModeAvailability values should be copied
811 // from IncognitoModeAvailability policy to pref "as is". 774 // from IncognitoModeAvailability policy to pref "as is".
812 TEST_F(ConfigurationPolicyPrefStoreIncognitoModeTest, 775 TEST_F(ConfigurationPolicyPrefStoreIncognitoModeTest,
813 NoObsoletePolicyAndIncognitoEnabled) { 776 NoObsoletePolicyAndIncognitoEnabled) {
814 SetPolicies(INCOGNITO_ENABLED_UNKNOWN, IncognitoModePrefs::ENABLED); 777 SetPolicies(INCOGNITO_ENABLED_UNKNOWN, IncognitoModePrefs::ENABLED);
815 VerifyValues(IncognitoModePrefs::ENABLED); 778 VerifyValues(IncognitoModePrefs::ENABLED);
816 } 779 }
817 780
818 TEST_F(ConfigurationPolicyPrefStoreIncognitoModeTest, 781 TEST_F(ConfigurationPolicyPrefStoreIncognitoModeTest,
819 NoObsoletePolicyAndIncognitoDisabled) { 782 NoObsoletePolicyAndIncognitoDisabled) {
820 SetPolicies(INCOGNITO_ENABLED_UNKNOWN, IncognitoModePrefs::DISABLED); 783 SetPolicies(INCOGNITO_ENABLED_UNKNOWN, IncognitoModePrefs::DISABLED);
821 VerifyValues(IncognitoModePrefs::DISABLED); 784 VerifyValues(IncognitoModePrefs::DISABLED);
822 } 785 }
823 786
824 TEST_F(ConfigurationPolicyPrefStoreIncognitoModeTest, 787 TEST_F(ConfigurationPolicyPrefStoreIncognitoModeTest,
825 NoObsoletePolicyAndIncognitoForced) { 788 NoObsoletePolicyAndIncognitoForced) {
826 SetPolicies(INCOGNITO_ENABLED_UNKNOWN, IncognitoModePrefs::FORCED); 789 SetPolicies(INCOGNITO_ENABLED_UNKNOWN, IncognitoModePrefs::FORCED);
827 VerifyValues(IncognitoModePrefs::FORCED); 790 VerifyValues(IncognitoModePrefs::FORCED);
828 } 791 }
829 792
830 TEST_F(ConfigurationPolicyPrefStoreIncognitoModeTest, 793 TEST_F(ConfigurationPolicyPrefStoreIncognitoModeTest,
831 NoObsoletePolicyAndNoIncognitoAvailability) { 794 NoObsoletePolicyAndNoIncognitoAvailability) {
832 SetPolicies(INCOGNITO_ENABLED_UNKNOWN, kIncognitoModeAvailabilityNotSet); 795 SetPolicies(INCOGNITO_ENABLED_UNKNOWN, kIncognitoModeAvailabilityNotSet);
833 const base::Value* value = NULL; 796 const base::Value* value = NULL;
834 EXPECT_EQ(PrefStore::READ_NO_VALUE, 797 EXPECT_FALSE(store_->GetValue(prefs::kIncognitoModeAvailability, &value));
835 store_->GetValue(prefs::kIncognitoModeAvailability, &value));
836 } 798 }
837 799
838 // Checks that if the obsolete IncognitoEnabled policy is set, if sets 800 // Checks that if the obsolete IncognitoEnabled policy is set, if sets
839 // the IncognitoModeAvailability preference only in case 801 // the IncognitoModeAvailability preference only in case
840 // the IncognitoModeAvailability policy is not specified. 802 // the IncognitoModeAvailability policy is not specified.
841 TEST_F(ConfigurationPolicyPrefStoreIncognitoModeTest, 803 TEST_F(ConfigurationPolicyPrefStoreIncognitoModeTest,
842 ObsoletePolicyDoesNotAffectAvailabilityEnabled) { 804 ObsoletePolicyDoesNotAffectAvailabilityEnabled) {
843 SetPolicies(INCOGNITO_ENABLED_FALSE, IncognitoModePrefs::ENABLED); 805 SetPolicies(INCOGNITO_ENABLED_FALSE, IncognitoModePrefs::ENABLED);
844 VerifyValues(IncognitoModePrefs::ENABLED); 806 VerifyValues(IncognitoModePrefs::ENABLED);
845 } 807 }
(...skipping 14 matching lines...) Expand all
860 ObsoletePolicySetsPreferenceToDisabled) { 822 ObsoletePolicySetsPreferenceToDisabled) {
861 SetPolicies(INCOGNITO_ENABLED_FALSE, kIncognitoModeAvailabilityNotSet); 823 SetPolicies(INCOGNITO_ENABLED_FALSE, kIncognitoModeAvailabilityNotSet);
862 VerifyValues(IncognitoModePrefs::DISABLED); 824 VerifyValues(IncognitoModePrefs::DISABLED);
863 } 825 }
864 826
865 // Test cases for the Sync policy setting. 827 // Test cases for the Sync policy setting.
866 class ConfigurationPolicyPrefStoreSyncTest 828 class ConfigurationPolicyPrefStoreSyncTest
867 : public ConfigurationPolicyPrefStoreTest {}; 829 : public ConfigurationPolicyPrefStoreTest {};
868 830
869 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Default) { 831 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Default) {
870 EXPECT_EQ(PrefStore::READ_NO_VALUE, 832 EXPECT_FALSE(store_->GetValue(prefs::kSyncManaged, NULL));
871 store_->GetValue(prefs::kSyncManaged, NULL));
872 } 833 }
873 834
874 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Enabled) { 835 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Enabled) {
875 PolicyMap policy; 836 PolicyMap policy;
876 policy.Set(key::kSyncDisabled, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 837 policy.Set(key::kSyncDisabled, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
877 base::Value::CreateBooleanValue(false)); 838 base::Value::CreateBooleanValue(false));
878 provider_.UpdateChromePolicy(policy); 839 provider_.UpdateChromePolicy(policy);
879 // Enabling Sync should not set the pref. 840 // Enabling Sync should not set the pref.
880 EXPECT_EQ(PrefStore::READ_NO_VALUE, 841 EXPECT_FALSE(store_->GetValue(prefs::kSyncManaged, NULL));
881 store_->GetValue(prefs::kSyncManaged, NULL));
882 } 842 }
883 843
884 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Disabled) { 844 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Disabled) {
885 PolicyMap policy; 845 PolicyMap policy;
886 policy.Set(key::kSyncDisabled, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 846 policy.Set(key::kSyncDisabled, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
887 base::Value::CreateBooleanValue(true)); 847 base::Value::CreateBooleanValue(true));
888 provider_.UpdateChromePolicy(policy); 848 provider_.UpdateChromePolicy(policy);
889 // Sync should be flagged as managed. 849 // Sync should be flagged as managed.
890 const base::Value* value = NULL; 850 const base::Value* value = NULL;
891 EXPECT_EQ(PrefStore::READ_OK, store_->GetValue(prefs::kSyncManaged, &value)); 851 EXPECT_TRUE(store_->GetValue(prefs::kSyncManaged, &value));
892 ASSERT_TRUE(value); 852 ASSERT_TRUE(value);
893 bool sync_managed = false; 853 bool sync_managed = false;
894 bool result = value->GetAsBoolean(&sync_managed); 854 bool result = value->GetAsBoolean(&sync_managed);
895 ASSERT_TRUE(result); 855 ASSERT_TRUE(result);
896 EXPECT_TRUE(sync_managed); 856 EXPECT_TRUE(sync_managed);
897 } 857 }
898 858
899 // Test cases for how the DownloadDirectory and AllowFileSelectionDialogs policy 859 // Test cases for how the DownloadDirectory and AllowFileSelectionDialogs policy
900 // influence the PromptForDownload preference. 860 // influence the PromptForDownload preference.
901 class ConfigurationPolicyPrefStorePromptDownloadTest 861 class ConfigurationPolicyPrefStorePromptDownloadTest
902 : public ConfigurationPolicyPrefStoreTest {}; 862 : public ConfigurationPolicyPrefStoreTest {};
903 863
904 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, Default) { 864 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, Default) {
905 EXPECT_EQ(PrefStore::READ_NO_VALUE, 865 EXPECT_FALSE(store_->GetValue(prefs::kPromptForDownload, NULL));
906 store_->GetValue(prefs::kPromptForDownload, NULL));
907 } 866 }
908 867
909 #if !defined(OS_CHROMEOS) 868 #if !defined(OS_CHROMEOS)
910 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, SetDownloadDirectory) { 869 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, SetDownloadDirectory) {
911 PolicyMap policy; 870 PolicyMap policy;
912 EXPECT_EQ(PrefStore::READ_NO_VALUE, 871 EXPECT_FALSE(store_->GetValue(prefs::kPromptForDownload, NULL));
913 store_->GetValue(prefs::kPromptForDownload, NULL));
914 policy.Set(key::kDownloadDirectory, POLICY_LEVEL_MANDATORY, 872 policy.Set(key::kDownloadDirectory, POLICY_LEVEL_MANDATORY,
915 POLICY_SCOPE_USER, base::Value::CreateStringValue("")); 873 POLICY_SCOPE_USER, base::Value::CreateStringValue(""));
916 provider_.UpdateChromePolicy(policy); 874 provider_.UpdateChromePolicy(policy);
917 875
918 // Setting a DownloadDirectory should disable the PromptForDownload pref. 876 // Setting a DownloadDirectory should disable the PromptForDownload pref.
919 const base::Value* value = NULL; 877 const base::Value* value = NULL;
920 EXPECT_EQ(PrefStore::READ_OK, store_->GetValue(prefs::kPromptForDownload, 878 EXPECT_TRUE(store_->GetValue(prefs::kPromptForDownload,
921 &value)); 879 &value));
922 ASSERT_TRUE(value); 880 ASSERT_TRUE(value);
923 bool prompt_for_download = true; 881 bool prompt_for_download = true;
924 bool result = value->GetAsBoolean(&prompt_for_download); 882 bool result = value->GetAsBoolean(&prompt_for_download);
925 ASSERT_TRUE(result); 883 ASSERT_TRUE(result);
926 EXPECT_FALSE(prompt_for_download); 884 EXPECT_FALSE(prompt_for_download);
927 } 885 }
928 #endif // !defined(OS_CHROMEOS) 886 #endif // !defined(OS_CHROMEOS)
929 887
930 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, 888 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest,
931 EnableFileSelectionDialogs) { 889 EnableFileSelectionDialogs) {
932 PolicyMap policy; 890 PolicyMap policy;
933 EXPECT_EQ(PrefStore::READ_NO_VALUE, 891 EXPECT_FALSE(store_->GetValue(prefs::kPromptForDownload, NULL));
934 store_->GetValue(prefs::kPromptForDownload, NULL));
935 policy.Set(key::kAllowFileSelectionDialogs, POLICY_LEVEL_MANDATORY, 892 policy.Set(key::kAllowFileSelectionDialogs, POLICY_LEVEL_MANDATORY,
936 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(true)); 893 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(true));
937 provider_.UpdateChromePolicy(policy); 894 provider_.UpdateChromePolicy(policy);
938 895
939 // Allowing file-selection dialogs should not influence the PromptForDownload 896 // Allowing file-selection dialogs should not influence the PromptForDownload
940 // pref. 897 // pref.
941 EXPECT_EQ(PrefStore::READ_NO_VALUE, 898 EXPECT_FALSE(store_->GetValue(prefs::kPromptForDownload, NULL));
942 store_->GetValue(prefs::kPromptForDownload, NULL));
943 } 899 }
944 900
945 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, 901 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest,
946 DisableFileSelectionDialogs) { 902 DisableFileSelectionDialogs) {
947 PolicyMap policy; 903 PolicyMap policy;
948 EXPECT_EQ(PrefStore::READ_NO_VALUE, 904 EXPECT_FALSE(store_->GetValue(prefs::kPromptForDownload, NULL));
949 store_->GetValue(prefs::kPromptForDownload, NULL));
950 policy.Set(key::kAllowFileSelectionDialogs, POLICY_LEVEL_MANDATORY, 905 policy.Set(key::kAllowFileSelectionDialogs, POLICY_LEVEL_MANDATORY,
951 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(false)); 906 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(false));
952 provider_.UpdateChromePolicy(policy); 907 provider_.UpdateChromePolicy(policy);
953 908
954 // Disabling file-selection dialogs should disable the PromptForDownload pref. 909 // Disabling file-selection dialogs should disable the PromptForDownload pref.
955 const base::Value* value = NULL; 910 const base::Value* value = NULL;
956 EXPECT_EQ(PrefStore::READ_OK, store_->GetValue(prefs::kPromptForDownload, 911 EXPECT_TRUE(store_->GetValue(prefs::kPromptForDownload,
957 &value)); 912 &value));
958 ASSERT_TRUE(value); 913 ASSERT_TRUE(value);
959 bool prompt_for_download = true; 914 bool prompt_for_download = true;
960 bool result = value->GetAsBoolean(&prompt_for_download); 915 bool result = value->GetAsBoolean(&prompt_for_download);
961 ASSERT_TRUE(result); 916 ASSERT_TRUE(result);
962 EXPECT_FALSE(prompt_for_download); 917 EXPECT_FALSE(prompt_for_download);
963 } 918 }
964 919
965 // Test cases for the Autofill policy setting. 920 // Test cases for the Autofill policy setting.
966 class ConfigurationPolicyPrefStoreAutofillTest 921 class ConfigurationPolicyPrefStoreAutofillTest
967 : public ConfigurationPolicyPrefStoreTest {}; 922 : public ConfigurationPolicyPrefStoreTest {};
968 923
969 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Default) { 924 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Default) {
970 EXPECT_EQ(PrefStore::READ_NO_VALUE, 925 EXPECT_FALSE(store_->GetValue(prefs::kAutofillEnabled, NULL));
971 store_->GetValue(prefs::kAutofillEnabled, NULL));
972 } 926 }
973 927
974 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Enabled) { 928 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Enabled) {
975 PolicyMap policy; 929 PolicyMap policy;
976 policy.Set(key::kAutoFillEnabled, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 930 policy.Set(key::kAutoFillEnabled, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
977 base::Value::CreateBooleanValue(true)); 931 base::Value::CreateBooleanValue(true));
978 provider_.UpdateChromePolicy(policy); 932 provider_.UpdateChromePolicy(policy);
979 // Enabling Autofill should not set the pref. 933 // Enabling Autofill should not set the pref.
980 EXPECT_EQ(PrefStore::READ_NO_VALUE, 934 EXPECT_FALSE(store_->GetValue(prefs::kAutofillEnabled, NULL));
981 store_->GetValue(prefs::kAutofillEnabled, NULL));
982 } 935 }
983 936
984 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Disabled) { 937 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Disabled) {
985 PolicyMap policy; 938 PolicyMap policy;
986 policy.Set(key::kAutoFillEnabled, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 939 policy.Set(key::kAutoFillEnabled, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
987 base::Value::CreateBooleanValue(false)); 940 base::Value::CreateBooleanValue(false));
988 provider_.UpdateChromePolicy(policy); 941 provider_.UpdateChromePolicy(policy);
989 // Disabling Autofill should switch the pref to managed. 942 // Disabling Autofill should switch the pref to managed.
990 const base::Value* value = NULL; 943 const base::Value* value = NULL;
991 EXPECT_EQ(PrefStore::READ_OK, 944 EXPECT_TRUE(store_->GetValue(prefs::kAutofillEnabled, &value));
992 store_->GetValue(prefs::kAutofillEnabled, &value));
993 ASSERT_TRUE(value); 945 ASSERT_TRUE(value);
994 bool autofill_enabled = true; 946 bool autofill_enabled = true;
995 bool result = value->GetAsBoolean(&autofill_enabled); 947 bool result = value->GetAsBoolean(&autofill_enabled);
996 ASSERT_TRUE(result); 948 ASSERT_TRUE(result);
997 EXPECT_FALSE(autofill_enabled); 949 EXPECT_FALSE(autofill_enabled);
998 } 950 }
999 951
1000 // Exercises the policy refresh mechanism. 952 // Exercises the policy refresh mechanism.
1001 class ConfigurationPolicyPrefStoreRefreshTest 953 class ConfigurationPolicyPrefStoreRefreshTest
1002 : public ConfigurationPolicyPrefStoreTest { 954 : public ConfigurationPolicyPrefStoreTest {
1003 protected: 955 protected:
1004 virtual void SetUp() { 956 virtual void SetUp() {
1005 ConfigurationPolicyPrefStoreTest::SetUp(); 957 ConfigurationPolicyPrefStoreTest::SetUp();
1006 store_->AddObserver(&observer_); 958 store_->AddObserver(&observer_);
1007 } 959 }
1008 960
1009 virtual void TearDown() { 961 virtual void TearDown() {
1010 store_->RemoveObserver(&observer_); 962 store_->RemoveObserver(&observer_);
1011 ConfigurationPolicyPrefStoreTest::TearDown(); 963 ConfigurationPolicyPrefStoreTest::TearDown();
1012 } 964 }
1013 965
1014 PrefStoreObserverMock observer_; 966 PrefStoreObserverMock observer_;
1015 }; 967 };
1016 968
1017 TEST_F(ConfigurationPolicyPrefStoreRefreshTest, Refresh) { 969 TEST_F(ConfigurationPolicyPrefStoreRefreshTest, Refresh) {
1018 const base::Value* value = NULL; 970 const base::Value* value = NULL;
1019 EXPECT_EQ(PrefStore::READ_NO_VALUE, 971 EXPECT_FALSE(store_->GetValue(prefs::kHomePage, NULL));
1020 store_->GetValue(prefs::kHomePage, NULL));
1021 972
1022 EXPECT_CALL(observer_, OnPrefValueChanged(prefs::kHomePage)).Times(1); 973 EXPECT_CALL(observer_, OnPrefValueChanged(prefs::kHomePage)).Times(1);
1023 PolicyMap policy; 974 PolicyMap policy;
1024 policy.Set(key::kHomepageLocation, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 975 policy.Set(key::kHomepageLocation, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
1025 base::Value::CreateStringValue("http://www.chromium.org")); 976 base::Value::CreateStringValue("http://www.chromium.org"));
1026 provider_.UpdateChromePolicy(policy); 977 provider_.UpdateChromePolicy(policy);
1027 Mock::VerifyAndClearExpectations(&observer_); 978 Mock::VerifyAndClearExpectations(&observer_);
1028 EXPECT_EQ(PrefStore::READ_OK, 979 EXPECT_TRUE(store_->GetValue(prefs::kHomePage, &value));
1029 store_->GetValue(prefs::kHomePage, &value));
1030 EXPECT_TRUE(base::StringValue("http://www.chromium.org").Equals(value)); 980 EXPECT_TRUE(base::StringValue("http://www.chromium.org").Equals(value));
1031 981
1032 EXPECT_CALL(observer_, OnPrefValueChanged(_)).Times(0); 982 EXPECT_CALL(observer_, OnPrefValueChanged(_)).Times(0);
1033 provider_.UpdateChromePolicy(policy); 983 provider_.UpdateChromePolicy(policy);
1034 Mock::VerifyAndClearExpectations(&observer_); 984 Mock::VerifyAndClearExpectations(&observer_);
1035 985
1036 EXPECT_CALL(observer_, OnPrefValueChanged(prefs::kHomePage)).Times(1); 986 EXPECT_CALL(observer_, OnPrefValueChanged(prefs::kHomePage)).Times(1);
1037 policy.Erase(key::kHomepageLocation); 987 policy.Erase(key::kHomepageLocation);
1038 provider_.UpdateChromePolicy(policy); 988 provider_.UpdateChromePolicy(policy);
1039 Mock::VerifyAndClearExpectations(&observer_); 989 Mock::VerifyAndClearExpectations(&observer_);
1040 EXPECT_EQ(PrefStore::READ_NO_VALUE, 990 EXPECT_FALSE(store_->GetValue(prefs::kHomePage, NULL));
1041 store_->GetValue(prefs::kHomePage, NULL));
1042 } 991 }
1043 992
1044 TEST_F(ConfigurationPolicyPrefStoreRefreshTest, Initialization) { 993 TEST_F(ConfigurationPolicyPrefStoreRefreshTest, Initialization) {
1045 EXPECT_FALSE(store_->IsInitializationComplete()); 994 EXPECT_FALSE(store_->IsInitializationComplete());
1046 EXPECT_CALL(provider_, IsInitializationComplete()) 995 EXPECT_CALL(provider_, IsInitializationComplete())
1047 .WillRepeatedly(Return(true)); 996 .WillRepeatedly(Return(true));
1048 EXPECT_CALL(observer_, OnInitializationCompleted(true)).Times(1); 997 EXPECT_CALL(observer_, OnInitializationCompleted(true)).Times(1);
1049 PolicyMap policy; 998 PolicyMap policy;
1050 provider_.UpdateChromePolicy(policy); 999 provider_.UpdateChromePolicy(policy);
1051 Mock::VerifyAndClearExpectations(&observer_); 1000 Mock::VerifyAndClearExpectations(&observer_);
1052 EXPECT_TRUE(store_->IsInitializationComplete()); 1001 EXPECT_TRUE(store_->IsInitializationComplete());
1053 } 1002 }
1054 1003
1055 // Tests for policies that don't quite fit the previous patterns. 1004 // Tests for policies that don't quite fit the previous patterns.
1056 class ConfigurationPolicyPrefStoreOthersTest 1005 class ConfigurationPolicyPrefStoreOthersTest
1057 : public ConfigurationPolicyPrefStoreTest {}; 1006 : public ConfigurationPolicyPrefStoreTest {};
1058 1007
1059 TEST_F(ConfigurationPolicyPrefStoreOthersTest, JavascriptEnabled) { 1008 TEST_F(ConfigurationPolicyPrefStoreOthersTest, JavascriptEnabled) {
1060 // This is a boolean policy, but affects an integer preference. 1009 // This is a boolean policy, but affects an integer preference.
1061 EXPECT_EQ(PrefStore::READ_NO_VALUE, 1010 EXPECT_FALSE(store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL));
1062 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL));
1063 PolicyMap policy; 1011 PolicyMap policy;
1064 policy.Set(key::kJavascriptEnabled, POLICY_LEVEL_MANDATORY, 1012 policy.Set(key::kJavascriptEnabled, POLICY_LEVEL_MANDATORY,
1065 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(true)); 1013 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(true));
1066 provider_.UpdateChromePolicy(policy); 1014 provider_.UpdateChromePolicy(policy);
1067 EXPECT_EQ(PrefStore::READ_NO_VALUE, 1015 EXPECT_FALSE(store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL));
1068 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL));
1069 policy.Set(key::kJavascriptEnabled, POLICY_LEVEL_MANDATORY, 1016 policy.Set(key::kJavascriptEnabled, POLICY_LEVEL_MANDATORY,
1070 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(false)); 1017 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(false));
1071 provider_.UpdateChromePolicy(policy); 1018 provider_.UpdateChromePolicy(policy);
1072 const base::Value* value = NULL; 1019 const base::Value* value = NULL;
1073 EXPECT_EQ(PrefStore::READ_OK, 1020 EXPECT_TRUE(store_->GetValue(prefs::kManagedDefaultJavaScriptSetting,
1074 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, &value)); 1021 &value));
1075 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_BLOCK).Equals(value)); 1022 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_BLOCK).Equals(value));
1076 } 1023 }
1077 1024
1078 TEST_F(ConfigurationPolicyPrefStoreOthersTest, JavascriptEnabledOverridden) { 1025 TEST_F(ConfigurationPolicyPrefStoreOthersTest, JavascriptEnabledOverridden) {
1079 EXPECT_EQ(PrefStore::READ_NO_VALUE, 1026 EXPECT_FALSE(store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL));
1080 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL));
1081 PolicyMap policy; 1027 PolicyMap policy;
1082 policy.Set(key::kJavascriptEnabled, POLICY_LEVEL_MANDATORY, 1028 policy.Set(key::kJavascriptEnabled, POLICY_LEVEL_MANDATORY,
1083 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(false)); 1029 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(false));
1084 provider_.UpdateChromePolicy(policy); 1030 provider_.UpdateChromePolicy(policy);
1085 const base::Value* value = NULL; 1031 const base::Value* value = NULL;
1086 EXPECT_EQ(PrefStore::READ_OK, 1032 EXPECT_TRUE(store_->GetValue(prefs::kManagedDefaultJavaScriptSetting,
1087 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, &value)); 1033 &value));
1088 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_BLOCK).Equals(value)); 1034 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_BLOCK).Equals(value));
1089 // DefaultJavaScriptSetting overrides JavascriptEnabled. 1035 // DefaultJavaScriptSetting overrides JavascriptEnabled.
1090 policy.Set(key::kDefaultJavaScriptSetting, POLICY_LEVEL_MANDATORY, 1036 policy.Set(key::kDefaultJavaScriptSetting, POLICY_LEVEL_MANDATORY,
1091 POLICY_SCOPE_USER, 1037 POLICY_SCOPE_USER,
1092 base::Value::CreateIntegerValue(CONTENT_SETTING_ALLOW)); 1038 base::Value::CreateIntegerValue(CONTENT_SETTING_ALLOW));
1093 provider_.UpdateChromePolicy(policy); 1039 provider_.UpdateChromePolicy(policy);
1094 EXPECT_EQ(PrefStore::READ_OK, 1040 EXPECT_TRUE(store_->GetValue(prefs::kManagedDefaultJavaScriptSetting,
1095 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, &value)); 1041 &value));
1096 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_ALLOW).Equals(value)); 1042 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_ALLOW).Equals(value));
1097 } 1043 }
1098 1044
1099 } // namespace policy 1045 } // namespace policy
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698