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/prefs/incognito_mode_prefs.h" | 12 #include "chrome/browser/prefs/incognito_mode_prefs.h" |
| 13 #include "chrome/browser/prefs/proxy_config_dictionary.h" | 13 #include "chrome/browser/prefs/proxy_config_dictionary.h" |
| 14 #include "chrome/common/content_settings.h" | 14 #include "chrome/common/content_settings.h" |
| 15 #include "chrome/common/pref_names.h" | 15 #include "chrome/common/pref_names.h" |
| 16 #include "chrome/common/pref_store_observer_mock.h" | 16 #include "chrome/common/pref_store_observer_mock.h" |
| 17 #include "policy/policy_constants.h" | 17 #include "policy/policy_constants.h" |
| 18 #include "testing/gmock/include/gmock/gmock.h" | 18 #include "testing/gmock/include/gmock/gmock.h" |
| 19 #include "testing/gtest/include/gtest/gtest.h" | 19 #include "testing/gtest/include/gtest/gtest.h" |
| 20 | 20 |
| 21 using testing::Mock; | |
| 21 using testing::_; | 22 using testing::_; |
| 22 using testing::Mock; | |
| 23 | 23 |
| 24 namespace policy { | 24 namespace policy { |
| 25 | 25 |
| 26 // Holds a set of test parameters, consisting of pref name and policy name. | 26 // Holds a set of test parameters, consisting of pref name and policy name. |
| 27 class PolicyAndPref { | 27 class PolicyAndPref { |
| 28 public: | 28 public: |
| 29 PolicyAndPref(const char* policy_name, const char* pref_name) | 29 PolicyAndPref(const char* policy_name, const char* pref_name) |
| 30 : policy_name_(policy_name), | 30 : policy_name_(policy_name), |
| 31 pref_name_(pref_name) {} | 31 pref_name_(pref_name) {} |
| 32 | 32 |
| (...skipping 21 matching lines...) Expand all Loading... | |
| 54 : public ConfigurationPolicyPrefStoreTestBase< | 54 : public ConfigurationPolicyPrefStoreTestBase< |
| 55 testing::TestWithParam<PolicyAndPref> > { | 55 testing::TestWithParam<PolicyAndPref> > { |
| 56 }; | 56 }; |
| 57 | 57 |
| 58 TEST_P(ConfigurationPolicyPrefStoreListTest, GetDefault) { | 58 TEST_P(ConfigurationPolicyPrefStoreListTest, GetDefault) { |
| 59 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 59 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
| 60 store_->GetValue(GetParam().pref_name(), NULL)); | 60 store_->GetValue(GetParam().pref_name(), NULL)); |
| 61 } | 61 } |
| 62 | 62 |
| 63 TEST_P(ConfigurationPolicyPrefStoreListTest, SetValue) { | 63 TEST_P(ConfigurationPolicyPrefStoreListTest, SetValue) { |
| 64 ListValue* in_value = new ListValue(); | 64 base::ListValue* in_value = new base::ListValue(); |
| 65 in_value->Append(Value::CreateStringValue("test1")); | 65 in_value->Append(base::Value::CreateStringValue("test1")); |
| 66 in_value->Append(Value::CreateStringValue("test2,")); | 66 in_value->Append(base::Value::CreateStringValue("test2,")); |
| 67 provider_.AddMandatoryPolicy(GetParam().policy_name(), in_value); | 67 provider_.AddMandatoryPolicy(GetParam().policy_name(), in_value); |
| 68 store_->OnUpdatePolicy(&provider_); | 68 store_->OnUpdatePolicy(&provider_); |
| 69 const Value* value = NULL; | 69 const base::Value* value = NULL; |
| 70 EXPECT_EQ(PrefStore::READ_OK, | 70 EXPECT_EQ(PrefStore::READ_OK, |
| 71 store_->GetValue(GetParam().pref_name(), &value)); | 71 store_->GetValue(GetParam().pref_name(), &value)); |
| 72 ASSERT_TRUE(value); | 72 ASSERT_TRUE(value); |
| 73 EXPECT_TRUE(in_value->Equals(value)); | 73 EXPECT_TRUE(in_value->Equals(value)); |
| 74 } | 74 } |
| 75 | 75 |
| 76 INSTANTIATE_TEST_CASE_P( | 76 INSTANTIATE_TEST_CASE_P( |
| 77 ConfigurationPolicyPrefStoreListTestInstance, | 77 ConfigurationPolicyPrefStoreListTestInstance, |
| 78 ConfigurationPolicyPrefStoreListTest, | 78 ConfigurationPolicyPrefStoreListTest, |
| 79 testing::Values( | 79 testing::Values( |
| (...skipping 24 matching lines...) Expand all Loading... | |
| 104 testing::TestWithParam<PolicyAndPref> > { | 104 testing::TestWithParam<PolicyAndPref> > { |
| 105 }; | 105 }; |
| 106 | 106 |
| 107 TEST_P(ConfigurationPolicyPrefStoreStringTest, GetDefault) { | 107 TEST_P(ConfigurationPolicyPrefStoreStringTest, GetDefault) { |
| 108 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 108 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
| 109 store_->GetValue(GetParam().pref_name(), NULL)); | 109 store_->GetValue(GetParam().pref_name(), NULL)); |
| 110 } | 110 } |
| 111 | 111 |
| 112 TEST_P(ConfigurationPolicyPrefStoreStringTest, SetValue) { | 112 TEST_P(ConfigurationPolicyPrefStoreStringTest, SetValue) { |
| 113 provider_.AddMandatoryPolicy(GetParam().policy_name(), | 113 provider_.AddMandatoryPolicy(GetParam().policy_name(), |
| 114 Value::CreateStringValue("http://chromium.org")); | 114 base::Value::CreateStringValue("http://chromium.o rg")); |
| 115 store_->OnUpdatePolicy(&provider_); | 115 store_->OnUpdatePolicy(&provider_); |
| 116 const Value* value = NULL; | 116 const base::Value* value = NULL; |
| 117 EXPECT_EQ(PrefStore::READ_OK, | 117 EXPECT_EQ(PrefStore::READ_OK, |
| 118 store_->GetValue(GetParam().pref_name(), &value)); | 118 store_->GetValue(GetParam().pref_name(), &value)); |
| 119 ASSERT_TRUE(value); | 119 ASSERT_TRUE(value); |
| 120 EXPECT_TRUE(StringValue("http://chromium.org").Equals(value)); | 120 EXPECT_TRUE(base::StringValue("http://chromium.org").Equals(value)); |
| 121 } | 121 } |
| 122 | 122 |
| 123 INSTANTIATE_TEST_CASE_P( | 123 INSTANTIATE_TEST_CASE_P( |
| 124 ConfigurationPolicyPrefStoreStringTestInstance, | 124 ConfigurationPolicyPrefStoreStringTestInstance, |
| 125 ConfigurationPolicyPrefStoreStringTest, | 125 ConfigurationPolicyPrefStoreStringTest, |
| 126 testing::Values( | 126 testing::Values( |
| 127 PolicyAndPref(key::kHomepageLocation, | 127 PolicyAndPref(key::kHomepageLocation, |
| 128 prefs::kHomePage), | 128 prefs::kHomePage), |
| 129 PolicyAndPref(key::kApplicationLocaleValue, | 129 PolicyAndPref(key::kApplicationLocaleValue, |
| 130 prefs::kApplicationLocale), | 130 prefs::kApplicationLocale), |
| (...skipping 22 matching lines...) Expand all Loading... | |
| 153 testing::TestWithParam<PolicyAndPref> > { | 153 testing::TestWithParam<PolicyAndPref> > { |
| 154 }; | 154 }; |
| 155 | 155 |
| 156 TEST_P(ConfigurationPolicyPrefStoreBooleanTest, GetDefault) { | 156 TEST_P(ConfigurationPolicyPrefStoreBooleanTest, GetDefault) { |
| 157 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 157 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
| 158 store_->GetValue(GetParam().pref_name(), NULL)); | 158 store_->GetValue(GetParam().pref_name(), NULL)); |
| 159 } | 159 } |
| 160 | 160 |
| 161 TEST_P(ConfigurationPolicyPrefStoreBooleanTest, SetValue) { | 161 TEST_P(ConfigurationPolicyPrefStoreBooleanTest, SetValue) { |
| 162 provider_.AddMandatoryPolicy(GetParam().policy_name(), | 162 provider_.AddMandatoryPolicy(GetParam().policy_name(), |
| 163 Value::CreateBooleanValue(false)); | 163 base::Value::CreateBooleanValue(false)); |
| 164 store_->OnUpdatePolicy(&provider_); | 164 store_->OnUpdatePolicy(&provider_); |
| 165 const Value* value = NULL; | 165 const base::Value* value = NULL; |
| 166 EXPECT_EQ(PrefStore::READ_OK, | 166 EXPECT_EQ(PrefStore::READ_OK, |
| 167 store_->GetValue(GetParam().pref_name(), &value)); | 167 store_->GetValue(GetParam().pref_name(), &value)); |
| 168 ASSERT_TRUE(value); | 168 ASSERT_TRUE(value); |
| 169 bool boolean_value = true; | 169 bool boolean_value = true; |
| 170 bool result = value->GetAsBoolean(&boolean_value); | 170 bool result = value->GetAsBoolean(&boolean_value); |
| 171 ASSERT_TRUE(result); | 171 ASSERT_TRUE(result); |
| 172 EXPECT_FALSE(boolean_value); | 172 EXPECT_FALSE(boolean_value); |
| 173 | 173 |
| 174 provider_.AddMandatoryPolicy(GetParam().policy_name(), | 174 provider_.AddMandatoryPolicy(GetParam().policy_name(), |
| 175 Value::CreateBooleanValue(true)); | 175 base::Value::CreateBooleanValue(true)); |
| 176 store_->OnUpdatePolicy(&provider_); | 176 store_->OnUpdatePolicy(&provider_); |
| 177 value = NULL; | 177 value = NULL; |
| 178 EXPECT_EQ(PrefStore::READ_OK, | 178 EXPECT_EQ(PrefStore::READ_OK, |
| 179 store_->GetValue(GetParam().pref_name(), &value)); | 179 store_->GetValue(GetParam().pref_name(), &value)); |
| 180 boolean_value = false; | 180 boolean_value = false; |
| 181 result = value->GetAsBoolean(&boolean_value); | 181 result = value->GetAsBoolean(&boolean_value); |
| 182 ASSERT_TRUE(result); | 182 ASSERT_TRUE(result); |
| 183 EXPECT_TRUE(boolean_value); | 183 EXPECT_TRUE(boolean_value); |
| 184 } | 184 } |
| 185 | 185 |
| (...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 281 testing::TestWithParam<PolicyAndPref> > { | 281 testing::TestWithParam<PolicyAndPref> > { |
| 282 }; | 282 }; |
| 283 | 283 |
| 284 TEST_P(ConfigurationPolicyPrefStoreIntegerTest, GetDefault) { | 284 TEST_P(ConfigurationPolicyPrefStoreIntegerTest, GetDefault) { |
| 285 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 285 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
| 286 store_->GetValue(GetParam().pref_name(), NULL)); | 286 store_->GetValue(GetParam().pref_name(), NULL)); |
| 287 } | 287 } |
| 288 | 288 |
| 289 TEST_P(ConfigurationPolicyPrefStoreIntegerTest, SetValue) { | 289 TEST_P(ConfigurationPolicyPrefStoreIntegerTest, SetValue) { |
| 290 provider_.AddMandatoryPolicy(GetParam().policy_name(), | 290 provider_.AddMandatoryPolicy(GetParam().policy_name(), |
| 291 Value::CreateIntegerValue(2)); | 291 base::Value::CreateIntegerValue(2)); |
| 292 store_->OnUpdatePolicy(&provider_); | 292 store_->OnUpdatePolicy(&provider_); |
| 293 const Value* value = NULL; | 293 const base::Value* value = NULL; |
| 294 EXPECT_EQ(PrefStore::READ_OK, | 294 EXPECT_EQ(PrefStore::READ_OK, |
| 295 store_->GetValue(GetParam().pref_name(), &value)); | 295 store_->GetValue(GetParam().pref_name(), &value)); |
| 296 EXPECT_TRUE(base::FundamentalValue(2).Equals(value)); | 296 EXPECT_TRUE(base::FundamentalValue(2).Equals(value)); |
| 297 } | 297 } |
| 298 | 298 |
| 299 INSTANTIATE_TEST_CASE_P( | 299 INSTANTIATE_TEST_CASE_P( |
| 300 ConfigurationPolicyPrefStoreIntegerTestInstance, | 300 ConfigurationPolicyPrefStoreIntegerTestInstance, |
| 301 ConfigurationPolicyPrefStoreIntegerTest, | 301 ConfigurationPolicyPrefStoreIntegerTest, |
| 302 testing::Values( | 302 testing::Values( |
| 303 PolicyAndPref(key::kDefaultCookiesSetting, | 303 PolicyAndPref(key::kDefaultCookiesSetting, |
| (...skipping 22 matching lines...) Expand all Loading... | |
| 326 // Test cases for the proxy policy settings. | 326 // Test cases for the proxy policy settings. |
| 327 class ConfigurationPolicyPrefStoreProxyTest : public testing::Test { | 327 class ConfigurationPolicyPrefStoreProxyTest : public testing::Test { |
| 328 protected: | 328 protected: |
| 329 // Verify that all the proxy prefs are set to the specified expected values. | 329 // Verify that all the proxy prefs are set to the specified expected values. |
| 330 static void VerifyProxyPrefs( | 330 static void VerifyProxyPrefs( |
| 331 const ConfigurationPolicyPrefStore& store, | 331 const ConfigurationPolicyPrefStore& store, |
| 332 const std::string& expected_proxy_server, | 332 const std::string& expected_proxy_server, |
| 333 const std::string& expected_proxy_pac_url, | 333 const std::string& expected_proxy_pac_url, |
| 334 const std::string& expected_proxy_bypass_list, | 334 const std::string& expected_proxy_bypass_list, |
| 335 const ProxyPrefs::ProxyMode& expected_proxy_mode) { | 335 const ProxyPrefs::ProxyMode& expected_proxy_mode) { |
| 336 const Value* value = NULL; | 336 const base::Value* value = NULL; |
| 337 ASSERT_EQ(PrefStore::READ_OK, | 337 ASSERT_EQ(PrefStore::READ_OK, |
| 338 store.GetValue(prefs::kProxy, &value)); | 338 store.GetValue(prefs::kProxy, &value)); |
| 339 ASSERT_EQ(Value::TYPE_DICTIONARY, value->GetType()); | 339 ASSERT_EQ(base::Value::TYPE_DICTIONARY, value->GetType()); |
| 340 ProxyConfigDictionary dict(static_cast<const DictionaryValue*>(value)); | 340 ProxyConfigDictionary dict( |
| 341 static_cast<const base::DictionaryValue*>(value)); | |
| 341 std::string s; | 342 std::string s; |
| 342 if (expected_proxy_server.empty()) { | 343 if (expected_proxy_server.empty()) { |
| 343 EXPECT_FALSE(dict.GetProxyServer(&s)); | 344 EXPECT_FALSE(dict.GetProxyServer(&s)); |
| 344 } else { | 345 } else { |
| 345 ASSERT_TRUE(dict.GetProxyServer(&s)); | 346 ASSERT_TRUE(dict.GetProxyServer(&s)); |
| 346 EXPECT_EQ(expected_proxy_server, s); | 347 EXPECT_EQ(expected_proxy_server, s); |
| 347 } | 348 } |
| 348 if (expected_proxy_pac_url.empty()) { | 349 if (expected_proxy_pac_url.empty()) { |
| 349 EXPECT_FALSE(dict.GetPacUrl(&s)); | 350 EXPECT_FALSE(dict.GetPacUrl(&s)); |
| 350 } else { | 351 } else { |
| 351 ASSERT_TRUE(dict.GetPacUrl(&s)); | 352 ASSERT_TRUE(dict.GetPacUrl(&s)); |
| 352 EXPECT_EQ(expected_proxy_pac_url, s); | 353 EXPECT_EQ(expected_proxy_pac_url, s); |
| 353 } | 354 } |
| 354 if (expected_proxy_bypass_list.empty()) { | 355 if (expected_proxy_bypass_list.empty()) { |
| 355 EXPECT_FALSE(dict.GetBypassList(&s)); | 356 EXPECT_FALSE(dict.GetBypassList(&s)); |
| 356 } else { | 357 } else { |
| 357 ASSERT_TRUE(dict.GetBypassList(&s)); | 358 ASSERT_TRUE(dict.GetBypassList(&s)); |
| 358 EXPECT_EQ(expected_proxy_bypass_list, s); | 359 EXPECT_EQ(expected_proxy_bypass_list, s); |
| 359 } | 360 } |
| 360 ProxyPrefs::ProxyMode mode; | 361 ProxyPrefs::ProxyMode mode; |
| 361 ASSERT_TRUE(dict.GetMode(&mode)); | 362 ASSERT_TRUE(dict.GetMode(&mode)); |
| 362 EXPECT_EQ(expected_proxy_mode, mode); | 363 EXPECT_EQ(expected_proxy_mode, mode); |
| 363 } | 364 } |
| 364 }; | 365 }; |
| 365 | 366 |
| 366 TEST_F(ConfigurationPolicyPrefStoreProxyTest, ManualOptions) { | 367 TEST_F(ConfigurationPolicyPrefStoreProxyTest, ManualOptions) { |
| 367 MockConfigurationPolicyProvider provider; | 368 MockConfigurationPolicyProvider provider; |
| 368 provider.AddMandatoryPolicy( | 369 provider.AddMandatoryPolicy( |
| 369 key::kProxyBypassList, | 370 key::kProxyBypassList, |
| 370 Value::CreateStringValue("http://chromium.org/override")); | 371 base::Value::CreateStringValue("http://chromium.org/override")); |
| 371 provider.AddMandatoryPolicy(key::kProxyServer, | 372 provider.AddMandatoryPolicy(key::kProxyServer, |
| 372 Value::CreateStringValue("chromium.org")); | 373 base::Value::CreateStringValue("chromium.org")); |
| 373 provider.AddMandatoryPolicy( | 374 provider.AddMandatoryPolicy( |
| 374 key::kProxyServerMode, | 375 key::kProxyServerMode, |
| 375 Value::CreateIntegerValue( | 376 base::Value::CreateIntegerValue( |
| 376 ProxyPolicyHandler::PROXY_MANUALLY_CONFIGURED_PROXY_SERVER_MODE)); | 377 ProxyPolicyHandler::PROXY_MANUALLY_CONFIGURED_PROXY_SERVER_MODE)); |
| 377 | 378 |
| 378 scoped_refptr<ConfigurationPolicyPrefStore> store( | 379 scoped_refptr<ConfigurationPolicyPrefStore> store( |
| 379 new ConfigurationPolicyPrefStore(&provider)); | 380 new ConfigurationPolicyPrefStore(&provider)); |
| 380 VerifyProxyPrefs( | 381 VerifyProxyPrefs( |
| 381 *store, "chromium.org", "", "http://chromium.org/override", | 382 *store, "chromium.org", "", "http://chromium.org/override", |
| 382 ProxyPrefs::MODE_FIXED_SERVERS); | 383 ProxyPrefs::MODE_FIXED_SERVERS); |
| 383 } | 384 } |
| 384 | 385 |
| 385 TEST_F(ConfigurationPolicyPrefStoreProxyTest, ManualOptionsReversedApplyOrder) { | 386 TEST_F(ConfigurationPolicyPrefStoreProxyTest, ManualOptionsReversedApplyOrder) { |
| 386 MockConfigurationPolicyProvider provider; | 387 MockConfigurationPolicyProvider provider; |
| 387 provider.AddMandatoryPolicy( | 388 provider.AddMandatoryPolicy( |
| 388 key::kProxyServerMode, | 389 key::kProxyServerMode, |
| 389 Value::CreateIntegerValue( | 390 base::Value::CreateIntegerValue( |
| 390 ProxyPolicyHandler::PROXY_MANUALLY_CONFIGURED_PROXY_SERVER_MODE)); | 391 ProxyPolicyHandler::PROXY_MANUALLY_CONFIGURED_PROXY_SERVER_MODE)); |
| 391 provider.AddMandatoryPolicy( | 392 provider.AddMandatoryPolicy( |
| 392 key::kProxyBypassList, | 393 key::kProxyBypassList, |
| 393 Value::CreateStringValue("http://chromium.org/override")); | 394 base::Value::CreateStringValue("http://chromium.org/override")); |
| 394 provider.AddMandatoryPolicy( | 395 provider.AddMandatoryPolicy( |
| 395 key::kProxyServer, | 396 key::kProxyServer, |
| 396 Value::CreateStringValue("chromium.org")); | 397 base::Value::CreateStringValue("chromium.org")); |
| 397 scoped_refptr<ConfigurationPolicyPrefStore> store( | 398 scoped_refptr<ConfigurationPolicyPrefStore> store( |
| 398 new ConfigurationPolicyPrefStore(&provider)); | 399 new ConfigurationPolicyPrefStore(&provider)); |
| 399 VerifyProxyPrefs( | 400 VerifyProxyPrefs( |
| 400 *store, "chromium.org", "", "http://chromium.org/override", | 401 *store, "chromium.org", "", "http://chromium.org/override", |
| 401 ProxyPrefs::MODE_FIXED_SERVERS); | 402 ProxyPrefs::MODE_FIXED_SERVERS); |
| 402 } | 403 } |
| 403 | 404 |
| 404 TEST_F(ConfigurationPolicyPrefStoreProxyTest, ManualOptionsInvalid) { | 405 TEST_F(ConfigurationPolicyPrefStoreProxyTest, ManualOptionsInvalid) { |
| 405 MockConfigurationPolicyProvider provider; | 406 MockConfigurationPolicyProvider provider; |
| 406 provider.AddMandatoryPolicy( | 407 provider.AddMandatoryPolicy( |
| 407 key::kProxyServerMode, | 408 key::kProxyServerMode, |
| 408 Value::CreateIntegerValue( | 409 base::Value::CreateIntegerValue( |
| 409 ProxyPolicyHandler::PROXY_MANUALLY_CONFIGURED_PROXY_SERVER_MODE)); | 410 ProxyPolicyHandler::PROXY_MANUALLY_CONFIGURED_PROXY_SERVER_MODE)); |
| 410 | 411 |
| 411 scoped_refptr<ConfigurationPolicyPrefStore> store( | 412 scoped_refptr<ConfigurationPolicyPrefStore> store( |
| 412 new ConfigurationPolicyPrefStore(&provider)); | 413 new ConfigurationPolicyPrefStore(&provider)); |
| 413 const Value* value = NULL; | 414 const base::Value* value = NULL; |
| 414 EXPECT_EQ(PrefStore::READ_NO_VALUE, store->GetValue(prefs::kProxy, &value)); | 415 EXPECT_EQ(PrefStore::READ_NO_VALUE, store->GetValue(prefs::kProxy, &value)); |
| 415 } | 416 } |
| 416 | 417 |
| 417 | 418 |
| 418 TEST_F(ConfigurationPolicyPrefStoreProxyTest, NoProxyServerMode) { | 419 TEST_F(ConfigurationPolicyPrefStoreProxyTest, NoProxyServerMode) { |
| 419 MockConfigurationPolicyProvider provider; | 420 MockConfigurationPolicyProvider provider; |
| 420 provider.AddMandatoryPolicy( | 421 provider.AddMandatoryPolicy( |
| 421 key::kProxyServerMode, | 422 key::kProxyServerMode, |
| 422 Value::CreateIntegerValue(ProxyPolicyHandler::PROXY_SERVER_MODE)); | 423 base::Value::CreateIntegerValue(ProxyPolicyHandler::PROXY_SERVER_MODE)); |
| 423 | 424 |
| 424 scoped_refptr<ConfigurationPolicyPrefStore> store( | 425 scoped_refptr<ConfigurationPolicyPrefStore> store( |
| 425 new ConfigurationPolicyPrefStore(&provider)); | 426 new ConfigurationPolicyPrefStore(&provider)); |
| 426 VerifyProxyPrefs(*store, "", "", "", ProxyPrefs::MODE_DIRECT); | 427 VerifyProxyPrefs(*store, "", "", "", ProxyPrefs::MODE_DIRECT); |
| 427 } | 428 } |
| 428 | 429 |
| 429 TEST_F(ConfigurationPolicyPrefStoreProxyTest, NoProxyModeName) { | 430 TEST_F(ConfigurationPolicyPrefStoreProxyTest, NoProxyModeName) { |
| 430 MockConfigurationPolicyProvider provider; | 431 MockConfigurationPolicyProvider provider; |
| 431 provider.AddMandatoryPolicy( | 432 provider.AddMandatoryPolicy( |
| 432 key::kProxyMode, | 433 key::kProxyMode, |
| 433 Value::CreateStringValue(ProxyPrefs::kDirectProxyModeName)); | 434 base::Value::CreateStringValue(ProxyPrefs::kDirectProxyModeName)); |
| 434 | 435 |
| 435 scoped_refptr<ConfigurationPolicyPrefStore> store( | 436 scoped_refptr<ConfigurationPolicyPrefStore> store( |
| 436 new ConfigurationPolicyPrefStore(&provider)); | 437 new ConfigurationPolicyPrefStore(&provider)); |
| 437 VerifyProxyPrefs(*store, "", "", "", ProxyPrefs::MODE_DIRECT); | 438 VerifyProxyPrefs(*store, "", "", "", ProxyPrefs::MODE_DIRECT); |
| 438 } | 439 } |
| 439 | 440 |
| 440 TEST_F(ConfigurationPolicyPrefStoreProxyTest, AutoDetectProxyServerMode) { | 441 TEST_F(ConfigurationPolicyPrefStoreProxyTest, AutoDetectProxyServerMode) { |
| 441 MockConfigurationPolicyProvider provider; | 442 MockConfigurationPolicyProvider provider; |
| 442 provider.AddMandatoryPolicy( | 443 provider.AddMandatoryPolicy( |
| 443 key::kProxyServerMode, | 444 key::kProxyServerMode, |
| 444 Value::CreateIntegerValue( | 445 base::Value::CreateIntegerValue( |
| 445 ProxyPolicyHandler::PROXY_AUTO_DETECT_PROXY_SERVER_MODE)); | 446 ProxyPolicyHandler::PROXY_AUTO_DETECT_PROXY_SERVER_MODE)); |
| 446 | 447 |
| 447 scoped_refptr<ConfigurationPolicyPrefStore> store( | 448 scoped_refptr<ConfigurationPolicyPrefStore> store( |
| 448 new ConfigurationPolicyPrefStore(&provider)); | 449 new ConfigurationPolicyPrefStore(&provider)); |
| 449 VerifyProxyPrefs(*store, "", "", "", ProxyPrefs::MODE_AUTO_DETECT); | 450 VerifyProxyPrefs(*store, "", "", "", ProxyPrefs::MODE_AUTO_DETECT); |
| 450 } | 451 } |
| 451 | 452 |
| 452 TEST_F(ConfigurationPolicyPrefStoreProxyTest, AutoDetectProxyModeName) { | 453 TEST_F(ConfigurationPolicyPrefStoreProxyTest, AutoDetectProxyModeName) { |
| 453 MockConfigurationPolicyProvider provider; | 454 MockConfigurationPolicyProvider provider; |
| 454 provider.AddMandatoryPolicy( | 455 provider.AddMandatoryPolicy( |
| 455 key::kProxyMode, | 456 key::kProxyMode, |
| 456 Value::CreateStringValue(ProxyPrefs::kAutoDetectProxyModeName)); | 457 base::Value::CreateStringValue(ProxyPrefs::kAutoDetectProxyModeName)); |
| 457 | 458 |
| 458 scoped_refptr<ConfigurationPolicyPrefStore> store( | 459 scoped_refptr<ConfigurationPolicyPrefStore> store( |
| 459 new ConfigurationPolicyPrefStore(&provider)); | 460 new ConfigurationPolicyPrefStore(&provider)); |
| 460 VerifyProxyPrefs(*store, "", "", "", ProxyPrefs::MODE_AUTO_DETECT); | 461 VerifyProxyPrefs(*store, "", "", "", ProxyPrefs::MODE_AUTO_DETECT); |
| 461 } | 462 } |
| 462 | 463 |
| 463 TEST_F(ConfigurationPolicyPrefStoreProxyTest, PacScriptProxyMode) { | 464 TEST_F(ConfigurationPolicyPrefStoreProxyTest, PacScriptProxyMode) { |
| 464 MockConfigurationPolicyProvider provider; | 465 MockConfigurationPolicyProvider provider; |
| 465 provider.AddMandatoryPolicy( | 466 provider.AddMandatoryPolicy( |
| 466 key::kProxyPacUrl, | 467 key::kProxyPacUrl, |
| 467 Value::CreateStringValue("http://short.org/proxy.pac")); | 468 base::Value::CreateStringValue("http://short.org/proxy.pac")); |
| 468 provider.AddMandatoryPolicy( | 469 provider.AddMandatoryPolicy( |
| 469 key::kProxyMode, | 470 key::kProxyMode, |
| 470 Value::CreateStringValue(ProxyPrefs::kPacScriptProxyModeName)); | 471 base::Value::CreateStringValue(ProxyPrefs::kPacScriptProxyModeName)); |
| 471 | 472 |
| 472 scoped_refptr<ConfigurationPolicyPrefStore> store( | 473 scoped_refptr<ConfigurationPolicyPrefStore> store( |
| 473 new ConfigurationPolicyPrefStore(&provider)); | 474 new ConfigurationPolicyPrefStore(&provider)); |
| 474 VerifyProxyPrefs(*store, "", "http://short.org/proxy.pac", "", | 475 VerifyProxyPrefs(*store, "", "http://short.org/proxy.pac", "", |
| 475 ProxyPrefs::MODE_PAC_SCRIPT); | 476 ProxyPrefs::MODE_PAC_SCRIPT); |
| 476 } | 477 } |
| 477 | 478 |
| 478 TEST_F(ConfigurationPolicyPrefStoreProxyTest, PacScriptProxyModeInvalid) { | 479 TEST_F(ConfigurationPolicyPrefStoreProxyTest, PacScriptProxyModeInvalid) { |
| 479 MockConfigurationPolicyProvider provider; | 480 MockConfigurationPolicyProvider provider; |
| 480 provider.AddMandatoryPolicy( | 481 provider.AddMandatoryPolicy( |
| 481 key::kProxyMode, | 482 key::kProxyMode, |
| 482 Value::CreateStringValue(ProxyPrefs::kPacScriptProxyModeName)); | 483 base::Value::CreateStringValue(ProxyPrefs::kPacScriptProxyModeName)); |
| 483 | 484 |
| 484 scoped_refptr<ConfigurationPolicyPrefStore> store( | 485 scoped_refptr<ConfigurationPolicyPrefStore> store( |
| 485 new ConfigurationPolicyPrefStore(&provider)); | 486 new ConfigurationPolicyPrefStore(&provider)); |
| 486 const Value* value = NULL; | 487 const base::Value* value = NULL; |
| 487 EXPECT_EQ(PrefStore::READ_NO_VALUE, store->GetValue(prefs::kProxy, &value)); | 488 EXPECT_EQ(PrefStore::READ_NO_VALUE, store->GetValue(prefs::kProxy, &value)); |
| 488 } | 489 } |
| 489 | 490 |
| 490 // Regression test for http://crbug.com/78016, CPanel returns empty strings | 491 // Regression test for http://crbug.com/78016, CPanel returns empty strings |
| 491 // for unset properties. | 492 // for unset properties. |
| 492 TEST_F(ConfigurationPolicyPrefStoreProxyTest, PacScriptProxyModeBug78016) { | 493 TEST_F(ConfigurationPolicyPrefStoreProxyTest, PacScriptProxyModeBug78016) { |
| 493 MockConfigurationPolicyProvider provider; | 494 MockConfigurationPolicyProvider provider; |
| 494 provider.AddMandatoryPolicy(key::kProxyServer, | 495 provider.AddMandatoryPolicy(key::kProxyServer, |
| 495 Value::CreateStringValue("")); | 496 base::Value::CreateStringValue("")); |
| 496 provider.AddMandatoryPolicy( | 497 provider.AddMandatoryPolicy( |
| 497 key::kProxyPacUrl, | 498 key::kProxyPacUrl, |
| 498 Value::CreateStringValue("http://short.org/proxy.pac")); | 499 base::Value::CreateStringValue("http://short.org/proxy.pac")); |
| 499 provider.AddMandatoryPolicy( | 500 provider.AddMandatoryPolicy( |
| 500 key::kProxyMode, | 501 key::kProxyMode, |
| 501 Value::CreateStringValue(ProxyPrefs::kPacScriptProxyModeName)); | 502 base::Value::CreateStringValue(ProxyPrefs::kPacScriptProxyModeName)); |
| 502 | 503 |
| 503 scoped_refptr<ConfigurationPolicyPrefStore> store( | 504 scoped_refptr<ConfigurationPolicyPrefStore> store( |
| 504 new ConfigurationPolicyPrefStore(&provider)); | 505 new ConfigurationPolicyPrefStore(&provider)); |
| 505 VerifyProxyPrefs(*store, "", "http://short.org/proxy.pac", "", | 506 VerifyProxyPrefs(*store, "", "http://short.org/proxy.pac", "", |
| 506 ProxyPrefs::MODE_PAC_SCRIPT); | 507 ProxyPrefs::MODE_PAC_SCRIPT); |
| 507 } | 508 } |
| 508 | 509 |
| 509 TEST_F(ConfigurationPolicyPrefStoreProxyTest, UseSystemProxyServerMode) { | 510 TEST_F(ConfigurationPolicyPrefStoreProxyTest, UseSystemProxyServerMode) { |
| 510 MockConfigurationPolicyProvider provider; | 511 MockConfigurationPolicyProvider provider; |
| 511 provider.AddMandatoryPolicy( | 512 provider.AddMandatoryPolicy( |
| 512 key::kProxyServerMode, | 513 key::kProxyServerMode, |
| 513 Value::CreateIntegerValue( | 514 base::Value::CreateIntegerValue( |
| 514 ProxyPolicyHandler::PROXY_USE_SYSTEM_PROXY_SERVER_MODE)); | 515 ProxyPolicyHandler::PROXY_USE_SYSTEM_PROXY_SERVER_MODE)); |
| 515 | 516 |
| 516 scoped_refptr<ConfigurationPolicyPrefStore> store( | 517 scoped_refptr<ConfigurationPolicyPrefStore> store( |
| 517 new ConfigurationPolicyPrefStore(&provider)); | 518 new ConfigurationPolicyPrefStore(&provider)); |
| 518 VerifyProxyPrefs(*store, "", "", "", ProxyPrefs::MODE_SYSTEM); | 519 VerifyProxyPrefs(*store, "", "", "", ProxyPrefs::MODE_SYSTEM); |
| 519 } | 520 } |
| 520 | 521 |
| 521 TEST_F(ConfigurationPolicyPrefStoreProxyTest, UseSystemProxyMode) { | 522 TEST_F(ConfigurationPolicyPrefStoreProxyTest, UseSystemProxyMode) { |
| 522 MockConfigurationPolicyProvider provider; | 523 MockConfigurationPolicyProvider provider; |
| 523 provider.AddMandatoryPolicy( | 524 provider.AddMandatoryPolicy( |
| 524 key::kProxyMode, | 525 key::kProxyMode, |
| 525 Value::CreateStringValue(ProxyPrefs::kSystemProxyModeName)); | 526 base::Value::CreateStringValue(ProxyPrefs::kSystemProxyModeName)); |
| 526 | 527 |
| 527 scoped_refptr<ConfigurationPolicyPrefStore> store( | 528 scoped_refptr<ConfigurationPolicyPrefStore> store( |
| 528 new ConfigurationPolicyPrefStore(&provider)); | 529 new ConfigurationPolicyPrefStore(&provider)); |
| 529 VerifyProxyPrefs(*store, "", "", "", ProxyPrefs::MODE_SYSTEM); | 530 VerifyProxyPrefs(*store, "", "", "", ProxyPrefs::MODE_SYSTEM); |
| 530 } | 531 } |
| 531 | 532 |
| 532 TEST_F(ConfigurationPolicyPrefStoreProxyTest, | 533 TEST_F(ConfigurationPolicyPrefStoreProxyTest, |
| 533 ProxyModeOverridesProxyServerMode) { | 534 ProxyModeOverridesProxyServerMode) { |
| 534 MockConfigurationPolicyProvider provider; | 535 MockConfigurationPolicyProvider provider; |
| 535 provider.AddMandatoryPolicy( | 536 provider.AddMandatoryPolicy( |
| 536 key::kProxyServerMode, | 537 key::kProxyServerMode, |
| 537 Value::CreateIntegerValue(ProxyPolicyHandler::PROXY_SERVER_MODE)); | 538 base::Value::CreateIntegerValue(ProxyPolicyHandler::PROXY_SERVER_MODE)); |
| 538 provider.AddMandatoryPolicy( | 539 provider.AddMandatoryPolicy( |
| 539 key::kProxyMode, | 540 key::kProxyMode, |
| 540 Value::CreateStringValue(ProxyPrefs::kAutoDetectProxyModeName)); | 541 base::Value::CreateStringValue(ProxyPrefs::kAutoDetectProxyModeName)); |
| 541 | 542 |
| 542 scoped_refptr<ConfigurationPolicyPrefStore> store( | 543 scoped_refptr<ConfigurationPolicyPrefStore> store( |
| 543 new ConfigurationPolicyPrefStore(&provider)); | 544 new ConfigurationPolicyPrefStore(&provider)); |
| 544 VerifyProxyPrefs(*store, "", "", "", ProxyPrefs::MODE_AUTO_DETECT); | 545 VerifyProxyPrefs(*store, "", "", "", ProxyPrefs::MODE_AUTO_DETECT); |
| 545 } | 546 } |
| 546 | 547 |
| 547 TEST_F(ConfigurationPolicyPrefStoreProxyTest, ProxyInvalid) { | 548 TEST_F(ConfigurationPolicyPrefStoreProxyTest, ProxyInvalid) { |
| 548 for (int i = 0; i < ProxyPolicyHandler::MODE_COUNT; ++i) { | 549 for (int i = 0; i < ProxyPolicyHandler::MODE_COUNT; ++i) { |
| 549 MockConfigurationPolicyProvider provider; | 550 MockConfigurationPolicyProvider provider; |
| 550 provider.AddMandatoryPolicy(key::kProxyServerMode, | 551 provider.AddMandatoryPolicy(key::kProxyServerMode, |
| 551 Value::CreateIntegerValue(i)); | 552 base::Value::CreateIntegerValue(i)); |
| 552 // No mode expects all three parameters being set. | 553 // No mode expects all three parameters being set. |
| 553 provider.AddMandatoryPolicy( | 554 provider.AddMandatoryPolicy( |
| 554 key::kProxyPacUrl, | 555 key::kProxyPacUrl, |
| 555 Value::CreateStringValue("http://short.org/proxy.pac")); | 556 base::Value::CreateStringValue("http://short.org/proxy.pac")); |
| 556 provider.AddMandatoryPolicy( | 557 provider.AddMandatoryPolicy( |
| 557 key::kProxyBypassList, | 558 key::kProxyBypassList, |
| 558 Value::CreateStringValue("http://chromium.org/override")); | 559 base::Value::CreateStringValue("http://chromium.org/override")); |
| 559 provider.AddMandatoryPolicy(key::kProxyServer, | 560 provider.AddMandatoryPolicy(key::kProxyServer, |
| 560 Value::CreateStringValue("chromium.org")); | 561 base::Value::CreateStringValue("chromium.org")); |
| 561 | 562 |
| 562 scoped_refptr<ConfigurationPolicyPrefStore> store( | 563 scoped_refptr<ConfigurationPolicyPrefStore> store( |
| 563 new ConfigurationPolicyPrefStore(&provider)); | 564 new ConfigurationPolicyPrefStore(&provider)); |
| 564 const Value* value = NULL; | 565 const base::Value* value = NULL; |
| 565 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 566 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
| 566 store->GetValue(prefs::kProxy, &value)); | 567 store->GetValue(prefs::kProxy, &value)); |
| 567 } | 568 } |
| 568 } | 569 } |
| 569 | 570 |
| 570 class ConfigurationPolicyPrefStoreDefaultSearchTest : public testing::Test { | 571 class ConfigurationPolicyPrefStoreDefaultSearchTest : public testing::Test { |
| 571 }; | 572 }; |
| 572 | 573 |
| 573 // Checks that if the policy for default search is valid, i.e. there's a | 574 // Checks that if the policy for default search is valid, i.e. there's a |
| 574 // search URL, that all the elements have been given proper defaults. | 575 // search URL, that all the elements have been given proper defaults. |
| 575 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, MinimallyDefined) { | 576 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, MinimallyDefined) { |
| 576 const char* const search_url = "http://test.com/search?t={searchTerms}"; | 577 const char* const search_url = "http://test.com/search?t={searchTerms}"; |
| 577 MockConfigurationPolicyProvider provider; | 578 MockConfigurationPolicyProvider provider; |
| 578 provider.AddMandatoryPolicy(key::kDefaultSearchProviderEnabled, | 579 provider.AddMandatoryPolicy(key::kDefaultSearchProviderEnabled, |
| 579 Value::CreateBooleanValue(true)); | 580 base::Value::CreateBooleanValue(true)); |
| 580 provider.AddMandatoryPolicy(key::kDefaultSearchProviderSearchURL, | 581 provider.AddMandatoryPolicy(key::kDefaultSearchProviderSearchURL, |
| 581 Value::CreateStringValue(search_url)); | 582 base::Value::CreateStringValue(search_url)); |
| 582 | 583 |
| 583 scoped_refptr<ConfigurationPolicyPrefStore> store( | 584 scoped_refptr<ConfigurationPolicyPrefStore> store( |
| 584 new ConfigurationPolicyPrefStore(&provider)); | 585 new ConfigurationPolicyPrefStore(&provider)); |
| 585 | 586 |
| 586 const Value* value = NULL; | 587 const base::Value* value = NULL; |
| 587 EXPECT_EQ(PrefStore::READ_OK, | 588 EXPECT_EQ(PrefStore::READ_OK, |
| 588 store->GetValue(prefs::kDefaultSearchProviderSearchURL, &value)); | 589 store->GetValue(prefs::kDefaultSearchProviderSearchURL, &value)); |
| 589 EXPECT_TRUE(StringValue(search_url).Equals(value)); | 590 EXPECT_TRUE(base::StringValue(search_url).Equals(value)); |
| 590 | 591 |
| 591 EXPECT_EQ(PrefStore::READ_OK, | 592 EXPECT_EQ(PrefStore::READ_OK, |
| 592 store->GetValue(prefs::kDefaultSearchProviderName, &value)); | 593 store->GetValue(prefs::kDefaultSearchProviderName, &value)); |
| 593 EXPECT_TRUE(StringValue("test.com").Equals(value)); | 594 EXPECT_TRUE(base::StringValue("test.com").Equals(value)); |
| 594 | 595 |
| 595 EXPECT_EQ(PrefStore::READ_OK, | 596 EXPECT_EQ(PrefStore::READ_OK, |
| 596 store->GetValue(prefs::kDefaultSearchProviderKeyword, &value)); | 597 store->GetValue(prefs::kDefaultSearchProviderKeyword, &value)); |
| 597 EXPECT_TRUE(StringValue(std::string()).Equals(value)); | 598 EXPECT_TRUE(base::StringValue(std::string()).Equals(value)); |
| 598 | 599 |
| 599 EXPECT_EQ(PrefStore::READ_OK, | 600 EXPECT_EQ(PrefStore::READ_OK, |
| 600 store->GetValue(prefs::kDefaultSearchProviderSuggestURL, &value)); | 601 store->GetValue(prefs::kDefaultSearchProviderSuggestURL, &value)); |
| 601 EXPECT_TRUE(StringValue(std::string()).Equals(value)); | 602 EXPECT_TRUE(base::StringValue(std::string()).Equals(value)); |
| 602 | 603 |
| 603 EXPECT_EQ(PrefStore::READ_OK, | 604 EXPECT_EQ(PrefStore::READ_OK, |
| 604 store->GetValue(prefs::kDefaultSearchProviderIconURL, &value)); | 605 store->GetValue(prefs::kDefaultSearchProviderIconURL, &value)); |
| 605 EXPECT_TRUE(StringValue(std::string()).Equals(value)); | 606 EXPECT_TRUE(base::StringValue(std::string()).Equals(value)); |
| 606 | 607 |
| 607 EXPECT_EQ(PrefStore::READ_OK, | 608 EXPECT_EQ(PrefStore::READ_OK, |
| 608 store->GetValue(prefs::kDefaultSearchProviderEncodings, &value)); | 609 store->GetValue(prefs::kDefaultSearchProviderEncodings, &value)); |
| 609 EXPECT_TRUE(StringValue(std::string()).Equals(value)); | 610 EXPECT_TRUE(base::StringValue(std::string()).Equals(value)); |
| 610 | 611 |
| 611 EXPECT_EQ(PrefStore::READ_OK, | 612 EXPECT_EQ(PrefStore::READ_OK, |
| 612 store->GetValue(prefs::kDefaultSearchProviderInstantURL, &value)); | 613 store->GetValue(prefs::kDefaultSearchProviderInstantURL, &value)); |
| 613 EXPECT_TRUE(StringValue(std::string()).Equals(value)); | 614 EXPECT_TRUE(base::StringValue(std::string()).Equals(value)); |
| 614 } | 615 } |
| 615 | 616 |
| 616 // Checks that for a fully defined search policy, all elements have been | 617 // Checks that for a fully defined search policy, all elements have been |
| 617 // read properly. | 618 // read properly. |
| 618 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, FullyDefined) { | 619 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, FullyDefined) { |
| 619 const char* const search_url = "http://test.com/search?t={searchTerms}"; | 620 const char* const search_url = "http://test.com/search?t={searchTerms}"; |
| 620 const char* const suggest_url = "http://test.com/sugg?={searchTerms}"; | 621 const char* const suggest_url = "http://test.com/sugg?={searchTerms}"; |
| 621 const char* const icon_url = "http://test.com/icon.jpg"; | 622 const char* const icon_url = "http://test.com/icon.jpg"; |
| 622 const char* const name = "MyName"; | 623 const char* const name = "MyName"; |
| 623 const char* const keyword = "MyKeyword"; | 624 const char* const keyword = "MyKeyword"; |
| 624 ListValue* encodings = new ListValue(); | 625 base::ListValue* encodings = new base::ListValue(); |
| 625 encodings->Append(Value::CreateStringValue("UTF-16")); | 626 encodings->Append(base::Value::CreateStringValue("UTF-16")); |
| 626 encodings->Append(Value::CreateStringValue("UTF-8")); | 627 encodings->Append(base::Value::CreateStringValue("UTF-8")); |
| 627 MockConfigurationPolicyProvider provider; | 628 MockConfigurationPolicyProvider provider; |
| 628 provider.AddMandatoryPolicy(key::kDefaultSearchProviderEnabled, | 629 provider.AddMandatoryPolicy(key::kDefaultSearchProviderEnabled, |
| 629 Value::CreateBooleanValue(true)); | 630 base::Value::CreateBooleanValue(true)); |
| 630 provider.AddMandatoryPolicy(key::kDefaultSearchProviderSearchURL, | 631 provider.AddMandatoryPolicy(key::kDefaultSearchProviderSearchURL, |
| 631 Value::CreateStringValue(search_url)); | 632 base::Value::CreateStringValue(search_url)); |
| 632 provider.AddMandatoryPolicy(key::kDefaultSearchProviderName, | 633 provider.AddMandatoryPolicy(key::kDefaultSearchProviderName, |
| 633 Value::CreateStringValue(name)); | 634 base::Value::CreateStringValue(name)); |
| 634 provider.AddMandatoryPolicy(key::kDefaultSearchProviderKeyword, | 635 provider.AddMandatoryPolicy(key::kDefaultSearchProviderKeyword, |
| 635 Value::CreateStringValue(keyword)); | 636 base::Value::CreateStringValue(keyword)); |
| 636 provider.AddMandatoryPolicy(key::kDefaultSearchProviderSuggestURL, | 637 provider.AddMandatoryPolicy(key::kDefaultSearchProviderSuggestURL, |
| 637 Value::CreateStringValue(suggest_url)); | 638 base::Value::CreateStringValue(suggest_url)); |
| 638 provider.AddMandatoryPolicy(key::kDefaultSearchProviderIconURL, | 639 provider.AddMandatoryPolicy(key::kDefaultSearchProviderIconURL, |
| 639 Value::CreateStringValue(icon_url)); | 640 base::Value::CreateStringValue(icon_url)); |
| 640 provider.AddMandatoryPolicy(key::kDefaultSearchProviderEncodings, encodings); | 641 provider.AddMandatoryPolicy(key::kDefaultSearchProviderEncodings, encodings); |
| 641 | 642 |
| 642 scoped_refptr<ConfigurationPolicyPrefStore> store( | 643 scoped_refptr<ConfigurationPolicyPrefStore> store( |
| 643 new ConfigurationPolicyPrefStore(&provider)); | 644 new ConfigurationPolicyPrefStore(&provider)); |
| 644 | 645 |
| 645 const Value* value = NULL; | 646 const base::Value* value = NULL; |
| 646 EXPECT_EQ(PrefStore::READ_OK, | 647 EXPECT_EQ(PrefStore::READ_OK, |
| 647 store->GetValue(prefs::kDefaultSearchProviderSearchURL, &value)); | 648 store->GetValue(prefs::kDefaultSearchProviderSearchURL, &value)); |
| 648 EXPECT_TRUE(StringValue(search_url).Equals(value)); | 649 EXPECT_TRUE(base::StringValue(search_url).Equals(value)); |
| 649 | 650 |
| 650 EXPECT_EQ(PrefStore::READ_OK, | 651 EXPECT_EQ(PrefStore::READ_OK, |
| 651 store->GetValue(prefs::kDefaultSearchProviderName, &value)); | 652 store->GetValue(prefs::kDefaultSearchProviderName, &value)); |
| 652 EXPECT_TRUE(StringValue(name).Equals(value)); | 653 EXPECT_TRUE(base::StringValue(name).Equals(value)); |
| 653 | 654 |
| 654 EXPECT_EQ(PrefStore::READ_OK, | 655 EXPECT_EQ(PrefStore::READ_OK, |
| 655 store->GetValue(prefs::kDefaultSearchProviderKeyword, &value)); | 656 store->GetValue(prefs::kDefaultSearchProviderKeyword, &value)); |
| 656 EXPECT_TRUE(StringValue(keyword).Equals(value)); | 657 EXPECT_TRUE(base::StringValue(keyword).Equals(value)); |
| 657 | 658 |
| 658 EXPECT_EQ(PrefStore::READ_OK, | 659 EXPECT_EQ(PrefStore::READ_OK, |
| 659 store->GetValue(prefs::kDefaultSearchProviderSuggestURL, &value)); | 660 store->GetValue(prefs::kDefaultSearchProviderSuggestURL, &value)); |
| 660 EXPECT_TRUE(StringValue(suggest_url).Equals(value)); | 661 EXPECT_TRUE(base::StringValue(suggest_url).Equals(value)); |
| 661 | 662 |
| 662 EXPECT_EQ(PrefStore::READ_OK, | 663 EXPECT_EQ(PrefStore::READ_OK, |
| 663 store->GetValue(prefs::kDefaultSearchProviderIconURL, &value)); | 664 store->GetValue(prefs::kDefaultSearchProviderIconURL, &value)); |
| 664 EXPECT_TRUE(StringValue(icon_url).Equals(value)); | 665 EXPECT_TRUE(base::StringValue(icon_url).Equals(value)); |
| 665 | 666 |
| 666 EXPECT_EQ(PrefStore::READ_OK, | 667 EXPECT_EQ(PrefStore::READ_OK, |
| 667 store->GetValue(prefs::kDefaultSearchProviderEncodings, &value)); | 668 store->GetValue(prefs::kDefaultSearchProviderEncodings, &value)); |
| 668 EXPECT_TRUE(StringValue("UTF-16;UTF-8").Equals(value)); | 669 EXPECT_TRUE(base::StringValue("UTF-16;UTF-8").Equals(value)); |
| 669 } | 670 } |
| 670 | 671 |
| 671 // Checks that if the default search policy is missing, that no elements of the | 672 // Checks that if the default search policy is missing, that no elements of the |
| 672 // default search policy will be present. | 673 // default search policy will be present. |
| 673 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, MissingUrl) { | 674 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, MissingUrl) { |
| 674 const char* const suggest_url = "http://test.com/sugg?t={searchTerms}"; | 675 const char* const suggest_url = "http://test.com/sugg?t={searchTerms}"; |
| 675 const char* const icon_url = "http://test.com/icon.jpg"; | 676 const char* const icon_url = "http://test.com/icon.jpg"; |
| 676 const char* const name = "MyName"; | 677 const char* const name = "MyName"; |
| 677 const char* const keyword = "MyKeyword"; | 678 const char* const keyword = "MyKeyword"; |
| 678 ListValue* encodings = new ListValue(); | 679 base::ListValue* encodings = new base::ListValue(); |
| 679 encodings->Append(Value::CreateStringValue("UTF-16")); | 680 encodings->Append(base::Value::CreateStringValue("UTF-16")); |
| 680 encodings->Append(Value::CreateStringValue("UTF-8")); | 681 encodings->Append(base::Value::CreateStringValue("UTF-8")); |
| 681 MockConfigurationPolicyProvider provider; | 682 MockConfigurationPolicyProvider provider; |
| 682 provider.AddMandatoryPolicy(key::kDefaultSearchProviderEnabled, | 683 provider.AddMandatoryPolicy(key::kDefaultSearchProviderEnabled, |
| 683 Value::CreateBooleanValue(true)); | 684 base::Value::CreateBooleanValue(true)); |
| 684 provider.AddMandatoryPolicy(key::kDefaultSearchProviderName, | 685 provider.AddMandatoryPolicy(key::kDefaultSearchProviderName, |
| 685 Value::CreateStringValue(name)); | 686 base::Value::CreateStringValue(name)); |
| 686 provider.AddMandatoryPolicy(key::kDefaultSearchProviderKeyword, | 687 provider.AddMandatoryPolicy(key::kDefaultSearchProviderKeyword, |
| 687 Value::CreateStringValue(keyword)); | 688 base::Value::CreateStringValue(keyword)); |
| 688 provider.AddMandatoryPolicy(key::kDefaultSearchProviderSuggestURL, | 689 provider.AddMandatoryPolicy(key::kDefaultSearchProviderSuggestURL, |
| 689 Value::CreateStringValue(suggest_url)); | 690 base::Value::CreateStringValue(suggest_url)); |
| 690 provider.AddMandatoryPolicy(key::kDefaultSearchProviderIconURL, | 691 provider.AddMandatoryPolicy(key::kDefaultSearchProviderIconURL, |
| 691 Value::CreateStringValue(icon_url)); | 692 base::Value::CreateStringValue(icon_url)); |
| 692 provider.AddMandatoryPolicy(key::kDefaultSearchProviderEncodings, encodings); | 693 provider.AddMandatoryPolicy(key::kDefaultSearchProviderEncodings, encodings); |
| 693 | 694 |
| 694 scoped_refptr<ConfigurationPolicyPrefStore> store( | 695 scoped_refptr<ConfigurationPolicyPrefStore> store( |
| 695 new ConfigurationPolicyPrefStore(&provider)); | 696 new ConfigurationPolicyPrefStore(&provider)); |
| 696 | 697 |
| 697 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 698 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
| 698 store->GetValue(prefs::kDefaultSearchProviderSearchURL, NULL)); | 699 store->GetValue(prefs::kDefaultSearchProviderSearchURL, NULL)); |
| 699 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 700 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
| 700 store->GetValue(prefs::kDefaultSearchProviderName, NULL)); | 701 store->GetValue(prefs::kDefaultSearchProviderName, NULL)); |
| 701 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 702 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
| 702 store->GetValue(prefs::kDefaultSearchProviderKeyword, NULL)); | 703 store->GetValue(prefs::kDefaultSearchProviderKeyword, NULL)); |
| 703 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 704 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
| 704 store->GetValue(prefs::kDefaultSearchProviderSuggestURL, NULL)); | 705 store->GetValue(prefs::kDefaultSearchProviderSuggestURL, NULL)); |
| 705 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 706 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
| 706 store->GetValue(prefs::kDefaultSearchProviderIconURL, NULL)); | 707 store->GetValue(prefs::kDefaultSearchProviderIconURL, NULL)); |
| 707 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 708 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
| 708 store->GetValue(prefs::kDefaultSearchProviderEncodings, NULL)); | 709 store->GetValue(prefs::kDefaultSearchProviderEncodings, NULL)); |
| 709 } | 710 } |
| 710 | 711 |
| 711 // Checks that if the default search policy is invalid, that no elements of the | 712 // Checks that if the default search policy is invalid, that no elements of the |
| 712 // default search policy will be present. | 713 // default search policy will be present. |
| 713 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, Invalid) { | 714 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, Invalid) { |
| 714 const char* const bad_search_url = "http://test.com/noSearchTerms"; | 715 const char* const bad_search_url = "http://test.com/noSearchTerms"; |
| 715 const char* const suggest_url = "http://test.com/sugg?t={searchTerms}"; | 716 const char* const suggest_url = "http://test.com/sugg?t={searchTerms}"; |
| 716 const char* const icon_url = "http://test.com/icon.jpg"; | 717 const char* const icon_url = "http://test.com/icon.jpg"; |
| 717 const char* const name = "MyName"; | 718 const char* const name = "MyName"; |
| 718 const char* const keyword = "MyKeyword"; | 719 const char* const keyword = "MyKeyword"; |
| 719 ListValue* encodings = new ListValue(); | 720 base::ListValue* encodings = new base::ListValue(); |
| 720 encodings->Append(Value::CreateStringValue("UTF-16")); | 721 encodings->Append(base::Value::CreateStringValue("UTF-16")); |
| 721 encodings->Append(Value::CreateStringValue("UTF-8")); | 722 encodings->Append(base::Value::CreateStringValue("UTF-8")); |
| 722 MockConfigurationPolicyProvider provider; | 723 MockConfigurationPolicyProvider provider; |
| 723 provider.AddMandatoryPolicy(key::kDefaultSearchProviderEnabled, | 724 provider.AddMandatoryPolicy(key::kDefaultSearchProviderEnabled, |
| 724 Value::CreateBooleanValue(true)); | 725 base::Value::CreateBooleanValue(true)); |
| 725 provider.AddMandatoryPolicy(key::kDefaultSearchProviderSearchURL, | 726 provider.AddMandatoryPolicy(key::kDefaultSearchProviderSearchURL, |
| 726 Value::CreateStringValue(bad_search_url)); | 727 base::Value::CreateStringValue(bad_search_url)); |
| 727 provider.AddMandatoryPolicy(key::kDefaultSearchProviderName, | 728 provider.AddMandatoryPolicy(key::kDefaultSearchProviderName, |
| 728 Value::CreateStringValue(name)); | 729 base::Value::CreateStringValue(name)); |
| 729 provider.AddMandatoryPolicy(key::kDefaultSearchProviderKeyword, | 730 provider.AddMandatoryPolicy(key::kDefaultSearchProviderKeyword, |
| 730 Value::CreateStringValue(keyword)); | 731 base::Value::CreateStringValue(keyword)); |
| 731 provider.AddMandatoryPolicy(key::kDefaultSearchProviderSuggestURL, | 732 provider.AddMandatoryPolicy(key::kDefaultSearchProviderSuggestURL, |
| 732 Value::CreateStringValue(suggest_url)); | 733 base::Value::CreateStringValue(suggest_url)); |
| 733 provider.AddMandatoryPolicy(key::kDefaultSearchProviderIconURL, | 734 provider.AddMandatoryPolicy(key::kDefaultSearchProviderIconURL, |
| 734 Value::CreateStringValue(icon_url)); | 735 base::Value::CreateStringValue(icon_url)); |
| 735 provider.AddMandatoryPolicy(key::kDefaultSearchProviderEncodings, encodings); | 736 provider.AddMandatoryPolicy(key::kDefaultSearchProviderEncodings, encodings); |
| 736 | 737 |
| 737 scoped_refptr<ConfigurationPolicyPrefStore> store( | 738 scoped_refptr<ConfigurationPolicyPrefStore> store( |
| 738 new ConfigurationPolicyPrefStore(&provider)); | 739 new ConfigurationPolicyPrefStore(&provider)); |
| 739 | 740 |
| 740 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 741 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
| 741 store->GetValue(prefs::kDefaultSearchProviderSearchURL, NULL)); | 742 store->GetValue(prefs::kDefaultSearchProviderSearchURL, NULL)); |
| 742 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 743 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
| 743 store->GetValue(prefs::kDefaultSearchProviderName, NULL)); | 744 store->GetValue(prefs::kDefaultSearchProviderName, NULL)); |
| 744 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 745 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
| 745 store->GetValue(prefs::kDefaultSearchProviderKeyword, NULL)); | 746 store->GetValue(prefs::kDefaultSearchProviderKeyword, NULL)); |
| 746 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 747 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
| 747 store->GetValue(prefs::kDefaultSearchProviderSuggestURL, NULL)); | 748 store->GetValue(prefs::kDefaultSearchProviderSuggestURL, NULL)); |
| 748 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 749 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
| 749 store->GetValue(prefs::kDefaultSearchProviderIconURL, NULL)); | 750 store->GetValue(prefs::kDefaultSearchProviderIconURL, NULL)); |
| 750 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 751 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
| 751 store->GetValue(prefs::kDefaultSearchProviderEncodings, NULL)); | 752 store->GetValue(prefs::kDefaultSearchProviderEncodings, NULL)); |
| 752 } | 753 } |
| 753 | 754 |
| 755 // Checks that if the default search policy is invalid, that no elements of the | |
| 756 // default search policy will be present. | |
| 757 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, Disabled) { | |
| 758 MockConfigurationPolicyProvider provider; | |
| 759 provider.AddMandatoryPolicy(key::kDefaultSearchProviderEnabled, | |
| 760 base::Value::CreateBooleanValue(false)); | |
| 761 | |
| 762 scoped_refptr<ConfigurationPolicyPrefStore> store( | |
| 763 new ConfigurationPolicyPrefStore(&provider)); | |
| 764 | |
| 765 const base::Value* value = NULL; | |
| 766 EXPECT_EQ(PrefStore::READ_OK, | |
| 767 store->GetValue(prefs::kDefaultSearchProviderEnabled, &value)); | |
| 768 EXPECT_TRUE(base::FundamentalValue(false).Equals(value)); | |
|
Joao da Silva
2012/02/01 10:01:09
Will crash if |value| is NULL. How about
base::Fun
Mattias Nissler (ping if slow)
2012/02/01 12:19:39
Done.
| |
| 769 EXPECT_EQ(PrefStore::READ_OK, | |
| 770 store->GetValue(prefs::kDefaultSearchProviderSearchURL, &value)); | |
| 771 EXPECT_TRUE(base::StringValue("").Equals(value)); | |
|
Joao da Silva
2012/02/01 10:01:09
Same.
Mattias Nissler (ping if slow)
2012/02/01 12:19:39
Done.
| |
| 772 } | |
| 773 | |
| 754 // Tests Incognito mode availability preference setting. | 774 // Tests Incognito mode availability preference setting. |
| 755 class ConfigurationPolicyPrefStoreIncognitoModeTest : public testing::Test { | 775 class ConfigurationPolicyPrefStoreIncognitoModeTest : public testing::Test { |
| 756 protected: | 776 protected: |
| 757 static const int kIncognitoModeAvailabilityNotSet = -1; | 777 static const int kIncognitoModeAvailabilityNotSet = -1; |
| 758 | 778 |
| 759 enum ObsoleteIncognitoEnabledValue { | 779 enum ObsoleteIncognitoEnabledValue { |
| 760 INCOGNITO_ENABLED_UNKNOWN, | 780 INCOGNITO_ENABLED_UNKNOWN, |
| 761 INCOGNITO_ENABLED_TRUE, | 781 INCOGNITO_ENABLED_TRUE, |
| 762 INCOGNITO_ENABLED_FALSE | 782 INCOGNITO_ENABLED_FALSE |
| 763 }; | 783 }; |
| 764 | 784 |
| 765 void SetPolicies(ObsoleteIncognitoEnabledValue incognito_enabled, | 785 void SetPolicies(ObsoleteIncognitoEnabledValue incognito_enabled, |
| 766 int availability) { | 786 int availability) { |
| 767 if (incognito_enabled != INCOGNITO_ENABLED_UNKNOWN) { | 787 if (incognito_enabled != INCOGNITO_ENABLED_UNKNOWN) { |
| 768 provider_.AddMandatoryPolicy( | 788 provider_.AddMandatoryPolicy( |
| 769 key::kIncognitoEnabled, | 789 key::kIncognitoEnabled, |
| 770 Value::CreateBooleanValue( | 790 base::Value::CreateBooleanValue( |
| 771 incognito_enabled == INCOGNITO_ENABLED_TRUE)); | 791 incognito_enabled == INCOGNITO_ENABLED_TRUE)); |
| 772 } | 792 } |
| 773 if (availability >= 0) { | 793 if (availability >= 0) { |
| 774 provider_.AddMandatoryPolicy(key::kIncognitoModeAvailability, | 794 provider_.AddMandatoryPolicy( |
| 775 Value::CreateIntegerValue(availability)); | 795 key::kIncognitoModeAvailability, |
| 796 base::Value::CreateIntegerValue(availability)); | |
| 776 } | 797 } |
| 777 store_ = new ConfigurationPolicyPrefStore(&provider_); | 798 store_ = new ConfigurationPolicyPrefStore(&provider_); |
| 778 } | 799 } |
| 779 | 800 |
| 780 void VerifyValues(IncognitoModePrefs::Availability availability) { | 801 void VerifyValues(IncognitoModePrefs::Availability availability) { |
| 781 const Value* value = NULL; | 802 const base::Value* value = NULL; |
| 782 EXPECT_EQ(PrefStore::READ_OK, | 803 EXPECT_EQ(PrefStore::READ_OK, |
| 783 store_->GetValue(prefs::kIncognitoModeAvailability, &value)); | 804 store_->GetValue(prefs::kIncognitoModeAvailability, &value)); |
| 784 EXPECT_TRUE(base::FundamentalValue(availability).Equals(value)); | 805 EXPECT_TRUE(base::FundamentalValue(availability).Equals(value)); |
| 785 } | 806 } |
| 786 | 807 |
| 787 MockConfigurationPolicyProvider provider_; | 808 MockConfigurationPolicyProvider provider_; |
| 788 scoped_refptr<ConfigurationPolicyPrefStore> store_; | 809 scoped_refptr<ConfigurationPolicyPrefStore> store_; |
| 789 }; | 810 }; |
| 790 | 811 |
| 791 // The following testcases verify that if the obsolete IncognitoEnabled | 812 // The following testcases verify that if the obsolete IncognitoEnabled |
| (...skipping 13 matching lines...) Expand all Loading... | |
| 805 | 826 |
| 806 TEST_F(ConfigurationPolicyPrefStoreIncognitoModeTest, | 827 TEST_F(ConfigurationPolicyPrefStoreIncognitoModeTest, |
| 807 NoObsoletePolicyAndIncognitoForced) { | 828 NoObsoletePolicyAndIncognitoForced) { |
| 808 SetPolicies(INCOGNITO_ENABLED_UNKNOWN, IncognitoModePrefs::FORCED); | 829 SetPolicies(INCOGNITO_ENABLED_UNKNOWN, IncognitoModePrefs::FORCED); |
| 809 VerifyValues(IncognitoModePrefs::FORCED); | 830 VerifyValues(IncognitoModePrefs::FORCED); |
| 810 } | 831 } |
| 811 | 832 |
| 812 TEST_F(ConfigurationPolicyPrefStoreIncognitoModeTest, | 833 TEST_F(ConfigurationPolicyPrefStoreIncognitoModeTest, |
| 813 NoObsoletePolicyAndNoIncognitoAvailability) { | 834 NoObsoletePolicyAndNoIncognitoAvailability) { |
| 814 SetPolicies(INCOGNITO_ENABLED_UNKNOWN, kIncognitoModeAvailabilityNotSet); | 835 SetPolicies(INCOGNITO_ENABLED_UNKNOWN, kIncognitoModeAvailabilityNotSet); |
| 815 const Value* value = NULL; | 836 const base::Value* value = NULL; |
| 816 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 837 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
| 817 store_->GetValue(prefs::kIncognitoModeAvailability, &value)); | 838 store_->GetValue(prefs::kIncognitoModeAvailability, &value)); |
| 818 } | 839 } |
| 819 | 840 |
| 820 // Checks that if the obsolete IncognitoEnabled policy is set, if sets | 841 // Checks that if the obsolete IncognitoEnabled policy is set, if sets |
| 821 // the IncognitoModeAvailability preference only in case | 842 // the IncognitoModeAvailability preference only in case |
| 822 // the IncognitoModeAvailability policy is not specified. | 843 // the IncognitoModeAvailability policy is not specified. |
| 823 TEST_F(ConfigurationPolicyPrefStoreIncognitoModeTest, | 844 TEST_F(ConfigurationPolicyPrefStoreIncognitoModeTest, |
| 824 ObsoletePolicyDoesNotAffectAvailabilityEnabled) { | 845 ObsoletePolicyDoesNotAffectAvailabilityEnabled) { |
| 825 SetPolicies(INCOGNITO_ENABLED_FALSE, IncognitoModePrefs::ENABLED); | 846 SetPolicies(INCOGNITO_ENABLED_FALSE, IncognitoModePrefs::ENABLED); |
| (...skipping 23 matching lines...) Expand all Loading... | |
| 849 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> { | 870 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> { |
| 850 }; | 871 }; |
| 851 | 872 |
| 852 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Default) { | 873 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Default) { |
| 853 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 874 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
| 854 store_->GetValue(prefs::kSyncManaged, NULL)); | 875 store_->GetValue(prefs::kSyncManaged, NULL)); |
| 855 } | 876 } |
| 856 | 877 |
| 857 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Enabled) { | 878 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Enabled) { |
| 858 provider_.AddMandatoryPolicy(key::kSyncDisabled, | 879 provider_.AddMandatoryPolicy(key::kSyncDisabled, |
| 859 Value::CreateBooleanValue(false)); | 880 base::Value::CreateBooleanValue(false)); |
| 860 store_->OnUpdatePolicy(&provider_); | 881 store_->OnUpdatePolicy(&provider_); |
| 861 // Enabling Sync should not set the pref. | 882 // Enabling Sync should not set the pref. |
| 862 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 883 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
| 863 store_->GetValue(prefs::kSyncManaged, NULL)); | 884 store_->GetValue(prefs::kSyncManaged, NULL)); |
| 864 } | 885 } |
| 865 | 886 |
| 866 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Disabled) { | 887 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Disabled) { |
| 867 provider_.AddMandatoryPolicy(key::kSyncDisabled, | 888 provider_.AddMandatoryPolicy(key::kSyncDisabled, |
| 868 Value::CreateBooleanValue(true)); | 889 base::Value::CreateBooleanValue(true)); |
| 869 store_->OnUpdatePolicy(&provider_); | 890 store_->OnUpdatePolicy(&provider_); |
| 870 // Sync should be flagged as managed. | 891 // Sync should be flagged as managed. |
| 871 const Value* value = NULL; | 892 const base::Value* value = NULL; |
| 872 EXPECT_EQ(PrefStore::READ_OK, store_->GetValue(prefs::kSyncManaged, &value)); | 893 EXPECT_EQ(PrefStore::READ_OK, store_->GetValue(prefs::kSyncManaged, &value)); |
| 873 ASSERT_TRUE(value); | 894 ASSERT_TRUE(value); |
| 874 bool sync_managed = false; | 895 bool sync_managed = false; |
| 875 bool result = value->GetAsBoolean(&sync_managed); | 896 bool result = value->GetAsBoolean(&sync_managed); |
| 876 ASSERT_TRUE(result); | 897 ASSERT_TRUE(result); |
| 877 EXPECT_TRUE(sync_managed); | 898 EXPECT_TRUE(sync_managed); |
| 878 } | 899 } |
| 879 | 900 |
| 880 // Test cases for how the DownloadDirectory and AllowFileSelectionDialogs policy | 901 // Test cases for how the DownloadDirectory and AllowFileSelectionDialogs policy |
| 881 // influence the PromptForDownload preference. | 902 // influence the PromptForDownload preference. |
| 882 class ConfigurationPolicyPrefStorePromptDownloadTest | 903 class ConfigurationPolicyPrefStorePromptDownloadTest |
| 883 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> { | 904 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> { |
| 884 }; | 905 }; |
| 885 | 906 |
| 886 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, Default) { | 907 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, Default) { |
| 887 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 908 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
| 888 store_->GetValue(prefs::kPromptForDownload, NULL)); | 909 store_->GetValue(prefs::kPromptForDownload, NULL)); |
| 889 } | 910 } |
| 890 | 911 |
| 891 #if !defined(OS_CHROMEOS) | 912 #if !defined(OS_CHROMEOS) |
| 892 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, SetDownloadDirectory) { | 913 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, SetDownloadDirectory) { |
| 893 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 914 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
| 894 store_->GetValue(prefs::kPromptForDownload, NULL)); | 915 store_->GetValue(prefs::kPromptForDownload, NULL)); |
| 895 provider_.AddMandatoryPolicy(key::kDownloadDirectory, | 916 provider_.AddMandatoryPolicy(key::kDownloadDirectory, |
| 896 Value::CreateStringValue("")); | 917 base::Value::CreateStringValue("")); |
| 897 store_->OnUpdatePolicy(&provider_); | 918 store_->OnUpdatePolicy(&provider_); |
| 898 | 919 |
| 899 // Setting a DownloadDirectory should disable the PromptForDownload pref. | 920 // Setting a DownloadDirectory should disable the PromptForDownload pref. |
| 900 const Value* value = NULL; | 921 const base::Value* value = NULL; |
| 901 EXPECT_EQ(PrefStore::READ_OK, store_->GetValue(prefs::kPromptForDownload, | 922 EXPECT_EQ(PrefStore::READ_OK, store_->GetValue(prefs::kPromptForDownload, |
| 902 &value)); | 923 &value)); |
| 903 ASSERT_TRUE(value); | 924 ASSERT_TRUE(value); |
| 904 bool prompt_for_download = true; | 925 bool prompt_for_download = true; |
| 905 bool result = value->GetAsBoolean(&prompt_for_download); | 926 bool result = value->GetAsBoolean(&prompt_for_download); |
| 906 ASSERT_TRUE(result); | 927 ASSERT_TRUE(result); |
| 907 EXPECT_FALSE(prompt_for_download); | 928 EXPECT_FALSE(prompt_for_download); |
| 908 } | 929 } |
| 909 #endif // !defined(OS_CHROMEOS) | 930 #endif // !defined(OS_CHROMEOS) |
| 910 | 931 |
| 911 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, | 932 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, |
| 912 EnableFileSelectionDialogs) { | 933 EnableFileSelectionDialogs) { |
| 913 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 934 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
| 914 store_->GetValue(prefs::kPromptForDownload, NULL)); | 935 store_->GetValue(prefs::kPromptForDownload, NULL)); |
| 915 provider_.AddMandatoryPolicy(key::kAllowFileSelectionDialogs, | 936 provider_.AddMandatoryPolicy(key::kAllowFileSelectionDialogs, |
| 916 Value::CreateBooleanValue(true)); | 937 base::Value::CreateBooleanValue(true)); |
| 917 store_->OnUpdatePolicy(&provider_); | 938 store_->OnUpdatePolicy(&provider_); |
| 918 | 939 |
| 919 // Allowing file-selection dialogs should not influence the PromptForDownload | 940 // Allowing file-selection dialogs should not influence the PromptForDownload |
| 920 // pref. | 941 // pref. |
| 921 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 942 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
| 922 store_->GetValue(prefs::kPromptForDownload, NULL)); | 943 store_->GetValue(prefs::kPromptForDownload, NULL)); |
| 923 } | 944 } |
| 924 | 945 |
| 925 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, | 946 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, |
| 926 DisableFileSelectionDialogs) { | 947 DisableFileSelectionDialogs) { |
| 927 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 948 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
| 928 store_->GetValue(prefs::kPromptForDownload, NULL)); | 949 store_->GetValue(prefs::kPromptForDownload, NULL)); |
| 929 provider_.AddMandatoryPolicy(key::kAllowFileSelectionDialogs, | 950 provider_.AddMandatoryPolicy(key::kAllowFileSelectionDialogs, |
| 930 Value::CreateBooleanValue(false)); | 951 base::Value::CreateBooleanValue(false)); |
| 931 store_->OnUpdatePolicy(&provider_); | 952 store_->OnUpdatePolicy(&provider_); |
| 932 | 953 |
| 933 // Disabling file-selection dialogs should disable the PromptForDownload pref. | 954 // Disabling file-selection dialogs should disable the PromptForDownload pref. |
| 934 const Value* value = NULL; | 955 const base::Value* value = NULL; |
| 935 EXPECT_EQ(PrefStore::READ_OK, store_->GetValue(prefs::kPromptForDownload, | 956 EXPECT_EQ(PrefStore::READ_OK, store_->GetValue(prefs::kPromptForDownload, |
| 936 &value)); | 957 &value)); |
| 937 ASSERT_TRUE(value); | 958 ASSERT_TRUE(value); |
| 938 bool prompt_for_download = true; | 959 bool prompt_for_download = true; |
| 939 bool result = value->GetAsBoolean(&prompt_for_download); | 960 bool result = value->GetAsBoolean(&prompt_for_download); |
| 940 ASSERT_TRUE(result); | 961 ASSERT_TRUE(result); |
| 941 EXPECT_FALSE(prompt_for_download); | 962 EXPECT_FALSE(prompt_for_download); |
| 942 } | 963 } |
| 943 | 964 |
| 944 // Test cases for the Autofill policy setting. | 965 // Test cases for the Autofill policy setting. |
| 945 class ConfigurationPolicyPrefStoreAutofillTest | 966 class ConfigurationPolicyPrefStoreAutofillTest |
| 946 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> { | 967 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> { |
| 947 }; | 968 }; |
| 948 | 969 |
| 949 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Default) { | 970 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Default) { |
| 950 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 971 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
| 951 store_->GetValue(prefs::kAutofillEnabled, NULL)); | 972 store_->GetValue(prefs::kAutofillEnabled, NULL)); |
| 952 } | 973 } |
| 953 | 974 |
| 954 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Enabled) { | 975 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Enabled) { |
| 955 provider_.AddMandatoryPolicy(key::kAutoFillEnabled, | 976 provider_.AddMandatoryPolicy(key::kAutoFillEnabled, |
| 956 Value::CreateBooleanValue(true)); | 977 base::Value::CreateBooleanValue(true)); |
| 957 store_->OnUpdatePolicy(&provider_); | 978 store_->OnUpdatePolicy(&provider_); |
| 958 // Enabling Autofill should not set the pref. | 979 // Enabling Autofill should not set the pref. |
| 959 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 980 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
| 960 store_->GetValue(prefs::kAutofillEnabled, NULL)); | 981 store_->GetValue(prefs::kAutofillEnabled, NULL)); |
| 961 } | 982 } |
| 962 | 983 |
| 963 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Disabled) { | 984 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Disabled) { |
| 964 provider_.AddMandatoryPolicy(key::kAutoFillEnabled, | 985 provider_.AddMandatoryPolicy(key::kAutoFillEnabled, |
| 965 Value::CreateBooleanValue(false)); | 986 base::Value::CreateBooleanValue(false)); |
| 966 store_->OnUpdatePolicy(&provider_); | 987 store_->OnUpdatePolicy(&provider_); |
| 967 // Disabling Autofill should switch the pref to managed. | 988 // Disabling Autofill should switch the pref to managed. |
| 968 const Value* value = NULL; | 989 const base::Value* value = NULL; |
| 969 EXPECT_EQ(PrefStore::READ_OK, | 990 EXPECT_EQ(PrefStore::READ_OK, |
| 970 store_->GetValue(prefs::kAutofillEnabled, &value)); | 991 store_->GetValue(prefs::kAutofillEnabled, &value)); |
| 971 ASSERT_TRUE(value); | 992 ASSERT_TRUE(value); |
| 972 bool autofill_enabled = true; | 993 bool autofill_enabled = true; |
| 973 bool result = value->GetAsBoolean(&autofill_enabled); | 994 bool result = value->GetAsBoolean(&autofill_enabled); |
| 974 ASSERT_TRUE(result); | 995 ASSERT_TRUE(result); |
| 975 EXPECT_FALSE(autofill_enabled); | 996 EXPECT_FALSE(autofill_enabled); |
| 976 } | 997 } |
| 977 | 998 |
| 978 // Exercises the policy refresh mechanism. | 999 // Exercises the policy refresh mechanism. |
| 979 class ConfigurationPolicyPrefStoreRefreshTest | 1000 class ConfigurationPolicyPrefStoreRefreshTest |
| 980 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> { | 1001 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> { |
| 981 protected: | 1002 protected: |
| 982 virtual void SetUp() { | 1003 virtual void SetUp() { |
| 983 store_->AddObserver(&observer_); | 1004 store_->AddObserver(&observer_); |
| 984 } | 1005 } |
| 985 | 1006 |
| 986 virtual void TearDown() { | 1007 virtual void TearDown() { |
| 987 store_->RemoveObserver(&observer_); | 1008 store_->RemoveObserver(&observer_); |
| 988 } | 1009 } |
| 989 | 1010 |
| 990 PrefStoreObserverMock observer_; | 1011 PrefStoreObserverMock observer_; |
| 991 }; | 1012 }; |
| 992 | 1013 |
| 993 TEST_F(ConfigurationPolicyPrefStoreRefreshTest, Refresh) { | 1014 TEST_F(ConfigurationPolicyPrefStoreRefreshTest, Refresh) { |
| 994 const Value* value = NULL; | 1015 const base::Value* value = NULL; |
| 995 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 1016 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
| 996 store_->GetValue(prefs::kHomePage, NULL)); | 1017 store_->GetValue(prefs::kHomePage, NULL)); |
| 997 | 1018 |
| 998 EXPECT_CALL(observer_, OnPrefValueChanged(prefs::kHomePage)).Times(1); | 1019 EXPECT_CALL(observer_, OnPrefValueChanged(prefs::kHomePage)).Times(1); |
| 999 provider_.AddMandatoryPolicy( | 1020 provider_.AddMandatoryPolicy( |
| 1000 key::kHomepageLocation, | 1021 key::kHomepageLocation, |
| 1001 Value::CreateStringValue("http://www.chromium.org")); | 1022 base::Value::CreateStringValue("http://www.chromium.org")); |
| 1002 store_->OnUpdatePolicy(&provider_); | 1023 store_->OnUpdatePolicy(&provider_); |
| 1003 Mock::VerifyAndClearExpectations(&observer_); | 1024 Mock::VerifyAndClearExpectations(&observer_); |
| 1004 EXPECT_EQ(PrefStore::READ_OK, | 1025 EXPECT_EQ(PrefStore::READ_OK, |
| 1005 store_->GetValue(prefs::kHomePage, &value)); | 1026 store_->GetValue(prefs::kHomePage, &value)); |
| 1006 EXPECT_TRUE(StringValue("http://www.chromium.org").Equals(value)); | 1027 EXPECT_TRUE(base::StringValue("http://www.chromium.org").Equals(value)); |
| 1007 | 1028 |
| 1008 EXPECT_CALL(observer_, OnPrefValueChanged(_)).Times(0); | 1029 EXPECT_CALL(observer_, OnPrefValueChanged(_)).Times(0); |
| 1009 store_->OnUpdatePolicy(&provider_); | 1030 store_->OnUpdatePolicy(&provider_); |
| 1010 Mock::VerifyAndClearExpectations(&observer_); | 1031 Mock::VerifyAndClearExpectations(&observer_); |
| 1011 | 1032 |
| 1012 EXPECT_CALL(observer_, OnPrefValueChanged(prefs::kHomePage)).Times(1); | 1033 EXPECT_CALL(observer_, OnPrefValueChanged(prefs::kHomePage)).Times(1); |
| 1013 provider_.RemovePolicy(key::kHomepageLocation); | 1034 provider_.RemovePolicy(key::kHomepageLocation); |
| 1014 store_->OnUpdatePolicy(&provider_); | 1035 store_->OnUpdatePolicy(&provider_); |
| 1015 Mock::VerifyAndClearExpectations(&observer_); | 1036 Mock::VerifyAndClearExpectations(&observer_); |
| 1016 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 1037 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
| (...skipping 16 matching lines...) Expand all Loading... | |
| 1033 // Tests for policies that don't quite fit the previous patterns. | 1054 // Tests for policies that don't quite fit the previous patterns. |
| 1034 class ConfigurationPolicyPrefStoreOthersTest | 1055 class ConfigurationPolicyPrefStoreOthersTest |
| 1035 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> { | 1056 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> { |
| 1036 }; | 1057 }; |
| 1037 | 1058 |
| 1038 TEST_F(ConfigurationPolicyPrefStoreOthersTest, JavascriptEnabled) { | 1059 TEST_F(ConfigurationPolicyPrefStoreOthersTest, JavascriptEnabled) { |
| 1039 // This is a boolean policy, but affects an integer preference. | 1060 // This is a boolean policy, but affects an integer preference. |
| 1040 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 1061 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
| 1041 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL)); | 1062 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL)); |
| 1042 provider_.AddMandatoryPolicy(key::kJavascriptEnabled, | 1063 provider_.AddMandatoryPolicy(key::kJavascriptEnabled, |
| 1043 Value::CreateBooleanValue(true)); | 1064 base::Value::CreateBooleanValue(true)); |
| 1044 store_->OnUpdatePolicy(&provider_); | 1065 store_->OnUpdatePolicy(&provider_); |
| 1045 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 1066 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
| 1046 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL)); | 1067 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL)); |
| 1047 provider_.AddMandatoryPolicy(key::kJavascriptEnabled, | 1068 provider_.AddMandatoryPolicy(key::kJavascriptEnabled, |
| 1048 Value::CreateBooleanValue(false)); | 1069 base::Value::CreateBooleanValue(false)); |
| 1049 store_->OnUpdatePolicy(&provider_); | 1070 store_->OnUpdatePolicy(&provider_); |
| 1050 const Value* value = NULL; | 1071 const base::Value* value = NULL; |
| 1051 EXPECT_EQ(PrefStore::READ_OK, | 1072 EXPECT_EQ(PrefStore::READ_OK, |
| 1052 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, &value)); | 1073 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, &value)); |
| 1053 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_BLOCK).Equals(value)); | 1074 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_BLOCK).Equals(value)); |
| 1054 } | 1075 } |
| 1055 | 1076 |
| 1056 TEST_F(ConfigurationPolicyPrefStoreOthersTest, JavascriptEnabledOverridden) { | 1077 TEST_F(ConfigurationPolicyPrefStoreOthersTest, JavascriptEnabledOverridden) { |
| 1057 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 1078 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
| 1058 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL)); | 1079 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL)); |
| 1059 provider_.AddMandatoryPolicy(key::kJavascriptEnabled, | 1080 provider_.AddMandatoryPolicy(key::kJavascriptEnabled, |
| 1060 Value::CreateBooleanValue(false)); | 1081 base::Value::CreateBooleanValue(false)); |
| 1061 store_->OnUpdatePolicy(&provider_); | 1082 store_->OnUpdatePolicy(&provider_); |
| 1062 const Value* value = NULL; | 1083 const base::Value* value = NULL; |
| 1063 EXPECT_EQ(PrefStore::READ_OK, | 1084 EXPECT_EQ(PrefStore::READ_OK, |
| 1064 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, &value)); | 1085 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, &value)); |
| 1065 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_BLOCK).Equals(value)); | 1086 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_BLOCK).Equals(value)); |
| 1066 // DefaultJavaScriptSetting overrides JavascriptEnabled. | 1087 // DefaultJavaScriptSetting overrides JavascriptEnabled. |
| 1067 provider_.AddMandatoryPolicy( | 1088 provider_.AddMandatoryPolicy( |
| 1068 key::kDefaultJavaScriptSetting, | 1089 key::kDefaultJavaScriptSetting, |
| 1069 Value::CreateIntegerValue(CONTENT_SETTING_ALLOW)); | 1090 base::Value::CreateIntegerValue(CONTENT_SETTING_ALLOW)); |
| 1070 store_->OnUpdatePolicy(&provider_); | 1091 store_->OnUpdatePolicy(&provider_); |
| 1071 EXPECT_EQ(PrefStore::READ_OK, | 1092 EXPECT_EQ(PrefStore::READ_OK, |
| 1072 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, &value)); | 1093 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, &value)); |
| 1073 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_ALLOW).Equals(value)); | 1094 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_ALLOW).Equals(value)); |
| 1074 } | 1095 } |
| 1075 | 1096 |
| 1076 } // namespace policy | 1097 } // namespace policy |
| OLD | NEW |