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 |