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" |
11 #include "chrome/browser/policy/mock_configuration_policy_provider.h" | 11 #include "chrome/browser/policy/mock_configuration_policy_provider.h" |
12 #include "chrome/browser/prefs/incognito_mode_prefs.h" | 12 #include "chrome/browser/prefs/incognito_mode_prefs.h" |
13 #include "chrome/browser/prefs/proxy_config_dictionary.h" | 13 #include "chrome/browser/prefs/proxy_config_dictionary.h" |
14 #include "chrome/common/content_settings.h" | 14 #include "chrome/common/content_settings.h" |
15 #include "chrome/common/pref_names.h" | 15 #include "chrome/common/pref_names.h" |
16 #include "chrome/common/pref_store_observer_mock.h" | 16 #include "chrome/common/pref_store_observer_mock.h" |
17 #include "policy/policy_constants.h" | 17 #include "policy/policy_constants.h" |
18 #include "testing/gmock/include/gmock/gmock.h" | 18 #include "testing/gmock/include/gmock/gmock.h" |
19 #include "testing/gtest/include/gtest/gtest.h" | 19 #include "testing/gtest/include/gtest/gtest.h" |
20 | 20 |
21 using testing::Mock; | |
21 using testing::_; | 22 using testing::_; |
22 using testing::Mock; | |
23 | 23 |
24 namespace policy { | 24 namespace policy { |
25 | 25 |
26 // Holds a set of test parameters, consisting of pref name and policy name. | 26 // Holds a set of test parameters, consisting of pref name and policy name. |
27 class PolicyAndPref { | 27 class PolicyAndPref { |
28 public: | 28 public: |
29 PolicyAndPref(const char* policy_name, const char* pref_name) | 29 PolicyAndPref(const char* policy_name, const char* pref_name) |
30 : policy_name_(policy_name), | 30 : policy_name_(policy_name), |
31 pref_name_(pref_name) {} | 31 pref_name_(pref_name) {} |
32 | 32 |
(...skipping 21 matching lines...) Expand all Loading... | |
54 : public ConfigurationPolicyPrefStoreTestBase< | 54 : public ConfigurationPolicyPrefStoreTestBase< |
55 testing::TestWithParam<PolicyAndPref> > { | 55 testing::TestWithParam<PolicyAndPref> > { |
56 }; | 56 }; |
57 | 57 |
58 TEST_P(ConfigurationPolicyPrefStoreListTest, GetDefault) { | 58 TEST_P(ConfigurationPolicyPrefStoreListTest, GetDefault) { |
59 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 59 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
60 store_->GetValue(GetParam().pref_name(), NULL)); | 60 store_->GetValue(GetParam().pref_name(), NULL)); |
61 } | 61 } |
62 | 62 |
63 TEST_P(ConfigurationPolicyPrefStoreListTest, SetValue) { | 63 TEST_P(ConfigurationPolicyPrefStoreListTest, SetValue) { |
64 ListValue* in_value = new ListValue(); | 64 base::ListValue* in_value = new base::ListValue(); |
65 in_value->Append(Value::CreateStringValue("test1")); | 65 in_value->Append(base::Value::CreateStringValue("test1")); |
66 in_value->Append(Value::CreateStringValue("test2,")); | 66 in_value->Append(base::Value::CreateStringValue("test2,")); |
67 provider_.AddMandatoryPolicy(GetParam().policy_name(), in_value); | 67 provider_.AddMandatoryPolicy(GetParam().policy_name(), in_value); |
68 store_->OnUpdatePolicy(&provider_); | 68 store_->OnUpdatePolicy(&provider_); |
69 const Value* value = NULL; | 69 const base::Value* value = NULL; |
70 EXPECT_EQ(PrefStore::READ_OK, | 70 EXPECT_EQ(PrefStore::READ_OK, |
71 store_->GetValue(GetParam().pref_name(), &value)); | 71 store_->GetValue(GetParam().pref_name(), &value)); |
72 ASSERT_TRUE(value); | 72 ASSERT_TRUE(value); |
73 EXPECT_TRUE(in_value->Equals(value)); | 73 EXPECT_TRUE(in_value->Equals(value)); |
74 } | 74 } |
75 | 75 |
76 INSTANTIATE_TEST_CASE_P( | 76 INSTANTIATE_TEST_CASE_P( |
77 ConfigurationPolicyPrefStoreListTestInstance, | 77 ConfigurationPolicyPrefStoreListTestInstance, |
78 ConfigurationPolicyPrefStoreListTest, | 78 ConfigurationPolicyPrefStoreListTest, |
79 testing::Values( | 79 testing::Values( |
(...skipping 24 matching lines...) Expand all Loading... | |
104 testing::TestWithParam<PolicyAndPref> > { | 104 testing::TestWithParam<PolicyAndPref> > { |
105 }; | 105 }; |
106 | 106 |
107 TEST_P(ConfigurationPolicyPrefStoreStringTest, GetDefault) { | 107 TEST_P(ConfigurationPolicyPrefStoreStringTest, GetDefault) { |
108 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 108 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
109 store_->GetValue(GetParam().pref_name(), NULL)); | 109 store_->GetValue(GetParam().pref_name(), NULL)); |
110 } | 110 } |
111 | 111 |
112 TEST_P(ConfigurationPolicyPrefStoreStringTest, SetValue) { | 112 TEST_P(ConfigurationPolicyPrefStoreStringTest, SetValue) { |
113 provider_.AddMandatoryPolicy(GetParam().policy_name(), | 113 provider_.AddMandatoryPolicy(GetParam().policy_name(), |
114 Value::CreateStringValue("http://chromium.org")); | 114 base::Value::CreateStringValue("http://chromium.o rg")); |
115 store_->OnUpdatePolicy(&provider_); | 115 store_->OnUpdatePolicy(&provider_); |
116 const Value* value = NULL; | 116 const base::Value* value = NULL; |
117 EXPECT_EQ(PrefStore::READ_OK, | 117 EXPECT_EQ(PrefStore::READ_OK, |
118 store_->GetValue(GetParam().pref_name(), &value)); | 118 store_->GetValue(GetParam().pref_name(), &value)); |
119 ASSERT_TRUE(value); | 119 ASSERT_TRUE(value); |
120 EXPECT_TRUE(StringValue("http://chromium.org").Equals(value)); | 120 EXPECT_TRUE(base::StringValue("http://chromium.org").Equals(value)); |
121 } | 121 } |
122 | 122 |
123 INSTANTIATE_TEST_CASE_P( | 123 INSTANTIATE_TEST_CASE_P( |
124 ConfigurationPolicyPrefStoreStringTestInstance, | 124 ConfigurationPolicyPrefStoreStringTestInstance, |
125 ConfigurationPolicyPrefStoreStringTest, | 125 ConfigurationPolicyPrefStoreStringTest, |
126 testing::Values( | 126 testing::Values( |
127 PolicyAndPref(key::kHomepageLocation, | 127 PolicyAndPref(key::kHomepageLocation, |
128 prefs::kHomePage), | 128 prefs::kHomePage), |
129 PolicyAndPref(key::kApplicationLocaleValue, | 129 PolicyAndPref(key::kApplicationLocaleValue, |
130 prefs::kApplicationLocale), | 130 prefs::kApplicationLocale), |
(...skipping 22 matching lines...) Expand all Loading... | |
153 testing::TestWithParam<PolicyAndPref> > { | 153 testing::TestWithParam<PolicyAndPref> > { |
154 }; | 154 }; |
155 | 155 |
156 TEST_P(ConfigurationPolicyPrefStoreBooleanTest, GetDefault) { | 156 TEST_P(ConfigurationPolicyPrefStoreBooleanTest, GetDefault) { |
157 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 157 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
158 store_->GetValue(GetParam().pref_name(), NULL)); | 158 store_->GetValue(GetParam().pref_name(), NULL)); |
159 } | 159 } |
160 | 160 |
161 TEST_P(ConfigurationPolicyPrefStoreBooleanTest, SetValue) { | 161 TEST_P(ConfigurationPolicyPrefStoreBooleanTest, SetValue) { |
162 provider_.AddMandatoryPolicy(GetParam().policy_name(), | 162 provider_.AddMandatoryPolicy(GetParam().policy_name(), |
163 Value::CreateBooleanValue(false)); | 163 base::Value::CreateBooleanValue(false)); |
164 store_->OnUpdatePolicy(&provider_); | 164 store_->OnUpdatePolicy(&provider_); |
165 const Value* value = NULL; | 165 const base::Value* value = NULL; |
166 EXPECT_EQ(PrefStore::READ_OK, | 166 EXPECT_EQ(PrefStore::READ_OK, |
167 store_->GetValue(GetParam().pref_name(), &value)); | 167 store_->GetValue(GetParam().pref_name(), &value)); |
168 ASSERT_TRUE(value); | 168 ASSERT_TRUE(value); |
169 bool boolean_value = true; | 169 bool boolean_value = true; |
170 bool result = value->GetAsBoolean(&boolean_value); | 170 bool result = value->GetAsBoolean(&boolean_value); |
171 ASSERT_TRUE(result); | 171 ASSERT_TRUE(result); |
172 EXPECT_FALSE(boolean_value); | 172 EXPECT_FALSE(boolean_value); |
173 | 173 |
174 provider_.AddMandatoryPolicy(GetParam().policy_name(), | 174 provider_.AddMandatoryPolicy(GetParam().policy_name(), |
175 Value::CreateBooleanValue(true)); | 175 base::Value::CreateBooleanValue(true)); |
176 store_->OnUpdatePolicy(&provider_); | 176 store_->OnUpdatePolicy(&provider_); |
177 value = NULL; | 177 value = NULL; |
178 EXPECT_EQ(PrefStore::READ_OK, | 178 EXPECT_EQ(PrefStore::READ_OK, |
179 store_->GetValue(GetParam().pref_name(), &value)); | 179 store_->GetValue(GetParam().pref_name(), &value)); |
180 boolean_value = false; | 180 boolean_value = false; |
181 result = value->GetAsBoolean(&boolean_value); | 181 result = value->GetAsBoolean(&boolean_value); |
182 ASSERT_TRUE(result); | 182 ASSERT_TRUE(result); |
183 EXPECT_TRUE(boolean_value); | 183 EXPECT_TRUE(boolean_value); |
184 } | 184 } |
185 | 185 |
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
281 testing::TestWithParam<PolicyAndPref> > { | 281 testing::TestWithParam<PolicyAndPref> > { |
282 }; | 282 }; |
283 | 283 |
284 TEST_P(ConfigurationPolicyPrefStoreIntegerTest, GetDefault) { | 284 TEST_P(ConfigurationPolicyPrefStoreIntegerTest, GetDefault) { |
285 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 285 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
286 store_->GetValue(GetParam().pref_name(), NULL)); | 286 store_->GetValue(GetParam().pref_name(), NULL)); |
287 } | 287 } |
288 | 288 |
289 TEST_P(ConfigurationPolicyPrefStoreIntegerTest, SetValue) { | 289 TEST_P(ConfigurationPolicyPrefStoreIntegerTest, SetValue) { |
290 provider_.AddMandatoryPolicy(GetParam().policy_name(), | 290 provider_.AddMandatoryPolicy(GetParam().policy_name(), |
291 Value::CreateIntegerValue(2)); | 291 base::Value::CreateIntegerValue(2)); |
292 store_->OnUpdatePolicy(&provider_); | 292 store_->OnUpdatePolicy(&provider_); |
293 const Value* value = NULL; | 293 const base::Value* value = NULL; |
294 EXPECT_EQ(PrefStore::READ_OK, | 294 EXPECT_EQ(PrefStore::READ_OK, |
295 store_->GetValue(GetParam().pref_name(), &value)); | 295 store_->GetValue(GetParam().pref_name(), &value)); |
296 EXPECT_TRUE(base::FundamentalValue(2).Equals(value)); | 296 EXPECT_TRUE(base::FundamentalValue(2).Equals(value)); |
297 } | 297 } |
298 | 298 |
299 INSTANTIATE_TEST_CASE_P( | 299 INSTANTIATE_TEST_CASE_P( |
300 ConfigurationPolicyPrefStoreIntegerTestInstance, | 300 ConfigurationPolicyPrefStoreIntegerTestInstance, |
301 ConfigurationPolicyPrefStoreIntegerTest, | 301 ConfigurationPolicyPrefStoreIntegerTest, |
302 testing::Values( | 302 testing::Values( |
303 PolicyAndPref(key::kDefaultCookiesSetting, | 303 PolicyAndPref(key::kDefaultCookiesSetting, |
(...skipping 22 matching lines...) Expand all Loading... | |
326 // Test cases for the proxy policy settings. | 326 // Test cases for the proxy policy settings. |
327 class ConfigurationPolicyPrefStoreProxyTest : public testing::Test { | 327 class ConfigurationPolicyPrefStoreProxyTest : public testing::Test { |
328 protected: | 328 protected: |
329 // Verify that all the proxy prefs are set to the specified expected values. | 329 // Verify that all the proxy prefs are set to the specified expected values. |
330 static void VerifyProxyPrefs( | 330 static void VerifyProxyPrefs( |
331 const ConfigurationPolicyPrefStore& store, | 331 const ConfigurationPolicyPrefStore& store, |
332 const std::string& expected_proxy_server, | 332 const std::string& expected_proxy_server, |
333 const std::string& expected_proxy_pac_url, | 333 const std::string& expected_proxy_pac_url, |
334 const std::string& expected_proxy_bypass_list, | 334 const std::string& expected_proxy_bypass_list, |
335 const ProxyPrefs::ProxyMode& expected_proxy_mode) { | 335 const ProxyPrefs::ProxyMode& expected_proxy_mode) { |
336 const Value* value = NULL; | 336 const base::Value* value = NULL; |
337 ASSERT_EQ(PrefStore::READ_OK, | 337 ASSERT_EQ(PrefStore::READ_OK, |
338 store.GetValue(prefs::kProxy, &value)); | 338 store.GetValue(prefs::kProxy, &value)); |
339 ASSERT_EQ(Value::TYPE_DICTIONARY, value->GetType()); | 339 ASSERT_EQ(base::Value::TYPE_DICTIONARY, value->GetType()); |
340 ProxyConfigDictionary dict(static_cast<const DictionaryValue*>(value)); | 340 ProxyConfigDictionary dict( |
341 static_cast<const base::DictionaryValue*>(value)); | |
341 std::string s; | 342 std::string s; |
342 if (expected_proxy_server.empty()) { | 343 if (expected_proxy_server.empty()) { |
343 EXPECT_FALSE(dict.GetProxyServer(&s)); | 344 EXPECT_FALSE(dict.GetProxyServer(&s)); |
344 } else { | 345 } else { |
345 ASSERT_TRUE(dict.GetProxyServer(&s)); | 346 ASSERT_TRUE(dict.GetProxyServer(&s)); |
346 EXPECT_EQ(expected_proxy_server, s); | 347 EXPECT_EQ(expected_proxy_server, s); |
347 } | 348 } |
348 if (expected_proxy_pac_url.empty()) { | 349 if (expected_proxy_pac_url.empty()) { |
349 EXPECT_FALSE(dict.GetPacUrl(&s)); | 350 EXPECT_FALSE(dict.GetPacUrl(&s)); |
350 } else { | 351 } else { |
351 ASSERT_TRUE(dict.GetPacUrl(&s)); | 352 ASSERT_TRUE(dict.GetPacUrl(&s)); |
352 EXPECT_EQ(expected_proxy_pac_url, s); | 353 EXPECT_EQ(expected_proxy_pac_url, s); |
353 } | 354 } |
354 if (expected_proxy_bypass_list.empty()) { | 355 if (expected_proxy_bypass_list.empty()) { |
355 EXPECT_FALSE(dict.GetBypassList(&s)); | 356 EXPECT_FALSE(dict.GetBypassList(&s)); |
356 } else { | 357 } else { |
357 ASSERT_TRUE(dict.GetBypassList(&s)); | 358 ASSERT_TRUE(dict.GetBypassList(&s)); |
358 EXPECT_EQ(expected_proxy_bypass_list, s); | 359 EXPECT_EQ(expected_proxy_bypass_list, s); |
359 } | 360 } |
360 ProxyPrefs::ProxyMode mode; | 361 ProxyPrefs::ProxyMode mode; |
361 ASSERT_TRUE(dict.GetMode(&mode)); | 362 ASSERT_TRUE(dict.GetMode(&mode)); |
362 EXPECT_EQ(expected_proxy_mode, mode); | 363 EXPECT_EQ(expected_proxy_mode, mode); |
363 } | 364 } |
364 }; | 365 }; |
365 | 366 |
366 TEST_F(ConfigurationPolicyPrefStoreProxyTest, ManualOptions) { | 367 TEST_F(ConfigurationPolicyPrefStoreProxyTest, ManualOptions) { |
367 MockConfigurationPolicyProvider provider; | 368 MockConfigurationPolicyProvider provider; |
368 provider.AddMandatoryPolicy( | 369 provider.AddMandatoryPolicy( |
369 key::kProxyBypassList, | 370 key::kProxyBypassList, |
370 Value::CreateStringValue("http://chromium.org/override")); | 371 base::Value::CreateStringValue("http://chromium.org/override")); |
371 provider.AddMandatoryPolicy(key::kProxyServer, | 372 provider.AddMandatoryPolicy(key::kProxyServer, |
372 Value::CreateStringValue("chromium.org")); | 373 base::Value::CreateStringValue("chromium.org")); |
373 provider.AddMandatoryPolicy( | 374 provider.AddMandatoryPolicy( |
374 key::kProxyServerMode, | 375 key::kProxyServerMode, |
375 Value::CreateIntegerValue( | 376 base::Value::CreateIntegerValue( |
376 ProxyPolicyHandler::PROXY_MANUALLY_CONFIGURED_PROXY_SERVER_MODE)); | 377 ProxyPolicyHandler::PROXY_MANUALLY_CONFIGURED_PROXY_SERVER_MODE)); |
377 | 378 |
378 scoped_refptr<ConfigurationPolicyPrefStore> store( | 379 scoped_refptr<ConfigurationPolicyPrefStore> store( |
379 new ConfigurationPolicyPrefStore(&provider)); | 380 new ConfigurationPolicyPrefStore(&provider)); |
380 VerifyProxyPrefs( | 381 VerifyProxyPrefs( |
381 *store, "chromium.org", "", "http://chromium.org/override", | 382 *store, "chromium.org", "", "http://chromium.org/override", |
382 ProxyPrefs::MODE_FIXED_SERVERS); | 383 ProxyPrefs::MODE_FIXED_SERVERS); |
383 } | 384 } |
384 | 385 |
385 TEST_F(ConfigurationPolicyPrefStoreProxyTest, ManualOptionsReversedApplyOrder) { | 386 TEST_F(ConfigurationPolicyPrefStoreProxyTest, ManualOptionsReversedApplyOrder) { |
386 MockConfigurationPolicyProvider provider; | 387 MockConfigurationPolicyProvider provider; |
387 provider.AddMandatoryPolicy( | 388 provider.AddMandatoryPolicy( |
388 key::kProxyServerMode, | 389 key::kProxyServerMode, |
389 Value::CreateIntegerValue( | 390 base::Value::CreateIntegerValue( |
390 ProxyPolicyHandler::PROXY_MANUALLY_CONFIGURED_PROXY_SERVER_MODE)); | 391 ProxyPolicyHandler::PROXY_MANUALLY_CONFIGURED_PROXY_SERVER_MODE)); |
391 provider.AddMandatoryPolicy( | 392 provider.AddMandatoryPolicy( |
392 key::kProxyBypassList, | 393 key::kProxyBypassList, |
393 Value::CreateStringValue("http://chromium.org/override")); | 394 base::Value::CreateStringValue("http://chromium.org/override")); |
394 provider.AddMandatoryPolicy( | 395 provider.AddMandatoryPolicy( |
395 key::kProxyServer, | 396 key::kProxyServer, |
396 Value::CreateStringValue("chromium.org")); | 397 base::Value::CreateStringValue("chromium.org")); |
397 scoped_refptr<ConfigurationPolicyPrefStore> store( | 398 scoped_refptr<ConfigurationPolicyPrefStore> store( |
398 new ConfigurationPolicyPrefStore(&provider)); | 399 new ConfigurationPolicyPrefStore(&provider)); |
399 VerifyProxyPrefs( | 400 VerifyProxyPrefs( |
400 *store, "chromium.org", "", "http://chromium.org/override", | 401 *store, "chromium.org", "", "http://chromium.org/override", |
401 ProxyPrefs::MODE_FIXED_SERVERS); | 402 ProxyPrefs::MODE_FIXED_SERVERS); |
402 } | 403 } |
403 | 404 |
404 TEST_F(ConfigurationPolicyPrefStoreProxyTest, ManualOptionsInvalid) { | 405 TEST_F(ConfigurationPolicyPrefStoreProxyTest, ManualOptionsInvalid) { |
405 MockConfigurationPolicyProvider provider; | 406 MockConfigurationPolicyProvider provider; |
406 provider.AddMandatoryPolicy( | 407 provider.AddMandatoryPolicy( |
407 key::kProxyServerMode, | 408 key::kProxyServerMode, |
408 Value::CreateIntegerValue( | 409 base::Value::CreateIntegerValue( |
409 ProxyPolicyHandler::PROXY_MANUALLY_CONFIGURED_PROXY_SERVER_MODE)); | 410 ProxyPolicyHandler::PROXY_MANUALLY_CONFIGURED_PROXY_SERVER_MODE)); |
410 | 411 |
411 scoped_refptr<ConfigurationPolicyPrefStore> store( | 412 scoped_refptr<ConfigurationPolicyPrefStore> store( |
412 new ConfigurationPolicyPrefStore(&provider)); | 413 new ConfigurationPolicyPrefStore(&provider)); |
413 const Value* value = NULL; | 414 const base::Value* value = NULL; |
414 EXPECT_EQ(PrefStore::READ_NO_VALUE, store->GetValue(prefs::kProxy, &value)); | 415 EXPECT_EQ(PrefStore::READ_NO_VALUE, store->GetValue(prefs::kProxy, &value)); |
415 } | 416 } |
416 | 417 |
417 | 418 |
418 TEST_F(ConfigurationPolicyPrefStoreProxyTest, NoProxyServerMode) { | 419 TEST_F(ConfigurationPolicyPrefStoreProxyTest, NoProxyServerMode) { |
419 MockConfigurationPolicyProvider provider; | 420 MockConfigurationPolicyProvider provider; |
420 provider.AddMandatoryPolicy( | 421 provider.AddMandatoryPolicy( |
421 key::kProxyServerMode, | 422 key::kProxyServerMode, |
422 Value::CreateIntegerValue(ProxyPolicyHandler::PROXY_SERVER_MODE)); | 423 base::Value::CreateIntegerValue(ProxyPolicyHandler::PROXY_SERVER_MODE)); |
423 | 424 |
424 scoped_refptr<ConfigurationPolicyPrefStore> store( | 425 scoped_refptr<ConfigurationPolicyPrefStore> store( |
425 new ConfigurationPolicyPrefStore(&provider)); | 426 new ConfigurationPolicyPrefStore(&provider)); |
426 VerifyProxyPrefs(*store, "", "", "", ProxyPrefs::MODE_DIRECT); | 427 VerifyProxyPrefs(*store, "", "", "", ProxyPrefs::MODE_DIRECT); |
427 } | 428 } |
428 | 429 |
429 TEST_F(ConfigurationPolicyPrefStoreProxyTest, NoProxyModeName) { | 430 TEST_F(ConfigurationPolicyPrefStoreProxyTest, NoProxyModeName) { |
430 MockConfigurationPolicyProvider provider; | 431 MockConfigurationPolicyProvider provider; |
431 provider.AddMandatoryPolicy( | 432 provider.AddMandatoryPolicy( |
432 key::kProxyMode, | 433 key::kProxyMode, |
433 Value::CreateStringValue(ProxyPrefs::kDirectProxyModeName)); | 434 base::Value::CreateStringValue(ProxyPrefs::kDirectProxyModeName)); |
434 | 435 |
435 scoped_refptr<ConfigurationPolicyPrefStore> store( | 436 scoped_refptr<ConfigurationPolicyPrefStore> store( |
436 new ConfigurationPolicyPrefStore(&provider)); | 437 new ConfigurationPolicyPrefStore(&provider)); |
437 VerifyProxyPrefs(*store, "", "", "", ProxyPrefs::MODE_DIRECT); | 438 VerifyProxyPrefs(*store, "", "", "", ProxyPrefs::MODE_DIRECT); |
438 } | 439 } |
439 | 440 |
440 TEST_F(ConfigurationPolicyPrefStoreProxyTest, AutoDetectProxyServerMode) { | 441 TEST_F(ConfigurationPolicyPrefStoreProxyTest, AutoDetectProxyServerMode) { |
441 MockConfigurationPolicyProvider provider; | 442 MockConfigurationPolicyProvider provider; |
442 provider.AddMandatoryPolicy( | 443 provider.AddMandatoryPolicy( |
443 key::kProxyServerMode, | 444 key::kProxyServerMode, |
444 Value::CreateIntegerValue( | 445 base::Value::CreateIntegerValue( |
445 ProxyPolicyHandler::PROXY_AUTO_DETECT_PROXY_SERVER_MODE)); | 446 ProxyPolicyHandler::PROXY_AUTO_DETECT_PROXY_SERVER_MODE)); |
446 | 447 |
447 scoped_refptr<ConfigurationPolicyPrefStore> store( | 448 scoped_refptr<ConfigurationPolicyPrefStore> store( |
448 new ConfigurationPolicyPrefStore(&provider)); | 449 new ConfigurationPolicyPrefStore(&provider)); |
449 VerifyProxyPrefs(*store, "", "", "", ProxyPrefs::MODE_AUTO_DETECT); | 450 VerifyProxyPrefs(*store, "", "", "", ProxyPrefs::MODE_AUTO_DETECT); |
450 } | 451 } |
451 | 452 |
452 TEST_F(ConfigurationPolicyPrefStoreProxyTest, AutoDetectProxyModeName) { | 453 TEST_F(ConfigurationPolicyPrefStoreProxyTest, AutoDetectProxyModeName) { |
453 MockConfigurationPolicyProvider provider; | 454 MockConfigurationPolicyProvider provider; |
454 provider.AddMandatoryPolicy( | 455 provider.AddMandatoryPolicy( |
455 key::kProxyMode, | 456 key::kProxyMode, |
456 Value::CreateStringValue(ProxyPrefs::kAutoDetectProxyModeName)); | 457 base::Value::CreateStringValue(ProxyPrefs::kAutoDetectProxyModeName)); |
457 | 458 |
458 scoped_refptr<ConfigurationPolicyPrefStore> store( | 459 scoped_refptr<ConfigurationPolicyPrefStore> store( |
459 new ConfigurationPolicyPrefStore(&provider)); | 460 new ConfigurationPolicyPrefStore(&provider)); |
460 VerifyProxyPrefs(*store, "", "", "", ProxyPrefs::MODE_AUTO_DETECT); | 461 VerifyProxyPrefs(*store, "", "", "", ProxyPrefs::MODE_AUTO_DETECT); |
461 } | 462 } |
462 | 463 |
463 TEST_F(ConfigurationPolicyPrefStoreProxyTest, PacScriptProxyMode) { | 464 TEST_F(ConfigurationPolicyPrefStoreProxyTest, PacScriptProxyMode) { |
464 MockConfigurationPolicyProvider provider; | 465 MockConfigurationPolicyProvider provider; |
465 provider.AddMandatoryPolicy( | 466 provider.AddMandatoryPolicy( |
466 key::kProxyPacUrl, | 467 key::kProxyPacUrl, |
467 Value::CreateStringValue("http://short.org/proxy.pac")); | 468 base::Value::CreateStringValue("http://short.org/proxy.pac")); |
468 provider.AddMandatoryPolicy( | 469 provider.AddMandatoryPolicy( |
469 key::kProxyMode, | 470 key::kProxyMode, |
470 Value::CreateStringValue(ProxyPrefs::kPacScriptProxyModeName)); | 471 base::Value::CreateStringValue(ProxyPrefs::kPacScriptProxyModeName)); |
471 | 472 |
472 scoped_refptr<ConfigurationPolicyPrefStore> store( | 473 scoped_refptr<ConfigurationPolicyPrefStore> store( |
473 new ConfigurationPolicyPrefStore(&provider)); | 474 new ConfigurationPolicyPrefStore(&provider)); |
474 VerifyProxyPrefs(*store, "", "http://short.org/proxy.pac", "", | 475 VerifyProxyPrefs(*store, "", "http://short.org/proxy.pac", "", |
475 ProxyPrefs::MODE_PAC_SCRIPT); | 476 ProxyPrefs::MODE_PAC_SCRIPT); |
476 } | 477 } |
477 | 478 |
478 TEST_F(ConfigurationPolicyPrefStoreProxyTest, PacScriptProxyModeInvalid) { | 479 TEST_F(ConfigurationPolicyPrefStoreProxyTest, PacScriptProxyModeInvalid) { |
479 MockConfigurationPolicyProvider provider; | 480 MockConfigurationPolicyProvider provider; |
480 provider.AddMandatoryPolicy( | 481 provider.AddMandatoryPolicy( |
481 key::kProxyMode, | 482 key::kProxyMode, |
482 Value::CreateStringValue(ProxyPrefs::kPacScriptProxyModeName)); | 483 base::Value::CreateStringValue(ProxyPrefs::kPacScriptProxyModeName)); |
483 | 484 |
484 scoped_refptr<ConfigurationPolicyPrefStore> store( | 485 scoped_refptr<ConfigurationPolicyPrefStore> store( |
485 new ConfigurationPolicyPrefStore(&provider)); | 486 new ConfigurationPolicyPrefStore(&provider)); |
486 const Value* value = NULL; | 487 const base::Value* value = NULL; |
487 EXPECT_EQ(PrefStore::READ_NO_VALUE, store->GetValue(prefs::kProxy, &value)); | 488 EXPECT_EQ(PrefStore::READ_NO_VALUE, store->GetValue(prefs::kProxy, &value)); |
488 } | 489 } |
489 | 490 |
490 // Regression test for http://crbug.com/78016, CPanel returns empty strings | 491 // Regression test for http://crbug.com/78016, CPanel returns empty strings |
491 // for unset properties. | 492 // for unset properties. |
492 TEST_F(ConfigurationPolicyPrefStoreProxyTest, PacScriptProxyModeBug78016) { | 493 TEST_F(ConfigurationPolicyPrefStoreProxyTest, PacScriptProxyModeBug78016) { |
493 MockConfigurationPolicyProvider provider; | 494 MockConfigurationPolicyProvider provider; |
494 provider.AddMandatoryPolicy(key::kProxyServer, | 495 provider.AddMandatoryPolicy(key::kProxyServer, |
495 Value::CreateStringValue("")); | 496 base::Value::CreateStringValue("")); |
496 provider.AddMandatoryPolicy( | 497 provider.AddMandatoryPolicy( |
497 key::kProxyPacUrl, | 498 key::kProxyPacUrl, |
498 Value::CreateStringValue("http://short.org/proxy.pac")); | 499 base::Value::CreateStringValue("http://short.org/proxy.pac")); |
499 provider.AddMandatoryPolicy( | 500 provider.AddMandatoryPolicy( |
500 key::kProxyMode, | 501 key::kProxyMode, |
501 Value::CreateStringValue(ProxyPrefs::kPacScriptProxyModeName)); | 502 base::Value::CreateStringValue(ProxyPrefs::kPacScriptProxyModeName)); |
502 | 503 |
503 scoped_refptr<ConfigurationPolicyPrefStore> store( | 504 scoped_refptr<ConfigurationPolicyPrefStore> store( |
504 new ConfigurationPolicyPrefStore(&provider)); | 505 new ConfigurationPolicyPrefStore(&provider)); |
505 VerifyProxyPrefs(*store, "", "http://short.org/proxy.pac", "", | 506 VerifyProxyPrefs(*store, "", "http://short.org/proxy.pac", "", |
506 ProxyPrefs::MODE_PAC_SCRIPT); | 507 ProxyPrefs::MODE_PAC_SCRIPT); |
507 } | 508 } |
508 | 509 |
509 TEST_F(ConfigurationPolicyPrefStoreProxyTest, UseSystemProxyServerMode) { | 510 TEST_F(ConfigurationPolicyPrefStoreProxyTest, UseSystemProxyServerMode) { |
510 MockConfigurationPolicyProvider provider; | 511 MockConfigurationPolicyProvider provider; |
511 provider.AddMandatoryPolicy( | 512 provider.AddMandatoryPolicy( |
512 key::kProxyServerMode, | 513 key::kProxyServerMode, |
513 Value::CreateIntegerValue( | 514 base::Value::CreateIntegerValue( |
514 ProxyPolicyHandler::PROXY_USE_SYSTEM_PROXY_SERVER_MODE)); | 515 ProxyPolicyHandler::PROXY_USE_SYSTEM_PROXY_SERVER_MODE)); |
515 | 516 |
516 scoped_refptr<ConfigurationPolicyPrefStore> store( | 517 scoped_refptr<ConfigurationPolicyPrefStore> store( |
517 new ConfigurationPolicyPrefStore(&provider)); | 518 new ConfigurationPolicyPrefStore(&provider)); |
518 VerifyProxyPrefs(*store, "", "", "", ProxyPrefs::MODE_SYSTEM); | 519 VerifyProxyPrefs(*store, "", "", "", ProxyPrefs::MODE_SYSTEM); |
519 } | 520 } |
520 | 521 |
521 TEST_F(ConfigurationPolicyPrefStoreProxyTest, UseSystemProxyMode) { | 522 TEST_F(ConfigurationPolicyPrefStoreProxyTest, UseSystemProxyMode) { |
522 MockConfigurationPolicyProvider provider; | 523 MockConfigurationPolicyProvider provider; |
523 provider.AddMandatoryPolicy( | 524 provider.AddMandatoryPolicy( |
524 key::kProxyMode, | 525 key::kProxyMode, |
525 Value::CreateStringValue(ProxyPrefs::kSystemProxyModeName)); | 526 base::Value::CreateStringValue(ProxyPrefs::kSystemProxyModeName)); |
526 | 527 |
527 scoped_refptr<ConfigurationPolicyPrefStore> store( | 528 scoped_refptr<ConfigurationPolicyPrefStore> store( |
528 new ConfigurationPolicyPrefStore(&provider)); | 529 new ConfigurationPolicyPrefStore(&provider)); |
529 VerifyProxyPrefs(*store, "", "", "", ProxyPrefs::MODE_SYSTEM); | 530 VerifyProxyPrefs(*store, "", "", "", ProxyPrefs::MODE_SYSTEM); |
530 } | 531 } |
531 | 532 |
532 TEST_F(ConfigurationPolicyPrefStoreProxyTest, | 533 TEST_F(ConfigurationPolicyPrefStoreProxyTest, |
533 ProxyModeOverridesProxyServerMode) { | 534 ProxyModeOverridesProxyServerMode) { |
534 MockConfigurationPolicyProvider provider; | 535 MockConfigurationPolicyProvider provider; |
535 provider.AddMandatoryPolicy( | 536 provider.AddMandatoryPolicy( |
536 key::kProxyServerMode, | 537 key::kProxyServerMode, |
537 Value::CreateIntegerValue(ProxyPolicyHandler::PROXY_SERVER_MODE)); | 538 base::Value::CreateIntegerValue(ProxyPolicyHandler::PROXY_SERVER_MODE)); |
538 provider.AddMandatoryPolicy( | 539 provider.AddMandatoryPolicy( |
539 key::kProxyMode, | 540 key::kProxyMode, |
540 Value::CreateStringValue(ProxyPrefs::kAutoDetectProxyModeName)); | 541 base::Value::CreateStringValue(ProxyPrefs::kAutoDetectProxyModeName)); |
541 | 542 |
542 scoped_refptr<ConfigurationPolicyPrefStore> store( | 543 scoped_refptr<ConfigurationPolicyPrefStore> store( |
543 new ConfigurationPolicyPrefStore(&provider)); | 544 new ConfigurationPolicyPrefStore(&provider)); |
544 VerifyProxyPrefs(*store, "", "", "", ProxyPrefs::MODE_AUTO_DETECT); | 545 VerifyProxyPrefs(*store, "", "", "", ProxyPrefs::MODE_AUTO_DETECT); |
545 } | 546 } |
546 | 547 |
547 TEST_F(ConfigurationPolicyPrefStoreProxyTest, ProxyInvalid) { | 548 TEST_F(ConfigurationPolicyPrefStoreProxyTest, ProxyInvalid) { |
548 for (int i = 0; i < ProxyPolicyHandler::MODE_COUNT; ++i) { | 549 for (int i = 0; i < ProxyPolicyHandler::MODE_COUNT; ++i) { |
549 MockConfigurationPolicyProvider provider; | 550 MockConfigurationPolicyProvider provider; |
550 provider.AddMandatoryPolicy(key::kProxyServerMode, | 551 provider.AddMandatoryPolicy(key::kProxyServerMode, |
551 Value::CreateIntegerValue(i)); | 552 base::Value::CreateIntegerValue(i)); |
552 // No mode expects all three parameters being set. | 553 // No mode expects all three parameters being set. |
553 provider.AddMandatoryPolicy( | 554 provider.AddMandatoryPolicy( |
554 key::kProxyPacUrl, | 555 key::kProxyPacUrl, |
555 Value::CreateStringValue("http://short.org/proxy.pac")); | 556 base::Value::CreateStringValue("http://short.org/proxy.pac")); |
556 provider.AddMandatoryPolicy( | 557 provider.AddMandatoryPolicy( |
557 key::kProxyBypassList, | 558 key::kProxyBypassList, |
558 Value::CreateStringValue("http://chromium.org/override")); | 559 base::Value::CreateStringValue("http://chromium.org/override")); |
559 provider.AddMandatoryPolicy(key::kProxyServer, | 560 provider.AddMandatoryPolicy(key::kProxyServer, |
560 Value::CreateStringValue("chromium.org")); | 561 base::Value::CreateStringValue("chromium.org")); |
561 | 562 |
562 scoped_refptr<ConfigurationPolicyPrefStore> store( | 563 scoped_refptr<ConfigurationPolicyPrefStore> store( |
563 new ConfigurationPolicyPrefStore(&provider)); | 564 new ConfigurationPolicyPrefStore(&provider)); |
564 const Value* value = NULL; | 565 const base::Value* value = NULL; |
565 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 566 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
566 store->GetValue(prefs::kProxy, &value)); | 567 store->GetValue(prefs::kProxy, &value)); |
567 } | 568 } |
568 } | 569 } |
569 | 570 |
570 class ConfigurationPolicyPrefStoreDefaultSearchTest : public testing::Test { | 571 class ConfigurationPolicyPrefStoreDefaultSearchTest : public testing::Test { |
571 }; | 572 }; |
572 | 573 |
573 // Checks that if the policy for default search is valid, i.e. there's a | 574 // Checks that if the policy for default search is valid, i.e. there's a |
574 // search URL, that all the elements have been given proper defaults. | 575 // search URL, that all the elements have been given proper defaults. |
575 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, MinimallyDefined) { | 576 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, MinimallyDefined) { |
576 const char* const search_url = "http://test.com/search?t={searchTerms}"; | 577 const char* const search_url = "http://test.com/search?t={searchTerms}"; |
577 MockConfigurationPolicyProvider provider; | 578 MockConfigurationPolicyProvider provider; |
578 provider.AddMandatoryPolicy(key::kDefaultSearchProviderEnabled, | 579 provider.AddMandatoryPolicy(key::kDefaultSearchProviderEnabled, |
579 Value::CreateBooleanValue(true)); | 580 base::Value::CreateBooleanValue(true)); |
580 provider.AddMandatoryPolicy(key::kDefaultSearchProviderSearchURL, | 581 provider.AddMandatoryPolicy(key::kDefaultSearchProviderSearchURL, |
581 Value::CreateStringValue(search_url)); | 582 base::Value::CreateStringValue(search_url)); |
582 | 583 |
583 scoped_refptr<ConfigurationPolicyPrefStore> store( | 584 scoped_refptr<ConfigurationPolicyPrefStore> store( |
584 new ConfigurationPolicyPrefStore(&provider)); | 585 new ConfigurationPolicyPrefStore(&provider)); |
585 | 586 |
586 const Value* value = NULL; | 587 const base::Value* value = NULL; |
587 EXPECT_EQ(PrefStore::READ_OK, | 588 EXPECT_EQ(PrefStore::READ_OK, |
588 store->GetValue(prefs::kDefaultSearchProviderSearchURL, &value)); | 589 store->GetValue(prefs::kDefaultSearchProviderSearchURL, &value)); |
589 EXPECT_TRUE(StringValue(search_url).Equals(value)); | 590 EXPECT_TRUE(base::StringValue(search_url).Equals(value)); |
590 | 591 |
591 EXPECT_EQ(PrefStore::READ_OK, | 592 EXPECT_EQ(PrefStore::READ_OK, |
592 store->GetValue(prefs::kDefaultSearchProviderName, &value)); | 593 store->GetValue(prefs::kDefaultSearchProviderName, &value)); |
593 EXPECT_TRUE(StringValue("test.com").Equals(value)); | 594 EXPECT_TRUE(base::StringValue("test.com").Equals(value)); |
594 | 595 |
595 EXPECT_EQ(PrefStore::READ_OK, | 596 EXPECT_EQ(PrefStore::READ_OK, |
596 store->GetValue(prefs::kDefaultSearchProviderKeyword, &value)); | 597 store->GetValue(prefs::kDefaultSearchProviderKeyword, &value)); |
597 EXPECT_TRUE(StringValue(std::string()).Equals(value)); | 598 EXPECT_TRUE(base::StringValue(std::string()).Equals(value)); |
598 | 599 |
599 EXPECT_EQ(PrefStore::READ_OK, | 600 EXPECT_EQ(PrefStore::READ_OK, |
600 store->GetValue(prefs::kDefaultSearchProviderSuggestURL, &value)); | 601 store->GetValue(prefs::kDefaultSearchProviderSuggestURL, &value)); |
601 EXPECT_TRUE(StringValue(std::string()).Equals(value)); | 602 EXPECT_TRUE(base::StringValue(std::string()).Equals(value)); |
602 | 603 |
603 EXPECT_EQ(PrefStore::READ_OK, | 604 EXPECT_EQ(PrefStore::READ_OK, |
604 store->GetValue(prefs::kDefaultSearchProviderIconURL, &value)); | 605 store->GetValue(prefs::kDefaultSearchProviderIconURL, &value)); |
605 EXPECT_TRUE(StringValue(std::string()).Equals(value)); | 606 EXPECT_TRUE(base::StringValue(std::string()).Equals(value)); |
606 | 607 |
607 EXPECT_EQ(PrefStore::READ_OK, | 608 EXPECT_EQ(PrefStore::READ_OK, |
608 store->GetValue(prefs::kDefaultSearchProviderEncodings, &value)); | 609 store->GetValue(prefs::kDefaultSearchProviderEncodings, &value)); |
609 EXPECT_TRUE(StringValue(std::string()).Equals(value)); | 610 EXPECT_TRUE(base::StringValue(std::string()).Equals(value)); |
610 | 611 |
611 EXPECT_EQ(PrefStore::READ_OK, | 612 EXPECT_EQ(PrefStore::READ_OK, |
612 store->GetValue(prefs::kDefaultSearchProviderInstantURL, &value)); | 613 store->GetValue(prefs::kDefaultSearchProviderInstantURL, &value)); |
613 EXPECT_TRUE(StringValue(std::string()).Equals(value)); | 614 EXPECT_TRUE(base::StringValue(std::string()).Equals(value)); |
614 } | 615 } |
615 | 616 |
616 // Checks that for a fully defined search policy, all elements have been | 617 // Checks that for a fully defined search policy, all elements have been |
617 // read properly. | 618 // read properly. |
618 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, FullyDefined) { | 619 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, FullyDefined) { |
619 const char* const search_url = "http://test.com/search?t={searchTerms}"; | 620 const char* const search_url = "http://test.com/search?t={searchTerms}"; |
620 const char* const suggest_url = "http://test.com/sugg?={searchTerms}"; | 621 const char* const suggest_url = "http://test.com/sugg?={searchTerms}"; |
621 const char* const icon_url = "http://test.com/icon.jpg"; | 622 const char* const icon_url = "http://test.com/icon.jpg"; |
622 const char* const name = "MyName"; | 623 const char* const name = "MyName"; |
623 const char* const keyword = "MyKeyword"; | 624 const char* const keyword = "MyKeyword"; |
624 ListValue* encodings = new ListValue(); | 625 base::ListValue* encodings = new base::ListValue(); |
625 encodings->Append(Value::CreateStringValue("UTF-16")); | 626 encodings->Append(base::Value::CreateStringValue("UTF-16")); |
626 encodings->Append(Value::CreateStringValue("UTF-8")); | 627 encodings->Append(base::Value::CreateStringValue("UTF-8")); |
627 MockConfigurationPolicyProvider provider; | 628 MockConfigurationPolicyProvider provider; |
628 provider.AddMandatoryPolicy(key::kDefaultSearchProviderEnabled, | 629 provider.AddMandatoryPolicy(key::kDefaultSearchProviderEnabled, |
629 Value::CreateBooleanValue(true)); | 630 base::Value::CreateBooleanValue(true)); |
630 provider.AddMandatoryPolicy(key::kDefaultSearchProviderSearchURL, | 631 provider.AddMandatoryPolicy(key::kDefaultSearchProviderSearchURL, |
631 Value::CreateStringValue(search_url)); | 632 base::Value::CreateStringValue(search_url)); |
632 provider.AddMandatoryPolicy(key::kDefaultSearchProviderName, | 633 provider.AddMandatoryPolicy(key::kDefaultSearchProviderName, |
633 Value::CreateStringValue(name)); | 634 base::Value::CreateStringValue(name)); |
634 provider.AddMandatoryPolicy(key::kDefaultSearchProviderKeyword, | 635 provider.AddMandatoryPolicy(key::kDefaultSearchProviderKeyword, |
635 Value::CreateStringValue(keyword)); | 636 base::Value::CreateStringValue(keyword)); |
636 provider.AddMandatoryPolicy(key::kDefaultSearchProviderSuggestURL, | 637 provider.AddMandatoryPolicy(key::kDefaultSearchProviderSuggestURL, |
637 Value::CreateStringValue(suggest_url)); | 638 base::Value::CreateStringValue(suggest_url)); |
638 provider.AddMandatoryPolicy(key::kDefaultSearchProviderIconURL, | 639 provider.AddMandatoryPolicy(key::kDefaultSearchProviderIconURL, |
639 Value::CreateStringValue(icon_url)); | 640 base::Value::CreateStringValue(icon_url)); |
640 provider.AddMandatoryPolicy(key::kDefaultSearchProviderEncodings, encodings); | 641 provider.AddMandatoryPolicy(key::kDefaultSearchProviderEncodings, encodings); |
641 | 642 |
642 scoped_refptr<ConfigurationPolicyPrefStore> store( | 643 scoped_refptr<ConfigurationPolicyPrefStore> store( |
643 new ConfigurationPolicyPrefStore(&provider)); | 644 new ConfigurationPolicyPrefStore(&provider)); |
644 | 645 |
645 const Value* value = NULL; | 646 const base::Value* value = NULL; |
646 EXPECT_EQ(PrefStore::READ_OK, | 647 EXPECT_EQ(PrefStore::READ_OK, |
647 store->GetValue(prefs::kDefaultSearchProviderSearchURL, &value)); | 648 store->GetValue(prefs::kDefaultSearchProviderSearchURL, &value)); |
648 EXPECT_TRUE(StringValue(search_url).Equals(value)); | 649 EXPECT_TRUE(base::StringValue(search_url).Equals(value)); |
649 | 650 |
650 EXPECT_EQ(PrefStore::READ_OK, | 651 EXPECT_EQ(PrefStore::READ_OK, |
651 store->GetValue(prefs::kDefaultSearchProviderName, &value)); | 652 store->GetValue(prefs::kDefaultSearchProviderName, &value)); |
652 EXPECT_TRUE(StringValue(name).Equals(value)); | 653 EXPECT_TRUE(base::StringValue(name).Equals(value)); |
653 | 654 |
654 EXPECT_EQ(PrefStore::READ_OK, | 655 EXPECT_EQ(PrefStore::READ_OK, |
655 store->GetValue(prefs::kDefaultSearchProviderKeyword, &value)); | 656 store->GetValue(prefs::kDefaultSearchProviderKeyword, &value)); |
656 EXPECT_TRUE(StringValue(keyword).Equals(value)); | 657 EXPECT_TRUE(base::StringValue(keyword).Equals(value)); |
657 | 658 |
658 EXPECT_EQ(PrefStore::READ_OK, | 659 EXPECT_EQ(PrefStore::READ_OK, |
659 store->GetValue(prefs::kDefaultSearchProviderSuggestURL, &value)); | 660 store->GetValue(prefs::kDefaultSearchProviderSuggestURL, &value)); |
660 EXPECT_TRUE(StringValue(suggest_url).Equals(value)); | 661 EXPECT_TRUE(base::StringValue(suggest_url).Equals(value)); |
661 | 662 |
662 EXPECT_EQ(PrefStore::READ_OK, | 663 EXPECT_EQ(PrefStore::READ_OK, |
663 store->GetValue(prefs::kDefaultSearchProviderIconURL, &value)); | 664 store->GetValue(prefs::kDefaultSearchProviderIconURL, &value)); |
664 EXPECT_TRUE(StringValue(icon_url).Equals(value)); | 665 EXPECT_TRUE(base::StringValue(icon_url).Equals(value)); |
665 | 666 |
666 EXPECT_EQ(PrefStore::READ_OK, | 667 EXPECT_EQ(PrefStore::READ_OK, |
667 store->GetValue(prefs::kDefaultSearchProviderEncodings, &value)); | 668 store->GetValue(prefs::kDefaultSearchProviderEncodings, &value)); |
668 EXPECT_TRUE(StringValue("UTF-16;UTF-8").Equals(value)); | 669 EXPECT_TRUE(base::StringValue("UTF-16;UTF-8").Equals(value)); |
669 } | 670 } |
670 | 671 |
671 // Checks that if the default search policy is missing, that no elements of the | 672 // Checks that if the default search policy is missing, that no elements of the |
672 // default search policy will be present. | 673 // default search policy will be present. |
673 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, MissingUrl) { | 674 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, MissingUrl) { |
674 const char* const suggest_url = "http://test.com/sugg?t={searchTerms}"; | 675 const char* const suggest_url = "http://test.com/sugg?t={searchTerms}"; |
675 const char* const icon_url = "http://test.com/icon.jpg"; | 676 const char* const icon_url = "http://test.com/icon.jpg"; |
676 const char* const name = "MyName"; | 677 const char* const name = "MyName"; |
677 const char* const keyword = "MyKeyword"; | 678 const char* const keyword = "MyKeyword"; |
678 ListValue* encodings = new ListValue(); | 679 base::ListValue* encodings = new base::ListValue(); |
679 encodings->Append(Value::CreateStringValue("UTF-16")); | 680 encodings->Append(base::Value::CreateStringValue("UTF-16")); |
680 encodings->Append(Value::CreateStringValue("UTF-8")); | 681 encodings->Append(base::Value::CreateStringValue("UTF-8")); |
681 MockConfigurationPolicyProvider provider; | 682 MockConfigurationPolicyProvider provider; |
682 provider.AddMandatoryPolicy(key::kDefaultSearchProviderEnabled, | 683 provider.AddMandatoryPolicy(key::kDefaultSearchProviderEnabled, |
683 Value::CreateBooleanValue(true)); | 684 base::Value::CreateBooleanValue(true)); |
684 provider.AddMandatoryPolicy(key::kDefaultSearchProviderName, | 685 provider.AddMandatoryPolicy(key::kDefaultSearchProviderName, |
685 Value::CreateStringValue(name)); | 686 base::Value::CreateStringValue(name)); |
686 provider.AddMandatoryPolicy(key::kDefaultSearchProviderKeyword, | 687 provider.AddMandatoryPolicy(key::kDefaultSearchProviderKeyword, |
687 Value::CreateStringValue(keyword)); | 688 base::Value::CreateStringValue(keyword)); |
688 provider.AddMandatoryPolicy(key::kDefaultSearchProviderSuggestURL, | 689 provider.AddMandatoryPolicy(key::kDefaultSearchProviderSuggestURL, |
689 Value::CreateStringValue(suggest_url)); | 690 base::Value::CreateStringValue(suggest_url)); |
690 provider.AddMandatoryPolicy(key::kDefaultSearchProviderIconURL, | 691 provider.AddMandatoryPolicy(key::kDefaultSearchProviderIconURL, |
691 Value::CreateStringValue(icon_url)); | 692 base::Value::CreateStringValue(icon_url)); |
692 provider.AddMandatoryPolicy(key::kDefaultSearchProviderEncodings, encodings); | 693 provider.AddMandatoryPolicy(key::kDefaultSearchProviderEncodings, encodings); |
693 | 694 |
694 scoped_refptr<ConfigurationPolicyPrefStore> store( | 695 scoped_refptr<ConfigurationPolicyPrefStore> store( |
695 new ConfigurationPolicyPrefStore(&provider)); | 696 new ConfigurationPolicyPrefStore(&provider)); |
696 | 697 |
697 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 698 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
698 store->GetValue(prefs::kDefaultSearchProviderSearchURL, NULL)); | 699 store->GetValue(prefs::kDefaultSearchProviderSearchURL, NULL)); |
699 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 700 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
700 store->GetValue(prefs::kDefaultSearchProviderName, NULL)); | 701 store->GetValue(prefs::kDefaultSearchProviderName, NULL)); |
701 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 702 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
702 store->GetValue(prefs::kDefaultSearchProviderKeyword, NULL)); | 703 store->GetValue(prefs::kDefaultSearchProviderKeyword, NULL)); |
703 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 704 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
704 store->GetValue(prefs::kDefaultSearchProviderSuggestURL, NULL)); | 705 store->GetValue(prefs::kDefaultSearchProviderSuggestURL, NULL)); |
705 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 706 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
706 store->GetValue(prefs::kDefaultSearchProviderIconURL, NULL)); | 707 store->GetValue(prefs::kDefaultSearchProviderIconURL, NULL)); |
707 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 708 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
708 store->GetValue(prefs::kDefaultSearchProviderEncodings, NULL)); | 709 store->GetValue(prefs::kDefaultSearchProviderEncodings, NULL)); |
709 } | 710 } |
710 | 711 |
711 // Checks that if the default search policy is invalid, that no elements of the | 712 // Checks that if the default search policy is invalid, that no elements of the |
712 // default search policy will be present. | 713 // default search policy will be present. |
713 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, Invalid) { | 714 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, Invalid) { |
714 const char* const bad_search_url = "http://test.com/noSearchTerms"; | 715 const char* const bad_search_url = "http://test.com/noSearchTerms"; |
715 const char* const suggest_url = "http://test.com/sugg?t={searchTerms}"; | 716 const char* const suggest_url = "http://test.com/sugg?t={searchTerms}"; |
716 const char* const icon_url = "http://test.com/icon.jpg"; | 717 const char* const icon_url = "http://test.com/icon.jpg"; |
717 const char* const name = "MyName"; | 718 const char* const name = "MyName"; |
718 const char* const keyword = "MyKeyword"; | 719 const char* const keyword = "MyKeyword"; |
719 ListValue* encodings = new ListValue(); | 720 base::ListValue* encodings = new base::ListValue(); |
720 encodings->Append(Value::CreateStringValue("UTF-16")); | 721 encodings->Append(base::Value::CreateStringValue("UTF-16")); |
721 encodings->Append(Value::CreateStringValue("UTF-8")); | 722 encodings->Append(base::Value::CreateStringValue("UTF-8")); |
722 MockConfigurationPolicyProvider provider; | 723 MockConfigurationPolicyProvider provider; |
723 provider.AddMandatoryPolicy(key::kDefaultSearchProviderEnabled, | 724 provider.AddMandatoryPolicy(key::kDefaultSearchProviderEnabled, |
724 Value::CreateBooleanValue(true)); | 725 base::Value::CreateBooleanValue(true)); |
725 provider.AddMandatoryPolicy(key::kDefaultSearchProviderSearchURL, | 726 provider.AddMandatoryPolicy(key::kDefaultSearchProviderSearchURL, |
726 Value::CreateStringValue(bad_search_url)); | 727 base::Value::CreateStringValue(bad_search_url)); |
727 provider.AddMandatoryPolicy(key::kDefaultSearchProviderName, | 728 provider.AddMandatoryPolicy(key::kDefaultSearchProviderName, |
728 Value::CreateStringValue(name)); | 729 base::Value::CreateStringValue(name)); |
729 provider.AddMandatoryPolicy(key::kDefaultSearchProviderKeyword, | 730 provider.AddMandatoryPolicy(key::kDefaultSearchProviderKeyword, |
730 Value::CreateStringValue(keyword)); | 731 base::Value::CreateStringValue(keyword)); |
731 provider.AddMandatoryPolicy(key::kDefaultSearchProviderSuggestURL, | 732 provider.AddMandatoryPolicy(key::kDefaultSearchProviderSuggestURL, |
732 Value::CreateStringValue(suggest_url)); | 733 base::Value::CreateStringValue(suggest_url)); |
733 provider.AddMandatoryPolicy(key::kDefaultSearchProviderIconURL, | 734 provider.AddMandatoryPolicy(key::kDefaultSearchProviderIconURL, |
734 Value::CreateStringValue(icon_url)); | 735 base::Value::CreateStringValue(icon_url)); |
735 provider.AddMandatoryPolicy(key::kDefaultSearchProviderEncodings, encodings); | 736 provider.AddMandatoryPolicy(key::kDefaultSearchProviderEncodings, encodings); |
736 | 737 |
737 scoped_refptr<ConfigurationPolicyPrefStore> store( | 738 scoped_refptr<ConfigurationPolicyPrefStore> store( |
738 new ConfigurationPolicyPrefStore(&provider)); | 739 new ConfigurationPolicyPrefStore(&provider)); |
739 | 740 |
740 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 741 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
741 store->GetValue(prefs::kDefaultSearchProviderSearchURL, NULL)); | 742 store->GetValue(prefs::kDefaultSearchProviderSearchURL, NULL)); |
742 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 743 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
743 store->GetValue(prefs::kDefaultSearchProviderName, NULL)); | 744 store->GetValue(prefs::kDefaultSearchProviderName, NULL)); |
744 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 745 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
745 store->GetValue(prefs::kDefaultSearchProviderKeyword, NULL)); | 746 store->GetValue(prefs::kDefaultSearchProviderKeyword, NULL)); |
746 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 747 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
747 store->GetValue(prefs::kDefaultSearchProviderSuggestURL, NULL)); | 748 store->GetValue(prefs::kDefaultSearchProviderSuggestURL, NULL)); |
748 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 749 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
749 store->GetValue(prefs::kDefaultSearchProviderIconURL, NULL)); | 750 store->GetValue(prefs::kDefaultSearchProviderIconURL, NULL)); |
750 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 751 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
751 store->GetValue(prefs::kDefaultSearchProviderEncodings, NULL)); | 752 store->GetValue(prefs::kDefaultSearchProviderEncodings, NULL)); |
752 } | 753 } |
753 | 754 |
755 // Checks that if the default search policy is invalid, that no elements of the | |
756 // default search policy will be present. | |
757 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, Disabled) { | |
758 MockConfigurationPolicyProvider provider; | |
759 provider.AddMandatoryPolicy(key::kDefaultSearchProviderEnabled, | |
760 base::Value::CreateBooleanValue(false)); | |
761 | |
762 scoped_refptr<ConfigurationPolicyPrefStore> store( | |
763 new ConfigurationPolicyPrefStore(&provider)); | |
764 | |
765 const base::Value* value = NULL; | |
766 EXPECT_EQ(PrefStore::READ_OK, | |
767 store->GetValue(prefs::kDefaultSearchProviderEnabled, &value)); | |
768 EXPECT_TRUE(base::FundamentalValue(false).Equals(value)); | |
Joao da Silva
2012/02/01 10:01:09
Will crash if |value| is NULL. How about
base::Fun
Mattias Nissler (ping if slow)
2012/02/01 12:19:39
Done.
| |
769 EXPECT_EQ(PrefStore::READ_OK, | |
770 store->GetValue(prefs::kDefaultSearchProviderSearchURL, &value)); | |
771 EXPECT_TRUE(base::StringValue("").Equals(value)); | |
Joao da Silva
2012/02/01 10:01:09
Same.
Mattias Nissler (ping if slow)
2012/02/01 12:19:39
Done.
| |
772 } | |
773 | |
754 // Tests Incognito mode availability preference setting. | 774 // Tests Incognito mode availability preference setting. |
755 class ConfigurationPolicyPrefStoreIncognitoModeTest : public testing::Test { | 775 class ConfigurationPolicyPrefStoreIncognitoModeTest : public testing::Test { |
756 protected: | 776 protected: |
757 static const int kIncognitoModeAvailabilityNotSet = -1; | 777 static const int kIncognitoModeAvailabilityNotSet = -1; |
758 | 778 |
759 enum ObsoleteIncognitoEnabledValue { | 779 enum ObsoleteIncognitoEnabledValue { |
760 INCOGNITO_ENABLED_UNKNOWN, | 780 INCOGNITO_ENABLED_UNKNOWN, |
761 INCOGNITO_ENABLED_TRUE, | 781 INCOGNITO_ENABLED_TRUE, |
762 INCOGNITO_ENABLED_FALSE | 782 INCOGNITO_ENABLED_FALSE |
763 }; | 783 }; |
764 | 784 |
765 void SetPolicies(ObsoleteIncognitoEnabledValue incognito_enabled, | 785 void SetPolicies(ObsoleteIncognitoEnabledValue incognito_enabled, |
766 int availability) { | 786 int availability) { |
767 if (incognito_enabled != INCOGNITO_ENABLED_UNKNOWN) { | 787 if (incognito_enabled != INCOGNITO_ENABLED_UNKNOWN) { |
768 provider_.AddMandatoryPolicy( | 788 provider_.AddMandatoryPolicy( |
769 key::kIncognitoEnabled, | 789 key::kIncognitoEnabled, |
770 Value::CreateBooleanValue( | 790 base::Value::CreateBooleanValue( |
771 incognito_enabled == INCOGNITO_ENABLED_TRUE)); | 791 incognito_enabled == INCOGNITO_ENABLED_TRUE)); |
772 } | 792 } |
773 if (availability >= 0) { | 793 if (availability >= 0) { |
774 provider_.AddMandatoryPolicy(key::kIncognitoModeAvailability, | 794 provider_.AddMandatoryPolicy( |
775 Value::CreateIntegerValue(availability)); | 795 key::kIncognitoModeAvailability, |
796 base::Value::CreateIntegerValue(availability)); | |
776 } | 797 } |
777 store_ = new ConfigurationPolicyPrefStore(&provider_); | 798 store_ = new ConfigurationPolicyPrefStore(&provider_); |
778 } | 799 } |
779 | 800 |
780 void VerifyValues(IncognitoModePrefs::Availability availability) { | 801 void VerifyValues(IncognitoModePrefs::Availability availability) { |
781 const Value* value = NULL; | 802 const base::Value* value = NULL; |
782 EXPECT_EQ(PrefStore::READ_OK, | 803 EXPECT_EQ(PrefStore::READ_OK, |
783 store_->GetValue(prefs::kIncognitoModeAvailability, &value)); | 804 store_->GetValue(prefs::kIncognitoModeAvailability, &value)); |
784 EXPECT_TRUE(base::FundamentalValue(availability).Equals(value)); | 805 EXPECT_TRUE(base::FundamentalValue(availability).Equals(value)); |
785 } | 806 } |
786 | 807 |
787 MockConfigurationPolicyProvider provider_; | 808 MockConfigurationPolicyProvider provider_; |
788 scoped_refptr<ConfigurationPolicyPrefStore> store_; | 809 scoped_refptr<ConfigurationPolicyPrefStore> store_; |
789 }; | 810 }; |
790 | 811 |
791 // The following testcases verify that if the obsolete IncognitoEnabled | 812 // The following testcases verify that if the obsolete IncognitoEnabled |
(...skipping 13 matching lines...) Expand all Loading... | |
805 | 826 |
806 TEST_F(ConfigurationPolicyPrefStoreIncognitoModeTest, | 827 TEST_F(ConfigurationPolicyPrefStoreIncognitoModeTest, |
807 NoObsoletePolicyAndIncognitoForced) { | 828 NoObsoletePolicyAndIncognitoForced) { |
808 SetPolicies(INCOGNITO_ENABLED_UNKNOWN, IncognitoModePrefs::FORCED); | 829 SetPolicies(INCOGNITO_ENABLED_UNKNOWN, IncognitoModePrefs::FORCED); |
809 VerifyValues(IncognitoModePrefs::FORCED); | 830 VerifyValues(IncognitoModePrefs::FORCED); |
810 } | 831 } |
811 | 832 |
812 TEST_F(ConfigurationPolicyPrefStoreIncognitoModeTest, | 833 TEST_F(ConfigurationPolicyPrefStoreIncognitoModeTest, |
813 NoObsoletePolicyAndNoIncognitoAvailability) { | 834 NoObsoletePolicyAndNoIncognitoAvailability) { |
814 SetPolicies(INCOGNITO_ENABLED_UNKNOWN, kIncognitoModeAvailabilityNotSet); | 835 SetPolicies(INCOGNITO_ENABLED_UNKNOWN, kIncognitoModeAvailabilityNotSet); |
815 const Value* value = NULL; | 836 const base::Value* value = NULL; |
816 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 837 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
817 store_->GetValue(prefs::kIncognitoModeAvailability, &value)); | 838 store_->GetValue(prefs::kIncognitoModeAvailability, &value)); |
818 } | 839 } |
819 | 840 |
820 // Checks that if the obsolete IncognitoEnabled policy is set, if sets | 841 // Checks that if the obsolete IncognitoEnabled policy is set, if sets |
821 // the IncognitoModeAvailability preference only in case | 842 // the IncognitoModeAvailability preference only in case |
822 // the IncognitoModeAvailability policy is not specified. | 843 // the IncognitoModeAvailability policy is not specified. |
823 TEST_F(ConfigurationPolicyPrefStoreIncognitoModeTest, | 844 TEST_F(ConfigurationPolicyPrefStoreIncognitoModeTest, |
824 ObsoletePolicyDoesNotAffectAvailabilityEnabled) { | 845 ObsoletePolicyDoesNotAffectAvailabilityEnabled) { |
825 SetPolicies(INCOGNITO_ENABLED_FALSE, IncognitoModePrefs::ENABLED); | 846 SetPolicies(INCOGNITO_ENABLED_FALSE, IncognitoModePrefs::ENABLED); |
(...skipping 23 matching lines...) Expand all Loading... | |
849 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> { | 870 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> { |
850 }; | 871 }; |
851 | 872 |
852 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Default) { | 873 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Default) { |
853 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 874 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
854 store_->GetValue(prefs::kSyncManaged, NULL)); | 875 store_->GetValue(prefs::kSyncManaged, NULL)); |
855 } | 876 } |
856 | 877 |
857 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Enabled) { | 878 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Enabled) { |
858 provider_.AddMandatoryPolicy(key::kSyncDisabled, | 879 provider_.AddMandatoryPolicy(key::kSyncDisabled, |
859 Value::CreateBooleanValue(false)); | 880 base::Value::CreateBooleanValue(false)); |
860 store_->OnUpdatePolicy(&provider_); | 881 store_->OnUpdatePolicy(&provider_); |
861 // Enabling Sync should not set the pref. | 882 // Enabling Sync should not set the pref. |
862 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 883 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
863 store_->GetValue(prefs::kSyncManaged, NULL)); | 884 store_->GetValue(prefs::kSyncManaged, NULL)); |
864 } | 885 } |
865 | 886 |
866 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Disabled) { | 887 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Disabled) { |
867 provider_.AddMandatoryPolicy(key::kSyncDisabled, | 888 provider_.AddMandatoryPolicy(key::kSyncDisabled, |
868 Value::CreateBooleanValue(true)); | 889 base::Value::CreateBooleanValue(true)); |
869 store_->OnUpdatePolicy(&provider_); | 890 store_->OnUpdatePolicy(&provider_); |
870 // Sync should be flagged as managed. | 891 // Sync should be flagged as managed. |
871 const Value* value = NULL; | 892 const base::Value* value = NULL; |
872 EXPECT_EQ(PrefStore::READ_OK, store_->GetValue(prefs::kSyncManaged, &value)); | 893 EXPECT_EQ(PrefStore::READ_OK, store_->GetValue(prefs::kSyncManaged, &value)); |
873 ASSERT_TRUE(value); | 894 ASSERT_TRUE(value); |
874 bool sync_managed = false; | 895 bool sync_managed = false; |
875 bool result = value->GetAsBoolean(&sync_managed); | 896 bool result = value->GetAsBoolean(&sync_managed); |
876 ASSERT_TRUE(result); | 897 ASSERT_TRUE(result); |
877 EXPECT_TRUE(sync_managed); | 898 EXPECT_TRUE(sync_managed); |
878 } | 899 } |
879 | 900 |
880 // Test cases for how the DownloadDirectory and AllowFileSelectionDialogs policy | 901 // Test cases for how the DownloadDirectory and AllowFileSelectionDialogs policy |
881 // influence the PromptForDownload preference. | 902 // influence the PromptForDownload preference. |
882 class ConfigurationPolicyPrefStorePromptDownloadTest | 903 class ConfigurationPolicyPrefStorePromptDownloadTest |
883 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> { | 904 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> { |
884 }; | 905 }; |
885 | 906 |
886 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, Default) { | 907 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, Default) { |
887 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 908 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
888 store_->GetValue(prefs::kPromptForDownload, NULL)); | 909 store_->GetValue(prefs::kPromptForDownload, NULL)); |
889 } | 910 } |
890 | 911 |
891 #if !defined(OS_CHROMEOS) | 912 #if !defined(OS_CHROMEOS) |
892 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, SetDownloadDirectory) { | 913 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, SetDownloadDirectory) { |
893 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 914 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
894 store_->GetValue(prefs::kPromptForDownload, NULL)); | 915 store_->GetValue(prefs::kPromptForDownload, NULL)); |
895 provider_.AddMandatoryPolicy(key::kDownloadDirectory, | 916 provider_.AddMandatoryPolicy(key::kDownloadDirectory, |
896 Value::CreateStringValue("")); | 917 base::Value::CreateStringValue("")); |
897 store_->OnUpdatePolicy(&provider_); | 918 store_->OnUpdatePolicy(&provider_); |
898 | 919 |
899 // Setting a DownloadDirectory should disable the PromptForDownload pref. | 920 // Setting a DownloadDirectory should disable the PromptForDownload pref. |
900 const Value* value = NULL; | 921 const base::Value* value = NULL; |
901 EXPECT_EQ(PrefStore::READ_OK, store_->GetValue(prefs::kPromptForDownload, | 922 EXPECT_EQ(PrefStore::READ_OK, store_->GetValue(prefs::kPromptForDownload, |
902 &value)); | 923 &value)); |
903 ASSERT_TRUE(value); | 924 ASSERT_TRUE(value); |
904 bool prompt_for_download = true; | 925 bool prompt_for_download = true; |
905 bool result = value->GetAsBoolean(&prompt_for_download); | 926 bool result = value->GetAsBoolean(&prompt_for_download); |
906 ASSERT_TRUE(result); | 927 ASSERT_TRUE(result); |
907 EXPECT_FALSE(prompt_for_download); | 928 EXPECT_FALSE(prompt_for_download); |
908 } | 929 } |
909 #endif // !defined(OS_CHROMEOS) | 930 #endif // !defined(OS_CHROMEOS) |
910 | 931 |
911 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, | 932 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, |
912 EnableFileSelectionDialogs) { | 933 EnableFileSelectionDialogs) { |
913 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 934 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
914 store_->GetValue(prefs::kPromptForDownload, NULL)); | 935 store_->GetValue(prefs::kPromptForDownload, NULL)); |
915 provider_.AddMandatoryPolicy(key::kAllowFileSelectionDialogs, | 936 provider_.AddMandatoryPolicy(key::kAllowFileSelectionDialogs, |
916 Value::CreateBooleanValue(true)); | 937 base::Value::CreateBooleanValue(true)); |
917 store_->OnUpdatePolicy(&provider_); | 938 store_->OnUpdatePolicy(&provider_); |
918 | 939 |
919 // Allowing file-selection dialogs should not influence the PromptForDownload | 940 // Allowing file-selection dialogs should not influence the PromptForDownload |
920 // pref. | 941 // pref. |
921 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 942 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
922 store_->GetValue(prefs::kPromptForDownload, NULL)); | 943 store_->GetValue(prefs::kPromptForDownload, NULL)); |
923 } | 944 } |
924 | 945 |
925 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, | 946 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, |
926 DisableFileSelectionDialogs) { | 947 DisableFileSelectionDialogs) { |
927 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 948 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
928 store_->GetValue(prefs::kPromptForDownload, NULL)); | 949 store_->GetValue(prefs::kPromptForDownload, NULL)); |
929 provider_.AddMandatoryPolicy(key::kAllowFileSelectionDialogs, | 950 provider_.AddMandatoryPolicy(key::kAllowFileSelectionDialogs, |
930 Value::CreateBooleanValue(false)); | 951 base::Value::CreateBooleanValue(false)); |
931 store_->OnUpdatePolicy(&provider_); | 952 store_->OnUpdatePolicy(&provider_); |
932 | 953 |
933 // Disabling file-selection dialogs should disable the PromptForDownload pref. | 954 // Disabling file-selection dialogs should disable the PromptForDownload pref. |
934 const Value* value = NULL; | 955 const base::Value* value = NULL; |
935 EXPECT_EQ(PrefStore::READ_OK, store_->GetValue(prefs::kPromptForDownload, | 956 EXPECT_EQ(PrefStore::READ_OK, store_->GetValue(prefs::kPromptForDownload, |
936 &value)); | 957 &value)); |
937 ASSERT_TRUE(value); | 958 ASSERT_TRUE(value); |
938 bool prompt_for_download = true; | 959 bool prompt_for_download = true; |
939 bool result = value->GetAsBoolean(&prompt_for_download); | 960 bool result = value->GetAsBoolean(&prompt_for_download); |
940 ASSERT_TRUE(result); | 961 ASSERT_TRUE(result); |
941 EXPECT_FALSE(prompt_for_download); | 962 EXPECT_FALSE(prompt_for_download); |
942 } | 963 } |
943 | 964 |
944 // Test cases for the Autofill policy setting. | 965 // Test cases for the Autofill policy setting. |
945 class ConfigurationPolicyPrefStoreAutofillTest | 966 class ConfigurationPolicyPrefStoreAutofillTest |
946 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> { | 967 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> { |
947 }; | 968 }; |
948 | 969 |
949 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Default) { | 970 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Default) { |
950 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 971 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
951 store_->GetValue(prefs::kAutofillEnabled, NULL)); | 972 store_->GetValue(prefs::kAutofillEnabled, NULL)); |
952 } | 973 } |
953 | 974 |
954 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Enabled) { | 975 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Enabled) { |
955 provider_.AddMandatoryPolicy(key::kAutoFillEnabled, | 976 provider_.AddMandatoryPolicy(key::kAutoFillEnabled, |
956 Value::CreateBooleanValue(true)); | 977 base::Value::CreateBooleanValue(true)); |
957 store_->OnUpdatePolicy(&provider_); | 978 store_->OnUpdatePolicy(&provider_); |
958 // Enabling Autofill should not set the pref. | 979 // Enabling Autofill should not set the pref. |
959 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 980 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
960 store_->GetValue(prefs::kAutofillEnabled, NULL)); | 981 store_->GetValue(prefs::kAutofillEnabled, NULL)); |
961 } | 982 } |
962 | 983 |
963 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Disabled) { | 984 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Disabled) { |
964 provider_.AddMandatoryPolicy(key::kAutoFillEnabled, | 985 provider_.AddMandatoryPolicy(key::kAutoFillEnabled, |
965 Value::CreateBooleanValue(false)); | 986 base::Value::CreateBooleanValue(false)); |
966 store_->OnUpdatePolicy(&provider_); | 987 store_->OnUpdatePolicy(&provider_); |
967 // Disabling Autofill should switch the pref to managed. | 988 // Disabling Autofill should switch the pref to managed. |
968 const Value* value = NULL; | 989 const base::Value* value = NULL; |
969 EXPECT_EQ(PrefStore::READ_OK, | 990 EXPECT_EQ(PrefStore::READ_OK, |
970 store_->GetValue(prefs::kAutofillEnabled, &value)); | 991 store_->GetValue(prefs::kAutofillEnabled, &value)); |
971 ASSERT_TRUE(value); | 992 ASSERT_TRUE(value); |
972 bool autofill_enabled = true; | 993 bool autofill_enabled = true; |
973 bool result = value->GetAsBoolean(&autofill_enabled); | 994 bool result = value->GetAsBoolean(&autofill_enabled); |
974 ASSERT_TRUE(result); | 995 ASSERT_TRUE(result); |
975 EXPECT_FALSE(autofill_enabled); | 996 EXPECT_FALSE(autofill_enabled); |
976 } | 997 } |
977 | 998 |
978 // Exercises the policy refresh mechanism. | 999 // Exercises the policy refresh mechanism. |
979 class ConfigurationPolicyPrefStoreRefreshTest | 1000 class ConfigurationPolicyPrefStoreRefreshTest |
980 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> { | 1001 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> { |
981 protected: | 1002 protected: |
982 virtual void SetUp() { | 1003 virtual void SetUp() { |
983 store_->AddObserver(&observer_); | 1004 store_->AddObserver(&observer_); |
984 } | 1005 } |
985 | 1006 |
986 virtual void TearDown() { | 1007 virtual void TearDown() { |
987 store_->RemoveObserver(&observer_); | 1008 store_->RemoveObserver(&observer_); |
988 } | 1009 } |
989 | 1010 |
990 PrefStoreObserverMock observer_; | 1011 PrefStoreObserverMock observer_; |
991 }; | 1012 }; |
992 | 1013 |
993 TEST_F(ConfigurationPolicyPrefStoreRefreshTest, Refresh) { | 1014 TEST_F(ConfigurationPolicyPrefStoreRefreshTest, Refresh) { |
994 const Value* value = NULL; | 1015 const base::Value* value = NULL; |
995 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 1016 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
996 store_->GetValue(prefs::kHomePage, NULL)); | 1017 store_->GetValue(prefs::kHomePage, NULL)); |
997 | 1018 |
998 EXPECT_CALL(observer_, OnPrefValueChanged(prefs::kHomePage)).Times(1); | 1019 EXPECT_CALL(observer_, OnPrefValueChanged(prefs::kHomePage)).Times(1); |
999 provider_.AddMandatoryPolicy( | 1020 provider_.AddMandatoryPolicy( |
1000 key::kHomepageLocation, | 1021 key::kHomepageLocation, |
1001 Value::CreateStringValue("http://www.chromium.org")); | 1022 base::Value::CreateStringValue("http://www.chromium.org")); |
1002 store_->OnUpdatePolicy(&provider_); | 1023 store_->OnUpdatePolicy(&provider_); |
1003 Mock::VerifyAndClearExpectations(&observer_); | 1024 Mock::VerifyAndClearExpectations(&observer_); |
1004 EXPECT_EQ(PrefStore::READ_OK, | 1025 EXPECT_EQ(PrefStore::READ_OK, |
1005 store_->GetValue(prefs::kHomePage, &value)); | 1026 store_->GetValue(prefs::kHomePage, &value)); |
1006 EXPECT_TRUE(StringValue("http://www.chromium.org").Equals(value)); | 1027 EXPECT_TRUE(base::StringValue("http://www.chromium.org").Equals(value)); |
1007 | 1028 |
1008 EXPECT_CALL(observer_, OnPrefValueChanged(_)).Times(0); | 1029 EXPECT_CALL(observer_, OnPrefValueChanged(_)).Times(0); |
1009 store_->OnUpdatePolicy(&provider_); | 1030 store_->OnUpdatePolicy(&provider_); |
1010 Mock::VerifyAndClearExpectations(&observer_); | 1031 Mock::VerifyAndClearExpectations(&observer_); |
1011 | 1032 |
1012 EXPECT_CALL(observer_, OnPrefValueChanged(prefs::kHomePage)).Times(1); | 1033 EXPECT_CALL(observer_, OnPrefValueChanged(prefs::kHomePage)).Times(1); |
1013 provider_.RemovePolicy(key::kHomepageLocation); | 1034 provider_.RemovePolicy(key::kHomepageLocation); |
1014 store_->OnUpdatePolicy(&provider_); | 1035 store_->OnUpdatePolicy(&provider_); |
1015 Mock::VerifyAndClearExpectations(&observer_); | 1036 Mock::VerifyAndClearExpectations(&observer_); |
1016 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 1037 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
(...skipping 16 matching lines...) Expand all Loading... | |
1033 // Tests for policies that don't quite fit the previous patterns. | 1054 // Tests for policies that don't quite fit the previous patterns. |
1034 class ConfigurationPolicyPrefStoreOthersTest | 1055 class ConfigurationPolicyPrefStoreOthersTest |
1035 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> { | 1056 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> { |
1036 }; | 1057 }; |
1037 | 1058 |
1038 TEST_F(ConfigurationPolicyPrefStoreOthersTest, JavascriptEnabled) { | 1059 TEST_F(ConfigurationPolicyPrefStoreOthersTest, JavascriptEnabled) { |
1039 // This is a boolean policy, but affects an integer preference. | 1060 // This is a boolean policy, but affects an integer preference. |
1040 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 1061 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
1041 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL)); | 1062 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL)); |
1042 provider_.AddMandatoryPolicy(key::kJavascriptEnabled, | 1063 provider_.AddMandatoryPolicy(key::kJavascriptEnabled, |
1043 Value::CreateBooleanValue(true)); | 1064 base::Value::CreateBooleanValue(true)); |
1044 store_->OnUpdatePolicy(&provider_); | 1065 store_->OnUpdatePolicy(&provider_); |
1045 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 1066 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
1046 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL)); | 1067 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL)); |
1047 provider_.AddMandatoryPolicy(key::kJavascriptEnabled, | 1068 provider_.AddMandatoryPolicy(key::kJavascriptEnabled, |
1048 Value::CreateBooleanValue(false)); | 1069 base::Value::CreateBooleanValue(false)); |
1049 store_->OnUpdatePolicy(&provider_); | 1070 store_->OnUpdatePolicy(&provider_); |
1050 const Value* value = NULL; | 1071 const base::Value* value = NULL; |
1051 EXPECT_EQ(PrefStore::READ_OK, | 1072 EXPECT_EQ(PrefStore::READ_OK, |
1052 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, &value)); | 1073 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, &value)); |
1053 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_BLOCK).Equals(value)); | 1074 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_BLOCK).Equals(value)); |
1054 } | 1075 } |
1055 | 1076 |
1056 TEST_F(ConfigurationPolicyPrefStoreOthersTest, JavascriptEnabledOverridden) { | 1077 TEST_F(ConfigurationPolicyPrefStoreOthersTest, JavascriptEnabledOverridden) { |
1057 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 1078 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
1058 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL)); | 1079 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL)); |
1059 provider_.AddMandatoryPolicy(key::kJavascriptEnabled, | 1080 provider_.AddMandatoryPolicy(key::kJavascriptEnabled, |
1060 Value::CreateBooleanValue(false)); | 1081 base::Value::CreateBooleanValue(false)); |
1061 store_->OnUpdatePolicy(&provider_); | 1082 store_->OnUpdatePolicy(&provider_); |
1062 const Value* value = NULL; | 1083 const base::Value* value = NULL; |
1063 EXPECT_EQ(PrefStore::READ_OK, | 1084 EXPECT_EQ(PrefStore::READ_OK, |
1064 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, &value)); | 1085 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, &value)); |
1065 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_BLOCK).Equals(value)); | 1086 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_BLOCK).Equals(value)); |
1066 // DefaultJavaScriptSetting overrides JavascriptEnabled. | 1087 // DefaultJavaScriptSetting overrides JavascriptEnabled. |
1067 provider_.AddMandatoryPolicy( | 1088 provider_.AddMandatoryPolicy( |
1068 key::kDefaultJavaScriptSetting, | 1089 key::kDefaultJavaScriptSetting, |
1069 Value::CreateIntegerValue(CONTENT_SETTING_ALLOW)); | 1090 base::Value::CreateIntegerValue(CONTENT_SETTING_ALLOW)); |
1070 store_->OnUpdatePolicy(&provider_); | 1091 store_->OnUpdatePolicy(&provider_); |
1071 EXPECT_EQ(PrefStore::READ_OK, | 1092 EXPECT_EQ(PrefStore::READ_OK, |
1072 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, &value)); | 1093 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, &value)); |
1073 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_ALLOW).Equals(value)); | 1094 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_ALLOW).Equals(value)); |
1074 } | 1095 } |
1075 | 1096 |
1076 } // namespace policy | 1097 } // namespace policy |
OLD | NEW |