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