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 "base/file_path.h" | 5 #include "base/file_path.h" |
6 #include "chrome/browser/policy/configuration_policy_pref_store.h" | 6 #include "chrome/browser/policy/configuration_policy_pref_store.h" |
7 #include "chrome/browser/policy/mock_configuration_policy_provider.h" | 7 #include "chrome/browser/policy/mock_configuration_policy_provider.h" |
8 #include "chrome/browser/prefs/proxy_prefs.h" | 8 #include "chrome/browser/prefs/proxy_prefs.h" |
9 #include "chrome/common/chrome_switches.h" | 9 #include "chrome/common/chrome_switches.h" |
10 #include "chrome/common/notification_service.h" | 10 #include "chrome/common/notification_service.h" |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
64 Value* value; | 64 Value* value; |
65 EXPECT_EQ(PrefStore::READ_OK, | 65 EXPECT_EQ(PrefStore::READ_OK, |
66 store_.GetValue(GetParam().pref_name(), &value)); | 66 store_.GetValue(GetParam().pref_name(), &value)); |
67 EXPECT_TRUE(in_value->Equals(value)); | 67 EXPECT_TRUE(in_value->Equals(value)); |
68 } | 68 } |
69 | 69 |
70 INSTANTIATE_TEST_CASE_P( | 70 INSTANTIATE_TEST_CASE_P( |
71 ConfigurationPolicyPrefStoreListTestInstance, | 71 ConfigurationPolicyPrefStoreListTestInstance, |
72 ConfigurationPolicyPrefStoreListTest, | 72 ConfigurationPolicyPrefStoreListTest, |
73 testing::Values( | 73 testing::Values( |
74 TypeAndName(kPolicyURLsToRestoreOnStartup, | 74 TypeAndName(kPolicyRestoreOnStartupURLs, |
75 prefs::kURLsToRestoreOnStartup), | 75 prefs::kURLsToRestoreOnStartup), |
76 TypeAndName(kPolicyExtensionInstallAllowList, | 76 TypeAndName(kPolicyExtensionInstallWhitelist, |
77 prefs::kExtensionInstallAllowList), | 77 prefs::kExtensionInstallAllowList), |
78 TypeAndName(kPolicyExtensionInstallDenyList, | 78 TypeAndName(kPolicyExtensionInstallBlacklist, |
79 prefs::kExtensionInstallDenyList), | 79 prefs::kExtensionInstallDenyList), |
80 TypeAndName(kPolicyDisabledPlugins, | 80 TypeAndName(kPolicyDisabledPlugins, |
81 prefs::kPluginsPluginsBlacklist))); | 81 prefs::kPluginsPluginsBlacklist))); |
82 | 82 |
83 // Test cases for string-valued policy settings. | 83 // Test cases for string-valued policy settings. |
84 class ConfigurationPolicyPrefStoreStringTest | 84 class ConfigurationPolicyPrefStoreStringTest |
85 : public ConfigurationPolicyPrefStoreTestBase< | 85 : public ConfigurationPolicyPrefStoreTestBase< |
86 testing::TestWithParam<TypeAndName> > { | 86 testing::TestWithParam<TypeAndName> > { |
87 }; | 87 }; |
88 | 88 |
89 TEST_P(ConfigurationPolicyPrefStoreStringTest, GetDefault) { | 89 TEST_P(ConfigurationPolicyPrefStoreStringTest, GetDefault) { |
90 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 90 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
91 store_.GetValue(GetParam().pref_name(), NULL)); | 91 store_.GetValue(GetParam().pref_name(), NULL)); |
92 } | 92 } |
93 | 93 |
94 TEST_P(ConfigurationPolicyPrefStoreStringTest, SetValue) { | 94 TEST_P(ConfigurationPolicyPrefStoreStringTest, SetValue) { |
95 provider_.AddPolicy(GetParam().type(), | 95 provider_.AddPolicy(GetParam().type(), |
96 Value::CreateStringValue("http://chromium.org")); | 96 Value::CreateStringValue("http://chromium.org")); |
97 store_.OnUpdatePolicy(); | 97 store_.OnUpdatePolicy(); |
98 Value* value; | 98 Value* value; |
99 EXPECT_EQ(PrefStore::READ_OK, | 99 EXPECT_EQ(PrefStore::READ_OK, |
100 store_.GetValue(GetParam().pref_name(), &value)); | 100 store_.GetValue(GetParam().pref_name(), &value)); |
101 EXPECT_TRUE(StringValue("http://chromium.org").Equals(value)); | 101 EXPECT_TRUE(StringValue("http://chromium.org").Equals(value)); |
102 } | 102 } |
103 | 103 |
104 INSTANTIATE_TEST_CASE_P( | 104 INSTANTIATE_TEST_CASE_P( |
105 ConfigurationPolicyPrefStoreStringTestInstance, | 105 ConfigurationPolicyPrefStoreStringTestInstance, |
106 ConfigurationPolicyPrefStoreStringTest, | 106 ConfigurationPolicyPrefStoreStringTest, |
107 testing::Values( | 107 testing::Values( |
108 TypeAndName(kPolicyHomePage, | 108 TypeAndName(kPolicyHomepageLocation, |
109 prefs::kHomePage), | 109 prefs::kHomePage), |
110 TypeAndName(kPolicyApplicationLocale, | 110 TypeAndName(kPolicyApplicationLocaleValue, |
111 prefs::kApplicationLocale), | 111 prefs::kApplicationLocale), |
112 TypeAndName(kPolicyApplicationLocale, | 112 TypeAndName(kPolicyApplicationLocaleValue, |
113 prefs::kApplicationLocale), | 113 prefs::kApplicationLocale), |
114 TypeAndName(kPolicyAuthSchemes, | 114 TypeAndName(kPolicyAuthSchemes, |
115 prefs::kAuthSchemes), | 115 prefs::kAuthSchemes), |
116 TypeAndName(kPolicyAuthServerWhitelist, | 116 TypeAndName(kPolicyAuthServerWhitelist, |
117 prefs::kAuthServerWhitelist), | 117 prefs::kAuthServerWhitelist), |
118 TypeAndName(kPolicyAuthNegotiateDelegateWhitelist, | 118 TypeAndName(kPolicyAuthNegotiateDelegateWhitelist, |
119 prefs::kAuthNegotiateDelegateWhitelist), | 119 prefs::kAuthNegotiateDelegateWhitelist), |
120 TypeAndName(kPolicyGSSAPILibraryName, | 120 TypeAndName(kPolicyGSSAPILibraryName, |
121 prefs::kGSSAPILibraryName))); | 121 prefs::kGSSAPILibraryName))); |
122 | 122 |
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
263 EXPECT_TRUE(FundamentalValue(expected_proxy_mode).Equals(value)); | 263 EXPECT_TRUE(FundamentalValue(expected_proxy_mode).Equals(value)); |
264 } | 264 } |
265 }; | 265 }; |
266 | 266 |
267 TEST_F(ConfigurationPolicyPrefStoreProxyTest, ManualOptions) { | 267 TEST_F(ConfigurationPolicyPrefStoreProxyTest, ManualOptions) { |
268 MockConfigurationPolicyProvider provider; | 268 MockConfigurationPolicyProvider provider; |
269 provider.AddPolicy(kPolicyProxyBypassList, | 269 provider.AddPolicy(kPolicyProxyBypassList, |
270 Value::CreateStringValue("http://chromium.org/override")); | 270 Value::CreateStringValue("http://chromium.org/override")); |
271 provider.AddPolicy(kPolicyProxyServer, | 271 provider.AddPolicy(kPolicyProxyServer, |
272 Value::CreateStringValue("chromium.org")); | 272 Value::CreateStringValue("chromium.org")); |
273 provider.AddPolicy(kPolicyProxyMode, | 273 provider.AddPolicy(kPolicyProxyServerMode, |
274 Value::CreateIntegerValue( | 274 Value::CreateIntegerValue( |
275 kPolicyManuallyConfiguredProxyMode)); | 275 kPolicyManuallyConfiguredProxyMode)); |
276 | 276 |
277 ConfigurationPolicyPrefStore store(&provider); | 277 ConfigurationPolicyPrefStore store(&provider); |
278 VerifyProxyPrefs( | 278 VerifyProxyPrefs( |
279 store, "chromium.org", "", "http://chromium.org/override", | 279 store, "chromium.org", "", "http://chromium.org/override", |
280 ProxyPrefs::MODE_FIXED_SERVERS); | 280 ProxyPrefs::MODE_FIXED_SERVERS); |
281 } | 281 } |
282 | 282 |
283 TEST_F(ConfigurationPolicyPrefStoreProxyTest, ManualOptionsReversedApplyOrder) { | 283 TEST_F(ConfigurationPolicyPrefStoreProxyTest, ManualOptionsReversedApplyOrder) { |
284 MockConfigurationPolicyProvider provider; | 284 MockConfigurationPolicyProvider provider; |
285 provider.AddPolicy(kPolicyProxyMode, | 285 provider.AddPolicy(kPolicyProxyServerMode, |
286 Value::CreateIntegerValue( | 286 Value::CreateIntegerValue( |
287 kPolicyManuallyConfiguredProxyMode)); | 287 kPolicyManuallyConfiguredProxyMode)); |
288 provider.AddPolicy(kPolicyProxyBypassList, | 288 provider.AddPolicy(kPolicyProxyBypassList, |
289 Value::CreateStringValue("http://chromium.org/override")); | 289 Value::CreateStringValue("http://chromium.org/override")); |
290 provider.AddPolicy(kPolicyProxyServer, | 290 provider.AddPolicy(kPolicyProxyServer, |
291 Value::CreateStringValue("chromium.org")); | 291 Value::CreateStringValue("chromium.org")); |
292 | 292 |
293 ConfigurationPolicyPrefStore store(&provider); | 293 ConfigurationPolicyPrefStore store(&provider); |
294 VerifyProxyPrefs( | 294 VerifyProxyPrefs( |
295 store, "chromium.org", "", "http://chromium.org/override", | 295 store, "chromium.org", "", "http://chromium.org/override", |
296 ProxyPrefs::MODE_FIXED_SERVERS); | 296 ProxyPrefs::MODE_FIXED_SERVERS); |
297 } | 297 } |
298 | 298 |
299 TEST_F(ConfigurationPolicyPrefStoreProxyTest, NoProxy) { | 299 TEST_F(ConfigurationPolicyPrefStoreProxyTest, NoProxy) { |
300 MockConfigurationPolicyProvider provider; | 300 MockConfigurationPolicyProvider provider; |
301 provider.AddPolicy(kPolicyProxyMode, | 301 provider.AddPolicy(kPolicyProxyServerMode, |
302 Value::CreateIntegerValue(kPolicyNoProxyServerMode)); | 302 Value::CreateIntegerValue(kPolicyNoProxyServerMode)); |
303 | 303 |
304 ConfigurationPolicyPrefStore store(&provider); | 304 ConfigurationPolicyPrefStore store(&provider); |
305 VerifyProxyPrefs(store, "", "", "", ProxyPrefs::MODE_DIRECT); | 305 VerifyProxyPrefs(store, "", "", "", ProxyPrefs::MODE_DIRECT); |
306 } | 306 } |
307 | 307 |
308 TEST_F(ConfigurationPolicyPrefStoreProxyTest, AutoDetect) { | 308 TEST_F(ConfigurationPolicyPrefStoreProxyTest, AutoDetect) { |
309 MockConfigurationPolicyProvider provider; | 309 MockConfigurationPolicyProvider provider; |
310 provider.AddPolicy(kPolicyProxyMode, | 310 provider.AddPolicy(kPolicyProxyServerMode, |
311 Value::CreateIntegerValue(kPolicyAutoDetectProxyMode)); | 311 Value::CreateIntegerValue(kPolicyAutoDetectProxyMode)); |
312 | 312 |
313 ConfigurationPolicyPrefStore store(&provider); | 313 ConfigurationPolicyPrefStore store(&provider); |
314 VerifyProxyPrefs(store, "", "", "", ProxyPrefs::MODE_AUTO_DETECT); | 314 VerifyProxyPrefs(store, "", "", "", ProxyPrefs::MODE_AUTO_DETECT); |
315 } | 315 } |
316 | 316 |
317 TEST_F(ConfigurationPolicyPrefStoreProxyTest, AutoDetectPac) { | 317 TEST_F(ConfigurationPolicyPrefStoreProxyTest, AutoDetectPac) { |
318 MockConfigurationPolicyProvider provider; | 318 MockConfigurationPolicyProvider provider; |
319 provider.AddPolicy(kPolicyProxyPacUrl, | 319 provider.AddPolicy(kPolicyProxyPacUrl, |
320 Value::CreateStringValue("http://short.org/proxy.pac")); | 320 Value::CreateStringValue("http://short.org/proxy.pac")); |
321 provider.AddPolicy( | 321 provider.AddPolicy( |
322 kPolicyProxyMode, | 322 kPolicyProxyServerMode, |
323 Value::CreateIntegerValue(kPolicyManuallyConfiguredProxyMode)); | 323 Value::CreateIntegerValue(kPolicyManuallyConfiguredProxyMode)); |
324 | 324 |
325 ConfigurationPolicyPrefStore store(&provider); | 325 ConfigurationPolicyPrefStore store(&provider); |
326 VerifyProxyPrefs( | 326 VerifyProxyPrefs( |
327 store, "", "http://short.org/proxy.pac", "", ProxyPrefs::MODE_PAC_SCRIPT); | 327 store, "", "http://short.org/proxy.pac", "", ProxyPrefs::MODE_PAC_SCRIPT); |
328 } | 328 } |
329 | 329 |
330 TEST_F(ConfigurationPolicyPrefStoreProxyTest, UseSystem) { | 330 TEST_F(ConfigurationPolicyPrefStoreProxyTest, UseSystem) { |
331 MockConfigurationPolicyProvider provider; | 331 MockConfigurationPolicyProvider provider; |
332 provider.AddPolicy(kPolicyProxyMode, | 332 provider.AddPolicy(kPolicyProxyServerMode, |
333 Value::CreateIntegerValue(kPolicyUseSystemProxyMode)); | 333 Value::CreateIntegerValue(kPolicyUseSystemProxyMode)); |
334 | 334 |
335 ConfigurationPolicyPrefStore store(&provider); | 335 ConfigurationPolicyPrefStore store(&provider); |
336 VerifyProxyPrefs(store, "", "", "", ProxyPrefs::MODE_SYSTEM); | 336 VerifyProxyPrefs(store, "", "", "", ProxyPrefs::MODE_SYSTEM); |
337 } | 337 } |
338 | 338 |
339 TEST_F(ConfigurationPolicyPrefStoreProxyTest, ProxyInvalid) { | 339 TEST_F(ConfigurationPolicyPrefStoreProxyTest, ProxyInvalid) { |
340 for (int i = 0; i < MODE_COUNT; ++i) { | 340 for (int i = 0; i < MODE_COUNT; ++i) { |
341 MockConfigurationPolicyProvider provider; | 341 MockConfigurationPolicyProvider provider; |
342 provider.AddPolicy(kPolicyProxyMode, Value::CreateIntegerValue(i)); | 342 provider.AddPolicy(kPolicyProxyServerMode, Value::CreateIntegerValue(i)); |
343 // No mode expects all three parameters being set. | 343 // No mode expects all three parameters being set. |
344 provider.AddPolicy(kPolicyProxyPacUrl, | 344 provider.AddPolicy(kPolicyProxyPacUrl, |
345 Value::CreateStringValue("http://short.org/proxy.pac")); | 345 Value::CreateStringValue("http://short.org/proxy.pac")); |
346 provider.AddPolicy(kPolicyProxyBypassList, | 346 provider.AddPolicy(kPolicyProxyBypassList, |
347 Value::CreateStringValue( | 347 Value::CreateStringValue( |
348 "http://chromium.org/override")); | 348 "http://chromium.org/override")); |
349 provider.AddPolicy(kPolicyProxyServer, | 349 provider.AddPolicy(kPolicyProxyServer, |
350 Value::CreateStringValue("chromium.org")); | 350 Value::CreateStringValue("chromium.org")); |
351 | 351 |
352 ConfigurationPolicyPrefStore store(&provider); | 352 ConfigurationPolicyPrefStore store(&provider); |
(...skipping 245 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
598 | 598 |
599 PrefStoreObserverMock observer_; | 599 PrefStoreObserverMock observer_; |
600 }; | 600 }; |
601 | 601 |
602 TEST_F(ConfigurationPolicyPrefStoreRefreshTest, Refresh) { | 602 TEST_F(ConfigurationPolicyPrefStoreRefreshTest, Refresh) { |
603 Value* value = NULL; | 603 Value* value = NULL; |
604 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 604 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
605 store_.GetValue(prefs::kHomePage, NULL)); | 605 store_.GetValue(prefs::kHomePage, NULL)); |
606 | 606 |
607 EXPECT_CALL(observer_, OnPrefValueChanged(prefs::kHomePage)).Times(1); | 607 EXPECT_CALL(observer_, OnPrefValueChanged(prefs::kHomePage)).Times(1); |
608 provider_.AddPolicy(kPolicyHomePage, | 608 provider_.AddPolicy(kPolicyHomepageLocation, |
609 Value::CreateStringValue("http://www.chromium.org")); | 609 Value::CreateStringValue("http://www.chromium.org")); |
610 store_.OnUpdatePolicy(); | 610 store_.OnUpdatePolicy(); |
611 Mock::VerifyAndClearExpectations(&observer_); | 611 Mock::VerifyAndClearExpectations(&observer_); |
612 EXPECT_EQ(PrefStore::READ_OK, | 612 EXPECT_EQ(PrefStore::READ_OK, |
613 store_.GetValue(prefs::kHomePage, &value)); | 613 store_.GetValue(prefs::kHomePage, &value)); |
614 EXPECT_TRUE(StringValue("http://www.chromium.org").Equals(value)); | 614 EXPECT_TRUE(StringValue("http://www.chromium.org").Equals(value)); |
615 | 615 |
616 EXPECT_CALL(observer_, OnPrefValueChanged(_)).Times(0); | 616 EXPECT_CALL(observer_, OnPrefValueChanged(_)).Times(0); |
617 store_.OnUpdatePolicy(); | 617 store_.OnUpdatePolicy(); |
618 Mock::VerifyAndClearExpectations(&observer_); | 618 Mock::VerifyAndClearExpectations(&observer_); |
619 | 619 |
620 EXPECT_CALL(observer_, OnPrefValueChanged(prefs::kHomePage)).Times(1); | 620 EXPECT_CALL(observer_, OnPrefValueChanged(prefs::kHomePage)).Times(1); |
621 provider_.RemovePolicy(kPolicyHomePage); | 621 provider_.RemovePolicy(kPolicyHomepageLocation); |
622 store_.OnUpdatePolicy(); | 622 store_.OnUpdatePolicy(); |
623 Mock::VerifyAndClearExpectations(&observer_); | 623 Mock::VerifyAndClearExpectations(&observer_); |
624 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 624 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
625 store_.GetValue(prefs::kHomePage, NULL)); | 625 store_.GetValue(prefs::kHomePage, NULL)); |
626 } | 626 } |
627 | 627 |
628 TEST_F(ConfigurationPolicyPrefStoreRefreshTest, Initialization) { | 628 TEST_F(ConfigurationPolicyPrefStoreRefreshTest, Initialization) { |
629 EXPECT_FALSE(store_.IsInitializationComplete()); | 629 EXPECT_FALSE(store_.IsInitializationComplete()); |
630 | 630 |
631 EXPECT_CALL(observer_, OnInitializationCompleted()).Times(1); | 631 EXPECT_CALL(observer_, OnInitializationCompleted()).Times(1); |
632 | 632 |
633 provider_.SetInitializationComplete(true); | 633 provider_.SetInitializationComplete(true); |
634 EXPECT_FALSE(store_.IsInitializationComplete()); | 634 EXPECT_FALSE(store_.IsInitializationComplete()); |
635 | 635 |
636 store_.OnUpdatePolicy(); | 636 store_.OnUpdatePolicy(); |
637 Mock::VerifyAndClearExpectations(&observer_); | 637 Mock::VerifyAndClearExpectations(&observer_); |
638 EXPECT_TRUE(store_.IsInitializationComplete()); | 638 EXPECT_TRUE(store_.IsInitializationComplete()); |
639 } | 639 } |
640 | 640 |
641 } // namespace policy | 641 } // namespace policy |
OLD | NEW |