Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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 <gtest/gtest.h> | 5 #include <gtest/gtest.h> |
| 6 | 6 |
| 7 #include "base/file_path.h" | 7 #include "base/file_path.h" |
| 8 #include "chrome/browser/net/pref_proxy_config_service.h" | |
| 8 #include "chrome/browser/policy/configuration_policy_pref_store.h" | 9 #include "chrome/browser/policy/configuration_policy_pref_store.h" |
| 9 #include "chrome/browser/policy/mock_configuration_policy_provider.h" | 10 #include "chrome/browser/policy/mock_configuration_policy_provider.h" |
| 10 #include "chrome/common/pref_names.h" | 11 #include "chrome/common/pref_names.h" |
| 11 #include "chrome/common/chrome_switches.h" | 12 #include "chrome/common/chrome_switches.h" |
| 12 | 13 |
|
danno
2010/12/14 12:48:17
You changed quite a bit in the logic to apply the
gfeher
2010/12/16 10:42:04
I believe I've left the core logic unchanged. Neve
| |
| 13 namespace policy { | 14 namespace policy { |
| 14 | 15 |
| 15 // Holds a set of test parameters, consisting of pref name and policy type. | 16 // Holds a set of test parameters, consisting of pref name and policy type. |
| 16 class TypeAndName { | 17 class TypeAndName { |
| 17 public: | 18 public: |
| 18 TypeAndName(ConfigurationPolicyType type, const char* pref_name) | 19 TypeAndName(ConfigurationPolicyType type, const char* pref_name) |
| 19 : type_(type), | 20 : type_(type), |
| 20 pref_name_(pref_name) {} | 21 pref_name_(pref_name) {} |
| 21 | 22 |
| 22 ConfigurationPolicyType type() const { return type_; } | 23 ConfigurationPolicyType type() const { return type_; } |
| (...skipping 218 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 241 ConfigurationPolicyPrefStore store(provider.get()); | 242 ConfigurationPolicyPrefStore store(provider.get()); |
| 242 | 243 |
| 243 std::string string_result; | 244 std::string string_result; |
| 244 EXPECT_TRUE(store.prefs()->GetString(prefs::kProxyBypassList, | 245 EXPECT_TRUE(store.prefs()->GetString(prefs::kProxyBypassList, |
| 245 &string_result)); | 246 &string_result)); |
| 246 EXPECT_EQ("http://chromium.org/override", string_result); | 247 EXPECT_EQ("http://chromium.org/override", string_result); |
| 247 EXPECT_TRUE(store.prefs()->GetString(prefs::kProxyPacUrl, &string_result)); | 248 EXPECT_TRUE(store.prefs()->GetString(prefs::kProxyPacUrl, &string_result)); |
| 248 EXPECT_EQ("http://short.org/proxy.pac", string_result); | 249 EXPECT_EQ("http://short.org/proxy.pac", string_result); |
| 249 EXPECT_TRUE(store.prefs()->GetString(prefs::kProxyServer, &string_result)); | 250 EXPECT_TRUE(store.prefs()->GetString(prefs::kProxyServer, &string_result)); |
| 250 EXPECT_EQ("chromium.org", string_result); | 251 EXPECT_EQ("chromium.org", string_result); |
| 251 bool bool_result; | 252 int int_result = -1; |
| 252 EXPECT_TRUE(store.prefs()->GetBoolean(prefs::kNoProxyServer, &bool_result)); | 253 EXPECT_TRUE(store.prefs()->GetInteger(prefs::kProxyServerMode, &int_result)); |
| 253 EXPECT_FALSE(bool_result); | 254 EXPECT_EQ(PrefProxyConfigService::MANUAL, int_result); |
| 254 EXPECT_TRUE(store.prefs()->GetBoolean(prefs::kProxyAutoDetect, &bool_result)); | |
| 255 EXPECT_FALSE(bool_result); | |
| 256 } | 255 } |
| 257 | 256 |
| 258 TEST_F(ConfigurationPolicyPrefStoreProxyTest, NoProxy) { | 257 TEST_F(ConfigurationPolicyPrefStoreProxyTest, NoProxy) { |
| 259 scoped_ptr<MockConfigurationPolicyProvider> provider( | 258 scoped_ptr<MockConfigurationPolicyProvider> provider( |
| 260 new MockConfigurationPolicyProvider()); | 259 new MockConfigurationPolicyProvider()); |
| 261 provider->AddPolicy(kPolicyProxyBypassList, | 260 provider->AddPolicy(kPolicyProxyBypassList, |
| 262 Value::CreateStringValue("http://chromium.org/override")); | 261 Value::CreateStringValue("http://chromium.org/override")); |
| 263 provider->AddPolicy(kPolicyProxyServerMode, | 262 provider->AddPolicy(kPolicyProxyServerMode, |
| 264 Value::CreateIntegerValue( | 263 Value::CreateIntegerValue( |
| 265 kPolicyNoProxyServerMode)); | 264 kPolicyNoProxyServerMode)); |
| 266 | 265 |
| 267 ConfigurationPolicyPrefStore store(provider.get()); | 266 ConfigurationPolicyPrefStore store(provider.get()); |
| 268 | 267 |
| 269 std::string string_result; | 268 std::string string_result; |
| 270 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyBypassList, | 269 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyBypassList, |
| 271 &string_result)); | 270 &string_result)); |
| 272 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyPacUrl, &string_result)); | 271 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyPacUrl, &string_result)); |
| 273 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyServer, &string_result)); | 272 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyServer, &string_result)); |
| 274 bool bool_result; | 273 int int_result = -1; |
| 275 EXPECT_TRUE(store.prefs()->GetBoolean(prefs::kNoProxyServer, &bool_result)); | 274 EXPECT_TRUE(store.prefs()->GetInteger(prefs::kProxyServerMode, &int_result)); |
| 276 EXPECT_TRUE(bool_result); | 275 EXPECT_EQ(PrefProxyConfigService::DISABLED, int_result); |
| 277 EXPECT_TRUE(store.prefs()->GetBoolean(prefs::kProxyAutoDetect, &bool_result)); | |
| 278 EXPECT_FALSE(bool_result); | |
| 279 } | 276 } |
| 280 | 277 |
| 281 TEST_F(ConfigurationPolicyPrefStoreProxyTest, NoProxyReversedApplyOrder) { | 278 TEST_F(ConfigurationPolicyPrefStoreProxyTest, NoProxyReversedApplyOrder) { |
| 282 scoped_ptr<MockConfigurationPolicyProvider> provider( | 279 scoped_ptr<MockConfigurationPolicyProvider> provider( |
| 283 new MockConfigurationPolicyProvider()); | 280 new MockConfigurationPolicyProvider()); |
| 284 provider->AddPolicy(kPolicyProxyServerMode, | 281 provider->AddPolicy(kPolicyProxyServerMode, |
| 285 Value::CreateIntegerValue( | 282 Value::CreateIntegerValue( |
| 286 kPolicyNoProxyServerMode)); | 283 kPolicyNoProxyServerMode)); |
| 287 provider->AddPolicy(kPolicyProxyBypassList, | 284 provider->AddPolicy(kPolicyProxyBypassList, |
| 288 Value::CreateStringValue("http://chromium.org/override")); | 285 Value::CreateStringValue("http://chromium.org/override")); |
| 289 | 286 |
| 290 ConfigurationPolicyPrefStore store(provider.get()); | 287 ConfigurationPolicyPrefStore store(provider.get()); |
| 291 | 288 |
| 292 std::string string_result; | 289 std::string string_result; |
| 293 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyBypassList, | 290 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyBypassList, |
| 294 &string_result)); | 291 &string_result)); |
| 295 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyPacUrl, &string_result)); | 292 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyPacUrl, &string_result)); |
| 296 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyServer, &string_result)); | 293 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyServer, &string_result)); |
| 297 bool bool_result; | 294 int int_result = -1; |
| 298 EXPECT_TRUE(store.prefs()->GetBoolean(prefs::kNoProxyServer, &bool_result)); | 295 EXPECT_TRUE(store.prefs()->GetInteger(prefs::kProxyServerMode, &int_result)); |
| 299 EXPECT_TRUE(bool_result); | 296 EXPECT_EQ(PrefProxyConfigService::DISABLED, int_result); |
| 300 EXPECT_TRUE(store.prefs()->GetBoolean(prefs::kProxyAutoDetect, &bool_result)); | |
| 301 EXPECT_FALSE(bool_result); | |
| 302 } | 297 } |
| 303 | 298 |
| 304 TEST_F(ConfigurationPolicyPrefStoreProxyTest, AutoDetect) { | 299 TEST_F(ConfigurationPolicyPrefStoreProxyTest, AutoDetect) { |
| 305 scoped_ptr<MockConfigurationPolicyProvider> provider( | 300 scoped_ptr<MockConfigurationPolicyProvider> provider( |
| 306 new MockConfigurationPolicyProvider()); | 301 new MockConfigurationPolicyProvider()); |
| 307 provider->AddPolicy(kPolicyProxyServerMode, | 302 provider->AddPolicy(kPolicyProxyServerMode, |
| 308 Value::CreateIntegerValue( | 303 Value::CreateIntegerValue( |
| 309 kPolicyAutoDetectProxyMode)); | 304 kPolicyAutoDetectProxyMode)); |
| 310 | 305 |
| 311 ConfigurationPolicyPrefStore store(provider.get()); | 306 ConfigurationPolicyPrefStore store(provider.get()); |
| 312 | 307 |
| 313 std::string string_result; | 308 std::string string_result; |
| 314 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyBypassList, | 309 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyBypassList, |
| 315 &string_result)); | 310 &string_result)); |
| 316 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyPacUrl, &string_result)); | 311 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyPacUrl, &string_result)); |
| 317 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyServer, &string_result)); | 312 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyServer, &string_result)); |
| 318 bool bool_result; | 313 int int_result = -1; |
| 319 EXPECT_TRUE(store.prefs()->GetBoolean(prefs::kNoProxyServer, &bool_result)); | 314 EXPECT_TRUE(store.prefs()->GetInteger(prefs::kProxyServerMode, &int_result)); |
| 320 EXPECT_FALSE(bool_result); | 315 EXPECT_EQ(PrefProxyConfigService::AUTO_DETECT, int_result); |
| 321 EXPECT_TRUE(store.prefs()->GetBoolean(prefs::kProxyAutoDetect, &bool_result)); | |
| 322 EXPECT_TRUE(bool_result); | |
| 323 } | 316 } |
| 324 | 317 |
| 325 TEST_F(ConfigurationPolicyPrefStoreProxyTest, UseSystem) { | 318 TEST_F(ConfigurationPolicyPrefStoreProxyTest, UseSystem) { |
| 326 scoped_ptr<MockConfigurationPolicyProvider> provider( | 319 scoped_ptr<MockConfigurationPolicyProvider> provider( |
| 327 new MockConfigurationPolicyProvider()); | 320 new MockConfigurationPolicyProvider()); |
| 328 provider->AddPolicy(kPolicyProxyBypassList, | 321 provider->AddPolicy(kPolicyProxyBypassList, |
| 329 Value::CreateStringValue("http://chromium.org/override")); | 322 Value::CreateStringValue("http://chromium.org/override")); |
| 330 provider->AddPolicy(kPolicyProxyServerMode, | 323 provider->AddPolicy(kPolicyProxyServerMode, |
| 331 Value::CreateIntegerValue( | 324 Value::CreateIntegerValue( |
| 332 kPolicyUseSystemProxyMode)); | 325 kPolicyUseSystemProxyMode)); |
| 333 | 326 |
| 334 ConfigurationPolicyPrefStore store(provider.get()); | 327 ConfigurationPolicyPrefStore store(provider.get()); |
| 335 | 328 |
| 336 std::string string_result; | 329 std::string string_result; |
| 337 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyBypassList, | 330 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyBypassList, |
| 338 &string_result)); | 331 &string_result)); |
| 339 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyPacUrl, &string_result)); | 332 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyPacUrl, &string_result)); |
| 340 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyServer, &string_result)); | 333 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyServer, &string_result)); |
| 341 bool bool_result; | 334 int int_result = -1; |
| 342 EXPECT_FALSE(store.prefs()->GetBoolean(prefs::kNoProxyServer, &bool_result)); | 335 EXPECT_TRUE(store.prefs()->GetInteger(prefs::kProxyServerMode, &int_result)); |
| 343 EXPECT_FALSE(store.prefs()->GetBoolean(prefs::kProxyAutoDetect, | 336 EXPECT_EQ(PrefProxyConfigService::SYSTEM, int_result); |
| 344 &bool_result)); | |
| 345 } | 337 } |
| 346 | 338 |
| 347 TEST_F(ConfigurationPolicyPrefStoreProxyTest, UseSystemReversedApplyOrder) { | 339 TEST_F(ConfigurationPolicyPrefStoreProxyTest, UseSystemReversedApplyOrder) { |
| 348 scoped_ptr<MockConfigurationPolicyProvider> provider( | 340 scoped_ptr<MockConfigurationPolicyProvider> provider( |
| 349 new MockConfigurationPolicyProvider()); | 341 new MockConfigurationPolicyProvider()); |
| 350 provider->AddPolicy(kPolicyProxyServerMode, | 342 provider->AddPolicy(kPolicyProxyServerMode, |
| 351 Value::CreateIntegerValue( | 343 Value::CreateIntegerValue( |
| 352 kPolicyUseSystemProxyMode)); | 344 kPolicyUseSystemProxyMode)); |
| 353 provider->AddPolicy(kPolicyProxyBypassList, | 345 provider->AddPolicy(kPolicyProxyBypassList, |
| 354 Value::CreateStringValue("http://chromium.org/override")); | 346 Value::CreateStringValue("http://chromium.org/override")); |
| 355 | 347 |
| 356 ConfigurationPolicyPrefStore store(provider.get()); | 348 ConfigurationPolicyPrefStore store(provider.get()); |
| 357 | 349 |
| 358 std::string string_result; | 350 std::string string_result; |
| 359 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyBypassList, | 351 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyBypassList, |
| 360 &string_result)); | 352 &string_result)); |
| 361 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyPacUrl, &string_result)); | 353 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyPacUrl, &string_result)); |
| 362 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyServer, &string_result)); | 354 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyServer, &string_result)); |
| 363 bool bool_result; | 355 int int_result = -1; |
| 364 EXPECT_FALSE(store.prefs()->GetBoolean(prefs::kNoProxyServer, &bool_result)); | 356 EXPECT_TRUE(store.prefs()->GetInteger(prefs::kProxyServerMode, &int_result)); |
| 365 EXPECT_FALSE(store.prefs()->GetBoolean(prefs::kProxyAutoDetect, | 357 EXPECT_EQ(PrefProxyConfigService::SYSTEM, int_result); |
| 366 &bool_result)); | |
| 367 } | 358 } |
| 368 | 359 |
| 369 class ConfigurationPolicyPrefStoreDefaultSearchTest : public testing::Test { | 360 class ConfigurationPolicyPrefStoreDefaultSearchTest : public testing::Test { |
| 370 }; | 361 }; |
| 371 | 362 |
| 372 // Checks that if the policy for default search is valid, i.e. there's a | 363 // Checks that if the policy for default search is valid, i.e. there's a |
| 373 // search URL, that all the elements have been given proper defaults. | 364 // search URL, that all the elements have been given proper defaults. |
| 374 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, MinimallyDefined) { | 365 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, MinimallyDefined) { |
| 375 const char* const search_url = "http://test.com/search?t={searchTerms}"; | 366 const char* const search_url = "http://test.com/search?t={searchTerms}"; |
| 376 scoped_ptr<MockConfigurationPolicyProvider> provider( | 367 scoped_ptr<MockConfigurationPolicyProvider> provider( |
| (...skipping 245 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 622 | 613 |
| 623 TEST_F(ConfigurationPolicyPrefStoreAutoFillTest, Disabled) { | 614 TEST_F(ConfigurationPolicyPrefStoreAutoFillTest, Disabled) { |
| 624 store_.Apply(kPolicyAutoFillEnabled, Value::CreateBooleanValue(false)); | 615 store_.Apply(kPolicyAutoFillEnabled, Value::CreateBooleanValue(false)); |
| 625 // Disabling AutoFill should switch the pref to managed. | 616 // Disabling AutoFill should switch the pref to managed. |
| 626 bool result = true; | 617 bool result = true; |
| 627 EXPECT_TRUE(store_.prefs()->GetBoolean(prefs::kAutoFillEnabled, &result)); | 618 EXPECT_TRUE(store_.prefs()->GetBoolean(prefs::kAutoFillEnabled, &result)); |
| 628 EXPECT_FALSE(result); | 619 EXPECT_FALSE(result); |
| 629 } | 620 } |
| 630 | 621 |
| 631 } // namespace policy | 622 } // namespace policy |
| OLD | NEW |