Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(528)

Side by Side Diff: chrome/browser/policy/configuration_policy_pref_store_unittest.cc

Issue 5701003: Intorduce a separate preference for 'proxy server mode' (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix indentation nit Created 10 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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/policy/configuration_policy_pref_store.h" 8 #include "chrome/browser/policy/configuration_policy_pref_store.h"
9 #include "chrome/browser/policy/mock_configuration_policy_provider.h" 9 #include "chrome/browser/policy/mock_configuration_policy_provider.h"
10 #include "chrome/browser/prefs/proxy_prefs.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
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),
(...skipping 196 matching lines...) Expand 10 before | Expand all | Expand 10 after
216 217
217 INSTANTIATE_TEST_CASE_P( 218 INSTANTIATE_TEST_CASE_P(
218 ConfigurationPolicyPrefStoreIntegerTestInstance, 219 ConfigurationPolicyPrefStoreIntegerTestInstance,
219 ConfigurationPolicyPrefStoreIntegerTest, 220 ConfigurationPolicyPrefStoreIntegerTest,
220 testing::Values( 221 testing::Values(
221 TypeAndName(kPolicyRestoreOnStartup, 222 TypeAndName(kPolicyRestoreOnStartup,
222 prefs::kRestoreOnStartup))); 223 prefs::kRestoreOnStartup)));
223 224
224 // Test cases for the proxy policy settings. 225 // Test cases for the proxy policy settings.
225 class ConfigurationPolicyPrefStoreProxyTest : public testing::Test { 226 class ConfigurationPolicyPrefStoreProxyTest : public testing::Test {
227 protected:
228 // Verify that all the proxy prefs are set to the speicifed expected values.
Mattias Nissler (ping if slow) 2010/12/20 13:34:03 s/speicifed/specified/
battre (please use the other) 2010/12/21 14:18:18 Done.
229 void VerifyEnabledProxyPrefs(
Mattias Nissler (ping if slow) 2010/12/20 13:34:03 Looks like this could be static?
battre (please use the other) 2010/12/21 14:18:18 Done.
230 const ConfigurationPolicyPrefStore& store,
231 const std::string& expected_proxy_server,
232 const std::string& expected_proxy_pac_url,
233 const std::string& expected_proxy_bypass_list,
234 const ProxyPrefs::ProxyServerMode& expected_proxy_mode) {
235 std::string string_result;
236
237 EXPECT_TRUE(store.prefs()->GetString(prefs::kProxyServer, &string_result));
238 EXPECT_EQ(expected_proxy_server, string_result);
239 EXPECT_TRUE(store.prefs()->GetString(prefs::kProxyPacUrl, &string_result));
240 EXPECT_EQ(expected_proxy_pac_url, string_result);
241 EXPECT_TRUE(store.prefs()->GetString(prefs::kProxyBypassList,
242 &string_result));
243 EXPECT_EQ(expected_proxy_bypass_list, string_result);
244 int int_result = -1;
245 EXPECT_TRUE(
246 store.prefs()->GetInteger(prefs::kProxyServerMode, &int_result));
247 EXPECT_EQ(expected_proxy_mode, int_result);
248 }
249
250 // Verify that kProxyServerMode is set to its expected value, and all the
251 // other proxy prefs are unset.
252 void VerifyDisabledProxyPrefs(
Mattias Nissler (ping if slow) 2010/12/20 13:34:03 static?
battre (please use the other) 2010/12/21 14:18:18 Done.
253 const ConfigurationPolicyPrefStore& store,
254 const ProxyPrefs::ProxyServerMode& expected_proxy_mode) {
255 std::string string_result;
256 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyServer, &string_result));
257 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyPacUrl, &string_result));
258 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyBypassList,
259 &string_result));
260 int int_result = -1;
261 EXPECT_TRUE(
262 store.prefs()->GetInteger(prefs::kProxyServerMode, &int_result));
263 EXPECT_EQ(expected_proxy_mode, int_result);
264 }
265
266 void AddProxyPolicies(
Mattias Nissler (ping if slow) 2010/12/20 13:34:03 static?
battre (please use the other) 2010/12/21 14:18:18 Done.
267 MockConfigurationPolicyProvider* provider,
268 const std::string& proxy_server,
269 const std::string& proxy_pac_url,
270 const std::string& proxy_bypass_list) {
271 provider->AddPolicy(kPolicyProxyBypassList,
272 Value::CreateStringValue(proxy_bypass_list));
273 provider->AddPolicy(kPolicyProxyPacUrl,
274 Value::CreateStringValue(proxy_pac_url));
275 provider->AddPolicy(kPolicyProxyServer,
276 Value::CreateStringValue(proxy_server));
277 }
226 }; 278 };
227 279
228 TEST_F(ConfigurationPolicyPrefStoreProxyTest, ManualOptions) { 280 TEST_F(ConfigurationPolicyPrefStoreProxyTest, ManualOptions) {
229 scoped_ptr<MockConfigurationPolicyProvider> provider( 281 scoped_ptr<MockConfigurationPolicyProvider> provider(
230 new MockConfigurationPolicyProvider()); 282 new MockConfigurationPolicyProvider());
231 provider->AddPolicy(kPolicyProxyBypassList, 283 AddProxyPolicies(provider.get(),
232 Value::CreateStringValue("http://chromium.org/override")); 284 "chromium.org",
233 provider->AddPolicy(kPolicyProxyPacUrl, 285 "http://short.org/proxy.pac",
234 Value::CreateStringValue("http://short.org/proxy.pac")); 286 "http://chromium.org/override");
235 provider->AddPolicy(kPolicyProxyServer,
236 Value::CreateStringValue("chromium.org"));
237 provider->AddPolicy(kPolicyProxyServerMode, 287 provider->AddPolicy(kPolicyProxyServerMode,
238 Value::CreateIntegerValue( 288 Value::CreateIntegerValue(ProxyPrefs::MANUAL));
239 kPolicyManuallyConfiguredProxyMode));
240 289
241 ConfigurationPolicyPrefStore store(provider.get()); 290 ConfigurationPolicyPrefStore store(provider.get());
291 VerifyEnabledProxyPrefs(
292 store,
293 "chromium.org",
294 "http://short.org/proxy.pac",
295 "http://chromium.org/override",
296 ProxyPrefs::MANUAL);
297 }
242 298
243 std::string string_result; 299 TEST_F(ConfigurationPolicyPrefStoreProxyTest, ManualOptionsReversedApplyOrder) {
244 EXPECT_TRUE(store.prefs()->GetString(prefs::kProxyBypassList, 300 scoped_ptr<MockConfigurationPolicyProvider> provider(
245 &string_result)); 301 new MockConfigurationPolicyProvider());
246 EXPECT_EQ("http://chromium.org/override", string_result); 302 provider->AddPolicy(kPolicyProxyServerMode,
247 EXPECT_TRUE(store.prefs()->GetString(prefs::kProxyPacUrl, &string_result)); 303 Value::CreateIntegerValue(ProxyPrefs::MANUAL));
248 EXPECT_EQ("http://short.org/proxy.pac", string_result); 304 AddProxyPolicies(provider.get(),
249 EXPECT_TRUE(store.prefs()->GetString(prefs::kProxyServer, &string_result)); 305 "chromium.org",
250 EXPECT_EQ("chromium.org", string_result); 306 "http://short.org/proxy.pac",
251 bool bool_result; 307 "http://chromium.org/override");
252 EXPECT_TRUE(store.prefs()->GetBoolean(prefs::kNoProxyServer, &bool_result)); 308
253 EXPECT_FALSE(bool_result); 309 ConfigurationPolicyPrefStore store(provider.get());
254 EXPECT_TRUE(store.prefs()->GetBoolean(prefs::kProxyAutoDetect, &bool_result)); 310 VerifyEnabledProxyPrefs(
255 EXPECT_FALSE(bool_result); 311 store,
312 "chromium.org",
313 "http://short.org/proxy.pac",
314 "http://chromium.org/override",
315 ProxyPrefs::MANUAL);
256 } 316 }
257 317
258 TEST_F(ConfigurationPolicyPrefStoreProxyTest, NoProxy) { 318 TEST_F(ConfigurationPolicyPrefStoreProxyTest, NoProxy) {
259 scoped_ptr<MockConfigurationPolicyProvider> provider( 319 scoped_ptr<MockConfigurationPolicyProvider> provider(
260 new MockConfigurationPolicyProvider()); 320 new MockConfigurationPolicyProvider());
261 provider->AddPolicy(kPolicyProxyBypassList, 321 AddProxyPolicies(provider.get(),
262 Value::CreateStringValue("http://chromium.org/override")); 322 "chromium.org",
323 "http://short.org/proxy.pac",
324 "http://chromium.org/override");
263 provider->AddPolicy(kPolicyProxyServerMode, 325 provider->AddPolicy(kPolicyProxyServerMode,
264 Value::CreateIntegerValue( 326 Value::CreateIntegerValue(ProxyPrefs::DISABLED));
265 kPolicyNoProxyServerMode));
266 327
267 ConfigurationPolicyPrefStore store(provider.get()); 328 ConfigurationPolicyPrefStore store(provider.get());
268 329 VerifyDisabledProxyPrefs(store, ProxyPrefs::DISABLED);
269 std::string string_result;
270 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyBypassList,
271 &string_result));
272 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyPacUrl, &string_result));
273 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyServer, &string_result));
274 bool bool_result;
275 EXPECT_TRUE(store.prefs()->GetBoolean(prefs::kNoProxyServer, &bool_result));
276 EXPECT_TRUE(bool_result);
277 EXPECT_TRUE(store.prefs()->GetBoolean(prefs::kProxyAutoDetect, &bool_result));
278 EXPECT_FALSE(bool_result);
279 } 330 }
280 331
281 TEST_F(ConfigurationPolicyPrefStoreProxyTest, NoProxyReversedApplyOrder) { 332 TEST_F(ConfigurationPolicyPrefStoreProxyTest, NoProxyReversedApplyOrder) {
282 scoped_ptr<MockConfigurationPolicyProvider> provider( 333 scoped_ptr<MockConfigurationPolicyProvider> provider(
283 new MockConfigurationPolicyProvider()); 334 new MockConfigurationPolicyProvider());
284 provider->AddPolicy(kPolicyProxyServerMode, 335 provider->AddPolicy(kPolicyProxyServerMode,
285 Value::CreateIntegerValue( 336 Value::CreateIntegerValue(ProxyPrefs::DISABLED));
286 kPolicyNoProxyServerMode)); 337 AddProxyPolicies(provider.get(),
287 provider->AddPolicy(kPolicyProxyBypassList, 338 "chromium.org",
288 Value::CreateStringValue("http://chromium.org/override")); 339 "http://short.org/proxy.pac",
340 "http://chromium.org/override");
289 341
290 ConfigurationPolicyPrefStore store(provider.get()); 342 ConfigurationPolicyPrefStore store(provider.get());
291 343 VerifyDisabledProxyPrefs(store, ProxyPrefs::DISABLED);
292 std::string string_result;
293 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyBypassList,
294 &string_result));
295 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyPacUrl, &string_result));
296 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyServer, &string_result));
297 bool bool_result;
298 EXPECT_TRUE(store.prefs()->GetBoolean(prefs::kNoProxyServer, &bool_result));
299 EXPECT_TRUE(bool_result);
300 EXPECT_TRUE(store.prefs()->GetBoolean(prefs::kProxyAutoDetect, &bool_result));
301 EXPECT_FALSE(bool_result);
302 } 344 }
303 345
304 TEST_F(ConfigurationPolicyPrefStoreProxyTest, AutoDetect) { 346 TEST_F(ConfigurationPolicyPrefStoreProxyTest, AutoDetect) {
305 scoped_ptr<MockConfigurationPolicyProvider> provider( 347 scoped_ptr<MockConfigurationPolicyProvider> provider(
306 new MockConfigurationPolicyProvider()); 348 new MockConfigurationPolicyProvider());
349 AddProxyPolicies(provider.get(),
350 "chromium.org",
351 "http://short.org/proxy.pac",
352 "http://chromium.org/override");
307 provider->AddPolicy(kPolicyProxyServerMode, 353 provider->AddPolicy(kPolicyProxyServerMode,
308 Value::CreateIntegerValue( 354 Value::CreateIntegerValue(ProxyPrefs::AUTO_DETECT));
309 kPolicyAutoDetectProxyMode));
310 355
311 ConfigurationPolicyPrefStore store(provider.get()); 356 ConfigurationPolicyPrefStore store(provider.get());
357 VerifyEnabledProxyPrefs(
358 store,
359 "chromium.org",
360 "http://short.org/proxy.pac",
361 "http://chromium.org/override",
362 ProxyPrefs::AUTO_DETECT);
363 }
312 364
313 std::string string_result; 365 TEST_F(ConfigurationPolicyPrefStoreProxyTest, AutoDetectReversedApplyOrder) {
314 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyBypassList, 366 scoped_ptr<MockConfigurationPolicyProvider> provider(
315 &string_result)); 367 new MockConfigurationPolicyProvider());
316 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyPacUrl, &string_result)); 368 provider->AddPolicy(kPolicyProxyServerMode,
317 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyServer, &string_result)); 369 Value::CreateIntegerValue(ProxyPrefs::AUTO_DETECT));
318 bool bool_result; 370 AddProxyPolicies(provider.get(),
319 EXPECT_TRUE(store.prefs()->GetBoolean(prefs::kNoProxyServer, &bool_result)); 371 "chromium.org",
320 EXPECT_FALSE(bool_result); 372 "http://short.org/proxy.pac",
321 EXPECT_TRUE(store.prefs()->GetBoolean(prefs::kProxyAutoDetect, &bool_result)); 373 "http://chromium.org/override");
322 EXPECT_TRUE(bool_result); 374
375 ConfigurationPolicyPrefStore store(provider.get());
376 VerifyEnabledProxyPrefs(
377 store,
378 "chromium.org",
379 "http://short.org/proxy.pac",
380 "http://chromium.org/override",
381 ProxyPrefs::AUTO_DETECT);
323 } 382 }
324 383
325 TEST_F(ConfigurationPolicyPrefStoreProxyTest, UseSystem) { 384 TEST_F(ConfigurationPolicyPrefStoreProxyTest, UseSystem) {
326 scoped_ptr<MockConfigurationPolicyProvider> provider( 385 scoped_ptr<MockConfigurationPolicyProvider> provider(
327 new MockConfigurationPolicyProvider()); 386 new MockConfigurationPolicyProvider());
328 provider->AddPolicy(kPolicyProxyBypassList, 387 AddProxyPolicies(provider.get(),
329 Value::CreateStringValue("http://chromium.org/override")); 388 "chromium.org",
389 "http://short.org/proxy.pac",
390 "http://chromium.org/override");
330 provider->AddPolicy(kPolicyProxyServerMode, 391 provider->AddPolicy(kPolicyProxyServerMode,
331 Value::CreateIntegerValue( 392 Value::CreateIntegerValue(ProxyPrefs::SYSTEM));
332 kPolicyUseSystemProxyMode));
333 393
334 ConfigurationPolicyPrefStore store(provider.get()); 394 ConfigurationPolicyPrefStore store(provider.get());
335 395 VerifyDisabledProxyPrefs(store, ProxyPrefs::SYSTEM);
336 std::string string_result;
337 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyBypassList,
338 &string_result));
339 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyPacUrl, &string_result));
340 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyServer, &string_result));
341 bool bool_result;
342 EXPECT_FALSE(store.prefs()->GetBoolean(prefs::kNoProxyServer, &bool_result));
343 EXPECT_FALSE(store.prefs()->GetBoolean(prefs::kProxyAutoDetect,
344 &bool_result));
345 } 396 }
346 397
347 TEST_F(ConfigurationPolicyPrefStoreProxyTest, UseSystemReversedApplyOrder) { 398 TEST_F(ConfigurationPolicyPrefStoreProxyTest, UseSystemReversedApplyOrder) {
348 scoped_ptr<MockConfigurationPolicyProvider> provider( 399 scoped_ptr<MockConfigurationPolicyProvider> provider(
349 new MockConfigurationPolicyProvider()); 400 new MockConfigurationPolicyProvider());
350 provider->AddPolicy(kPolicyProxyServerMode, 401 provider->AddPolicy(kPolicyProxyServerMode,
351 Value::CreateIntegerValue( 402 Value::CreateIntegerValue(ProxyPrefs::SYSTEM));
352 kPolicyUseSystemProxyMode)); 403 AddProxyPolicies(provider.get(),
353 provider->AddPolicy(kPolicyProxyBypassList, 404 "chromium.org",
354 Value::CreateStringValue("http://chromium.org/override")); 405 "http://short.org/proxy.pac",
406 "http://chromium.org/override");
355 407
356 ConfigurationPolicyPrefStore store(provider.get()); 408 ConfigurationPolicyPrefStore store(provider.get());
357 409 VerifyDisabledProxyPrefs(store, ProxyPrefs::SYSTEM);
358 std::string string_result;
359 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyBypassList,
360 &string_result));
361 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyPacUrl, &string_result));
362 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyServer, &string_result));
363 bool bool_result;
364 EXPECT_FALSE(store.prefs()->GetBoolean(prefs::kNoProxyServer, &bool_result));
365 EXPECT_FALSE(store.prefs()->GetBoolean(prefs::kProxyAutoDetect,
366 &bool_result));
367 } 410 }
368 411
369 class ConfigurationPolicyPrefStoreDefaultSearchTest : public testing::Test { 412 class ConfigurationPolicyPrefStoreDefaultSearchTest : public testing::Test {
370 }; 413 };
371 414
372 // Checks that if the policy for default search is valid, i.e. there's a 415 // 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. 416 // search URL, that all the elements have been given proper defaults.
374 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, MinimallyDefined) { 417 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, MinimallyDefined) {
375 const char* const search_url = "http://test.com/search?t={searchTerms}"; 418 const char* const search_url = "http://test.com/search?t={searchTerms}";
376 scoped_ptr<MockConfigurationPolicyProvider> provider( 419 scoped_ptr<MockConfigurationPolicyProvider> provider(
(...skipping 245 matching lines...) Expand 10 before | Expand all | Expand 10 after
622 665
623 TEST_F(ConfigurationPolicyPrefStoreAutoFillTest, Disabled) { 666 TEST_F(ConfigurationPolicyPrefStoreAutoFillTest, Disabled) {
624 store_.Apply(kPolicyAutoFillEnabled, Value::CreateBooleanValue(false)); 667 store_.Apply(kPolicyAutoFillEnabled, Value::CreateBooleanValue(false));
625 // Disabling AutoFill should switch the pref to managed. 668 // Disabling AutoFill should switch the pref to managed.
626 bool result = true; 669 bool result = true;
627 EXPECT_TRUE(store_.prefs()->GetBoolean(prefs::kAutoFillEnabled, &result)); 670 EXPECT_TRUE(store_.prefs()->GetBoolean(prefs::kAutoFillEnabled, &result));
628 EXPECT_FALSE(result); 671 EXPECT_FALSE(result);
629 } 672 }
630 673
631 } // namespace policy 674 } // namespace policy
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698