Chromium Code Reviews| 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 "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 16 matching lines...) Expand all Loading... | |
| 36 const char* policy_name() const { return policy_name_; } | 38 const char* policy_name() const { return policy_name_; } |
| 37 const char* pref_name() const { return pref_name_; } | 39 const char* pref_name() const { return pref_name_; } |
| 38 | 40 |
| 39 private: | 41 private: |
| 40 const char* policy_name_; | 42 const char* policy_name_; |
| 41 const char* pref_name_; | 43 const char* pref_name_; |
| 42 }; | 44 }; |
| 43 | 45 |
| 44 class ConfigurationPolicyPrefStoreTest : public testing::Test { | 46 class ConfigurationPolicyPrefStoreTest : public testing::Test { |
| 45 protected: | 47 protected: |
| 46 ConfigurationPolicyPrefStoreTest() { | 48 ConfigurationPolicyPrefStoreTest() : loop_(MessageLoop::TYPE_UI) { |
|
Joao da Silva
2013/01/07 09:23:52
I think the default loop type works for this test,
Andrew T Wilson (Slow)
2013/01/07 14:11:32
Done.
| |
| 47 EXPECT_CALL(provider_, IsInitializationComplete()) | 49 EXPECT_CALL(provider_, IsInitializationComplete()) |
| 48 .WillRepeatedly(Return(false)); | 50 .WillRepeatedly(Return(false)); |
| 49 provider_.Init(); | 51 provider_.Init(); |
| 50 PolicyServiceImpl::Providers providers; | 52 PolicyServiceImpl::Providers providers; |
| 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 Loading... | |
| 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 Loading... | |
| 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 Loading... | |
| 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 Loading... | |
| 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 Loading... | |
| 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 Loading... | |
| 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 Loading... | |
| 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 Loading... | |
| 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 Loading... | |
| 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 Loading... | |
| 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 |
| OLD | NEW |