OLD | NEW |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 |
OLD | NEW |