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

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

Issue 10386097: Refactored ConfigurationPolicyProvider to provide PolicyBundles instead of PolicyMaps. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Addressed comments Created 8 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 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"
(...skipping 26 matching lines...) Expand all
37 const char* pref_name() const { return pref_name_; } 37 const char* pref_name() const { return pref_name_; }
38 38
39 private: 39 private:
40 const char* policy_name_; 40 const char* policy_name_;
41 const char* pref_name_; 41 const char* pref_name_;
42 }; 42 };
43 43
44 class ConfigurationPolicyPrefStoreTest : public testing::Test { 44 class ConfigurationPolicyPrefStoreTest : public testing::Test {
45 protected: 45 protected:
46 ConfigurationPolicyPrefStoreTest() { 46 ConfigurationPolicyPrefStoreTest() {
47 EXPECT_CALL(provider_, ProvideInternal(_))
48 .WillRepeatedly(CopyPolicyMap(&policy_));
49 EXPECT_CALL(provider_, IsInitializationComplete()) 47 EXPECT_CALL(provider_, IsInitializationComplete())
50 .WillRepeatedly(Return(false)); 48 .WillRepeatedly(Return(false));
51 PolicyServiceImpl::Providers providers; 49 PolicyServiceImpl::Providers providers;
52 providers.push_back(&provider_); 50 providers.push_back(&provider_);
53 policy_service_.reset(new PolicyServiceImpl(providers)); 51 policy_service_.reset(new PolicyServiceImpl(providers));
54 store_ = new ConfigurationPolicyPrefStore(policy_service_.get(), 52 store_ = new ConfigurationPolicyPrefStore(policy_service_.get(),
55 POLICY_LEVEL_MANDATORY); 53 POLICY_LEVEL_MANDATORY);
56 } 54 }
57 55
58 PolicyMap policy_;
59 MockConfigurationPolicyProvider provider_; 56 MockConfigurationPolicyProvider provider_;
60 scoped_ptr<PolicyServiceImpl> policy_service_; 57 scoped_ptr<PolicyServiceImpl> policy_service_;
61 scoped_refptr<ConfigurationPolicyPrefStore> store_; 58 scoped_refptr<ConfigurationPolicyPrefStore> store_;
62 }; 59 };
63 60
64 // Test cases for list-valued policy settings. 61 // Test cases for list-valued policy settings.
65 class ConfigurationPolicyPrefStoreListTest 62 class ConfigurationPolicyPrefStoreListTest
66 : public ConfigurationPolicyPrefStoreTest, 63 : public ConfigurationPolicyPrefStoreTest,
67 public testing::WithParamInterface<PolicyAndPref> {}; 64 public testing::WithParamInterface<PolicyAndPref> {};
68 65
69 TEST_P(ConfigurationPolicyPrefStoreListTest, GetDefault) { 66 TEST_P(ConfigurationPolicyPrefStoreListTest, GetDefault) {
70 EXPECT_EQ(PrefStore::READ_NO_VALUE, 67 EXPECT_EQ(PrefStore::READ_NO_VALUE,
71 store_->GetValue(GetParam().pref_name(), NULL)); 68 store_->GetValue(GetParam().pref_name(), NULL));
72 } 69 }
73 70
74 TEST_P(ConfigurationPolicyPrefStoreListTest, SetValue) { 71 TEST_P(ConfigurationPolicyPrefStoreListTest, SetValue) {
75 base::ListValue* in_value = new base::ListValue(); 72 base::ListValue* in_value = new base::ListValue();
76 in_value->Append(base::Value::CreateStringValue("test1")); 73 in_value->Append(base::Value::CreateStringValue("test1"));
77 in_value->Append(base::Value::CreateStringValue("test2,")); 74 in_value->Append(base::Value::CreateStringValue("test2,"));
78 policy_.Set(GetParam().policy_name(), POLICY_LEVEL_MANDATORY, 75 PolicyMap policy;
79 POLICY_SCOPE_USER, in_value); 76 policy.Set(GetParam().policy_name(), POLICY_LEVEL_MANDATORY,
80 provider_.NotifyPolicyUpdated(); 77 POLICY_SCOPE_USER, in_value);
78 provider_.UpdateChromePolicy(policy);
81 const base::Value* value = NULL; 79 const base::Value* value = NULL;
82 EXPECT_EQ(PrefStore::READ_OK, 80 EXPECT_EQ(PrefStore::READ_OK,
83 store_->GetValue(GetParam().pref_name(), &value)); 81 store_->GetValue(GetParam().pref_name(), &value));
84 ASSERT_TRUE(value); 82 ASSERT_TRUE(value);
85 EXPECT_TRUE(in_value->Equals(value)); 83 EXPECT_TRUE(in_value->Equals(value));
86 } 84 }
87 85
88 INSTANTIATE_TEST_CASE_P( 86 INSTANTIATE_TEST_CASE_P(
89 ConfigurationPolicyPrefStoreListTestInstance, 87 ConfigurationPolicyPrefStoreListTestInstance,
90 ConfigurationPolicyPrefStoreListTest, 88 ConfigurationPolicyPrefStoreListTest,
(...skipping 19 matching lines...) Expand all
110 class ConfigurationPolicyPrefStoreStringTest 108 class ConfigurationPolicyPrefStoreStringTest
111 : public ConfigurationPolicyPrefStoreTest, 109 : public ConfigurationPolicyPrefStoreTest,
112 public testing::WithParamInterface<PolicyAndPref> {}; 110 public testing::WithParamInterface<PolicyAndPref> {};
113 111
114 TEST_P(ConfigurationPolicyPrefStoreStringTest, GetDefault) { 112 TEST_P(ConfigurationPolicyPrefStoreStringTest, GetDefault) {
115 EXPECT_EQ(PrefStore::READ_NO_VALUE, 113 EXPECT_EQ(PrefStore::READ_NO_VALUE,
116 store_->GetValue(GetParam().pref_name(), NULL)); 114 store_->GetValue(GetParam().pref_name(), NULL));
117 } 115 }
118 116
119 TEST_P(ConfigurationPolicyPrefStoreStringTest, SetValue) { 117 TEST_P(ConfigurationPolicyPrefStoreStringTest, SetValue) {
120 policy_.Set(GetParam().policy_name(), POLICY_LEVEL_MANDATORY, 118 PolicyMap policy;
121 POLICY_SCOPE_USER, 119 policy.Set(GetParam().policy_name(), POLICY_LEVEL_MANDATORY,
122 base::Value::CreateStringValue("http://chromium.org")); 120 POLICY_SCOPE_USER,
123 provider_.NotifyPolicyUpdated(); 121 base::Value::CreateStringValue("http://chromium.org"));
122 provider_.UpdateChromePolicy(policy);
124 const base::Value* value = NULL; 123 const base::Value* value = NULL;
125 EXPECT_EQ(PrefStore::READ_OK, 124 EXPECT_EQ(PrefStore::READ_OK,
126 store_->GetValue(GetParam().pref_name(), &value)); 125 store_->GetValue(GetParam().pref_name(), &value));
127 ASSERT_TRUE(value); 126 ASSERT_TRUE(value);
128 EXPECT_TRUE(base::StringValue("http://chromium.org").Equals(value)); 127 EXPECT_TRUE(base::StringValue("http://chromium.org").Equals(value));
129 } 128 }
130 129
131 INSTANTIATE_TEST_CASE_P( 130 INSTANTIATE_TEST_CASE_P(
132 ConfigurationPolicyPrefStoreStringTestInstance, 131 ConfigurationPolicyPrefStoreStringTestInstance,
133 ConfigurationPolicyPrefStoreStringTest, 132 ConfigurationPolicyPrefStoreStringTest,
(...skipping 25 matching lines...) Expand all
159 class ConfigurationPolicyPrefStoreBooleanTest 158 class ConfigurationPolicyPrefStoreBooleanTest
160 : public ConfigurationPolicyPrefStoreTest, 159 : public ConfigurationPolicyPrefStoreTest,
161 public testing::WithParamInterface<PolicyAndPref> {}; 160 public testing::WithParamInterface<PolicyAndPref> {};
162 161
163 TEST_P(ConfigurationPolicyPrefStoreBooleanTest, GetDefault) { 162 TEST_P(ConfigurationPolicyPrefStoreBooleanTest, GetDefault) {
164 EXPECT_EQ(PrefStore::READ_NO_VALUE, 163 EXPECT_EQ(PrefStore::READ_NO_VALUE,
165 store_->GetValue(GetParam().pref_name(), NULL)); 164 store_->GetValue(GetParam().pref_name(), NULL));
166 } 165 }
167 166
168 TEST_P(ConfigurationPolicyPrefStoreBooleanTest, SetValue) { 167 TEST_P(ConfigurationPolicyPrefStoreBooleanTest, SetValue) {
169 policy_.Set(GetParam().policy_name(), POLICY_LEVEL_MANDATORY, 168 PolicyMap policy;
170 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(false)); 169 policy.Set(GetParam().policy_name(), POLICY_LEVEL_MANDATORY,
171 provider_.NotifyPolicyUpdated(); 170 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(false));
171 provider_.UpdateChromePolicy(policy);
172 const base::Value* value = NULL; 172 const base::Value* value = NULL;
173 EXPECT_EQ(PrefStore::READ_OK, 173 EXPECT_EQ(PrefStore::READ_OK,
174 store_->GetValue(GetParam().pref_name(), &value)); 174 store_->GetValue(GetParam().pref_name(), &value));
175 ASSERT_TRUE(value); 175 ASSERT_TRUE(value);
176 bool boolean_value = true; 176 bool boolean_value = true;
177 bool result = value->GetAsBoolean(&boolean_value); 177 bool result = value->GetAsBoolean(&boolean_value);
178 ASSERT_TRUE(result); 178 ASSERT_TRUE(result);
179 EXPECT_FALSE(boolean_value); 179 EXPECT_FALSE(boolean_value);
180 180
181 policy_.Set(GetParam().policy_name(), POLICY_LEVEL_MANDATORY, 181 policy.Set(GetParam().policy_name(), POLICY_LEVEL_MANDATORY,
182 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(true)); 182 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(true));
183 provider_.NotifyPolicyUpdated(); 183 provider_.UpdateChromePolicy(policy);
184 value = NULL; 184 value = NULL;
185 EXPECT_EQ(PrefStore::READ_OK, 185 EXPECT_EQ(PrefStore::READ_OK,
186 store_->GetValue(GetParam().pref_name(), &value)); 186 store_->GetValue(GetParam().pref_name(), &value));
187 boolean_value = false; 187 boolean_value = false;
188 result = value->GetAsBoolean(&boolean_value); 188 result = value->GetAsBoolean(&boolean_value);
189 ASSERT_TRUE(result); 189 ASSERT_TRUE(result);
190 EXPECT_TRUE(boolean_value); 190 EXPECT_TRUE(boolean_value);
191 } 191 }
192 192
193 INSTANTIATE_TEST_CASE_P( 193 INSTANTIATE_TEST_CASE_P(
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
292 class ConfigurationPolicyPrefStoreIntegerTest 292 class ConfigurationPolicyPrefStoreIntegerTest
293 : public ConfigurationPolicyPrefStoreTest, 293 : public ConfigurationPolicyPrefStoreTest,
294 public testing::WithParamInterface<PolicyAndPref> {}; 294 public testing::WithParamInterface<PolicyAndPref> {};
295 295
296 TEST_P(ConfigurationPolicyPrefStoreIntegerTest, GetDefault) { 296 TEST_P(ConfigurationPolicyPrefStoreIntegerTest, GetDefault) {
297 EXPECT_EQ(PrefStore::READ_NO_VALUE, 297 EXPECT_EQ(PrefStore::READ_NO_VALUE,
298 store_->GetValue(GetParam().pref_name(), NULL)); 298 store_->GetValue(GetParam().pref_name(), NULL));
299 } 299 }
300 300
301 TEST_P(ConfigurationPolicyPrefStoreIntegerTest, SetValue) { 301 TEST_P(ConfigurationPolicyPrefStoreIntegerTest, SetValue) {
302 policy_.Set(GetParam().policy_name(), POLICY_LEVEL_MANDATORY, 302 PolicyMap policy;
303 POLICY_SCOPE_USER, base::Value::CreateIntegerValue(2)); 303 policy.Set(GetParam().policy_name(), POLICY_LEVEL_MANDATORY,
304 provider_.NotifyPolicyUpdated(); 304 POLICY_SCOPE_USER, base::Value::CreateIntegerValue(2));
305 provider_.UpdateChromePolicy(policy);
305 const base::Value* value = NULL; 306 const base::Value* value = NULL;
306 EXPECT_EQ(PrefStore::READ_OK, 307 EXPECT_EQ(PrefStore::READ_OK,
307 store_->GetValue(GetParam().pref_name(), &value)); 308 store_->GetValue(GetParam().pref_name(), &value));
308 EXPECT_TRUE(base::FundamentalValue(2).Equals(value)); 309 EXPECT_TRUE(base::FundamentalValue(2).Equals(value));
309 } 310 }
310 311
311 INSTANTIATE_TEST_CASE_P( 312 INSTANTIATE_TEST_CASE_P(
312 ConfigurationPolicyPrefStoreIntegerTestInstance, 313 ConfigurationPolicyPrefStoreIntegerTestInstance,
313 ConfigurationPolicyPrefStoreIntegerTest, 314 ConfigurationPolicyPrefStoreIntegerTest,
314 testing::Values( 315 testing::Values(
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
370 ASSERT_TRUE(dict.GetBypassList(&s)); 371 ASSERT_TRUE(dict.GetBypassList(&s));
371 EXPECT_EQ(expected_proxy_bypass_list, s); 372 EXPECT_EQ(expected_proxy_bypass_list, s);
372 } 373 }
373 ProxyPrefs::ProxyMode mode; 374 ProxyPrefs::ProxyMode mode;
374 ASSERT_TRUE(dict.GetMode(&mode)); 375 ASSERT_TRUE(dict.GetMode(&mode));
375 EXPECT_EQ(expected_proxy_mode, mode); 376 EXPECT_EQ(expected_proxy_mode, mode);
376 } 377 }
377 }; 378 };
378 379
379 TEST_F(ConfigurationPolicyPrefStoreProxyTest, ManualOptions) { 380 TEST_F(ConfigurationPolicyPrefStoreProxyTest, ManualOptions) {
380 policy_.Set(key::kProxyBypassList, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 381 PolicyMap policy;
381 base::Value::CreateStringValue("http://chromium.org/override")); 382 policy.Set(key::kProxyBypassList, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
382 policy_.Set(key::kProxyServer, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 383 base::Value::CreateStringValue("http://chromium.org/override"));
383 base::Value::CreateStringValue("chromium.org")); 384 policy.Set(key::kProxyServer, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
384 policy_.Set( 385 base::Value::CreateStringValue("chromium.org"));
386 policy.Set(
385 key::kProxyServerMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 387 key::kProxyServerMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
386 base::Value::CreateIntegerValue( 388 base::Value::CreateIntegerValue(
387 ProxyPolicyHandler::PROXY_MANUALLY_CONFIGURED_PROXY_SERVER_MODE)); 389 ProxyPolicyHandler::PROXY_MANUALLY_CONFIGURED_PROXY_SERVER_MODE));
388 provider_.NotifyPolicyUpdated(); 390 provider_.UpdateChromePolicy(policy);
389 391
390 VerifyProxyPrefs( 392 VerifyProxyPrefs(
391 "chromium.org", "", "http://chromium.org/override", 393 "chromium.org", "", "http://chromium.org/override",
392 ProxyPrefs::MODE_FIXED_SERVERS); 394 ProxyPrefs::MODE_FIXED_SERVERS);
393 } 395 }
394 396
395 TEST_F(ConfigurationPolicyPrefStoreProxyTest, ManualOptionsReversedApplyOrder) { 397 TEST_F(ConfigurationPolicyPrefStoreProxyTest, ManualOptionsReversedApplyOrder) {
396 policy_.Set( 398 PolicyMap policy;
399 policy.Set(
397 key::kProxyServerMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 400 key::kProxyServerMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
398 base::Value::CreateIntegerValue( 401 base::Value::CreateIntegerValue(
399 ProxyPolicyHandler::PROXY_MANUALLY_CONFIGURED_PROXY_SERVER_MODE)); 402 ProxyPolicyHandler::PROXY_MANUALLY_CONFIGURED_PROXY_SERVER_MODE));
400 policy_.Set(key::kProxyBypassList, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 403 policy.Set(key::kProxyBypassList, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
401 base::Value::CreateStringValue("http://chromium.org/override")); 404 base::Value::CreateStringValue("http://chromium.org/override"));
402 policy_.Set(key::kProxyServer, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 405 policy.Set(key::kProxyServer, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
403 base::Value::CreateStringValue("chromium.org")); 406 base::Value::CreateStringValue("chromium.org"));
404 provider_.NotifyPolicyUpdated(); 407 provider_.UpdateChromePolicy(policy);
405 408
406 VerifyProxyPrefs( 409 VerifyProxyPrefs(
407 "chromium.org", "", "http://chromium.org/override", 410 "chromium.org", "", "http://chromium.org/override",
408 ProxyPrefs::MODE_FIXED_SERVERS); 411 ProxyPrefs::MODE_FIXED_SERVERS);
409 } 412 }
410 413
411 TEST_F(ConfigurationPolicyPrefStoreProxyTest, ManualOptionsInvalid) { 414 TEST_F(ConfigurationPolicyPrefStoreProxyTest, ManualOptionsInvalid) {
412 policy_.Set( 415 PolicyMap policy;
416 policy.Set(
413 key::kProxyServerMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 417 key::kProxyServerMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
414 base::Value::CreateIntegerValue( 418 base::Value::CreateIntegerValue(
415 ProxyPolicyHandler::PROXY_MANUALLY_CONFIGURED_PROXY_SERVER_MODE)); 419 ProxyPolicyHandler::PROXY_MANUALLY_CONFIGURED_PROXY_SERVER_MODE));
416 provider_.NotifyPolicyUpdated(); 420 provider_.UpdateChromePolicy(policy);
417 421
418 const base::Value* value = NULL; 422 const base::Value* value = NULL;
419 EXPECT_EQ(PrefStore::READ_NO_VALUE, store_->GetValue(prefs::kProxy, &value)); 423 EXPECT_EQ(PrefStore::READ_NO_VALUE, store_->GetValue(prefs::kProxy, &value));
420 } 424 }
421 425
422 426
423 TEST_F(ConfigurationPolicyPrefStoreProxyTest, NoProxyServerMode) { 427 TEST_F(ConfigurationPolicyPrefStoreProxyTest, NoProxyServerMode) {
424 policy_.Set(key::kProxyServerMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 428 PolicyMap policy;
425 base::Value::CreateIntegerValue( 429 policy.Set(key::kProxyServerMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
426 ProxyPolicyHandler::PROXY_SERVER_MODE)); 430 base::Value::CreateIntegerValue(
427 provider_.NotifyPolicyUpdated(); 431 ProxyPolicyHandler::PROXY_SERVER_MODE));
432 provider_.UpdateChromePolicy(policy);
428 VerifyProxyPrefs("", "", "", ProxyPrefs::MODE_DIRECT); 433 VerifyProxyPrefs("", "", "", ProxyPrefs::MODE_DIRECT);
429 } 434 }
430 435
431 TEST_F(ConfigurationPolicyPrefStoreProxyTest, NoProxyModeName) { 436 TEST_F(ConfigurationPolicyPrefStoreProxyTest, NoProxyModeName) {
432 policy_.Set(key::kProxyMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 437 PolicyMap policy;
433 base::Value::CreateStringValue(ProxyPrefs::kDirectProxyModeName)); 438 policy.Set(key::kProxyMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
434 provider_.NotifyPolicyUpdated(); 439 base::Value::CreateStringValue(ProxyPrefs::kDirectProxyModeName));
440 provider_.UpdateChromePolicy(policy);
435 VerifyProxyPrefs("", "", "", ProxyPrefs::MODE_DIRECT); 441 VerifyProxyPrefs("", "", "", ProxyPrefs::MODE_DIRECT);
436 } 442 }
437 443
438 TEST_F(ConfigurationPolicyPrefStoreProxyTest, AutoDetectProxyServerMode) { 444 TEST_F(ConfigurationPolicyPrefStoreProxyTest, AutoDetectProxyServerMode) {
439 policy_.Set( 445 PolicyMap policy;
446 policy.Set(
440 key::kProxyServerMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 447 key::kProxyServerMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
441 base::Value::CreateIntegerValue( 448 base::Value::CreateIntegerValue(
442 ProxyPolicyHandler::PROXY_AUTO_DETECT_PROXY_SERVER_MODE)); 449 ProxyPolicyHandler::PROXY_AUTO_DETECT_PROXY_SERVER_MODE));
443 provider_.NotifyPolicyUpdated(); 450 provider_.UpdateChromePolicy(policy);
444 VerifyProxyPrefs("", "", "", ProxyPrefs::MODE_AUTO_DETECT); 451 VerifyProxyPrefs("", "", "", ProxyPrefs::MODE_AUTO_DETECT);
445 } 452 }
446 453
447 TEST_F(ConfigurationPolicyPrefStoreProxyTest, AutoDetectProxyModeName) { 454 TEST_F(ConfigurationPolicyPrefStoreProxyTest, AutoDetectProxyModeName) {
448 policy_.Set(key::kProxyMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 455 PolicyMap policy;
449 base::Value::CreateStringValue( 456 policy.Set(key::kProxyMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
450 ProxyPrefs::kAutoDetectProxyModeName)); 457 base::Value::CreateStringValue(
451 provider_.NotifyPolicyUpdated(); 458 ProxyPrefs::kAutoDetectProxyModeName));
459 provider_.UpdateChromePolicy(policy);
452 VerifyProxyPrefs("", "", "", ProxyPrefs::MODE_AUTO_DETECT); 460 VerifyProxyPrefs("", "", "", ProxyPrefs::MODE_AUTO_DETECT);
453 } 461 }
454 462
455 TEST_F(ConfigurationPolicyPrefStoreProxyTest, PacScriptProxyMode) { 463 TEST_F(ConfigurationPolicyPrefStoreProxyTest, PacScriptProxyMode) {
456 policy_.Set(key::kProxyPacUrl, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 464 PolicyMap policy;
457 base::Value::CreateStringValue("http://short.org/proxy.pac")); 465 policy.Set(key::kProxyPacUrl, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
458 policy_.Set(key::kProxyMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 466 base::Value::CreateStringValue("http://short.org/proxy.pac"));
459 base::Value::CreateStringValue( 467 policy.Set(key::kProxyMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
460 ProxyPrefs::kPacScriptProxyModeName)); 468 base::Value::CreateStringValue(
461 provider_.NotifyPolicyUpdated(); 469 ProxyPrefs::kPacScriptProxyModeName));
470 provider_.UpdateChromePolicy(policy);
462 VerifyProxyPrefs("", "http://short.org/proxy.pac", "", 471 VerifyProxyPrefs("", "http://short.org/proxy.pac", "",
463 ProxyPrefs::MODE_PAC_SCRIPT); 472 ProxyPrefs::MODE_PAC_SCRIPT);
464 } 473 }
465 474
466 TEST_F(ConfigurationPolicyPrefStoreProxyTest, PacScriptProxyModeInvalid) { 475 TEST_F(ConfigurationPolicyPrefStoreProxyTest, PacScriptProxyModeInvalid) {
467 policy_.Set(key::kProxyMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 476 PolicyMap policy;
468 base::Value::CreateStringValue( 477 policy.Set(key::kProxyMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
469 ProxyPrefs::kPacScriptProxyModeName)); 478 base::Value::CreateStringValue(
470 provider_.NotifyPolicyUpdated(); 479 ProxyPrefs::kPacScriptProxyModeName));
480 provider_.UpdateChromePolicy(policy);
471 const base::Value* value = NULL; 481 const base::Value* value = NULL;
472 EXPECT_EQ(PrefStore::READ_NO_VALUE, store_->GetValue(prefs::kProxy, &value)); 482 EXPECT_EQ(PrefStore::READ_NO_VALUE, store_->GetValue(prefs::kProxy, &value));
473 } 483 }
474 484
475 // Regression test for http://crbug.com/78016, CPanel returns empty strings 485 // Regression test for http://crbug.com/78016, CPanel returns empty strings
476 // for unset properties. 486 // for unset properties.
477 TEST_F(ConfigurationPolicyPrefStoreProxyTest, PacScriptProxyModeBug78016) { 487 TEST_F(ConfigurationPolicyPrefStoreProxyTest, PacScriptProxyModeBug78016) {
478 policy_.Set(key::kProxyServer, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 488 PolicyMap policy;
479 base::Value::CreateStringValue("")); 489 policy.Set(key::kProxyServer, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
480 policy_.Set(key::kProxyPacUrl, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 490 base::Value::CreateStringValue(""));
481 base::Value::CreateStringValue("http://short.org/proxy.pac")); 491 policy.Set(key::kProxyPacUrl, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
482 policy_.Set(key::kProxyMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 492 base::Value::CreateStringValue("http://short.org/proxy.pac"));
483 base::Value::CreateStringValue( 493 policy.Set(key::kProxyMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
484 ProxyPrefs::kPacScriptProxyModeName)); 494 base::Value::CreateStringValue(
485 provider_.NotifyPolicyUpdated(); 495 ProxyPrefs::kPacScriptProxyModeName));
496 provider_.UpdateChromePolicy(policy);
486 VerifyProxyPrefs("", "http://short.org/proxy.pac", "", 497 VerifyProxyPrefs("", "http://short.org/proxy.pac", "",
487 ProxyPrefs::MODE_PAC_SCRIPT); 498 ProxyPrefs::MODE_PAC_SCRIPT);
488 } 499 }
489 500
490 TEST_F(ConfigurationPolicyPrefStoreProxyTest, UseSystemProxyServerMode) { 501 TEST_F(ConfigurationPolicyPrefStoreProxyTest, UseSystemProxyServerMode) {
491 policy_.Set(key::kProxyServerMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 502 PolicyMap policy;
503 policy.Set(key::kProxyServerMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
492 base::Value::CreateIntegerValue( 504 base::Value::CreateIntegerValue(
493 ProxyPolicyHandler::PROXY_USE_SYSTEM_PROXY_SERVER_MODE)); 505 ProxyPolicyHandler::PROXY_USE_SYSTEM_PROXY_SERVER_MODE));
494 provider_.NotifyPolicyUpdated(); 506 provider_.UpdateChromePolicy(policy);
495 VerifyProxyPrefs("", "", "", ProxyPrefs::MODE_SYSTEM); 507 VerifyProxyPrefs("", "", "", ProxyPrefs::MODE_SYSTEM);
496 } 508 }
497 509
498 TEST_F(ConfigurationPolicyPrefStoreProxyTest, UseSystemProxyMode) { 510 TEST_F(ConfigurationPolicyPrefStoreProxyTest, UseSystemProxyMode) {
499 policy_.Set(key::kProxyMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 511 PolicyMap policy;
500 base::Value::CreateStringValue(ProxyPrefs::kSystemProxyModeName)); 512 policy.Set(key::kProxyMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
501 provider_.NotifyPolicyUpdated(); 513 base::Value::CreateStringValue(ProxyPrefs::kSystemProxyModeName));
514 provider_.UpdateChromePolicy(policy);
502 VerifyProxyPrefs("", "", "", ProxyPrefs::MODE_SYSTEM); 515 VerifyProxyPrefs("", "", "", ProxyPrefs::MODE_SYSTEM);
503 } 516 }
504 517
505 TEST_F(ConfigurationPolicyPrefStoreProxyTest, 518 TEST_F(ConfigurationPolicyPrefStoreProxyTest,
506 ProxyModeOverridesProxyServerMode) { 519 ProxyModeOverridesProxyServerMode) {
507 policy_.Set(key::kProxyServerMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 520 PolicyMap policy;
508 base::Value::CreateIntegerValue( 521 policy.Set(key::kProxyServerMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
509 ProxyPolicyHandler::PROXY_SERVER_MODE)); 522 base::Value::CreateIntegerValue(
510 policy_.Set(key::kProxyMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 523 ProxyPolicyHandler::PROXY_SERVER_MODE));
511 base::Value::CreateStringValue( 524 policy.Set(key::kProxyMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
512 ProxyPrefs::kAutoDetectProxyModeName)); 525 base::Value::CreateStringValue(
513 provider_.NotifyPolicyUpdated(); 526 ProxyPrefs::kAutoDetectProxyModeName));
527 provider_.UpdateChromePolicy(policy);
514 VerifyProxyPrefs("", "", "", ProxyPrefs::MODE_AUTO_DETECT); 528 VerifyProxyPrefs("", "", "", ProxyPrefs::MODE_AUTO_DETECT);
515 } 529 }
516 530
517 TEST_F(ConfigurationPolicyPrefStoreProxyTest, ProxyInvalid) { 531 TEST_F(ConfigurationPolicyPrefStoreProxyTest, ProxyInvalid) {
518 // No mode expects all three parameters being set. 532 // No mode expects all three parameters being set.
519 policy_.Set(key::kProxyPacUrl, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 533 PolicyMap policy;
520 base::Value::CreateStringValue("http://short.org/proxy.pac")); 534 policy.Set(key::kProxyPacUrl, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
521 policy_.Set(key::kProxyBypassList, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 535 base::Value::CreateStringValue("http://short.org/proxy.pac"));
522 base::Value::CreateStringValue("http://chromium.org/override")); 536 policy.Set(key::kProxyBypassList, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
523 policy_.Set(key::kProxyServer, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 537 base::Value::CreateStringValue("http://chromium.org/override"));
524 base::Value::CreateStringValue("chromium.org")); 538 policy.Set(key::kProxyServer, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
539 base::Value::CreateStringValue("chromium.org"));
525 for (int i = 0; i < ProxyPolicyHandler::MODE_COUNT; ++i) { 540 for (int i = 0; i < ProxyPolicyHandler::MODE_COUNT; ++i) {
526 policy_.Set(key::kProxyServerMode, POLICY_LEVEL_MANDATORY, 541 policy.Set(key::kProxyServerMode, POLICY_LEVEL_MANDATORY,
527 POLICY_SCOPE_USER, base::Value::CreateIntegerValue(i)); 542 POLICY_SCOPE_USER, base::Value::CreateIntegerValue(i));
528 provider_.NotifyPolicyUpdated(); 543 provider_.UpdateChromePolicy(policy);
529 const base::Value* value = NULL; 544 const base::Value* value = NULL;
530 EXPECT_EQ(PrefStore::READ_NO_VALUE, 545 EXPECT_EQ(PrefStore::READ_NO_VALUE,
531 store_->GetValue(prefs::kProxy, &value)); 546 store_->GetValue(prefs::kProxy, &value));
532 } 547 }
533 } 548 }
534 549
535 class ConfigurationPolicyPrefStoreDefaultSearchTest 550 class ConfigurationPolicyPrefStoreDefaultSearchTest
536 : public ConfigurationPolicyPrefStoreTest {}; 551 : public ConfigurationPolicyPrefStoreTest {};
537 552
538 // Checks that if the policy for default search is valid, i.e. there's a 553 // Checks that if the policy for default search is valid, i.e. there's a
539 // search URL, that all the elements have been given proper defaults. 554 // search URL, that all the elements have been given proper defaults.
540 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, MinimallyDefined) { 555 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, MinimallyDefined) {
556 PolicyMap policy;
541 const char* const search_url = "http://test.com/search?t={searchTerms}"; 557 const char* const search_url = "http://test.com/search?t={searchTerms}";
542 policy_.Set(key::kDefaultSearchProviderEnabled, POLICY_LEVEL_MANDATORY, 558 policy.Set(key::kDefaultSearchProviderEnabled, POLICY_LEVEL_MANDATORY,
543 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(true)); 559 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(true));
544 policy_.Set(key::kDefaultSearchProviderSearchURL, POLICY_LEVEL_MANDATORY, 560 policy.Set(key::kDefaultSearchProviderSearchURL, POLICY_LEVEL_MANDATORY,
545 POLICY_SCOPE_USER, base::Value::CreateStringValue(search_url)); 561 POLICY_SCOPE_USER, base::Value::CreateStringValue(search_url));
546 provider_.NotifyPolicyUpdated(); 562 provider_.UpdateChromePolicy(policy);
547 563
548 const base::Value* value = NULL; 564 const base::Value* value = NULL;
549 EXPECT_EQ(PrefStore::READ_OK, 565 EXPECT_EQ(PrefStore::READ_OK,
550 store_->GetValue(prefs::kDefaultSearchProviderSearchURL, &value)); 566 store_->GetValue(prefs::kDefaultSearchProviderSearchURL, &value));
551 EXPECT_TRUE(base::StringValue(search_url).Equals(value)); 567 EXPECT_TRUE(base::StringValue(search_url).Equals(value));
552 568
553 EXPECT_EQ(PrefStore::READ_OK, 569 EXPECT_EQ(PrefStore::READ_OK,
554 store_->GetValue(prefs::kDefaultSearchProviderName, &value)); 570 store_->GetValue(prefs::kDefaultSearchProviderName, &value));
555 EXPECT_TRUE(base::StringValue("test.com").Equals(value)); 571 EXPECT_TRUE(base::StringValue("test.com").Equals(value));
556 572
(...skipping 14 matching lines...) Expand all
571 EXPECT_TRUE(base::StringValue(std::string()).Equals(value)); 587 EXPECT_TRUE(base::StringValue(std::string()).Equals(value));
572 588
573 EXPECT_EQ(PrefStore::READ_OK, 589 EXPECT_EQ(PrefStore::READ_OK,
574 store_->GetValue(prefs::kDefaultSearchProviderInstantURL, &value)); 590 store_->GetValue(prefs::kDefaultSearchProviderInstantURL, &value));
575 EXPECT_TRUE(base::StringValue(std::string()).Equals(value)); 591 EXPECT_TRUE(base::StringValue(std::string()).Equals(value));
576 } 592 }
577 593
578 // Checks that for a fully defined search policy, all elements have been 594 // Checks that for a fully defined search policy, all elements have been
579 // read properly. 595 // read properly.
580 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, FullyDefined) { 596 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, FullyDefined) {
597 PolicyMap policy;
581 const char* const search_url = "http://test.com/search?t={searchTerms}"; 598 const char* const search_url = "http://test.com/search?t={searchTerms}";
582 const char* const suggest_url = "http://test.com/sugg?={searchTerms}"; 599 const char* const suggest_url = "http://test.com/sugg?={searchTerms}";
583 const char* const icon_url = "http://test.com/icon.jpg"; 600 const char* const icon_url = "http://test.com/icon.jpg";
584 const char* const name = "MyName"; 601 const char* const name = "MyName";
585 const char* const keyword = "MyKeyword"; 602 const char* const keyword = "MyKeyword";
586 base::ListValue* encodings = new base::ListValue(); 603 base::ListValue* encodings = new base::ListValue();
587 encodings->Append(base::Value::CreateStringValue("UTF-16")); 604 encodings->Append(base::Value::CreateStringValue("UTF-16"));
588 encodings->Append(base::Value::CreateStringValue("UTF-8")); 605 encodings->Append(base::Value::CreateStringValue("UTF-8"));
589 policy_.Set(key::kDefaultSearchProviderEnabled, POLICY_LEVEL_MANDATORY, 606 policy.Set(key::kDefaultSearchProviderEnabled, POLICY_LEVEL_MANDATORY,
590 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(true)); 607 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(true));
591 policy_.Set(key::kDefaultSearchProviderSearchURL, POLICY_LEVEL_MANDATORY, 608 policy.Set(key::kDefaultSearchProviderSearchURL, POLICY_LEVEL_MANDATORY,
592 POLICY_SCOPE_USER, base::Value::CreateStringValue(search_url)); 609 POLICY_SCOPE_USER, base::Value::CreateStringValue(search_url));
593 policy_.Set(key::kDefaultSearchProviderName, POLICY_LEVEL_MANDATORY, 610 policy.Set(key::kDefaultSearchProviderName, POLICY_LEVEL_MANDATORY,
594 POLICY_SCOPE_USER, base::Value::CreateStringValue(name)); 611 POLICY_SCOPE_USER, base::Value::CreateStringValue(name));
595 policy_.Set(key::kDefaultSearchProviderKeyword, POLICY_LEVEL_MANDATORY, 612 policy.Set(key::kDefaultSearchProviderKeyword, POLICY_LEVEL_MANDATORY,
596 POLICY_SCOPE_USER, base::Value::CreateStringValue(keyword)); 613 POLICY_SCOPE_USER, base::Value::CreateStringValue(keyword));
597 policy_.Set(key::kDefaultSearchProviderSuggestURL, POLICY_LEVEL_MANDATORY, 614 policy.Set(key::kDefaultSearchProviderSuggestURL, POLICY_LEVEL_MANDATORY,
598 POLICY_SCOPE_USER, base::Value::CreateStringValue(suggest_url)); 615 POLICY_SCOPE_USER, base::Value::CreateStringValue(suggest_url));
599 policy_.Set(key::kDefaultSearchProviderIconURL, POLICY_LEVEL_MANDATORY, 616 policy.Set(key::kDefaultSearchProviderIconURL, POLICY_LEVEL_MANDATORY,
600 POLICY_SCOPE_USER, base::Value::CreateStringValue(icon_url)); 617 POLICY_SCOPE_USER, base::Value::CreateStringValue(icon_url));
601 policy_.Set(key::kDefaultSearchProviderEncodings, POLICY_LEVEL_MANDATORY, 618 policy.Set(key::kDefaultSearchProviderEncodings, POLICY_LEVEL_MANDATORY,
602 POLICY_SCOPE_USER, encodings); 619 POLICY_SCOPE_USER, encodings);
603 provider_.NotifyPolicyUpdated(); 620 provider_.UpdateChromePolicy(policy);
604 621
605 const base::Value* value = NULL; 622 const base::Value* value = NULL;
606 EXPECT_EQ(PrefStore::READ_OK, 623 EXPECT_EQ(PrefStore::READ_OK,
607 store_->GetValue(prefs::kDefaultSearchProviderSearchURL, &value)); 624 store_->GetValue(prefs::kDefaultSearchProviderSearchURL, &value));
608 EXPECT_TRUE(base::StringValue(search_url).Equals(value)); 625 EXPECT_TRUE(base::StringValue(search_url).Equals(value));
609 626
610 EXPECT_EQ(PrefStore::READ_OK, 627 EXPECT_EQ(PrefStore::READ_OK,
611 store_->GetValue(prefs::kDefaultSearchProviderName, &value)); 628 store_->GetValue(prefs::kDefaultSearchProviderName, &value));
612 EXPECT_TRUE(base::StringValue(name).Equals(value)); 629 EXPECT_TRUE(base::StringValue(name).Equals(value));
613 630
(...skipping 10 matching lines...) Expand all
624 EXPECT_TRUE(base::StringValue(icon_url).Equals(value)); 641 EXPECT_TRUE(base::StringValue(icon_url).Equals(value));
625 642
626 EXPECT_EQ(PrefStore::READ_OK, 643 EXPECT_EQ(PrefStore::READ_OK,
627 store_->GetValue(prefs::kDefaultSearchProviderEncodings, &value)); 644 store_->GetValue(prefs::kDefaultSearchProviderEncodings, &value));
628 EXPECT_TRUE(base::StringValue("UTF-16;UTF-8").Equals(value)); 645 EXPECT_TRUE(base::StringValue("UTF-16;UTF-8").Equals(value));
629 } 646 }
630 647
631 // Checks that if the default search policy is missing, that no elements of the 648 // Checks that if the default search policy is missing, that no elements of the
632 // default search policy will be present. 649 // default search policy will be present.
633 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, MissingUrl) { 650 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, MissingUrl) {
651 PolicyMap policy;
634 const char* const suggest_url = "http://test.com/sugg?t={searchTerms}"; 652 const char* const suggest_url = "http://test.com/sugg?t={searchTerms}";
635 const char* const icon_url = "http://test.com/icon.jpg"; 653 const char* const icon_url = "http://test.com/icon.jpg";
636 const char* const name = "MyName"; 654 const char* const name = "MyName";
637 const char* const keyword = "MyKeyword"; 655 const char* const keyword = "MyKeyword";
638 base::ListValue* encodings = new base::ListValue(); 656 base::ListValue* encodings = new base::ListValue();
639 encodings->Append(base::Value::CreateStringValue("UTF-16")); 657 encodings->Append(base::Value::CreateStringValue("UTF-16"));
640 encodings->Append(base::Value::CreateStringValue("UTF-8")); 658 encodings->Append(base::Value::CreateStringValue("UTF-8"));
641 policy_.Set(key::kDefaultSearchProviderEnabled, POLICY_LEVEL_MANDATORY, 659 policy.Set(key::kDefaultSearchProviderEnabled, POLICY_LEVEL_MANDATORY,
642 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(true)); 660 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(true));
643 policy_.Set(key::kDefaultSearchProviderName, POLICY_LEVEL_MANDATORY, 661 policy.Set(key::kDefaultSearchProviderName, POLICY_LEVEL_MANDATORY,
644 POLICY_SCOPE_USER, base::Value::CreateStringValue(name)); 662 POLICY_SCOPE_USER, base::Value::CreateStringValue(name));
645 policy_.Set(key::kDefaultSearchProviderKeyword, POLICY_LEVEL_MANDATORY, 663 policy.Set(key::kDefaultSearchProviderKeyword, POLICY_LEVEL_MANDATORY,
646 POLICY_SCOPE_USER, base::Value::CreateStringValue(keyword)); 664 POLICY_SCOPE_USER, base::Value::CreateStringValue(keyword));
647 policy_.Set(key::kDefaultSearchProviderSuggestURL, POLICY_LEVEL_MANDATORY, 665 policy.Set(key::kDefaultSearchProviderSuggestURL, POLICY_LEVEL_MANDATORY,
648 POLICY_SCOPE_USER, base::Value::CreateStringValue(suggest_url)); 666 POLICY_SCOPE_USER, base::Value::CreateStringValue(suggest_url));
649 policy_.Set(key::kDefaultSearchProviderIconURL, POLICY_LEVEL_MANDATORY, 667 policy.Set(key::kDefaultSearchProviderIconURL, POLICY_LEVEL_MANDATORY,
650 POLICY_SCOPE_USER, base::Value::CreateStringValue(icon_url)); 668 POLICY_SCOPE_USER, base::Value::CreateStringValue(icon_url));
651 policy_.Set(key::kDefaultSearchProviderEncodings, POLICY_LEVEL_MANDATORY, 669 policy.Set(key::kDefaultSearchProviderEncodings, POLICY_LEVEL_MANDATORY,
652 POLICY_SCOPE_USER, encodings); 670 POLICY_SCOPE_USER, encodings);
653 provider_.NotifyPolicyUpdated(); 671 provider_.UpdateChromePolicy(policy);
654 672
655 EXPECT_EQ(PrefStore::READ_NO_VALUE, 673 EXPECT_EQ(PrefStore::READ_NO_VALUE,
656 store_->GetValue(prefs::kDefaultSearchProviderSearchURL, NULL)); 674 store_->GetValue(prefs::kDefaultSearchProviderSearchURL, NULL));
657 EXPECT_EQ(PrefStore::READ_NO_VALUE, 675 EXPECT_EQ(PrefStore::READ_NO_VALUE,
658 store_->GetValue(prefs::kDefaultSearchProviderName, NULL)); 676 store_->GetValue(prefs::kDefaultSearchProviderName, NULL));
659 EXPECT_EQ(PrefStore::READ_NO_VALUE, 677 EXPECT_EQ(PrefStore::READ_NO_VALUE,
660 store_->GetValue(prefs::kDefaultSearchProviderKeyword, NULL)); 678 store_->GetValue(prefs::kDefaultSearchProviderKeyword, NULL));
661 EXPECT_EQ(PrefStore::READ_NO_VALUE, 679 EXPECT_EQ(PrefStore::READ_NO_VALUE,
662 store_->GetValue(prefs::kDefaultSearchProviderSuggestURL, NULL)); 680 store_->GetValue(prefs::kDefaultSearchProviderSuggestURL, NULL));
663 EXPECT_EQ(PrefStore::READ_NO_VALUE, 681 EXPECT_EQ(PrefStore::READ_NO_VALUE,
664 store_->GetValue(prefs::kDefaultSearchProviderIconURL, NULL)); 682 store_->GetValue(prefs::kDefaultSearchProviderIconURL, NULL));
665 EXPECT_EQ(PrefStore::READ_NO_VALUE, 683 EXPECT_EQ(PrefStore::READ_NO_VALUE,
666 store_->GetValue(prefs::kDefaultSearchProviderEncodings, NULL)); 684 store_->GetValue(prefs::kDefaultSearchProviderEncodings, NULL));
667 } 685 }
668 686
669 // Checks that if the default search policy is invalid, that no elements of the 687 // Checks that if the default search policy is invalid, that no elements of the
670 // default search policy will be present. 688 // default search policy will be present.
671 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, Invalid) { 689 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, Invalid) {
690 PolicyMap policy;
672 const char* const bad_search_url = "http://test.com/noSearchTerms"; 691 const char* const bad_search_url = "http://test.com/noSearchTerms";
673 const char* const suggest_url = "http://test.com/sugg?t={searchTerms}"; 692 const char* const suggest_url = "http://test.com/sugg?t={searchTerms}";
674 const char* const icon_url = "http://test.com/icon.jpg"; 693 const char* const icon_url = "http://test.com/icon.jpg";
675 const char* const name = "MyName"; 694 const char* const name = "MyName";
676 const char* const keyword = "MyKeyword"; 695 const char* const keyword = "MyKeyword";
677 base::ListValue* encodings = new base::ListValue(); 696 base::ListValue* encodings = new base::ListValue();
678 encodings->Append(base::Value::CreateStringValue("UTF-16")); 697 encodings->Append(base::Value::CreateStringValue("UTF-16"));
679 encodings->Append(base::Value::CreateStringValue("UTF-8")); 698 encodings->Append(base::Value::CreateStringValue("UTF-8"));
680 policy_.Set(key::kDefaultSearchProviderEnabled, POLICY_LEVEL_MANDATORY, 699 policy.Set(key::kDefaultSearchProviderEnabled, POLICY_LEVEL_MANDATORY,
681 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(true)); 700 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(true));
682 policy_.Set(key::kDefaultSearchProviderSearchURL, POLICY_LEVEL_MANDATORY, 701 policy.Set(key::kDefaultSearchProviderSearchURL, POLICY_LEVEL_MANDATORY,
683 POLICY_SCOPE_USER, 702 POLICY_SCOPE_USER,
684 base::Value::CreateStringValue(bad_search_url)); 703 base::Value::CreateStringValue(bad_search_url));
685 policy_.Set(key::kDefaultSearchProviderName, POLICY_LEVEL_MANDATORY, 704 policy.Set(key::kDefaultSearchProviderName, POLICY_LEVEL_MANDATORY,
686 POLICY_SCOPE_USER, base::Value::CreateStringValue(name)); 705 POLICY_SCOPE_USER, base::Value::CreateStringValue(name));
687 policy_.Set(key::kDefaultSearchProviderKeyword, POLICY_LEVEL_MANDATORY, 706 policy.Set(key::kDefaultSearchProviderKeyword, POLICY_LEVEL_MANDATORY,
688 POLICY_SCOPE_USER, base::Value::CreateStringValue(keyword)); 707 POLICY_SCOPE_USER, base::Value::CreateStringValue(keyword));
689 policy_.Set(key::kDefaultSearchProviderSuggestURL, POLICY_LEVEL_MANDATORY, 708 policy.Set(key::kDefaultSearchProviderSuggestURL, POLICY_LEVEL_MANDATORY,
690 POLICY_SCOPE_USER, base::Value::CreateStringValue(suggest_url)); 709 POLICY_SCOPE_USER, base::Value::CreateStringValue(suggest_url));
691 policy_.Set(key::kDefaultSearchProviderIconURL, POLICY_LEVEL_MANDATORY, 710 policy.Set(key::kDefaultSearchProviderIconURL, POLICY_LEVEL_MANDATORY,
692 POLICY_SCOPE_USER, base::Value::CreateStringValue(icon_url)); 711 POLICY_SCOPE_USER, base::Value::CreateStringValue(icon_url));
693 policy_.Set(key::kDefaultSearchProviderEncodings, POLICY_LEVEL_MANDATORY, 712 policy.Set(key::kDefaultSearchProviderEncodings, POLICY_LEVEL_MANDATORY,
694 POLICY_SCOPE_USER, encodings); 713 POLICY_SCOPE_USER, encodings);
695 provider_.NotifyPolicyUpdated(); 714 provider_.UpdateChromePolicy(policy);
696 715
697 EXPECT_EQ(PrefStore::READ_NO_VALUE, 716 EXPECT_EQ(PrefStore::READ_NO_VALUE,
698 store_->GetValue(prefs::kDefaultSearchProviderSearchURL, NULL)); 717 store_->GetValue(prefs::kDefaultSearchProviderSearchURL, NULL));
699 EXPECT_EQ(PrefStore::READ_NO_VALUE, 718 EXPECT_EQ(PrefStore::READ_NO_VALUE,
700 store_->GetValue(prefs::kDefaultSearchProviderName, NULL)); 719 store_->GetValue(prefs::kDefaultSearchProviderName, NULL));
701 EXPECT_EQ(PrefStore::READ_NO_VALUE, 720 EXPECT_EQ(PrefStore::READ_NO_VALUE,
702 store_->GetValue(prefs::kDefaultSearchProviderKeyword, NULL)); 721 store_->GetValue(prefs::kDefaultSearchProviderKeyword, NULL));
703 EXPECT_EQ(PrefStore::READ_NO_VALUE, 722 EXPECT_EQ(PrefStore::READ_NO_VALUE,
704 store_->GetValue(prefs::kDefaultSearchProviderSuggestURL, NULL)); 723 store_->GetValue(prefs::kDefaultSearchProviderSuggestURL, NULL));
705 EXPECT_EQ(PrefStore::READ_NO_VALUE, 724 EXPECT_EQ(PrefStore::READ_NO_VALUE,
706 store_->GetValue(prefs::kDefaultSearchProviderIconURL, NULL)); 725 store_->GetValue(prefs::kDefaultSearchProviderIconURL, NULL));
707 EXPECT_EQ(PrefStore::READ_NO_VALUE, 726 EXPECT_EQ(PrefStore::READ_NO_VALUE,
708 store_->GetValue(prefs::kDefaultSearchProviderEncodings, NULL)); 727 store_->GetValue(prefs::kDefaultSearchProviderEncodings, NULL));
709 } 728 }
710 729
711 // Checks that if the default search policy is invalid, that no elements of the 730 // Checks that if the default search policy is invalid, that no elements of the
712 // default search policy will be present. 731 // default search policy will be present.
713 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, Disabled) { 732 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, Disabled) {
714 policy_.Set(key::kDefaultSearchProviderEnabled, POLICY_LEVEL_MANDATORY, 733 PolicyMap policy;
715 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(false)); 734 policy.Set(key::kDefaultSearchProviderEnabled, POLICY_LEVEL_MANDATORY,
716 provider_.NotifyPolicyUpdated(); 735 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(false));
736 provider_.UpdateChromePolicy(policy);
717 737
718 const base::Value* value = NULL; 738 const base::Value* value = NULL;
719 EXPECT_EQ(PrefStore::READ_OK, 739 EXPECT_EQ(PrefStore::READ_OK,
720 store_->GetValue(prefs::kDefaultSearchProviderEnabled, &value)); 740 store_->GetValue(prefs::kDefaultSearchProviderEnabled, &value));
721 base::FundamentalValue expected_enabled(false); 741 base::FundamentalValue expected_enabled(false);
722 EXPECT_TRUE(base::Value::Equals(&expected_enabled, value)); 742 EXPECT_TRUE(base::Value::Equals(&expected_enabled, value));
723 EXPECT_EQ(PrefStore::READ_OK, 743 EXPECT_EQ(PrefStore::READ_OK,
724 store_->GetValue(prefs::kDefaultSearchProviderSearchURL, &value)); 744 store_->GetValue(prefs::kDefaultSearchProviderSearchURL, &value));
725 base::StringValue expected_search_url(""); 745 base::StringValue expected_search_url("");
726 EXPECT_TRUE(base::Value::Equals(&expected_search_url, value)); 746 EXPECT_TRUE(base::Value::Equals(&expected_search_url, value));
727 } 747 }
728 748
729 // Tests Incognito mode availability preference setting. 749 // Tests Incognito mode availability preference setting.
730 class ConfigurationPolicyPrefStoreIncognitoModeTest 750 class ConfigurationPolicyPrefStoreIncognitoModeTest
731 : public ConfigurationPolicyPrefStoreTest { 751 : public ConfigurationPolicyPrefStoreTest {
732 protected: 752 protected:
733 static const int kIncognitoModeAvailabilityNotSet = -1; 753 static const int kIncognitoModeAvailabilityNotSet = -1;
734 754
735 enum ObsoleteIncognitoEnabledValue { 755 enum ObsoleteIncognitoEnabledValue {
736 INCOGNITO_ENABLED_UNKNOWN, 756 INCOGNITO_ENABLED_UNKNOWN,
737 INCOGNITO_ENABLED_TRUE, 757 INCOGNITO_ENABLED_TRUE,
738 INCOGNITO_ENABLED_FALSE 758 INCOGNITO_ENABLED_FALSE
739 }; 759 };
740 760
741 void SetPolicies(ObsoleteIncognitoEnabledValue incognito_enabled, 761 void SetPolicies(ObsoleteIncognitoEnabledValue incognito_enabled,
742 int availability) { 762 int availability) {
763 PolicyMap policy;
743 if (incognito_enabled != INCOGNITO_ENABLED_UNKNOWN) { 764 if (incognito_enabled != INCOGNITO_ENABLED_UNKNOWN) {
744 policy_.Set(key::kIncognitoEnabled, POLICY_LEVEL_MANDATORY, 765 policy.Set(key::kIncognitoEnabled, POLICY_LEVEL_MANDATORY,
745 POLICY_SCOPE_USER, 766 POLICY_SCOPE_USER,
746 base::Value::CreateBooleanValue( 767 base::Value::CreateBooleanValue(
747 incognito_enabled == INCOGNITO_ENABLED_TRUE)); 768 incognito_enabled == INCOGNITO_ENABLED_TRUE));
748 } 769 }
749 if (availability >= 0) { 770 if (availability >= 0) {
750 policy_.Set(key::kIncognitoModeAvailability, POLICY_LEVEL_MANDATORY, 771 policy.Set(key::kIncognitoModeAvailability, POLICY_LEVEL_MANDATORY,
751 POLICY_SCOPE_USER, 772 POLICY_SCOPE_USER,
752 base::Value::CreateIntegerValue(availability)); 773 base::Value::CreateIntegerValue(availability));
753 } 774 }
754 provider_.NotifyPolicyUpdated(); 775 provider_.UpdateChromePolicy(policy);
755 } 776 }
756 777
757 void VerifyValues(IncognitoModePrefs::Availability availability) { 778 void VerifyValues(IncognitoModePrefs::Availability availability) {
758 const base::Value* value = NULL; 779 const base::Value* value = NULL;
759 EXPECT_EQ(PrefStore::READ_OK, 780 EXPECT_EQ(PrefStore::READ_OK,
760 store_->GetValue(prefs::kIncognitoModeAvailability, &value)); 781 store_->GetValue(prefs::kIncognitoModeAvailability, &value));
761 EXPECT_TRUE(base::FundamentalValue(availability).Equals(value)); 782 EXPECT_TRUE(base::FundamentalValue(availability).Equals(value));
762 } 783 }
763 }; 784 };
764 785
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
821 // Test cases for the Sync policy setting. 842 // Test cases for the Sync policy setting.
822 class ConfigurationPolicyPrefStoreSyncTest 843 class ConfigurationPolicyPrefStoreSyncTest
823 : public ConfigurationPolicyPrefStoreTest {}; 844 : public ConfigurationPolicyPrefStoreTest {};
824 845
825 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Default) { 846 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Default) {
826 EXPECT_EQ(PrefStore::READ_NO_VALUE, 847 EXPECT_EQ(PrefStore::READ_NO_VALUE,
827 store_->GetValue(prefs::kSyncManaged, NULL)); 848 store_->GetValue(prefs::kSyncManaged, NULL));
828 } 849 }
829 850
830 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Enabled) { 851 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Enabled) {
831 policy_.Set(key::kSyncDisabled, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 852 PolicyMap policy;
832 base::Value::CreateBooleanValue(false)); 853 policy.Set(key::kSyncDisabled, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
833 provider_.NotifyPolicyUpdated(); 854 base::Value::CreateBooleanValue(false));
855 provider_.UpdateChromePolicy(policy);
834 // Enabling Sync should not set the pref. 856 // Enabling Sync should not set the pref.
835 EXPECT_EQ(PrefStore::READ_NO_VALUE, 857 EXPECT_EQ(PrefStore::READ_NO_VALUE,
836 store_->GetValue(prefs::kSyncManaged, NULL)); 858 store_->GetValue(prefs::kSyncManaged, NULL));
837 } 859 }
838 860
839 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Disabled) { 861 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Disabled) {
840 policy_.Set(key::kSyncDisabled, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 862 PolicyMap policy;
841 base::Value::CreateBooleanValue(true)); 863 policy.Set(key::kSyncDisabled, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
842 provider_.NotifyPolicyUpdated(); 864 base::Value::CreateBooleanValue(true));
865 provider_.UpdateChromePolicy(policy);
843 // Sync should be flagged as managed. 866 // Sync should be flagged as managed.
844 const base::Value* value = NULL; 867 const base::Value* value = NULL;
845 EXPECT_EQ(PrefStore::READ_OK, store_->GetValue(prefs::kSyncManaged, &value)); 868 EXPECT_EQ(PrefStore::READ_OK, store_->GetValue(prefs::kSyncManaged, &value));
846 ASSERT_TRUE(value); 869 ASSERT_TRUE(value);
847 bool sync_managed = false; 870 bool sync_managed = false;
848 bool result = value->GetAsBoolean(&sync_managed); 871 bool result = value->GetAsBoolean(&sync_managed);
849 ASSERT_TRUE(result); 872 ASSERT_TRUE(result);
850 EXPECT_TRUE(sync_managed); 873 EXPECT_TRUE(sync_managed);
851 } 874 }
852 875
853 // Test cases for how the DownloadDirectory and AllowFileSelectionDialogs policy 876 // Test cases for how the DownloadDirectory and AllowFileSelectionDialogs policy
854 // influence the PromptForDownload preference. 877 // influence the PromptForDownload preference.
855 class ConfigurationPolicyPrefStorePromptDownloadTest 878 class ConfigurationPolicyPrefStorePromptDownloadTest
856 : public ConfigurationPolicyPrefStoreTest {}; 879 : public ConfigurationPolicyPrefStoreTest {};
857 880
858 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, Default) { 881 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, Default) {
859 EXPECT_EQ(PrefStore::READ_NO_VALUE, 882 EXPECT_EQ(PrefStore::READ_NO_VALUE,
860 store_->GetValue(prefs::kPromptForDownload, NULL)); 883 store_->GetValue(prefs::kPromptForDownload, NULL));
861 } 884 }
862 885
863 #if !defined(OS_CHROMEOS) 886 #if !defined(OS_CHROMEOS)
864 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, SetDownloadDirectory) { 887 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, SetDownloadDirectory) {
888 PolicyMap policy;
865 EXPECT_EQ(PrefStore::READ_NO_VALUE, 889 EXPECT_EQ(PrefStore::READ_NO_VALUE,
866 store_->GetValue(prefs::kPromptForDownload, NULL)); 890 store_->GetValue(prefs::kPromptForDownload, NULL));
867 policy_.Set(key::kDownloadDirectory, POLICY_LEVEL_MANDATORY, 891 policy.Set(key::kDownloadDirectory, POLICY_LEVEL_MANDATORY,
868 POLICY_SCOPE_USER, base::Value::CreateStringValue("")); 892 POLICY_SCOPE_USER, base::Value::CreateStringValue(""));
869 provider_.NotifyPolicyUpdated(); 893 provider_.UpdateChromePolicy(policy);
870 894
871 // Setting a DownloadDirectory should disable the PromptForDownload pref. 895 // Setting a DownloadDirectory should disable the PromptForDownload pref.
872 const base::Value* value = NULL; 896 const base::Value* value = NULL;
873 EXPECT_EQ(PrefStore::READ_OK, store_->GetValue(prefs::kPromptForDownload, 897 EXPECT_EQ(PrefStore::READ_OK, store_->GetValue(prefs::kPromptForDownload,
874 &value)); 898 &value));
875 ASSERT_TRUE(value); 899 ASSERT_TRUE(value);
876 bool prompt_for_download = true; 900 bool prompt_for_download = true;
877 bool result = value->GetAsBoolean(&prompt_for_download); 901 bool result = value->GetAsBoolean(&prompt_for_download);
878 ASSERT_TRUE(result); 902 ASSERT_TRUE(result);
879 EXPECT_FALSE(prompt_for_download); 903 EXPECT_FALSE(prompt_for_download);
880 } 904 }
881 #endif // !defined(OS_CHROMEOS) 905 #endif // !defined(OS_CHROMEOS)
882 906
883 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, 907 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest,
884 EnableFileSelectionDialogs) { 908 EnableFileSelectionDialogs) {
909 PolicyMap policy;
885 EXPECT_EQ(PrefStore::READ_NO_VALUE, 910 EXPECT_EQ(PrefStore::READ_NO_VALUE,
886 store_->GetValue(prefs::kPromptForDownload, NULL)); 911 store_->GetValue(prefs::kPromptForDownload, NULL));
887 policy_.Set(key::kAllowFileSelectionDialogs, POLICY_LEVEL_MANDATORY, 912 policy.Set(key::kAllowFileSelectionDialogs, POLICY_LEVEL_MANDATORY,
888 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(true)); 913 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(true));
889 provider_.NotifyPolicyUpdated(); 914 provider_.UpdateChromePolicy(policy);
890 915
891 // Allowing file-selection dialogs should not influence the PromptForDownload 916 // Allowing file-selection dialogs should not influence the PromptForDownload
892 // pref. 917 // pref.
893 EXPECT_EQ(PrefStore::READ_NO_VALUE, 918 EXPECT_EQ(PrefStore::READ_NO_VALUE,
894 store_->GetValue(prefs::kPromptForDownload, NULL)); 919 store_->GetValue(prefs::kPromptForDownload, NULL));
895 } 920 }
896 921
897 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, 922 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest,
898 DisableFileSelectionDialogs) { 923 DisableFileSelectionDialogs) {
924 PolicyMap policy;
899 EXPECT_EQ(PrefStore::READ_NO_VALUE, 925 EXPECT_EQ(PrefStore::READ_NO_VALUE,
900 store_->GetValue(prefs::kPromptForDownload, NULL)); 926 store_->GetValue(prefs::kPromptForDownload, NULL));
901 policy_.Set(key::kAllowFileSelectionDialogs, POLICY_LEVEL_MANDATORY, 927 policy.Set(key::kAllowFileSelectionDialogs, POLICY_LEVEL_MANDATORY,
902 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(false)); 928 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(false));
903 provider_.NotifyPolicyUpdated(); 929 provider_.UpdateChromePolicy(policy);
904 930
905 // Disabling file-selection dialogs should disable the PromptForDownload pref. 931 // Disabling file-selection dialogs should disable the PromptForDownload pref.
906 const base::Value* value = NULL; 932 const base::Value* value = NULL;
907 EXPECT_EQ(PrefStore::READ_OK, store_->GetValue(prefs::kPromptForDownload, 933 EXPECT_EQ(PrefStore::READ_OK, store_->GetValue(prefs::kPromptForDownload,
908 &value)); 934 &value));
909 ASSERT_TRUE(value); 935 ASSERT_TRUE(value);
910 bool prompt_for_download = true; 936 bool prompt_for_download = true;
911 bool result = value->GetAsBoolean(&prompt_for_download); 937 bool result = value->GetAsBoolean(&prompt_for_download);
912 ASSERT_TRUE(result); 938 ASSERT_TRUE(result);
913 EXPECT_FALSE(prompt_for_download); 939 EXPECT_FALSE(prompt_for_download);
914 } 940 }
915 941
916 // Test cases for the Autofill policy setting. 942 // Test cases for the Autofill policy setting.
917 class ConfigurationPolicyPrefStoreAutofillTest 943 class ConfigurationPolicyPrefStoreAutofillTest
918 : public ConfigurationPolicyPrefStoreTest {}; 944 : public ConfigurationPolicyPrefStoreTest {};
919 945
920 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Default) { 946 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Default) {
921 EXPECT_EQ(PrefStore::READ_NO_VALUE, 947 EXPECT_EQ(PrefStore::READ_NO_VALUE,
922 store_->GetValue(prefs::kAutofillEnabled, NULL)); 948 store_->GetValue(prefs::kAutofillEnabled, NULL));
923 } 949 }
924 950
925 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Enabled) { 951 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Enabled) {
926 policy_.Set(key::kAutoFillEnabled, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 952 PolicyMap policy;
927 base::Value::CreateBooleanValue(true)); 953 policy.Set(key::kAutoFillEnabled, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
928 provider_.NotifyPolicyUpdated(); 954 base::Value::CreateBooleanValue(true));
955 provider_.UpdateChromePolicy(policy);
929 // Enabling Autofill should not set the pref. 956 // Enabling Autofill should not set the pref.
930 EXPECT_EQ(PrefStore::READ_NO_VALUE, 957 EXPECT_EQ(PrefStore::READ_NO_VALUE,
931 store_->GetValue(prefs::kAutofillEnabled, NULL)); 958 store_->GetValue(prefs::kAutofillEnabled, NULL));
932 } 959 }
933 960
934 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Disabled) { 961 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Disabled) {
935 policy_.Set(key::kAutoFillEnabled, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 962 PolicyMap policy;
936 base::Value::CreateBooleanValue(false)); 963 policy.Set(key::kAutoFillEnabled, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
937 provider_.NotifyPolicyUpdated(); 964 base::Value::CreateBooleanValue(false));
965 provider_.UpdateChromePolicy(policy);
938 // Disabling Autofill should switch the pref to managed. 966 // Disabling Autofill should switch the pref to managed.
939 const base::Value* value = NULL; 967 const base::Value* value = NULL;
940 EXPECT_EQ(PrefStore::READ_OK, 968 EXPECT_EQ(PrefStore::READ_OK,
941 store_->GetValue(prefs::kAutofillEnabled, &value)); 969 store_->GetValue(prefs::kAutofillEnabled, &value));
942 ASSERT_TRUE(value); 970 ASSERT_TRUE(value);
943 bool autofill_enabled = true; 971 bool autofill_enabled = true;
944 bool result = value->GetAsBoolean(&autofill_enabled); 972 bool result = value->GetAsBoolean(&autofill_enabled);
945 ASSERT_TRUE(result); 973 ASSERT_TRUE(result);
946 EXPECT_FALSE(autofill_enabled); 974 EXPECT_FALSE(autofill_enabled);
947 } 975 }
(...skipping 12 matching lines...) Expand all
960 988
961 PrefStoreObserverMock observer_; 989 PrefStoreObserverMock observer_;
962 }; 990 };
963 991
964 TEST_F(ConfigurationPolicyPrefStoreRefreshTest, Refresh) { 992 TEST_F(ConfigurationPolicyPrefStoreRefreshTest, Refresh) {
965 const base::Value* value = NULL; 993 const base::Value* value = NULL;
966 EXPECT_EQ(PrefStore::READ_NO_VALUE, 994 EXPECT_EQ(PrefStore::READ_NO_VALUE,
967 store_->GetValue(prefs::kHomePage, NULL)); 995 store_->GetValue(prefs::kHomePage, NULL));
968 996
969 EXPECT_CALL(observer_, OnPrefValueChanged(prefs::kHomePage)).Times(1); 997 EXPECT_CALL(observer_, OnPrefValueChanged(prefs::kHomePage)).Times(1);
970 policy_.Set(key::kHomepageLocation, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 998 PolicyMap policy;
971 base::Value::CreateStringValue("http://www.chromium.org")); 999 policy.Set(key::kHomepageLocation, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
972 provider_.NotifyPolicyUpdated(); 1000 base::Value::CreateStringValue("http://www.chromium.org"));
1001 provider_.UpdateChromePolicy(policy);
973 Mock::VerifyAndClearExpectations(&observer_); 1002 Mock::VerifyAndClearExpectations(&observer_);
974 EXPECT_EQ(PrefStore::READ_OK, 1003 EXPECT_EQ(PrefStore::READ_OK,
975 store_->GetValue(prefs::kHomePage, &value)); 1004 store_->GetValue(prefs::kHomePage, &value));
976 EXPECT_TRUE(base::StringValue("http://www.chromium.org").Equals(value)); 1005 EXPECT_TRUE(base::StringValue("http://www.chromium.org").Equals(value));
977 1006
978 EXPECT_CALL(observer_, OnPrefValueChanged(_)).Times(0); 1007 EXPECT_CALL(observer_, OnPrefValueChanged(_)).Times(0);
979 provider_.NotifyPolicyUpdated(); 1008 provider_.UpdateChromePolicy(policy);
980 Mock::VerifyAndClearExpectations(&observer_); 1009 Mock::VerifyAndClearExpectations(&observer_);
981 1010
982 EXPECT_CALL(observer_, OnPrefValueChanged(prefs::kHomePage)).Times(1); 1011 EXPECT_CALL(observer_, OnPrefValueChanged(prefs::kHomePage)).Times(1);
983 policy_.Erase(key::kHomepageLocation); 1012 policy.Erase(key::kHomepageLocation);
984 provider_.NotifyPolicyUpdated(); 1013 provider_.UpdateChromePolicy(policy);
985 Mock::VerifyAndClearExpectations(&observer_); 1014 Mock::VerifyAndClearExpectations(&observer_);
986 EXPECT_EQ(PrefStore::READ_NO_VALUE, 1015 EXPECT_EQ(PrefStore::READ_NO_VALUE,
987 store_->GetValue(prefs::kHomePage, NULL)); 1016 store_->GetValue(prefs::kHomePage, NULL));
988 } 1017 }
989 1018
990 TEST_F(ConfigurationPolicyPrefStoreRefreshTest, Initialization) { 1019 TEST_F(ConfigurationPolicyPrefStoreRefreshTest, Initialization) {
991 EXPECT_FALSE(store_->IsInitializationComplete()); 1020 EXPECT_FALSE(store_->IsInitializationComplete());
992 EXPECT_CALL(provider_, IsInitializationComplete()) 1021 EXPECT_CALL(provider_, IsInitializationComplete())
993 .WillRepeatedly(Return(true)); 1022 .WillRepeatedly(Return(true));
994 EXPECT_CALL(observer_, OnInitializationCompleted(true)).Times(1); 1023 EXPECT_CALL(observer_, OnInitializationCompleted(true)).Times(1);
995 provider_.NotifyPolicyUpdated(); 1024 PolicyMap policy;
1025 provider_.UpdateChromePolicy(policy);
996 Mock::VerifyAndClearExpectations(&observer_); 1026 Mock::VerifyAndClearExpectations(&observer_);
997 EXPECT_TRUE(store_->IsInitializationComplete()); 1027 EXPECT_TRUE(store_->IsInitializationComplete());
998 } 1028 }
999 1029
1000 // Tests for policies that don't quite fit the previous patterns. 1030 // Tests for policies that don't quite fit the previous patterns.
1001 class ConfigurationPolicyPrefStoreOthersTest 1031 class ConfigurationPolicyPrefStoreOthersTest
1002 : public ConfigurationPolicyPrefStoreTest {}; 1032 : public ConfigurationPolicyPrefStoreTest {};
1003 1033
1004 TEST_F(ConfigurationPolicyPrefStoreOthersTest, JavascriptEnabled) { 1034 TEST_F(ConfigurationPolicyPrefStoreOthersTest, JavascriptEnabled) {
1005 // This is a boolean policy, but affects an integer preference. 1035 // This is a boolean policy, but affects an integer preference.
1006 EXPECT_EQ(PrefStore::READ_NO_VALUE, 1036 EXPECT_EQ(PrefStore::READ_NO_VALUE,
1007 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL)); 1037 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL));
1008 policy_.Set(key::kJavascriptEnabled, POLICY_LEVEL_MANDATORY, 1038 PolicyMap policy;
1009 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(true)); 1039 policy.Set(key::kJavascriptEnabled, POLICY_LEVEL_MANDATORY,
1010 provider_.NotifyPolicyUpdated(); 1040 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(true));
1041 provider_.UpdateChromePolicy(policy);
1011 EXPECT_EQ(PrefStore::READ_NO_VALUE, 1042 EXPECT_EQ(PrefStore::READ_NO_VALUE,
1012 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL)); 1043 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL));
1013 policy_.Set(key::kJavascriptEnabled, POLICY_LEVEL_MANDATORY, 1044 policy.Set(key::kJavascriptEnabled, POLICY_LEVEL_MANDATORY,
1014 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(false)); 1045 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(false));
1015 provider_.NotifyPolicyUpdated(); 1046 provider_.UpdateChromePolicy(policy);
1016 const base::Value* value = NULL; 1047 const base::Value* value = NULL;
1017 EXPECT_EQ(PrefStore::READ_OK, 1048 EXPECT_EQ(PrefStore::READ_OK,
1018 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, &value)); 1049 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, &value));
1019 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_BLOCK).Equals(value)); 1050 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_BLOCK).Equals(value));
1020 } 1051 }
1021 1052
1022 TEST_F(ConfigurationPolicyPrefStoreOthersTest, JavascriptEnabledOverridden) { 1053 TEST_F(ConfigurationPolicyPrefStoreOthersTest, JavascriptEnabledOverridden) {
1023 EXPECT_EQ(PrefStore::READ_NO_VALUE, 1054 EXPECT_EQ(PrefStore::READ_NO_VALUE,
1024 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL)); 1055 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL));
1025 policy_.Set(key::kJavascriptEnabled, POLICY_LEVEL_MANDATORY, 1056 PolicyMap policy;
1026 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(false)); 1057 policy.Set(key::kJavascriptEnabled, POLICY_LEVEL_MANDATORY,
1027 provider_.NotifyPolicyUpdated(); 1058 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(false));
1059 provider_.UpdateChromePolicy(policy);
1028 const base::Value* value = NULL; 1060 const base::Value* value = NULL;
1029 EXPECT_EQ(PrefStore::READ_OK, 1061 EXPECT_EQ(PrefStore::READ_OK,
1030 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, &value)); 1062 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, &value));
1031 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_BLOCK).Equals(value)); 1063 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_BLOCK).Equals(value));
1032 // DefaultJavaScriptSetting overrides JavascriptEnabled. 1064 // DefaultJavaScriptSetting overrides JavascriptEnabled.
1033 policy_.Set(key::kDefaultJavaScriptSetting, POLICY_LEVEL_MANDATORY, 1065 policy.Set(key::kDefaultJavaScriptSetting, POLICY_LEVEL_MANDATORY,
1034 POLICY_SCOPE_USER, 1066 POLICY_SCOPE_USER,
1035 base::Value::CreateIntegerValue(CONTENT_SETTING_ALLOW)); 1067 base::Value::CreateIntegerValue(CONTENT_SETTING_ALLOW));
1036 provider_.NotifyPolicyUpdated(); 1068 provider_.UpdateChromePolicy(policy);
1037 EXPECT_EQ(PrefStore::READ_OK, 1069 EXPECT_EQ(PrefStore::READ_OK,
1038 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, &value)); 1070 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, &value));
1039 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_ALLOW).Equals(value)); 1071 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_ALLOW).Equals(value));
1040 } 1072 }
1041 1073
1042 } // namespace policy 1074 } // namespace policy
OLDNEW
« no previous file with comments | « chrome/browser/policy/configuration_policy_pref_store.cc ('k') | chrome/browser/policy/configuration_policy_provider.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698