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