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