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

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

Issue 11667006: Create a list of policy changes before notifying observers (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Another ToT merge Created 7 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | chrome/browser/policy/network_configuration_updater_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include <string> 5 #include <string>
6 6
7 #include "base/file_path.h" 7 #include "base/file_path.h"
8 #include "base/memory/ref_counted.h" 8 #include "base/memory/ref_counted.h"
9 #include "base/message_loop.h"
9 #include "base/prefs/pref_store_observer_mock.h" 10 #include "base/prefs/pref_store_observer_mock.h"
11 #include "base/run_loop.h"
10 #include "chrome/browser/policy/configuration_policy_handler.h" 12 #include "chrome/browser/policy/configuration_policy_handler.h"
11 #include "chrome/browser/policy/configuration_policy_pref_store.h" 13 #include "chrome/browser/policy/configuration_policy_pref_store.h"
12 #include "chrome/browser/policy/mock_configuration_policy_provider.h" 14 #include "chrome/browser/policy/mock_configuration_policy_provider.h"
13 #include "chrome/browser/policy/policy_map.h" 15 #include "chrome/browser/policy/policy_map.h"
14 #include "chrome/browser/policy/policy_service_impl.h" 16 #include "chrome/browser/policy/policy_service_impl.h"
15 #include "chrome/browser/prefs/incognito_mode_prefs.h" 17 #include "chrome/browser/prefs/incognito_mode_prefs.h"
16 #include "chrome/browser/prefs/proxy_config_dictionary.h" 18 #include "chrome/browser/prefs/proxy_config_dictionary.h"
17 #include "chrome/common/content_settings.h" 19 #include "chrome/common/content_settings.h"
18 #include "chrome/common/pref_names.h" 20 #include "chrome/common/pref_names.h"
19 #include "policy/policy_constants.h" 21 #include "policy/policy_constants.h"
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
51 providers.push_back(&provider_); 53 providers.push_back(&provider_);
52 policy_service_.reset(new PolicyServiceImpl(providers)); 54 policy_service_.reset(new PolicyServiceImpl(providers));
53 store_ = new ConfigurationPolicyPrefStore(policy_service_.get(), 55 store_ = new ConfigurationPolicyPrefStore(policy_service_.get(),
54 POLICY_LEVEL_MANDATORY); 56 POLICY_LEVEL_MANDATORY);
55 } 57 }
56 58
57 virtual void TearDown() OVERRIDE { 59 virtual void TearDown() OVERRIDE {
58 provider_.Shutdown(); 60 provider_.Shutdown();
59 } 61 }
60 62
63 void UpdateProviderPolicy(const PolicyMap& policy) {
64 provider_.UpdateChromePolicy(policy);
65 base::RunLoop loop;
66 loop.RunUntilIdle();
67 }
68
61 MockConfigurationPolicyProvider provider_; 69 MockConfigurationPolicyProvider provider_;
62 scoped_ptr<PolicyServiceImpl> policy_service_; 70 scoped_ptr<PolicyServiceImpl> policy_service_;
63 scoped_refptr<ConfigurationPolicyPrefStore> store_; 71 scoped_refptr<ConfigurationPolicyPrefStore> store_;
72 MessageLoop loop_;
64 }; 73 };
65 74
66 // Test cases for list-valued policy settings. 75 // Test cases for list-valued policy settings.
67 class ConfigurationPolicyPrefStoreListTest 76 class ConfigurationPolicyPrefStoreListTest
68 : public ConfigurationPolicyPrefStoreTest, 77 : public ConfigurationPolicyPrefStoreTest,
69 public testing::WithParamInterface<PolicyAndPref> {}; 78 public testing::WithParamInterface<PolicyAndPref> {};
70 79
71 TEST_P(ConfigurationPolicyPrefStoreListTest, GetDefault) { 80 TEST_P(ConfigurationPolicyPrefStoreListTest, GetDefault) {
72 EXPECT_FALSE(store_->GetValue(GetParam().pref_name(), NULL)); 81 EXPECT_FALSE(store_->GetValue(GetParam().pref_name(), NULL));
73 } 82 }
74 83
75 TEST_P(ConfigurationPolicyPrefStoreListTest, SetValue) { 84 TEST_P(ConfigurationPolicyPrefStoreListTest, SetValue) {
76 base::ListValue* in_value = new base::ListValue(); 85 base::ListValue* in_value = new base::ListValue();
77 in_value->Append(base::Value::CreateStringValue("test1")); 86 in_value->Append(base::Value::CreateStringValue("test1"));
78 in_value->Append(base::Value::CreateStringValue("test2,")); 87 in_value->Append(base::Value::CreateStringValue("test2,"));
79 PolicyMap policy; 88 PolicyMap policy;
80 policy.Set(GetParam().policy_name(), POLICY_LEVEL_MANDATORY, 89 policy.Set(GetParam().policy_name(), POLICY_LEVEL_MANDATORY,
81 POLICY_SCOPE_USER, in_value); 90 POLICY_SCOPE_USER, in_value);
82 provider_.UpdateChromePolicy(policy); 91 UpdateProviderPolicy(policy);
83 const base::Value* value = NULL; 92 const base::Value* value = NULL;
84 EXPECT_TRUE(store_->GetValue(GetParam().pref_name(), &value)); 93 EXPECT_TRUE(store_->GetValue(GetParam().pref_name(), &value));
85 ASSERT_TRUE(value); 94 ASSERT_TRUE(value);
86 EXPECT_TRUE(in_value->Equals(value)); 95 EXPECT_TRUE(in_value->Equals(value));
87 } 96 }
88 97
89 INSTANTIATE_TEST_CASE_P( 98 INSTANTIATE_TEST_CASE_P(
90 ConfigurationPolicyPrefStoreListTestInstance, 99 ConfigurationPolicyPrefStoreListTestInstance,
91 ConfigurationPolicyPrefStoreListTest, 100 ConfigurationPolicyPrefStoreListTest,
92 testing::Values( 101 testing::Values(
(...skipping 21 matching lines...) Expand all
114 123
115 TEST_P(ConfigurationPolicyPrefStoreStringTest, GetDefault) { 124 TEST_P(ConfigurationPolicyPrefStoreStringTest, GetDefault) {
116 EXPECT_FALSE(store_->GetValue(GetParam().pref_name(), NULL)); 125 EXPECT_FALSE(store_->GetValue(GetParam().pref_name(), NULL));
117 } 126 }
118 127
119 TEST_P(ConfigurationPolicyPrefStoreStringTest, SetValue) { 128 TEST_P(ConfigurationPolicyPrefStoreStringTest, SetValue) {
120 PolicyMap policy; 129 PolicyMap policy;
121 policy.Set(GetParam().policy_name(), POLICY_LEVEL_MANDATORY, 130 policy.Set(GetParam().policy_name(), POLICY_LEVEL_MANDATORY,
122 POLICY_SCOPE_USER, 131 POLICY_SCOPE_USER,
123 base::Value::CreateStringValue("http://chromium.org")); 132 base::Value::CreateStringValue("http://chromium.org"));
124 provider_.UpdateChromePolicy(policy); 133 UpdateProviderPolicy(policy);
125 const base::Value* value = NULL; 134 const base::Value* value = NULL;
126 EXPECT_TRUE(store_->GetValue(GetParam().pref_name(), &value)); 135 EXPECT_TRUE(store_->GetValue(GetParam().pref_name(), &value));
127 ASSERT_TRUE(value); 136 ASSERT_TRUE(value);
128 EXPECT_TRUE(base::StringValue("http://chromium.org").Equals(value)); 137 EXPECT_TRUE(base::StringValue("http://chromium.org").Equals(value));
129 } 138 }
130 139
131 INSTANTIATE_TEST_CASE_P( 140 INSTANTIATE_TEST_CASE_P(
132 ConfigurationPolicyPrefStoreStringTestInstance, 141 ConfigurationPolicyPrefStoreStringTestInstance,
133 ConfigurationPolicyPrefStoreStringTest, 142 ConfigurationPolicyPrefStoreStringTest,
134 testing::Values( 143 testing::Values(
(...skipping 28 matching lines...) Expand all
163 public testing::WithParamInterface<PolicyAndPref> {}; 172 public testing::WithParamInterface<PolicyAndPref> {};
164 173
165 TEST_P(ConfigurationPolicyPrefStoreBooleanTest, GetDefault) { 174 TEST_P(ConfigurationPolicyPrefStoreBooleanTest, GetDefault) {
166 EXPECT_FALSE(store_->GetValue(GetParam().pref_name(), NULL)); 175 EXPECT_FALSE(store_->GetValue(GetParam().pref_name(), NULL));
167 } 176 }
168 177
169 TEST_P(ConfigurationPolicyPrefStoreBooleanTest, SetValue) { 178 TEST_P(ConfigurationPolicyPrefStoreBooleanTest, SetValue) {
170 PolicyMap policy; 179 PolicyMap policy;
171 policy.Set(GetParam().policy_name(), POLICY_LEVEL_MANDATORY, 180 policy.Set(GetParam().policy_name(), POLICY_LEVEL_MANDATORY,
172 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(false)); 181 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(false));
173 provider_.UpdateChromePolicy(policy); 182 UpdateProviderPolicy(policy);
174 const base::Value* value = NULL; 183 const base::Value* value = NULL;
175 EXPECT_TRUE(store_->GetValue(GetParam().pref_name(), &value)); 184 EXPECT_TRUE(store_->GetValue(GetParam().pref_name(), &value));
176 ASSERT_TRUE(value); 185 ASSERT_TRUE(value);
177 bool boolean_value = true; 186 bool boolean_value = true;
178 bool result = value->GetAsBoolean(&boolean_value); 187 bool result = value->GetAsBoolean(&boolean_value);
179 ASSERT_TRUE(result); 188 ASSERT_TRUE(result);
180 EXPECT_FALSE(boolean_value); 189 EXPECT_FALSE(boolean_value);
181 190
182 policy.Set(GetParam().policy_name(), POLICY_LEVEL_MANDATORY, 191 policy.Set(GetParam().policy_name(), POLICY_LEVEL_MANDATORY,
183 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(true)); 192 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(true));
184 provider_.UpdateChromePolicy(policy); 193 UpdateProviderPolicy(policy);
185 value = NULL; 194 value = NULL;
186 EXPECT_TRUE(store_->GetValue(GetParam().pref_name(), &value)); 195 EXPECT_TRUE(store_->GetValue(GetParam().pref_name(), &value));
187 boolean_value = false; 196 boolean_value = false;
188 result = value->GetAsBoolean(&boolean_value); 197 result = value->GetAsBoolean(&boolean_value);
189 ASSERT_TRUE(result); 198 ASSERT_TRUE(result);
190 EXPECT_TRUE(boolean_value); 199 EXPECT_TRUE(boolean_value);
191 } 200 }
192 201
193 INSTANTIATE_TEST_CASE_P( 202 INSTANTIATE_TEST_CASE_P(
194 ConfigurationPolicyPrefStoreBooleanTestInstance, 203 ConfigurationPolicyPrefStoreBooleanTestInstance,
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after
302 public testing::WithParamInterface<PolicyAndPref> {}; 311 public testing::WithParamInterface<PolicyAndPref> {};
303 312
304 TEST_P(ConfigurationPolicyPrefStoreIntegerTest, GetDefault) { 313 TEST_P(ConfigurationPolicyPrefStoreIntegerTest, GetDefault) {
305 EXPECT_FALSE(store_->GetValue(GetParam().pref_name(), NULL)); 314 EXPECT_FALSE(store_->GetValue(GetParam().pref_name(), NULL));
306 } 315 }
307 316
308 TEST_P(ConfigurationPolicyPrefStoreIntegerTest, SetValue) { 317 TEST_P(ConfigurationPolicyPrefStoreIntegerTest, SetValue) {
309 PolicyMap policy; 318 PolicyMap policy;
310 policy.Set(GetParam().policy_name(), POLICY_LEVEL_MANDATORY, 319 policy.Set(GetParam().policy_name(), POLICY_LEVEL_MANDATORY,
311 POLICY_SCOPE_USER, base::Value::CreateIntegerValue(2)); 320 POLICY_SCOPE_USER, base::Value::CreateIntegerValue(2));
312 provider_.UpdateChromePolicy(policy); 321 UpdateProviderPolicy(policy);
313 const base::Value* value = NULL; 322 const base::Value* value = NULL;
314 EXPECT_TRUE(store_->GetValue(GetParam().pref_name(), &value)); 323 EXPECT_TRUE(store_->GetValue(GetParam().pref_name(), &value));
315 EXPECT_TRUE(base::FundamentalValue(2).Equals(value)); 324 EXPECT_TRUE(base::FundamentalValue(2).Equals(value));
316 } 325 }
317 326
318 INSTANTIATE_TEST_CASE_P( 327 INSTANTIATE_TEST_CASE_P(
319 ConfigurationPolicyPrefStoreIntegerTestInstance, 328 ConfigurationPolicyPrefStoreIntegerTestInstance,
320 ConfigurationPolicyPrefStoreIntegerTest, 329 ConfigurationPolicyPrefStoreIntegerTest,
321 testing::Values( 330 testing::Values(
322 PolicyAndPref(key::kDefaultCookiesSetting, 331 PolicyAndPref(key::kDefaultCookiesSetting,
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
385 TEST_F(ConfigurationPolicyPrefStoreProxyTest, ManualOptions) { 394 TEST_F(ConfigurationPolicyPrefStoreProxyTest, ManualOptions) {
386 PolicyMap policy; 395 PolicyMap policy;
387 policy.Set(key::kProxyBypassList, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 396 policy.Set(key::kProxyBypassList, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
388 base::Value::CreateStringValue("http://chromium.org/override")); 397 base::Value::CreateStringValue("http://chromium.org/override"));
389 policy.Set(key::kProxyServer, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 398 policy.Set(key::kProxyServer, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
390 base::Value::CreateStringValue("chromium.org")); 399 base::Value::CreateStringValue("chromium.org"));
391 policy.Set( 400 policy.Set(
392 key::kProxyServerMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 401 key::kProxyServerMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
393 base::Value::CreateIntegerValue( 402 base::Value::CreateIntegerValue(
394 ProxyPolicyHandler::PROXY_MANUALLY_CONFIGURED_PROXY_SERVER_MODE)); 403 ProxyPolicyHandler::PROXY_MANUALLY_CONFIGURED_PROXY_SERVER_MODE));
395 provider_.UpdateChromePolicy(policy); 404 UpdateProviderPolicy(policy);
396 405
397 VerifyProxyPrefs( 406 VerifyProxyPrefs(
398 "chromium.org", "", "http://chromium.org/override", 407 "chromium.org", "", "http://chromium.org/override",
399 ProxyPrefs::MODE_FIXED_SERVERS); 408 ProxyPrefs::MODE_FIXED_SERVERS);
400 } 409 }
401 410
402 TEST_F(ConfigurationPolicyPrefStoreProxyTest, ManualOptionsReversedApplyOrder) { 411 TEST_F(ConfigurationPolicyPrefStoreProxyTest, ManualOptionsReversedApplyOrder) {
403 PolicyMap policy; 412 PolicyMap policy;
404 policy.Set( 413 policy.Set(
405 key::kProxyServerMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 414 key::kProxyServerMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
406 base::Value::CreateIntegerValue( 415 base::Value::CreateIntegerValue(
407 ProxyPolicyHandler::PROXY_MANUALLY_CONFIGURED_PROXY_SERVER_MODE)); 416 ProxyPolicyHandler::PROXY_MANUALLY_CONFIGURED_PROXY_SERVER_MODE));
408 policy.Set(key::kProxyBypassList, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 417 policy.Set(key::kProxyBypassList, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
409 base::Value::CreateStringValue("http://chromium.org/override")); 418 base::Value::CreateStringValue("http://chromium.org/override"));
410 policy.Set(key::kProxyServer, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 419 policy.Set(key::kProxyServer, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
411 base::Value::CreateStringValue("chromium.org")); 420 base::Value::CreateStringValue("chromium.org"));
412 provider_.UpdateChromePolicy(policy); 421 UpdateProviderPolicy(policy);
413 422
414 VerifyProxyPrefs( 423 VerifyProxyPrefs(
415 "chromium.org", "", "http://chromium.org/override", 424 "chromium.org", "", "http://chromium.org/override",
416 ProxyPrefs::MODE_FIXED_SERVERS); 425 ProxyPrefs::MODE_FIXED_SERVERS);
417 } 426 }
418 427
419 TEST_F(ConfigurationPolicyPrefStoreProxyTest, ManualOptionsInvalid) { 428 TEST_F(ConfigurationPolicyPrefStoreProxyTest, ManualOptionsInvalid) {
420 PolicyMap policy; 429 PolicyMap policy;
421 policy.Set( 430 policy.Set(
422 key::kProxyServerMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 431 key::kProxyServerMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
423 base::Value::CreateIntegerValue( 432 base::Value::CreateIntegerValue(
424 ProxyPolicyHandler::PROXY_MANUALLY_CONFIGURED_PROXY_SERVER_MODE)); 433 ProxyPolicyHandler::PROXY_MANUALLY_CONFIGURED_PROXY_SERVER_MODE));
425 provider_.UpdateChromePolicy(policy); 434 UpdateProviderPolicy(policy);
426 435
427 const base::Value* value = NULL; 436 const base::Value* value = NULL;
428 EXPECT_FALSE(store_->GetValue(prefs::kProxy, &value)); 437 EXPECT_FALSE(store_->GetValue(prefs::kProxy, &value));
429 } 438 }
430 439
431 440
432 TEST_F(ConfigurationPolicyPrefStoreProxyTest, NoProxyServerMode) { 441 TEST_F(ConfigurationPolicyPrefStoreProxyTest, NoProxyServerMode) {
433 PolicyMap policy; 442 PolicyMap policy;
434 policy.Set(key::kProxyServerMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 443 policy.Set(key::kProxyServerMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
435 base::Value::CreateIntegerValue( 444 base::Value::CreateIntegerValue(
436 ProxyPolicyHandler::PROXY_SERVER_MODE)); 445 ProxyPolicyHandler::PROXY_SERVER_MODE));
437 provider_.UpdateChromePolicy(policy); 446 UpdateProviderPolicy(policy);
438 VerifyProxyPrefs("", "", "", ProxyPrefs::MODE_DIRECT); 447 VerifyProxyPrefs("", "", "", ProxyPrefs::MODE_DIRECT);
439 } 448 }
440 449
441 TEST_F(ConfigurationPolicyPrefStoreProxyTest, NoProxyModeName) { 450 TEST_F(ConfigurationPolicyPrefStoreProxyTest, NoProxyModeName) {
442 PolicyMap policy; 451 PolicyMap policy;
443 policy.Set(key::kProxyMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 452 policy.Set(key::kProxyMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
444 base::Value::CreateStringValue(ProxyPrefs::kDirectProxyModeName)); 453 base::Value::CreateStringValue(ProxyPrefs::kDirectProxyModeName));
445 provider_.UpdateChromePolicy(policy); 454 UpdateProviderPolicy(policy);
446 VerifyProxyPrefs("", "", "", ProxyPrefs::MODE_DIRECT); 455 VerifyProxyPrefs("", "", "", ProxyPrefs::MODE_DIRECT);
447 } 456 }
448 457
449 TEST_F(ConfigurationPolicyPrefStoreProxyTest, AutoDetectProxyServerMode) { 458 TEST_F(ConfigurationPolicyPrefStoreProxyTest, AutoDetectProxyServerMode) {
450 PolicyMap policy; 459 PolicyMap policy;
451 policy.Set( 460 policy.Set(
452 key::kProxyServerMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 461 key::kProxyServerMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
453 base::Value::CreateIntegerValue( 462 base::Value::CreateIntegerValue(
454 ProxyPolicyHandler::PROXY_AUTO_DETECT_PROXY_SERVER_MODE)); 463 ProxyPolicyHandler::PROXY_AUTO_DETECT_PROXY_SERVER_MODE));
455 provider_.UpdateChromePolicy(policy); 464 UpdateProviderPolicy(policy);
456 VerifyProxyPrefs("", "", "", ProxyPrefs::MODE_AUTO_DETECT); 465 VerifyProxyPrefs("", "", "", ProxyPrefs::MODE_AUTO_DETECT);
457 } 466 }
458 467
459 TEST_F(ConfigurationPolicyPrefStoreProxyTest, AutoDetectProxyModeName) { 468 TEST_F(ConfigurationPolicyPrefStoreProxyTest, AutoDetectProxyModeName) {
460 PolicyMap policy; 469 PolicyMap policy;
461 policy.Set(key::kProxyMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 470 policy.Set(key::kProxyMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
462 base::Value::CreateStringValue( 471 base::Value::CreateStringValue(
463 ProxyPrefs::kAutoDetectProxyModeName)); 472 ProxyPrefs::kAutoDetectProxyModeName));
464 provider_.UpdateChromePolicy(policy); 473 UpdateProviderPolicy(policy);
465 VerifyProxyPrefs("", "", "", ProxyPrefs::MODE_AUTO_DETECT); 474 VerifyProxyPrefs("", "", "", ProxyPrefs::MODE_AUTO_DETECT);
466 } 475 }
467 476
468 TEST_F(ConfigurationPolicyPrefStoreProxyTest, PacScriptProxyMode) { 477 TEST_F(ConfigurationPolicyPrefStoreProxyTest, PacScriptProxyMode) {
469 PolicyMap policy; 478 PolicyMap policy;
470 policy.Set(key::kProxyPacUrl, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 479 policy.Set(key::kProxyPacUrl, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
471 base::Value::CreateStringValue("http://short.org/proxy.pac")); 480 base::Value::CreateStringValue("http://short.org/proxy.pac"));
472 policy.Set(key::kProxyMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 481 policy.Set(key::kProxyMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
473 base::Value::CreateStringValue( 482 base::Value::CreateStringValue(
474 ProxyPrefs::kPacScriptProxyModeName)); 483 ProxyPrefs::kPacScriptProxyModeName));
475 provider_.UpdateChromePolicy(policy); 484 UpdateProviderPolicy(policy);
476 VerifyProxyPrefs("", "http://short.org/proxy.pac", "", 485 VerifyProxyPrefs("", "http://short.org/proxy.pac", "",
477 ProxyPrefs::MODE_PAC_SCRIPT); 486 ProxyPrefs::MODE_PAC_SCRIPT);
478 } 487 }
479 488
480 TEST_F(ConfigurationPolicyPrefStoreProxyTest, PacScriptProxyModeInvalid) { 489 TEST_F(ConfigurationPolicyPrefStoreProxyTest, PacScriptProxyModeInvalid) {
481 PolicyMap policy; 490 PolicyMap policy;
482 policy.Set(key::kProxyMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 491 policy.Set(key::kProxyMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
483 base::Value::CreateStringValue( 492 base::Value::CreateStringValue(
484 ProxyPrefs::kPacScriptProxyModeName)); 493 ProxyPrefs::kPacScriptProxyModeName));
485 provider_.UpdateChromePolicy(policy); 494 UpdateProviderPolicy(policy);
486 const base::Value* value = NULL; 495 const base::Value* value = NULL;
487 EXPECT_FALSE(store_->GetValue(prefs::kProxy, &value)); 496 EXPECT_FALSE(store_->GetValue(prefs::kProxy, &value));
488 } 497 }
489 498
490 // Regression test for http://crbug.com/78016, CPanel returns empty strings 499 // Regression test for http://crbug.com/78016, CPanel returns empty strings
491 // for unset properties. 500 // for unset properties.
492 TEST_F(ConfigurationPolicyPrefStoreProxyTest, PacScriptProxyModeBug78016) { 501 TEST_F(ConfigurationPolicyPrefStoreProxyTest, PacScriptProxyModeBug78016) {
493 PolicyMap policy; 502 PolicyMap policy;
494 policy.Set(key::kProxyServer, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 503 policy.Set(key::kProxyServer, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
495 base::Value::CreateStringValue("")); 504 base::Value::CreateStringValue(""));
496 policy.Set(key::kProxyPacUrl, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 505 policy.Set(key::kProxyPacUrl, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
497 base::Value::CreateStringValue("http://short.org/proxy.pac")); 506 base::Value::CreateStringValue("http://short.org/proxy.pac"));
498 policy.Set(key::kProxyMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 507 policy.Set(key::kProxyMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
499 base::Value::CreateStringValue( 508 base::Value::CreateStringValue(
500 ProxyPrefs::kPacScriptProxyModeName)); 509 ProxyPrefs::kPacScriptProxyModeName));
501 provider_.UpdateChromePolicy(policy); 510 UpdateProviderPolicy(policy);
502 VerifyProxyPrefs("", "http://short.org/proxy.pac", "", 511 VerifyProxyPrefs("", "http://short.org/proxy.pac", "",
503 ProxyPrefs::MODE_PAC_SCRIPT); 512 ProxyPrefs::MODE_PAC_SCRIPT);
504 } 513 }
505 514
506 TEST_F(ConfigurationPolicyPrefStoreProxyTest, UseSystemProxyServerMode) { 515 TEST_F(ConfigurationPolicyPrefStoreProxyTest, UseSystemProxyServerMode) {
507 PolicyMap policy; 516 PolicyMap policy;
508 policy.Set(key::kProxyServerMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 517 policy.Set(key::kProxyServerMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
509 base::Value::CreateIntegerValue( 518 base::Value::CreateIntegerValue(
510 ProxyPolicyHandler::PROXY_USE_SYSTEM_PROXY_SERVER_MODE)); 519 ProxyPolicyHandler::PROXY_USE_SYSTEM_PROXY_SERVER_MODE));
511 provider_.UpdateChromePolicy(policy); 520 UpdateProviderPolicy(policy);
512 VerifyProxyPrefs("", "", "", ProxyPrefs::MODE_SYSTEM); 521 VerifyProxyPrefs("", "", "", ProxyPrefs::MODE_SYSTEM);
513 } 522 }
514 523
515 TEST_F(ConfigurationPolicyPrefStoreProxyTest, UseSystemProxyMode) { 524 TEST_F(ConfigurationPolicyPrefStoreProxyTest, UseSystemProxyMode) {
516 PolicyMap policy; 525 PolicyMap policy;
517 policy.Set(key::kProxyMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 526 policy.Set(key::kProxyMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
518 base::Value::CreateStringValue(ProxyPrefs::kSystemProxyModeName)); 527 base::Value::CreateStringValue(ProxyPrefs::kSystemProxyModeName));
519 provider_.UpdateChromePolicy(policy); 528 UpdateProviderPolicy(policy);
520 VerifyProxyPrefs("", "", "", ProxyPrefs::MODE_SYSTEM); 529 VerifyProxyPrefs("", "", "", ProxyPrefs::MODE_SYSTEM);
521 } 530 }
522 531
523 TEST_F(ConfigurationPolicyPrefStoreProxyTest, 532 TEST_F(ConfigurationPolicyPrefStoreProxyTest,
524 ProxyModeOverridesProxyServerMode) { 533 ProxyModeOverridesProxyServerMode) {
525 PolicyMap policy; 534 PolicyMap policy;
526 policy.Set(key::kProxyServerMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 535 policy.Set(key::kProxyServerMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
527 base::Value::CreateIntegerValue( 536 base::Value::CreateIntegerValue(
528 ProxyPolicyHandler::PROXY_SERVER_MODE)); 537 ProxyPolicyHandler::PROXY_SERVER_MODE));
529 policy.Set(key::kProxyMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 538 policy.Set(key::kProxyMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
530 base::Value::CreateStringValue( 539 base::Value::CreateStringValue(
531 ProxyPrefs::kAutoDetectProxyModeName)); 540 ProxyPrefs::kAutoDetectProxyModeName));
532 provider_.UpdateChromePolicy(policy); 541 UpdateProviderPolicy(policy);
533 VerifyProxyPrefs("", "", "", ProxyPrefs::MODE_AUTO_DETECT); 542 VerifyProxyPrefs("", "", "", ProxyPrefs::MODE_AUTO_DETECT);
534 } 543 }
535 544
536 TEST_F(ConfigurationPolicyPrefStoreProxyTest, ProxyInvalid) { 545 TEST_F(ConfigurationPolicyPrefStoreProxyTest, ProxyInvalid) {
537 // No mode expects all three parameters being set. 546 // No mode expects all three parameters being set.
538 PolicyMap policy; 547 PolicyMap policy;
539 policy.Set(key::kProxyPacUrl, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 548 policy.Set(key::kProxyPacUrl, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
540 base::Value::CreateStringValue("http://short.org/proxy.pac")); 549 base::Value::CreateStringValue("http://short.org/proxy.pac"));
541 policy.Set(key::kProxyBypassList, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 550 policy.Set(key::kProxyBypassList, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
542 base::Value::CreateStringValue("http://chromium.org/override")); 551 base::Value::CreateStringValue("http://chromium.org/override"));
543 policy.Set(key::kProxyServer, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 552 policy.Set(key::kProxyServer, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
544 base::Value::CreateStringValue("chromium.org")); 553 base::Value::CreateStringValue("chromium.org"));
545 for (int i = 0; i < ProxyPolicyHandler::MODE_COUNT; ++i) { 554 for (int i = 0; i < ProxyPolicyHandler::MODE_COUNT; ++i) {
546 policy.Set(key::kProxyServerMode, POLICY_LEVEL_MANDATORY, 555 policy.Set(key::kProxyServerMode, POLICY_LEVEL_MANDATORY,
547 POLICY_SCOPE_USER, base::Value::CreateIntegerValue(i)); 556 POLICY_SCOPE_USER, base::Value::CreateIntegerValue(i));
548 provider_.UpdateChromePolicy(policy); 557 UpdateProviderPolicy(policy);
549 const base::Value* value = NULL; 558 const base::Value* value = NULL;
550 EXPECT_FALSE(store_->GetValue(prefs::kProxy, &value)); 559 EXPECT_FALSE(store_->GetValue(prefs::kProxy, &value));
551 } 560 }
552 } 561 }
553 562
554 class ConfigurationPolicyPrefStoreDefaultSearchTest 563 class ConfigurationPolicyPrefStoreDefaultSearchTest
555 : public ConfigurationPolicyPrefStoreTest { 564 : public ConfigurationPolicyPrefStoreTest {
556 public: 565 public:
557 ConfigurationPolicyPrefStoreDefaultSearchTest() { 566 ConfigurationPolicyPrefStoreDefaultSearchTest() {
558 default_alternate_urls_.AppendString( 567 default_alternate_urls_.AppendString(
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
617 } 626 }
618 627
619 // Checks that if the policy for default search is valid, i.e. there's a 628 // Checks that if the policy for default search is valid, i.e. there's a
620 // search URL, that all the elements have been given proper defaults. 629 // search URL, that all the elements have been given proper defaults.
621 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, MinimallyDefined) { 630 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, MinimallyDefined) {
622 PolicyMap policy; 631 PolicyMap policy;
623 policy.Set(key::kDefaultSearchProviderEnabled, POLICY_LEVEL_MANDATORY, 632 policy.Set(key::kDefaultSearchProviderEnabled, POLICY_LEVEL_MANDATORY,
624 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(true)); 633 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(true));
625 policy.Set(key::kDefaultSearchProviderSearchURL, POLICY_LEVEL_MANDATORY, 634 policy.Set(key::kDefaultSearchProviderSearchURL, POLICY_LEVEL_MANDATORY,
626 POLICY_SCOPE_USER, base::Value::CreateStringValue(kSearchURL)); 635 POLICY_SCOPE_USER, base::Value::CreateStringValue(kSearchURL));
627 provider_.UpdateChromePolicy(policy); 636 UpdateProviderPolicy(policy);
628 637
629 const base::Value* value = NULL; 638 const base::Value* value = NULL;
630 EXPECT_TRUE(store_->GetValue(prefs::kDefaultSearchProviderSearchURL, &value)); 639 EXPECT_TRUE(store_->GetValue(prefs::kDefaultSearchProviderSearchURL, &value));
631 EXPECT_TRUE(base::StringValue(kSearchURL).Equals(value)); 640 EXPECT_TRUE(base::StringValue(kSearchURL).Equals(value));
632 641
633 EXPECT_TRUE(store_->GetValue(prefs::kDefaultSearchProviderName, &value)); 642 EXPECT_TRUE(store_->GetValue(prefs::kDefaultSearchProviderName, &value));
634 EXPECT_TRUE(base::StringValue("test.com").Equals(value)); 643 EXPECT_TRUE(base::StringValue("test.com").Equals(value));
635 644
636 EXPECT_TRUE(store_->GetValue(prefs::kDefaultSearchProviderKeyword, &value)); 645 EXPECT_TRUE(store_->GetValue(prefs::kDefaultSearchProviderKeyword, &value));
637 EXPECT_TRUE(base::StringValue("test.com").Equals(value)); 646 EXPECT_TRUE(base::StringValue("test.com").Equals(value));
(...skipping 20 matching lines...) Expand all
658 store_->GetValue(prefs::kDefaultSearchProviderSearchTermsReplacementKey, 667 store_->GetValue(prefs::kDefaultSearchProviderSearchTermsReplacementKey,
659 &value)); 668 &value));
660 EXPECT_TRUE(base::StringValue(std::string()).Equals(value)); 669 EXPECT_TRUE(base::StringValue(std::string()).Equals(value));
661 } 670 }
662 671
663 // Checks that for a fully defined search policy, all elements have been 672 // Checks that for a fully defined search policy, all elements have been
664 // read properly. 673 // read properly.
665 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, FullyDefined) { 674 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, FullyDefined) {
666 PolicyMap policy; 675 PolicyMap policy;
667 BuildDefaultSearchPolicy(&policy); 676 BuildDefaultSearchPolicy(&policy);
668 provider_.UpdateChromePolicy(policy); 677 UpdateProviderPolicy(policy);
669 678
670 const base::Value* value = NULL; 679 const base::Value* value = NULL;
671 EXPECT_TRUE(store_->GetValue(prefs::kDefaultSearchProviderSearchURL, &value)); 680 EXPECT_TRUE(store_->GetValue(prefs::kDefaultSearchProviderSearchURL, &value));
672 EXPECT_TRUE(base::StringValue(kSearchURL).Equals(value)); 681 EXPECT_TRUE(base::StringValue(kSearchURL).Equals(value));
673 682
674 EXPECT_TRUE(store_->GetValue(prefs::kDefaultSearchProviderName, &value)); 683 EXPECT_TRUE(store_->GetValue(prefs::kDefaultSearchProviderName, &value));
675 EXPECT_TRUE(base::StringValue(kName).Equals(value)); 684 EXPECT_TRUE(base::StringValue(kName).Equals(value));
676 685
677 EXPECT_TRUE(store_->GetValue(prefs::kDefaultSearchProviderKeyword, &value)); 686 EXPECT_TRUE(store_->GetValue(prefs::kDefaultSearchProviderKeyword, &value));
678 EXPECT_TRUE(base::StringValue(kKeyword).Equals(value)); 687 EXPECT_TRUE(base::StringValue(kKeyword).Equals(value));
(...skipping 17 matching lines...) Expand all
696 &value)); 705 &value));
697 EXPECT_TRUE(base::StringValue(kReplacementKey).Equals(value)); 706 EXPECT_TRUE(base::StringValue(kReplacementKey).Equals(value));
698 } 707 }
699 708
700 // Checks that if the default search policy is missing, that no elements of the 709 // Checks that if the default search policy is missing, that no elements of the
701 // default search policy will be present. 710 // default search policy will be present.
702 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, MissingUrl) { 711 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, MissingUrl) {
703 PolicyMap policy; 712 PolicyMap policy;
704 BuildDefaultSearchPolicy(&policy); 713 BuildDefaultSearchPolicy(&policy);
705 policy.Erase(key::kDefaultSearchProviderSearchURL); 714 policy.Erase(key::kDefaultSearchProviderSearchURL);
706 provider_.UpdateChromePolicy(policy); 715 UpdateProviderPolicy(policy);
707 716
708 EXPECT_FALSE(store_->GetValue(prefs::kDefaultSearchProviderSearchURL, NULL)); 717 EXPECT_FALSE(store_->GetValue(prefs::kDefaultSearchProviderSearchURL, NULL));
709 EXPECT_FALSE(store_->GetValue(prefs::kDefaultSearchProviderName, NULL)); 718 EXPECT_FALSE(store_->GetValue(prefs::kDefaultSearchProviderName, NULL));
710 EXPECT_FALSE(store_->GetValue(prefs::kDefaultSearchProviderKeyword, NULL)); 719 EXPECT_FALSE(store_->GetValue(prefs::kDefaultSearchProviderKeyword, NULL));
711 EXPECT_FALSE(store_->GetValue(prefs::kDefaultSearchProviderSuggestURL, NULL)); 720 EXPECT_FALSE(store_->GetValue(prefs::kDefaultSearchProviderSuggestURL, NULL));
712 EXPECT_FALSE(store_->GetValue(prefs::kDefaultSearchProviderIconURL, NULL)); 721 EXPECT_FALSE(store_->GetValue(prefs::kDefaultSearchProviderIconURL, NULL));
713 EXPECT_FALSE(store_->GetValue(prefs::kDefaultSearchProviderEncodings, NULL)); 722 EXPECT_FALSE(store_->GetValue(prefs::kDefaultSearchProviderEncodings, NULL));
714 EXPECT_FALSE(store_->GetValue(prefs::kDefaultSearchProviderAlternateURLs, 723 EXPECT_FALSE(store_->GetValue(prefs::kDefaultSearchProviderAlternateURLs,
715 NULL)); 724 NULL));
716 EXPECT_FALSE(store_->GetValue( 725 EXPECT_FALSE(store_->GetValue(
717 prefs::kDefaultSearchProviderSearchTermsReplacementKey, NULL)); 726 prefs::kDefaultSearchProviderSearchTermsReplacementKey, NULL));
718 } 727 }
719 728
720 // Checks that if the default search policy is invalid, that no elements of the 729 // Checks that if the default search policy is invalid, that no elements of the
721 // default search policy will be present. 730 // default search policy will be present.
722 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, Invalid) { 731 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, Invalid) {
723 PolicyMap policy; 732 PolicyMap policy;
724 BuildDefaultSearchPolicy(&policy); 733 BuildDefaultSearchPolicy(&policy);
725 const char* const bad_search_url = "http://test.com/noSearchTerms"; 734 const char* const bad_search_url = "http://test.com/noSearchTerms";
726 policy.Set(key::kDefaultSearchProviderSearchURL, POLICY_LEVEL_MANDATORY, 735 policy.Set(key::kDefaultSearchProviderSearchURL, POLICY_LEVEL_MANDATORY,
727 POLICY_SCOPE_USER, 736 POLICY_SCOPE_USER,
728 base::Value::CreateStringValue(bad_search_url)); 737 base::Value::CreateStringValue(bad_search_url));
729 provider_.UpdateChromePolicy(policy); 738 UpdateProviderPolicy(policy);
730 739
731 EXPECT_FALSE(store_->GetValue(prefs::kDefaultSearchProviderSearchURL, NULL)); 740 EXPECT_FALSE(store_->GetValue(prefs::kDefaultSearchProviderSearchURL, NULL));
732 EXPECT_FALSE(store_->GetValue(prefs::kDefaultSearchProviderName, NULL)); 741 EXPECT_FALSE(store_->GetValue(prefs::kDefaultSearchProviderName, NULL));
733 EXPECT_FALSE(store_->GetValue(prefs::kDefaultSearchProviderKeyword, NULL)); 742 EXPECT_FALSE(store_->GetValue(prefs::kDefaultSearchProviderKeyword, NULL));
734 EXPECT_FALSE(store_->GetValue(prefs::kDefaultSearchProviderSuggestURL, NULL)); 743 EXPECT_FALSE(store_->GetValue(prefs::kDefaultSearchProviderSuggestURL, NULL));
735 EXPECT_FALSE(store_->GetValue(prefs::kDefaultSearchProviderIconURL, NULL)); 744 EXPECT_FALSE(store_->GetValue(prefs::kDefaultSearchProviderIconURL, NULL));
736 EXPECT_FALSE(store_->GetValue(prefs::kDefaultSearchProviderEncodings, NULL)); 745 EXPECT_FALSE(store_->GetValue(prefs::kDefaultSearchProviderEncodings, NULL));
737 EXPECT_FALSE(store_->GetValue(prefs::kDefaultSearchProviderAlternateURLs, 746 EXPECT_FALSE(store_->GetValue(prefs::kDefaultSearchProviderAlternateURLs,
738 NULL)); 747 NULL));
739 EXPECT_FALSE(store_->GetValue( 748 EXPECT_FALSE(store_->GetValue(
740 prefs::kDefaultSearchProviderSearchTermsReplacementKey, NULL)); 749 prefs::kDefaultSearchProviderSearchTermsReplacementKey, NULL));
741 } 750 }
742 751
743 // Checks that if the default search policy is invalid, that no elements of the 752 // Checks that if the default search policy is invalid, that no elements of the
744 // default search policy will be present. 753 // default search policy will be present.
745 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, Disabled) { 754 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, Disabled) {
746 PolicyMap policy; 755 PolicyMap policy;
747 policy.Set(key::kDefaultSearchProviderEnabled, POLICY_LEVEL_MANDATORY, 756 policy.Set(key::kDefaultSearchProviderEnabled, POLICY_LEVEL_MANDATORY,
748 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(false)); 757 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(false));
749 provider_.UpdateChromePolicy(policy); 758 UpdateProviderPolicy(policy);
750 759
751 const base::Value* value = NULL; 760 const base::Value* value = NULL;
752 EXPECT_TRUE(store_->GetValue(prefs::kDefaultSearchProviderEnabled, &value)); 761 EXPECT_TRUE(store_->GetValue(prefs::kDefaultSearchProviderEnabled, &value));
753 base::FundamentalValue expected_enabled(false); 762 base::FundamentalValue expected_enabled(false);
754 EXPECT_TRUE(base::Value::Equals(&expected_enabled, value)); 763 EXPECT_TRUE(base::Value::Equals(&expected_enabled, value));
755 EXPECT_TRUE(store_->GetValue(prefs::kDefaultSearchProviderSearchURL, &value)); 764 EXPECT_TRUE(store_->GetValue(prefs::kDefaultSearchProviderSearchURL, &value));
756 base::StringValue expected_search_url(""); 765 base::StringValue expected_search_url("");
757 EXPECT_TRUE(base::Value::Equals(&expected_search_url, value)); 766 EXPECT_TRUE(base::Value::Equals(&expected_search_url, value));
758 } 767 }
759 768
(...skipping 16 matching lines...) Expand all
776 policy.Set(key::kIncognitoEnabled, POLICY_LEVEL_MANDATORY, 785 policy.Set(key::kIncognitoEnabled, POLICY_LEVEL_MANDATORY,
777 POLICY_SCOPE_USER, 786 POLICY_SCOPE_USER,
778 base::Value::CreateBooleanValue( 787 base::Value::CreateBooleanValue(
779 incognito_enabled == INCOGNITO_ENABLED_TRUE)); 788 incognito_enabled == INCOGNITO_ENABLED_TRUE));
780 } 789 }
781 if (availability >= 0) { 790 if (availability >= 0) {
782 policy.Set(key::kIncognitoModeAvailability, POLICY_LEVEL_MANDATORY, 791 policy.Set(key::kIncognitoModeAvailability, POLICY_LEVEL_MANDATORY,
783 POLICY_SCOPE_USER, 792 POLICY_SCOPE_USER,
784 base::Value::CreateIntegerValue(availability)); 793 base::Value::CreateIntegerValue(availability));
785 } 794 }
786 provider_.UpdateChromePolicy(policy); 795 UpdateProviderPolicy(policy);
787 } 796 }
788 797
789 void VerifyValues(IncognitoModePrefs::Availability availability) { 798 void VerifyValues(IncognitoModePrefs::Availability availability) {
790 const base::Value* value = NULL; 799 const base::Value* value = NULL;
791 EXPECT_TRUE(store_->GetValue(prefs::kIncognitoModeAvailability, &value)); 800 EXPECT_TRUE(store_->GetValue(prefs::kIncognitoModeAvailability, &value));
792 EXPECT_TRUE(base::FundamentalValue(availability).Equals(value)); 801 EXPECT_TRUE(base::FundamentalValue(availability).Equals(value));
793 } 802 }
794 }; 803 };
795 804
796 // The following testcases verify that if the obsolete IncognitoEnabled 805 // The following testcases verify that if the obsolete IncognitoEnabled
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
853 : public ConfigurationPolicyPrefStoreTest {}; 862 : public ConfigurationPolicyPrefStoreTest {};
854 863
855 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Default) { 864 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Default) {
856 EXPECT_FALSE(store_->GetValue(prefs::kSyncManaged, NULL)); 865 EXPECT_FALSE(store_->GetValue(prefs::kSyncManaged, NULL));
857 } 866 }
858 867
859 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Enabled) { 868 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Enabled) {
860 PolicyMap policy; 869 PolicyMap policy;
861 policy.Set(key::kSyncDisabled, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 870 policy.Set(key::kSyncDisabled, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
862 base::Value::CreateBooleanValue(false)); 871 base::Value::CreateBooleanValue(false));
863 provider_.UpdateChromePolicy(policy); 872 UpdateProviderPolicy(policy);
864 // Enabling Sync should not set the pref. 873 // Enabling Sync should not set the pref.
865 EXPECT_FALSE(store_->GetValue(prefs::kSyncManaged, NULL)); 874 EXPECT_FALSE(store_->GetValue(prefs::kSyncManaged, NULL));
866 } 875 }
867 876
868 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Disabled) { 877 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Disabled) {
869 PolicyMap policy; 878 PolicyMap policy;
870 policy.Set(key::kSyncDisabled, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 879 policy.Set(key::kSyncDisabled, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
871 base::Value::CreateBooleanValue(true)); 880 base::Value::CreateBooleanValue(true));
872 provider_.UpdateChromePolicy(policy); 881 UpdateProviderPolicy(policy);
873 // Sync should be flagged as managed. 882 // Sync should be flagged as managed.
874 const base::Value* value = NULL; 883 const base::Value* value = NULL;
875 EXPECT_TRUE(store_->GetValue(prefs::kSyncManaged, &value)); 884 EXPECT_TRUE(store_->GetValue(prefs::kSyncManaged, &value));
876 ASSERT_TRUE(value); 885 ASSERT_TRUE(value);
877 bool sync_managed = false; 886 bool sync_managed = false;
878 bool result = value->GetAsBoolean(&sync_managed); 887 bool result = value->GetAsBoolean(&sync_managed);
879 ASSERT_TRUE(result); 888 ASSERT_TRUE(result);
880 EXPECT_TRUE(sync_managed); 889 EXPECT_TRUE(sync_managed);
881 } 890 }
882 891
883 // Test cases for how the DownloadDirectory and AllowFileSelectionDialogs policy 892 // Test cases for how the DownloadDirectory and AllowFileSelectionDialogs policy
884 // influence the PromptForDownload preference. 893 // influence the PromptForDownload preference.
885 class ConfigurationPolicyPrefStorePromptDownloadTest 894 class ConfigurationPolicyPrefStorePromptDownloadTest
886 : public ConfigurationPolicyPrefStoreTest {}; 895 : public ConfigurationPolicyPrefStoreTest {};
887 896
888 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, Default) { 897 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, Default) {
889 EXPECT_FALSE(store_->GetValue(prefs::kPromptForDownload, NULL)); 898 EXPECT_FALSE(store_->GetValue(prefs::kPromptForDownload, NULL));
890 } 899 }
891 900
892 #if !defined(OS_CHROMEOS) 901 #if !defined(OS_CHROMEOS)
893 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, SetDownloadDirectory) { 902 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, SetDownloadDirectory) {
894 PolicyMap policy; 903 PolicyMap policy;
895 EXPECT_FALSE(store_->GetValue(prefs::kPromptForDownload, NULL)); 904 EXPECT_FALSE(store_->GetValue(prefs::kPromptForDownload, NULL));
896 policy.Set(key::kDownloadDirectory, POLICY_LEVEL_MANDATORY, 905 policy.Set(key::kDownloadDirectory, POLICY_LEVEL_MANDATORY,
897 POLICY_SCOPE_USER, base::Value::CreateStringValue("")); 906 POLICY_SCOPE_USER, base::Value::CreateStringValue(""));
898 provider_.UpdateChromePolicy(policy); 907 UpdateProviderPolicy(policy);
899 908
900 // Setting a DownloadDirectory should disable the PromptForDownload pref. 909 // Setting a DownloadDirectory should disable the PromptForDownload pref.
901 const base::Value* value = NULL; 910 const base::Value* value = NULL;
902 EXPECT_TRUE(store_->GetValue(prefs::kPromptForDownload, 911 EXPECT_TRUE(store_->GetValue(prefs::kPromptForDownload,
903 &value)); 912 &value));
904 ASSERT_TRUE(value); 913 ASSERT_TRUE(value);
905 bool prompt_for_download = true; 914 bool prompt_for_download = true;
906 bool result = value->GetAsBoolean(&prompt_for_download); 915 bool result = value->GetAsBoolean(&prompt_for_download);
907 ASSERT_TRUE(result); 916 ASSERT_TRUE(result);
908 EXPECT_FALSE(prompt_for_download); 917 EXPECT_FALSE(prompt_for_download);
909 } 918 }
910 #endif // !defined(OS_CHROMEOS) 919 #endif // !defined(OS_CHROMEOS)
911 920
912 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, 921 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest,
913 EnableFileSelectionDialogs) { 922 EnableFileSelectionDialogs) {
914 PolicyMap policy; 923 PolicyMap policy;
915 EXPECT_FALSE(store_->GetValue(prefs::kPromptForDownload, NULL)); 924 EXPECT_FALSE(store_->GetValue(prefs::kPromptForDownload, NULL));
916 policy.Set(key::kAllowFileSelectionDialogs, POLICY_LEVEL_MANDATORY, 925 policy.Set(key::kAllowFileSelectionDialogs, POLICY_LEVEL_MANDATORY,
917 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(true)); 926 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(true));
918 provider_.UpdateChromePolicy(policy); 927 UpdateProviderPolicy(policy);
919 928
920 // Allowing file-selection dialogs should not influence the PromptForDownload 929 // Allowing file-selection dialogs should not influence the PromptForDownload
921 // pref. 930 // pref.
922 EXPECT_FALSE(store_->GetValue(prefs::kPromptForDownload, NULL)); 931 EXPECT_FALSE(store_->GetValue(prefs::kPromptForDownload, NULL));
923 } 932 }
924 933
925 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, 934 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest,
926 DisableFileSelectionDialogs) { 935 DisableFileSelectionDialogs) {
927 PolicyMap policy; 936 PolicyMap policy;
928 EXPECT_FALSE(store_->GetValue(prefs::kPromptForDownload, NULL)); 937 EXPECT_FALSE(store_->GetValue(prefs::kPromptForDownload, NULL));
929 policy.Set(key::kAllowFileSelectionDialogs, POLICY_LEVEL_MANDATORY, 938 policy.Set(key::kAllowFileSelectionDialogs, POLICY_LEVEL_MANDATORY,
930 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(false)); 939 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(false));
931 provider_.UpdateChromePolicy(policy); 940 UpdateProviderPolicy(policy);
932 941
933 // Disabling file-selection dialogs should disable the PromptForDownload pref. 942 // Disabling file-selection dialogs should disable the PromptForDownload pref.
934 const base::Value* value = NULL; 943 const base::Value* value = NULL;
935 EXPECT_TRUE(store_->GetValue(prefs::kPromptForDownload, 944 EXPECT_TRUE(store_->GetValue(prefs::kPromptForDownload,
936 &value)); 945 &value));
937 ASSERT_TRUE(value); 946 ASSERT_TRUE(value);
938 bool prompt_for_download = true; 947 bool prompt_for_download = true;
939 bool result = value->GetAsBoolean(&prompt_for_download); 948 bool result = value->GetAsBoolean(&prompt_for_download);
940 ASSERT_TRUE(result); 949 ASSERT_TRUE(result);
941 EXPECT_FALSE(prompt_for_download); 950 EXPECT_FALSE(prompt_for_download);
942 } 951 }
943 952
944 // Test cases for the Autofill policy setting. 953 // Test cases for the Autofill policy setting.
945 class ConfigurationPolicyPrefStoreAutofillTest 954 class ConfigurationPolicyPrefStoreAutofillTest
946 : public ConfigurationPolicyPrefStoreTest {}; 955 : public ConfigurationPolicyPrefStoreTest {};
947 956
948 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Default) { 957 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Default) {
949 EXPECT_FALSE(store_->GetValue(prefs::kAutofillEnabled, NULL)); 958 EXPECT_FALSE(store_->GetValue(prefs::kAutofillEnabled, NULL));
950 } 959 }
951 960
952 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Enabled) { 961 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Enabled) {
953 PolicyMap policy; 962 PolicyMap policy;
954 policy.Set(key::kAutoFillEnabled, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 963 policy.Set(key::kAutoFillEnabled, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
955 base::Value::CreateBooleanValue(true)); 964 base::Value::CreateBooleanValue(true));
956 provider_.UpdateChromePolicy(policy); 965 UpdateProviderPolicy(policy);
957 // Enabling Autofill should not set the pref. 966 // Enabling Autofill should not set the pref.
958 EXPECT_FALSE(store_->GetValue(prefs::kAutofillEnabled, NULL)); 967 EXPECT_FALSE(store_->GetValue(prefs::kAutofillEnabled, NULL));
959 } 968 }
960 969
961 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Disabled) { 970 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Disabled) {
962 PolicyMap policy; 971 PolicyMap policy;
963 policy.Set(key::kAutoFillEnabled, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 972 policy.Set(key::kAutoFillEnabled, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
964 base::Value::CreateBooleanValue(false)); 973 base::Value::CreateBooleanValue(false));
965 provider_.UpdateChromePolicy(policy); 974 UpdateProviderPolicy(policy);
966 // Disabling Autofill should switch the pref to managed. 975 // Disabling Autofill should switch the pref to managed.
967 const base::Value* value = NULL; 976 const base::Value* value = NULL;
968 EXPECT_TRUE(store_->GetValue(prefs::kAutofillEnabled, &value)); 977 EXPECT_TRUE(store_->GetValue(prefs::kAutofillEnabled, &value));
969 ASSERT_TRUE(value); 978 ASSERT_TRUE(value);
970 bool autofill_enabled = true; 979 bool autofill_enabled = true;
971 bool result = value->GetAsBoolean(&autofill_enabled); 980 bool result = value->GetAsBoolean(&autofill_enabled);
972 ASSERT_TRUE(result); 981 ASSERT_TRUE(result);
973 EXPECT_FALSE(autofill_enabled); 982 EXPECT_FALSE(autofill_enabled);
974 } 983 }
975 984
(...skipping 15 matching lines...) Expand all
991 }; 1000 };
992 1001
993 TEST_F(ConfigurationPolicyPrefStoreRefreshTest, Refresh) { 1002 TEST_F(ConfigurationPolicyPrefStoreRefreshTest, Refresh) {
994 const base::Value* value = NULL; 1003 const base::Value* value = NULL;
995 EXPECT_FALSE(store_->GetValue(prefs::kHomePage, NULL)); 1004 EXPECT_FALSE(store_->GetValue(prefs::kHomePage, NULL));
996 1005
997 EXPECT_CALL(observer_, OnPrefValueChanged(prefs::kHomePage)).Times(1); 1006 EXPECT_CALL(observer_, OnPrefValueChanged(prefs::kHomePage)).Times(1);
998 PolicyMap policy; 1007 PolicyMap policy;
999 policy.Set(key::kHomepageLocation, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 1008 policy.Set(key::kHomepageLocation, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
1000 base::Value::CreateStringValue("http://www.chromium.org")); 1009 base::Value::CreateStringValue("http://www.chromium.org"));
1001 provider_.UpdateChromePolicy(policy); 1010 UpdateProviderPolicy(policy);
1002 Mock::VerifyAndClearExpectations(&observer_); 1011 Mock::VerifyAndClearExpectations(&observer_);
1003 EXPECT_TRUE(store_->GetValue(prefs::kHomePage, &value)); 1012 EXPECT_TRUE(store_->GetValue(prefs::kHomePage, &value));
1004 EXPECT_TRUE(base::StringValue("http://www.chromium.org").Equals(value)); 1013 EXPECT_TRUE(base::StringValue("http://www.chromium.org").Equals(value));
1005 1014
1006 EXPECT_CALL(observer_, OnPrefValueChanged(_)).Times(0); 1015 EXPECT_CALL(observer_, OnPrefValueChanged(_)).Times(0);
1007 provider_.UpdateChromePolicy(policy); 1016 UpdateProviderPolicy(policy);
1008 Mock::VerifyAndClearExpectations(&observer_); 1017 Mock::VerifyAndClearExpectations(&observer_);
1009 1018
1010 EXPECT_CALL(observer_, OnPrefValueChanged(prefs::kHomePage)).Times(1); 1019 EXPECT_CALL(observer_, OnPrefValueChanged(prefs::kHomePage)).Times(1);
1011 policy.Erase(key::kHomepageLocation); 1020 policy.Erase(key::kHomepageLocation);
1012 provider_.UpdateChromePolicy(policy); 1021 UpdateProviderPolicy(policy);
1013 Mock::VerifyAndClearExpectations(&observer_); 1022 Mock::VerifyAndClearExpectations(&observer_);
1014 EXPECT_FALSE(store_->GetValue(prefs::kHomePage, NULL)); 1023 EXPECT_FALSE(store_->GetValue(prefs::kHomePage, NULL));
1015 } 1024 }
1016 1025
1017 TEST_F(ConfigurationPolicyPrefStoreRefreshTest, Initialization) { 1026 TEST_F(ConfigurationPolicyPrefStoreRefreshTest, Initialization) {
1018 EXPECT_FALSE(store_->IsInitializationComplete()); 1027 EXPECT_FALSE(store_->IsInitializationComplete());
1019 EXPECT_CALL(provider_, IsInitializationComplete()) 1028 EXPECT_CALL(provider_, IsInitializationComplete())
1020 .WillRepeatedly(Return(true)); 1029 .WillRepeatedly(Return(true));
1021 EXPECT_CALL(observer_, OnInitializationCompleted(true)).Times(1); 1030 EXPECT_CALL(observer_, OnInitializationCompleted(true)).Times(1);
1022 PolicyMap policy; 1031 PolicyMap policy;
1023 provider_.UpdateChromePolicy(policy); 1032 UpdateProviderPolicy(policy);
1024 Mock::VerifyAndClearExpectations(&observer_); 1033 Mock::VerifyAndClearExpectations(&observer_);
1025 EXPECT_TRUE(store_->IsInitializationComplete()); 1034 EXPECT_TRUE(store_->IsInitializationComplete());
1026 } 1035 }
1027 1036
1028 // Tests for policies that don't quite fit the previous patterns. 1037 // Tests for policies that don't quite fit the previous patterns.
1029 class ConfigurationPolicyPrefStoreOthersTest 1038 class ConfigurationPolicyPrefStoreOthersTest
1030 : public ConfigurationPolicyPrefStoreTest {}; 1039 : public ConfigurationPolicyPrefStoreTest {};
1031 1040
1032 TEST_F(ConfigurationPolicyPrefStoreOthersTest, JavascriptEnabled) { 1041 TEST_F(ConfigurationPolicyPrefStoreOthersTest, JavascriptEnabled) {
1033 // This is a boolean policy, but affects an integer preference. 1042 // This is a boolean policy, but affects an integer preference.
1034 EXPECT_FALSE(store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL)); 1043 EXPECT_FALSE(store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL));
1035 PolicyMap policy; 1044 PolicyMap policy;
1036 policy.Set(key::kJavascriptEnabled, POLICY_LEVEL_MANDATORY, 1045 policy.Set(key::kJavascriptEnabled, POLICY_LEVEL_MANDATORY,
1037 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(true)); 1046 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(true));
1038 provider_.UpdateChromePolicy(policy); 1047 UpdateProviderPolicy(policy);
1039 EXPECT_FALSE(store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL)); 1048 EXPECT_FALSE(store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL));
1040 policy.Set(key::kJavascriptEnabled, POLICY_LEVEL_MANDATORY, 1049 policy.Set(key::kJavascriptEnabled, POLICY_LEVEL_MANDATORY,
1041 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(false)); 1050 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(false));
1042 provider_.UpdateChromePolicy(policy); 1051 UpdateProviderPolicy(policy);
1043 const base::Value* value = NULL; 1052 const base::Value* value = NULL;
1044 EXPECT_TRUE(store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, 1053 EXPECT_TRUE(store_->GetValue(prefs::kManagedDefaultJavaScriptSetting,
1045 &value)); 1054 &value));
1046 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_BLOCK).Equals(value)); 1055 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_BLOCK).Equals(value));
1047 } 1056 }
1048 1057
1049 TEST_F(ConfigurationPolicyPrefStoreOthersTest, JavascriptEnabledOverridden) { 1058 TEST_F(ConfigurationPolicyPrefStoreOthersTest, JavascriptEnabledOverridden) {
1050 EXPECT_FALSE(store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL)); 1059 EXPECT_FALSE(store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL));
1051 PolicyMap policy; 1060 PolicyMap policy;
1052 policy.Set(key::kJavascriptEnabled, POLICY_LEVEL_MANDATORY, 1061 policy.Set(key::kJavascriptEnabled, POLICY_LEVEL_MANDATORY,
1053 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(false)); 1062 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(false));
1054 provider_.UpdateChromePolicy(policy); 1063 UpdateProviderPolicy(policy);
1055 const base::Value* value = NULL; 1064 const base::Value* value = NULL;
1056 EXPECT_TRUE(store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, 1065 EXPECT_TRUE(store_->GetValue(prefs::kManagedDefaultJavaScriptSetting,
1057 &value)); 1066 &value));
1058 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_BLOCK).Equals(value)); 1067 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_BLOCK).Equals(value));
1059 // DefaultJavaScriptSetting overrides JavascriptEnabled. 1068 // DefaultJavaScriptSetting overrides JavascriptEnabled.
1060 policy.Set(key::kDefaultJavaScriptSetting, POLICY_LEVEL_MANDATORY, 1069 policy.Set(key::kDefaultJavaScriptSetting, POLICY_LEVEL_MANDATORY,
1061 POLICY_SCOPE_USER, 1070 POLICY_SCOPE_USER,
1062 base::Value::CreateIntegerValue(CONTENT_SETTING_ALLOW)); 1071 base::Value::CreateIntegerValue(CONTENT_SETTING_ALLOW));
1063 provider_.UpdateChromePolicy(policy); 1072 UpdateProviderPolicy(policy);
1064 EXPECT_TRUE(store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, 1073 EXPECT_TRUE(store_->GetValue(prefs::kManagedDefaultJavaScriptSetting,
1065 &value)); 1074 &value));
1066 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_ALLOW).Equals(value)); 1075 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_ALLOW).Equals(value));
1067 } 1076 }
1068 1077
1069 } // namespace policy 1078 } // namespace policy
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/policy/network_configuration_updater_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698