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

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

Issue 10236003: Added RefreshPolicies to PolicyService. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebased Created 8 years, 7 months 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) 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/policy/policy_map.h" 12 #include "chrome/browser/policy/policy_map.h"
13 #include "chrome/browser/policy/policy_service_impl.h" 13 #include "chrome/browser/policy/policy_service_impl.h"
14 #include "chrome/browser/prefs/incognito_mode_prefs.h" 14 #include "chrome/browser/prefs/incognito_mode_prefs.h"
15 #include "chrome/browser/prefs/proxy_config_dictionary.h" 15 #include "chrome/browser/prefs/proxy_config_dictionary.h"
16 #include "chrome/common/content_settings.h" 16 #include "chrome/common/content_settings.h"
17 #include "chrome/common/pref_names.h" 17 #include "chrome/common/pref_names.h"
18 #include "chrome/common/pref_store_observer_mock.h" 18 #include "chrome/common/pref_store_observer_mock.h"
19 #include "policy/policy_constants.h" 19 #include "policy/policy_constants.h"
20 #include "testing/gmock/include/gmock/gmock.h" 20 #include "testing/gmock/include/gmock/gmock.h"
21 #include "testing/gtest/include/gtest/gtest.h" 21 #include "testing/gtest/include/gtest/gtest.h"
22 22
23 using testing::Mock; 23 using testing::Mock;
24 using testing::Return;
24 using testing::_; 25 using testing::_;
25 26
26 namespace policy { 27 namespace policy {
27 28
28 // Holds a set of test parameters, consisting of pref name and policy name. 29 // Holds a set of test parameters, consisting of pref name and policy name.
29 class PolicyAndPref { 30 class PolicyAndPref {
30 public: 31 public:
31 PolicyAndPref(const char* policy_name, const char* pref_name) 32 PolicyAndPref(const char* policy_name, const char* pref_name)
32 : policy_name_(policy_name), 33 : policy_name_(policy_name),
33 pref_name_(pref_name) {} 34 pref_name_(pref_name) {}
34 35
35 const char* policy_name() const { return policy_name_; } 36 const char* policy_name() const { return policy_name_; }
36 const char* pref_name() const { return pref_name_; } 37 const char* pref_name() const { return pref_name_; }
37 38
38 private: 39 private:
39 const char* policy_name_; 40 const char* policy_name_;
40 const char* pref_name_; 41 const char* pref_name_;
41 }; 42 };
42 43
43 class ConfigurationPolicyPrefStoreTest : public testing::Test { 44 class ConfigurationPolicyPrefStoreTest : public testing::Test {
44 protected: 45 protected:
45 ConfigurationPolicyPrefStoreTest() { 46 ConfigurationPolicyPrefStoreTest() {
47 EXPECT_CALL(provider_, ProvideInternal(_))
48 .WillRepeatedly(CopyPolicyMap(&policy_));
49 EXPECT_CALL(provider_, IsInitializationComplete())
50 .WillRepeatedly(Return(false));
46 PolicyServiceImpl::Providers providers; 51 PolicyServiceImpl::Providers providers;
47 providers.push_back(&provider_); 52 providers.push_back(&provider_);
48 policy_service_.reset(new PolicyServiceImpl(providers)); 53 policy_service_.reset(new PolicyServiceImpl(providers));
49 store_ = new ConfigurationPolicyPrefStore(policy_service_.get(), 54 store_ = new ConfigurationPolicyPrefStore(policy_service_.get(),
50 POLICY_LEVEL_MANDATORY); 55 POLICY_LEVEL_MANDATORY);
51 } 56 }
52 57
58 PolicyMap policy_;
53 MockConfigurationPolicyProvider provider_; 59 MockConfigurationPolicyProvider provider_;
54 scoped_ptr<PolicyServiceImpl> policy_service_; 60 scoped_ptr<PolicyServiceImpl> policy_service_;
55 scoped_refptr<ConfigurationPolicyPrefStore> store_; 61 scoped_refptr<ConfigurationPolicyPrefStore> store_;
56 }; 62 };
57 63
58 // Test cases for list-valued policy settings. 64 // Test cases for list-valued policy settings.
59 class ConfigurationPolicyPrefStoreListTest 65 class ConfigurationPolicyPrefStoreListTest
60 : public ConfigurationPolicyPrefStoreTest, 66 : public ConfigurationPolicyPrefStoreTest,
61 public testing::WithParamInterface<PolicyAndPref> {}; 67 public testing::WithParamInterface<PolicyAndPref> {};
62 68
63 TEST_P(ConfigurationPolicyPrefStoreListTest, GetDefault) { 69 TEST_P(ConfigurationPolicyPrefStoreListTest, GetDefault) {
64 EXPECT_EQ(PrefStore::READ_NO_VALUE, 70 EXPECT_EQ(PrefStore::READ_NO_VALUE,
65 store_->GetValue(GetParam().pref_name(), NULL)); 71 store_->GetValue(GetParam().pref_name(), NULL));
66 } 72 }
67 73
68 TEST_P(ConfigurationPolicyPrefStoreListTest, SetValue) { 74 TEST_P(ConfigurationPolicyPrefStoreListTest, SetValue) {
69 base::ListValue* in_value = new base::ListValue(); 75 base::ListValue* in_value = new base::ListValue();
70 in_value->Append(base::Value::CreateStringValue("test1")); 76 in_value->Append(base::Value::CreateStringValue("test1"));
71 in_value->Append(base::Value::CreateStringValue("test2,")); 77 in_value->Append(base::Value::CreateStringValue("test2,"));
72 provider_.AddMandatoryPolicy(GetParam().policy_name(), in_value); 78 policy_.Set(GetParam().policy_name(), POLICY_LEVEL_MANDATORY,
73 provider_.RefreshPolicies(); 79 POLICY_SCOPE_USER, in_value);
80 provider_.NotifyPolicyUpdated();
74 const base::Value* value = NULL; 81 const base::Value* value = NULL;
75 EXPECT_EQ(PrefStore::READ_OK, 82 EXPECT_EQ(PrefStore::READ_OK,
76 store_->GetValue(GetParam().pref_name(), &value)); 83 store_->GetValue(GetParam().pref_name(), &value));
77 ASSERT_TRUE(value); 84 ASSERT_TRUE(value);
78 EXPECT_TRUE(in_value->Equals(value)); 85 EXPECT_TRUE(in_value->Equals(value));
79 } 86 }
80 87
81 INSTANTIATE_TEST_CASE_P( 88 INSTANTIATE_TEST_CASE_P(
82 ConfigurationPolicyPrefStoreListTestInstance, 89 ConfigurationPolicyPrefStoreListTestInstance,
83 ConfigurationPolicyPrefStoreListTest, 90 ConfigurationPolicyPrefStoreListTest,
(...skipping 23 matching lines...) Expand all
107 class ConfigurationPolicyPrefStoreStringTest 114 class ConfigurationPolicyPrefStoreStringTest
108 : public ConfigurationPolicyPrefStoreTest, 115 : public ConfigurationPolicyPrefStoreTest,
109 public testing::WithParamInterface<PolicyAndPref> {}; 116 public testing::WithParamInterface<PolicyAndPref> {};
110 117
111 TEST_P(ConfigurationPolicyPrefStoreStringTest, GetDefault) { 118 TEST_P(ConfigurationPolicyPrefStoreStringTest, GetDefault) {
112 EXPECT_EQ(PrefStore::READ_NO_VALUE, 119 EXPECT_EQ(PrefStore::READ_NO_VALUE,
113 store_->GetValue(GetParam().pref_name(), NULL)); 120 store_->GetValue(GetParam().pref_name(), NULL));
114 } 121 }
115 122
116 TEST_P(ConfigurationPolicyPrefStoreStringTest, SetValue) { 123 TEST_P(ConfigurationPolicyPrefStoreStringTest, SetValue) {
117 provider_.AddMandatoryPolicy(GetParam().policy_name(), 124 policy_.Set(GetParam().policy_name(), POLICY_LEVEL_MANDATORY,
118 base::Value::CreateStringValue( 125 POLICY_SCOPE_USER,
119 "http://chromium.org")); 126 base::Value::CreateStringValue("http://chromium.org"));
120 provider_.RefreshPolicies(); 127 provider_.NotifyPolicyUpdated();
121 const base::Value* value = NULL; 128 const base::Value* value = NULL;
122 EXPECT_EQ(PrefStore::READ_OK, 129 EXPECT_EQ(PrefStore::READ_OK,
123 store_->GetValue(GetParam().pref_name(), &value)); 130 store_->GetValue(GetParam().pref_name(), &value));
124 ASSERT_TRUE(value); 131 ASSERT_TRUE(value);
125 EXPECT_TRUE(base::StringValue("http://chromium.org").Equals(value)); 132 EXPECT_TRUE(base::StringValue("http://chromium.org").Equals(value));
126 } 133 }
127 134
128 INSTANTIATE_TEST_CASE_P( 135 INSTANTIATE_TEST_CASE_P(
129 ConfigurationPolicyPrefStoreStringTestInstance, 136 ConfigurationPolicyPrefStoreStringTestInstance,
130 ConfigurationPolicyPrefStoreStringTest, 137 ConfigurationPolicyPrefStoreStringTest,
(...skipping 25 matching lines...) Expand all
156 class ConfigurationPolicyPrefStoreBooleanTest 163 class ConfigurationPolicyPrefStoreBooleanTest
157 : public ConfigurationPolicyPrefStoreTest, 164 : public ConfigurationPolicyPrefStoreTest,
158 public testing::WithParamInterface<PolicyAndPref> {}; 165 public testing::WithParamInterface<PolicyAndPref> {};
159 166
160 TEST_P(ConfigurationPolicyPrefStoreBooleanTest, GetDefault) { 167 TEST_P(ConfigurationPolicyPrefStoreBooleanTest, GetDefault) {
161 EXPECT_EQ(PrefStore::READ_NO_VALUE, 168 EXPECT_EQ(PrefStore::READ_NO_VALUE,
162 store_->GetValue(GetParam().pref_name(), NULL)); 169 store_->GetValue(GetParam().pref_name(), NULL));
163 } 170 }
164 171
165 TEST_P(ConfigurationPolicyPrefStoreBooleanTest, SetValue) { 172 TEST_P(ConfigurationPolicyPrefStoreBooleanTest, SetValue) {
166 provider_.AddMandatoryPolicy(GetParam().policy_name(), 173 policy_.Set(GetParam().policy_name(), POLICY_LEVEL_MANDATORY,
167 base::Value::CreateBooleanValue(false)); 174 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(false));
168 provider_.RefreshPolicies(); 175 provider_.NotifyPolicyUpdated();
169 const base::Value* value = NULL; 176 const base::Value* value = NULL;
170 EXPECT_EQ(PrefStore::READ_OK, 177 EXPECT_EQ(PrefStore::READ_OK,
171 store_->GetValue(GetParam().pref_name(), &value)); 178 store_->GetValue(GetParam().pref_name(), &value));
172 ASSERT_TRUE(value); 179 ASSERT_TRUE(value);
173 bool boolean_value = true; 180 bool boolean_value = true;
174 bool result = value->GetAsBoolean(&boolean_value); 181 bool result = value->GetAsBoolean(&boolean_value);
175 ASSERT_TRUE(result); 182 ASSERT_TRUE(result);
176 EXPECT_FALSE(boolean_value); 183 EXPECT_FALSE(boolean_value);
177 184
178 provider_.AddMandatoryPolicy(GetParam().policy_name(), 185 policy_.Set(GetParam().policy_name(), POLICY_LEVEL_MANDATORY,
179 base::Value::CreateBooleanValue(true)); 186 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(true));
180 provider_.RefreshPolicies(); 187 provider_.NotifyPolicyUpdated();
181 value = NULL; 188 value = NULL;
182 EXPECT_EQ(PrefStore::READ_OK, 189 EXPECT_EQ(PrefStore::READ_OK,
183 store_->GetValue(GetParam().pref_name(), &value)); 190 store_->GetValue(GetParam().pref_name(), &value));
184 boolean_value = false; 191 boolean_value = false;
185 result = value->GetAsBoolean(&boolean_value); 192 result = value->GetAsBoolean(&boolean_value);
186 ASSERT_TRUE(result); 193 ASSERT_TRUE(result);
187 EXPECT_TRUE(boolean_value); 194 EXPECT_TRUE(boolean_value);
188 } 195 }
189 196
190 INSTANTIATE_TEST_CASE_P( 197 INSTANTIATE_TEST_CASE_P(
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
289 class ConfigurationPolicyPrefStoreIntegerTest 296 class ConfigurationPolicyPrefStoreIntegerTest
290 : public ConfigurationPolicyPrefStoreTest, 297 : public ConfigurationPolicyPrefStoreTest,
291 public testing::WithParamInterface<PolicyAndPref> {}; 298 public testing::WithParamInterface<PolicyAndPref> {};
292 299
293 TEST_P(ConfigurationPolicyPrefStoreIntegerTest, GetDefault) { 300 TEST_P(ConfigurationPolicyPrefStoreIntegerTest, GetDefault) {
294 EXPECT_EQ(PrefStore::READ_NO_VALUE, 301 EXPECT_EQ(PrefStore::READ_NO_VALUE,
295 store_->GetValue(GetParam().pref_name(), NULL)); 302 store_->GetValue(GetParam().pref_name(), NULL));
296 } 303 }
297 304
298 TEST_P(ConfigurationPolicyPrefStoreIntegerTest, SetValue) { 305 TEST_P(ConfigurationPolicyPrefStoreIntegerTest, SetValue) {
299 provider_.AddMandatoryPolicy(GetParam().policy_name(), 306 policy_.Set(GetParam().policy_name(), POLICY_LEVEL_MANDATORY,
300 base::Value::CreateIntegerValue(2)); 307 POLICY_SCOPE_USER, base::Value::CreateIntegerValue(2));
301 provider_.RefreshPolicies(); 308 provider_.NotifyPolicyUpdated();
302 const base::Value* value = NULL; 309 const base::Value* value = NULL;
303 EXPECT_EQ(PrefStore::READ_OK, 310 EXPECT_EQ(PrefStore::READ_OK,
304 store_->GetValue(GetParam().pref_name(), &value)); 311 store_->GetValue(GetParam().pref_name(), &value));
305 EXPECT_TRUE(base::FundamentalValue(2).Equals(value)); 312 EXPECT_TRUE(base::FundamentalValue(2).Equals(value));
306 } 313 }
307 314
308 INSTANTIATE_TEST_CASE_P( 315 INSTANTIATE_TEST_CASE_P(
309 ConfigurationPolicyPrefStoreIntegerTestInstance, 316 ConfigurationPolicyPrefStoreIntegerTestInstance,
310 ConfigurationPolicyPrefStoreIntegerTest, 317 ConfigurationPolicyPrefStoreIntegerTest,
311 testing::Values( 318 testing::Values(
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
367 ASSERT_TRUE(dict.GetBypassList(&s)); 374 ASSERT_TRUE(dict.GetBypassList(&s));
368 EXPECT_EQ(expected_proxy_bypass_list, s); 375 EXPECT_EQ(expected_proxy_bypass_list, s);
369 } 376 }
370 ProxyPrefs::ProxyMode mode; 377 ProxyPrefs::ProxyMode mode;
371 ASSERT_TRUE(dict.GetMode(&mode)); 378 ASSERT_TRUE(dict.GetMode(&mode));
372 EXPECT_EQ(expected_proxy_mode, mode); 379 EXPECT_EQ(expected_proxy_mode, mode);
373 } 380 }
374 }; 381 };
375 382
376 TEST_F(ConfigurationPolicyPrefStoreProxyTest, ManualOptions) { 383 TEST_F(ConfigurationPolicyPrefStoreProxyTest, ManualOptions) {
377 provider_.AddMandatoryPolicy( 384 policy_.Set(key::kProxyBypassList, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
378 key::kProxyBypassList, 385 base::Value::CreateStringValue("http://chromium.org/override"));
379 base::Value::CreateStringValue("http://chromium.org/override")); 386 policy_.Set(key::kProxyServer, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
380 provider_.AddMandatoryPolicy(key::kProxyServer, 387 base::Value::CreateStringValue("chromium.org"));
381 base::Value::CreateStringValue("chromium.org")); 388 policy_.Set(
382 provider_.AddMandatoryPolicy( 389 key::kProxyServerMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
383 key::kProxyServerMode,
384 base::Value::CreateIntegerValue( 390 base::Value::CreateIntegerValue(
385 ProxyPolicyHandler::PROXY_MANUALLY_CONFIGURED_PROXY_SERVER_MODE)); 391 ProxyPolicyHandler::PROXY_MANUALLY_CONFIGURED_PROXY_SERVER_MODE));
386 provider_.RefreshPolicies(); 392 provider_.NotifyPolicyUpdated();
387 393
388 VerifyProxyPrefs( 394 VerifyProxyPrefs(
389 "chromium.org", "", "http://chromium.org/override", 395 "chromium.org", "", "http://chromium.org/override",
390 ProxyPrefs::MODE_FIXED_SERVERS); 396 ProxyPrefs::MODE_FIXED_SERVERS);
391 } 397 }
392 398
393 TEST_F(ConfigurationPolicyPrefStoreProxyTest, ManualOptionsReversedApplyOrder) { 399 TEST_F(ConfigurationPolicyPrefStoreProxyTest, ManualOptionsReversedApplyOrder) {
394 provider_.AddMandatoryPolicy( 400 policy_.Set(
395 key::kProxyServerMode, 401 key::kProxyServerMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
396 base::Value::CreateIntegerValue( 402 base::Value::CreateIntegerValue(
397 ProxyPolicyHandler::PROXY_MANUALLY_CONFIGURED_PROXY_SERVER_MODE)); 403 ProxyPolicyHandler::PROXY_MANUALLY_CONFIGURED_PROXY_SERVER_MODE));
398 provider_.AddMandatoryPolicy( 404 policy_.Set(key::kProxyBypassList, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
399 key::kProxyBypassList, 405 base::Value::CreateStringValue("http://chromium.org/override"));
400 base::Value::CreateStringValue("http://chromium.org/override")); 406 policy_.Set(key::kProxyServer, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
401 provider_.AddMandatoryPolicy( 407 base::Value::CreateStringValue("chromium.org"));
402 key::kProxyServer, 408 provider_.NotifyPolicyUpdated();
403 base::Value::CreateStringValue("chromium.org"));
404 provider_.RefreshPolicies();
405 409
406 VerifyProxyPrefs( 410 VerifyProxyPrefs(
407 "chromium.org", "", "http://chromium.org/override", 411 "chromium.org", "", "http://chromium.org/override",
408 ProxyPrefs::MODE_FIXED_SERVERS); 412 ProxyPrefs::MODE_FIXED_SERVERS);
409 } 413 }
410 414
411 TEST_F(ConfigurationPolicyPrefStoreProxyTest, ManualOptionsInvalid) { 415 TEST_F(ConfigurationPolicyPrefStoreProxyTest, ManualOptionsInvalid) {
412 provider_.AddMandatoryPolicy( 416 policy_.Set(
413 key::kProxyServerMode, 417 key::kProxyServerMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
414 base::Value::CreateIntegerValue( 418 base::Value::CreateIntegerValue(
415 ProxyPolicyHandler::PROXY_MANUALLY_CONFIGURED_PROXY_SERVER_MODE)); 419 ProxyPolicyHandler::PROXY_MANUALLY_CONFIGURED_PROXY_SERVER_MODE));
416 provider_.RefreshPolicies(); 420 provider_.NotifyPolicyUpdated();
417 421
418 const base::Value* value = NULL; 422 const base::Value* value = NULL;
419 EXPECT_EQ(PrefStore::READ_NO_VALUE, store_->GetValue(prefs::kProxy, &value)); 423 EXPECT_EQ(PrefStore::READ_NO_VALUE, store_->GetValue(prefs::kProxy, &value));
420 } 424 }
421 425
422 426
423 TEST_F(ConfigurationPolicyPrefStoreProxyTest, NoProxyServerMode) { 427 TEST_F(ConfigurationPolicyPrefStoreProxyTest, NoProxyServerMode) {
424 provider_.AddMandatoryPolicy( 428 policy_.Set(key::kProxyServerMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
425 key::kProxyServerMode, 429 base::Value::CreateIntegerValue(
426 base::Value::CreateIntegerValue(ProxyPolicyHandler::PROXY_SERVER_MODE)); 430 ProxyPolicyHandler::PROXY_SERVER_MODE));
427 provider_.RefreshPolicies(); 431 provider_.NotifyPolicyUpdated();
428 VerifyProxyPrefs("", "", "", ProxyPrefs::MODE_DIRECT); 432 VerifyProxyPrefs("", "", "", ProxyPrefs::MODE_DIRECT);
429 } 433 }
430 434
431 TEST_F(ConfigurationPolicyPrefStoreProxyTest, NoProxyModeName) { 435 TEST_F(ConfigurationPolicyPrefStoreProxyTest, NoProxyModeName) {
432 provider_.AddMandatoryPolicy( 436 policy_.Set(key::kProxyMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
433 key::kProxyMode, 437 base::Value::CreateStringValue(ProxyPrefs::kDirectProxyModeName));
434 base::Value::CreateStringValue(ProxyPrefs::kDirectProxyModeName)); 438 provider_.NotifyPolicyUpdated();
435 provider_.RefreshPolicies();
436 VerifyProxyPrefs("", "", "", ProxyPrefs::MODE_DIRECT); 439 VerifyProxyPrefs("", "", "", ProxyPrefs::MODE_DIRECT);
437 } 440 }
438 441
439 TEST_F(ConfigurationPolicyPrefStoreProxyTest, AutoDetectProxyServerMode) { 442 TEST_F(ConfigurationPolicyPrefStoreProxyTest, AutoDetectProxyServerMode) {
440 provider_.AddMandatoryPolicy( 443 policy_.Set(
441 key::kProxyServerMode, 444 key::kProxyServerMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
442 base::Value::CreateIntegerValue( 445 base::Value::CreateIntegerValue(
443 ProxyPolicyHandler::PROXY_AUTO_DETECT_PROXY_SERVER_MODE)); 446 ProxyPolicyHandler::PROXY_AUTO_DETECT_PROXY_SERVER_MODE));
444 provider_.RefreshPolicies(); 447 provider_.NotifyPolicyUpdated();
445 VerifyProxyPrefs("", "", "", ProxyPrefs::MODE_AUTO_DETECT); 448 VerifyProxyPrefs("", "", "", ProxyPrefs::MODE_AUTO_DETECT);
446 } 449 }
447 450
448 TEST_F(ConfigurationPolicyPrefStoreProxyTest, AutoDetectProxyModeName) { 451 TEST_F(ConfigurationPolicyPrefStoreProxyTest, AutoDetectProxyModeName) {
449 provider_.AddMandatoryPolicy( 452 policy_.Set(key::kProxyMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
450 key::kProxyMode, 453 base::Value::CreateStringValue(
451 base::Value::CreateStringValue(ProxyPrefs::kAutoDetectProxyModeName)); 454 ProxyPrefs::kAutoDetectProxyModeName));
452 provider_.RefreshPolicies(); 455 provider_.NotifyPolicyUpdated();
453 VerifyProxyPrefs("", "", "", ProxyPrefs::MODE_AUTO_DETECT); 456 VerifyProxyPrefs("", "", "", ProxyPrefs::MODE_AUTO_DETECT);
454 } 457 }
455 458
456 TEST_F(ConfigurationPolicyPrefStoreProxyTest, PacScriptProxyMode) { 459 TEST_F(ConfigurationPolicyPrefStoreProxyTest, PacScriptProxyMode) {
457 provider_.AddMandatoryPolicy( 460 policy_.Set(key::kProxyPacUrl, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
458 key::kProxyPacUrl, 461 base::Value::CreateStringValue("http://short.org/proxy.pac"));
459 base::Value::CreateStringValue("http://short.org/proxy.pac")); 462 policy_.Set(key::kProxyMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
460 provider_.AddMandatoryPolicy( 463 base::Value::CreateStringValue(
461 key::kProxyMode, 464 ProxyPrefs::kPacScriptProxyModeName));
462 base::Value::CreateStringValue(ProxyPrefs::kPacScriptProxyModeName)); 465 provider_.NotifyPolicyUpdated();
463 provider_.RefreshPolicies();
464 VerifyProxyPrefs("", "http://short.org/proxy.pac", "", 466 VerifyProxyPrefs("", "http://short.org/proxy.pac", "",
465 ProxyPrefs::MODE_PAC_SCRIPT); 467 ProxyPrefs::MODE_PAC_SCRIPT);
466 } 468 }
467 469
468 TEST_F(ConfigurationPolicyPrefStoreProxyTest, PacScriptProxyModeInvalid) { 470 TEST_F(ConfigurationPolicyPrefStoreProxyTest, PacScriptProxyModeInvalid) {
469 provider_.AddMandatoryPolicy( 471 policy_.Set(key::kProxyMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
470 key::kProxyMode, 472 base::Value::CreateStringValue(
471 base::Value::CreateStringValue(ProxyPrefs::kPacScriptProxyModeName)); 473 ProxyPrefs::kPacScriptProxyModeName));
472 provider_.RefreshPolicies(); 474 provider_.NotifyPolicyUpdated();
473 const base::Value* value = NULL; 475 const base::Value* value = NULL;
474 EXPECT_EQ(PrefStore::READ_NO_VALUE, store_->GetValue(prefs::kProxy, &value)); 476 EXPECT_EQ(PrefStore::READ_NO_VALUE, store_->GetValue(prefs::kProxy, &value));
475 } 477 }
476 478
477 // Regression test for http://crbug.com/78016, CPanel returns empty strings 479 // Regression test for http://crbug.com/78016, CPanel returns empty strings
478 // for unset properties. 480 // for unset properties.
479 TEST_F(ConfigurationPolicyPrefStoreProxyTest, PacScriptProxyModeBug78016) { 481 TEST_F(ConfigurationPolicyPrefStoreProxyTest, PacScriptProxyModeBug78016) {
480 provider_.AddMandatoryPolicy(key::kProxyServer, 482 policy_.Set(key::kProxyServer, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
481 base::Value::CreateStringValue("")); 483 base::Value::CreateStringValue(""));
482 provider_.AddMandatoryPolicy( 484 policy_.Set(key::kProxyPacUrl, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
483 key::kProxyPacUrl, 485 base::Value::CreateStringValue("http://short.org/proxy.pac"));
484 base::Value::CreateStringValue("http://short.org/proxy.pac")); 486 policy_.Set(key::kProxyMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
485 provider_.AddMandatoryPolicy( 487 base::Value::CreateStringValue(
486 key::kProxyMode, 488 ProxyPrefs::kPacScriptProxyModeName));
487 base::Value::CreateStringValue(ProxyPrefs::kPacScriptProxyModeName)); 489 provider_.NotifyPolicyUpdated();
488 provider_.RefreshPolicies();
489 VerifyProxyPrefs("", "http://short.org/proxy.pac", "", 490 VerifyProxyPrefs("", "http://short.org/proxy.pac", "",
490 ProxyPrefs::MODE_PAC_SCRIPT); 491 ProxyPrefs::MODE_PAC_SCRIPT);
491 } 492 }
492 493
493 TEST_F(ConfigurationPolicyPrefStoreProxyTest, UseSystemProxyServerMode) { 494 TEST_F(ConfigurationPolicyPrefStoreProxyTest, UseSystemProxyServerMode) {
494 provider_.AddMandatoryPolicy( 495 policy_.Set(key::kProxyServerMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
495 key::kProxyServerMode,
496 base::Value::CreateIntegerValue( 496 base::Value::CreateIntegerValue(
497 ProxyPolicyHandler::PROXY_USE_SYSTEM_PROXY_SERVER_MODE)); 497 ProxyPolicyHandler::PROXY_USE_SYSTEM_PROXY_SERVER_MODE));
498 provider_.RefreshPolicies(); 498 provider_.NotifyPolicyUpdated();
499 VerifyProxyPrefs("", "", "", ProxyPrefs::MODE_SYSTEM); 499 VerifyProxyPrefs("", "", "", ProxyPrefs::MODE_SYSTEM);
500 } 500 }
501 501
502 TEST_F(ConfigurationPolicyPrefStoreProxyTest, UseSystemProxyMode) { 502 TEST_F(ConfigurationPolicyPrefStoreProxyTest, UseSystemProxyMode) {
503 provider_.AddMandatoryPolicy( 503 policy_.Set(key::kProxyMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
504 key::kProxyMode, 504 base::Value::CreateStringValue(ProxyPrefs::kSystemProxyModeName));
505 base::Value::CreateStringValue(ProxyPrefs::kSystemProxyModeName)); 505 provider_.NotifyPolicyUpdated();
506 provider_.RefreshPolicies();
507 VerifyProxyPrefs("", "", "", ProxyPrefs::MODE_SYSTEM); 506 VerifyProxyPrefs("", "", "", ProxyPrefs::MODE_SYSTEM);
508 } 507 }
509 508
510 TEST_F(ConfigurationPolicyPrefStoreProxyTest, 509 TEST_F(ConfigurationPolicyPrefStoreProxyTest,
511 ProxyModeOverridesProxyServerMode) { 510 ProxyModeOverridesProxyServerMode) {
512 provider_.AddMandatoryPolicy( 511 policy_.Set(key::kProxyServerMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
513 key::kProxyServerMode, 512 base::Value::CreateIntegerValue(
514 base::Value::CreateIntegerValue(ProxyPolicyHandler::PROXY_SERVER_MODE)); 513 ProxyPolicyHandler::PROXY_SERVER_MODE));
515 provider_.AddMandatoryPolicy( 514 policy_.Set(key::kProxyMode, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
516 key::kProxyMode, 515 base::Value::CreateStringValue(
517 base::Value::CreateStringValue(ProxyPrefs::kAutoDetectProxyModeName)); 516 ProxyPrefs::kAutoDetectProxyModeName));
518 provider_.RefreshPolicies(); 517 provider_.NotifyPolicyUpdated();
519 VerifyProxyPrefs("", "", "", ProxyPrefs::MODE_AUTO_DETECT); 518 VerifyProxyPrefs("", "", "", ProxyPrefs::MODE_AUTO_DETECT);
520 } 519 }
521 520
522 TEST_F(ConfigurationPolicyPrefStoreProxyTest, ProxyInvalid) { 521 TEST_F(ConfigurationPolicyPrefStoreProxyTest, ProxyInvalid) {
523 // No mode expects all three parameters being set. 522 // No mode expects all three parameters being set.
524 provider_.AddMandatoryPolicy( 523 policy_.Set(key::kProxyPacUrl, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
525 key::kProxyPacUrl, 524 base::Value::CreateStringValue("http://short.org/proxy.pac"));
526 base::Value::CreateStringValue("http://short.org/proxy.pac")); 525 policy_.Set(key::kProxyBypassList, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
527 provider_.AddMandatoryPolicy( 526 base::Value::CreateStringValue("http://chromium.org/override"));
528 key::kProxyBypassList, 527 policy_.Set(key::kProxyServer, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
529 base::Value::CreateStringValue("http://chromium.org/override")); 528 base::Value::CreateStringValue("chromium.org"));
530 provider_.AddMandatoryPolicy(
531 key::kProxyServer,
532 base::Value::CreateStringValue("chromium.org"));
533 for (int i = 0; i < ProxyPolicyHandler::MODE_COUNT; ++i) { 529 for (int i = 0; i < ProxyPolicyHandler::MODE_COUNT; ++i) {
534 provider_.AddMandatoryPolicy(key::kProxyServerMode, 530 policy_.Set(key::kProxyServerMode, POLICY_LEVEL_MANDATORY,
535 base::Value::CreateIntegerValue(i)); 531 POLICY_SCOPE_USER, base::Value::CreateIntegerValue(i));
536 provider_.RefreshPolicies(); 532 provider_.NotifyPolicyUpdated();
537 const base::Value* value = NULL; 533 const base::Value* value = NULL;
538 EXPECT_EQ(PrefStore::READ_NO_VALUE, 534 EXPECT_EQ(PrefStore::READ_NO_VALUE,
539 store_->GetValue(prefs::kProxy, &value)); 535 store_->GetValue(prefs::kProxy, &value));
540 } 536 }
541 } 537 }
542 538
543 class ConfigurationPolicyPrefStoreDefaultSearchTest 539 class ConfigurationPolicyPrefStoreDefaultSearchTest
544 : public ConfigurationPolicyPrefStoreTest {}; 540 : public ConfigurationPolicyPrefStoreTest {};
545 541
546 // Checks that if the policy for default search is valid, i.e. there's a 542 // Checks that if the policy for default search is valid, i.e. there's a
547 // search URL, that all the elements have been given proper defaults. 543 // search URL, that all the elements have been given proper defaults.
548 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, MinimallyDefined) { 544 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, MinimallyDefined) {
549 const char* const search_url = "http://test.com/search?t={searchTerms}"; 545 const char* const search_url = "http://test.com/search?t={searchTerms}";
550 provider_.AddMandatoryPolicy(key::kDefaultSearchProviderEnabled, 546 policy_.Set(key::kDefaultSearchProviderEnabled, POLICY_LEVEL_MANDATORY,
551 base::Value::CreateBooleanValue(true)); 547 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(true));
552 provider_.AddMandatoryPolicy(key::kDefaultSearchProviderSearchURL, 548 policy_.Set(key::kDefaultSearchProviderSearchURL, POLICY_LEVEL_MANDATORY,
553 base::Value::CreateStringValue(search_url)); 549 POLICY_SCOPE_USER, base::Value::CreateStringValue(search_url));
554 provider_.RefreshPolicies(); 550 provider_.NotifyPolicyUpdated();
555 551
556 const base::Value* value = NULL; 552 const base::Value* value = NULL;
557 EXPECT_EQ(PrefStore::READ_OK, 553 EXPECT_EQ(PrefStore::READ_OK,
558 store_->GetValue(prefs::kDefaultSearchProviderSearchURL, &value)); 554 store_->GetValue(prefs::kDefaultSearchProviderSearchURL, &value));
559 EXPECT_TRUE(base::StringValue(search_url).Equals(value)); 555 EXPECT_TRUE(base::StringValue(search_url).Equals(value));
560 556
561 EXPECT_EQ(PrefStore::READ_OK, 557 EXPECT_EQ(PrefStore::READ_OK,
562 store_->GetValue(prefs::kDefaultSearchProviderName, &value)); 558 store_->GetValue(prefs::kDefaultSearchProviderName, &value));
563 EXPECT_TRUE(base::StringValue("test.com").Equals(value)); 559 EXPECT_TRUE(base::StringValue("test.com").Equals(value));
564 560
(...skipping 22 matching lines...) Expand all
587 // read properly. 583 // read properly.
588 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, FullyDefined) { 584 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, FullyDefined) {
589 const char* const search_url = "http://test.com/search?t={searchTerms}"; 585 const char* const search_url = "http://test.com/search?t={searchTerms}";
590 const char* const suggest_url = "http://test.com/sugg?={searchTerms}"; 586 const char* const suggest_url = "http://test.com/sugg?={searchTerms}";
591 const char* const icon_url = "http://test.com/icon.jpg"; 587 const char* const icon_url = "http://test.com/icon.jpg";
592 const char* const name = "MyName"; 588 const char* const name = "MyName";
593 const char* const keyword = "MyKeyword"; 589 const char* const keyword = "MyKeyword";
594 base::ListValue* encodings = new base::ListValue(); 590 base::ListValue* encodings = new base::ListValue();
595 encodings->Append(base::Value::CreateStringValue("UTF-16")); 591 encodings->Append(base::Value::CreateStringValue("UTF-16"));
596 encodings->Append(base::Value::CreateStringValue("UTF-8")); 592 encodings->Append(base::Value::CreateStringValue("UTF-8"));
597 provider_.AddMandatoryPolicy(key::kDefaultSearchProviderEnabled, 593 policy_.Set(key::kDefaultSearchProviderEnabled, POLICY_LEVEL_MANDATORY,
598 base::Value::CreateBooleanValue(true)); 594 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(true));
599 provider_.AddMandatoryPolicy(key::kDefaultSearchProviderSearchURL, 595 policy_.Set(key::kDefaultSearchProviderSearchURL, POLICY_LEVEL_MANDATORY,
600 base::Value::CreateStringValue(search_url)); 596 POLICY_SCOPE_USER, base::Value::CreateStringValue(search_url));
601 provider_.AddMandatoryPolicy(key::kDefaultSearchProviderName, 597 policy_.Set(key::kDefaultSearchProviderName, POLICY_LEVEL_MANDATORY,
602 base::Value::CreateStringValue(name)); 598 POLICY_SCOPE_USER, base::Value::CreateStringValue(name));
603 provider_.AddMandatoryPolicy(key::kDefaultSearchProviderKeyword, 599 policy_.Set(key::kDefaultSearchProviderKeyword, POLICY_LEVEL_MANDATORY,
604 base::Value::CreateStringValue(keyword)); 600 POLICY_SCOPE_USER, base::Value::CreateStringValue(keyword));
605 provider_.AddMandatoryPolicy(key::kDefaultSearchProviderSuggestURL, 601 policy_.Set(key::kDefaultSearchProviderSuggestURL, POLICY_LEVEL_MANDATORY,
606 base::Value::CreateStringValue(suggest_url)); 602 POLICY_SCOPE_USER, base::Value::CreateStringValue(suggest_url));
607 provider_.AddMandatoryPolicy(key::kDefaultSearchProviderIconURL, 603 policy_.Set(key::kDefaultSearchProviderIconURL, POLICY_LEVEL_MANDATORY,
608 base::Value::CreateStringValue(icon_url)); 604 POLICY_SCOPE_USER, base::Value::CreateStringValue(icon_url));
609 provider_.AddMandatoryPolicy(key::kDefaultSearchProviderEncodings, encodings); 605 policy_.Set(key::kDefaultSearchProviderEncodings, POLICY_LEVEL_MANDATORY,
610 provider_.RefreshPolicies(); 606 POLICY_SCOPE_USER, encodings);
607 provider_.NotifyPolicyUpdated();
611 608
612 const base::Value* value = NULL; 609 const base::Value* value = NULL;
613 EXPECT_EQ(PrefStore::READ_OK, 610 EXPECT_EQ(PrefStore::READ_OK,
614 store_->GetValue(prefs::kDefaultSearchProviderSearchURL, &value)); 611 store_->GetValue(prefs::kDefaultSearchProviderSearchURL, &value));
615 EXPECT_TRUE(base::StringValue(search_url).Equals(value)); 612 EXPECT_TRUE(base::StringValue(search_url).Equals(value));
616 613
617 EXPECT_EQ(PrefStore::READ_OK, 614 EXPECT_EQ(PrefStore::READ_OK,
618 store_->GetValue(prefs::kDefaultSearchProviderName, &value)); 615 store_->GetValue(prefs::kDefaultSearchProviderName, &value));
619 EXPECT_TRUE(base::StringValue(name).Equals(value)); 616 EXPECT_TRUE(base::StringValue(name).Equals(value));
620 617
(...skipping 17 matching lines...) Expand all
638 // Checks that if the default search policy is missing, that no elements of the 635 // Checks that if the default search policy is missing, that no elements of the
639 // default search policy will be present. 636 // default search policy will be present.
640 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, MissingUrl) { 637 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, MissingUrl) {
641 const char* const suggest_url = "http://test.com/sugg?t={searchTerms}"; 638 const char* const suggest_url = "http://test.com/sugg?t={searchTerms}";
642 const char* const icon_url = "http://test.com/icon.jpg"; 639 const char* const icon_url = "http://test.com/icon.jpg";
643 const char* const name = "MyName"; 640 const char* const name = "MyName";
644 const char* const keyword = "MyKeyword"; 641 const char* const keyword = "MyKeyword";
645 base::ListValue* encodings = new base::ListValue(); 642 base::ListValue* encodings = new base::ListValue();
646 encodings->Append(base::Value::CreateStringValue("UTF-16")); 643 encodings->Append(base::Value::CreateStringValue("UTF-16"));
647 encodings->Append(base::Value::CreateStringValue("UTF-8")); 644 encodings->Append(base::Value::CreateStringValue("UTF-8"));
648 provider_.AddMandatoryPolicy(key::kDefaultSearchProviderEnabled, 645 policy_.Set(key::kDefaultSearchProviderEnabled, POLICY_LEVEL_MANDATORY,
649 base::Value::CreateBooleanValue(true)); 646 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(true));
650 provider_.AddMandatoryPolicy(key::kDefaultSearchProviderName, 647 policy_.Set(key::kDefaultSearchProviderName, POLICY_LEVEL_MANDATORY,
651 base::Value::CreateStringValue(name)); 648 POLICY_SCOPE_USER, base::Value::CreateStringValue(name));
652 provider_.AddMandatoryPolicy(key::kDefaultSearchProviderKeyword, 649 policy_.Set(key::kDefaultSearchProviderKeyword, POLICY_LEVEL_MANDATORY,
653 base::Value::CreateStringValue(keyword)); 650 POLICY_SCOPE_USER, base::Value::CreateStringValue(keyword));
654 provider_.AddMandatoryPolicy(key::kDefaultSearchProviderSuggestURL, 651 policy_.Set(key::kDefaultSearchProviderSuggestURL, POLICY_LEVEL_MANDATORY,
655 base::Value::CreateStringValue(suggest_url)); 652 POLICY_SCOPE_USER, base::Value::CreateStringValue(suggest_url));
656 provider_.AddMandatoryPolicy(key::kDefaultSearchProviderIconURL, 653 policy_.Set(key::kDefaultSearchProviderIconURL, POLICY_LEVEL_MANDATORY,
657 base::Value::CreateStringValue(icon_url)); 654 POLICY_SCOPE_USER, base::Value::CreateStringValue(icon_url));
658 provider_.AddMandatoryPolicy(key::kDefaultSearchProviderEncodings, encodings); 655 policy_.Set(key::kDefaultSearchProviderEncodings, POLICY_LEVEL_MANDATORY,
659 provider_.RefreshPolicies(); 656 POLICY_SCOPE_USER, encodings);
657 provider_.NotifyPolicyUpdated();
660 658
661 EXPECT_EQ(PrefStore::READ_NO_VALUE, 659 EXPECT_EQ(PrefStore::READ_NO_VALUE,
662 store_->GetValue(prefs::kDefaultSearchProviderSearchURL, NULL)); 660 store_->GetValue(prefs::kDefaultSearchProviderSearchURL, NULL));
663 EXPECT_EQ(PrefStore::READ_NO_VALUE, 661 EXPECT_EQ(PrefStore::READ_NO_VALUE,
664 store_->GetValue(prefs::kDefaultSearchProviderName, NULL)); 662 store_->GetValue(prefs::kDefaultSearchProviderName, NULL));
665 EXPECT_EQ(PrefStore::READ_NO_VALUE, 663 EXPECT_EQ(PrefStore::READ_NO_VALUE,
666 store_->GetValue(prefs::kDefaultSearchProviderKeyword, NULL)); 664 store_->GetValue(prefs::kDefaultSearchProviderKeyword, NULL));
667 EXPECT_EQ(PrefStore::READ_NO_VALUE, 665 EXPECT_EQ(PrefStore::READ_NO_VALUE,
668 store_->GetValue(prefs::kDefaultSearchProviderSuggestURL, NULL)); 666 store_->GetValue(prefs::kDefaultSearchProviderSuggestURL, NULL));
669 EXPECT_EQ(PrefStore::READ_NO_VALUE, 667 EXPECT_EQ(PrefStore::READ_NO_VALUE,
670 store_->GetValue(prefs::kDefaultSearchProviderIconURL, NULL)); 668 store_->GetValue(prefs::kDefaultSearchProviderIconURL, NULL));
671 EXPECT_EQ(PrefStore::READ_NO_VALUE, 669 EXPECT_EQ(PrefStore::READ_NO_VALUE,
672 store_->GetValue(prefs::kDefaultSearchProviderEncodings, NULL)); 670 store_->GetValue(prefs::kDefaultSearchProviderEncodings, NULL));
673 } 671 }
674 672
675 // Checks that if the default search policy is invalid, that no elements of the 673 // Checks that if the default search policy is invalid, that no elements of the
676 // default search policy will be present. 674 // default search policy will be present.
677 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, Invalid) { 675 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, Invalid) {
678 const char* const bad_search_url = "http://test.com/noSearchTerms"; 676 const char* const bad_search_url = "http://test.com/noSearchTerms";
679 const char* const suggest_url = "http://test.com/sugg?t={searchTerms}"; 677 const char* const suggest_url = "http://test.com/sugg?t={searchTerms}";
680 const char* const icon_url = "http://test.com/icon.jpg"; 678 const char* const icon_url = "http://test.com/icon.jpg";
681 const char* const name = "MyName"; 679 const char* const name = "MyName";
682 const char* const keyword = "MyKeyword"; 680 const char* const keyword = "MyKeyword";
683 base::ListValue* encodings = new base::ListValue(); 681 base::ListValue* encodings = new base::ListValue();
684 encodings->Append(base::Value::CreateStringValue("UTF-16")); 682 encodings->Append(base::Value::CreateStringValue("UTF-16"));
685 encodings->Append(base::Value::CreateStringValue("UTF-8")); 683 encodings->Append(base::Value::CreateStringValue("UTF-8"));
686 provider_.AddMandatoryPolicy(key::kDefaultSearchProviderEnabled, 684 policy_.Set(key::kDefaultSearchProviderEnabled, POLICY_LEVEL_MANDATORY,
687 base::Value::CreateBooleanValue(true)); 685 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(true));
688 provider_.AddMandatoryPolicy(key::kDefaultSearchProviderSearchURL, 686 policy_.Set(key::kDefaultSearchProviderSearchURL, POLICY_LEVEL_MANDATORY,
689 base::Value::CreateStringValue(bad_search_url)); 687 POLICY_SCOPE_USER,
690 provider_.AddMandatoryPolicy(key::kDefaultSearchProviderName, 688 base::Value::CreateStringValue(bad_search_url));
691 base::Value::CreateStringValue(name)); 689 policy_.Set(key::kDefaultSearchProviderName, POLICY_LEVEL_MANDATORY,
692 provider_.AddMandatoryPolicy(key::kDefaultSearchProviderKeyword, 690 POLICY_SCOPE_USER, base::Value::CreateStringValue(name));
693 base::Value::CreateStringValue(keyword)); 691 policy_.Set(key::kDefaultSearchProviderKeyword, POLICY_LEVEL_MANDATORY,
694 provider_.AddMandatoryPolicy(key::kDefaultSearchProviderSuggestURL, 692 POLICY_SCOPE_USER, base::Value::CreateStringValue(keyword));
695 base::Value::CreateStringValue(suggest_url)); 693 policy_.Set(key::kDefaultSearchProviderSuggestURL, POLICY_LEVEL_MANDATORY,
696 provider_.AddMandatoryPolicy(key::kDefaultSearchProviderIconURL, 694 POLICY_SCOPE_USER, base::Value::CreateStringValue(suggest_url));
697 base::Value::CreateStringValue(icon_url)); 695 policy_.Set(key::kDefaultSearchProviderIconURL, POLICY_LEVEL_MANDATORY,
698 provider_.AddMandatoryPolicy(key::kDefaultSearchProviderEncodings, encodings); 696 POLICY_SCOPE_USER, base::Value::CreateStringValue(icon_url));
699 provider_.RefreshPolicies(); 697 policy_.Set(key::kDefaultSearchProviderEncodings, POLICY_LEVEL_MANDATORY,
698 POLICY_SCOPE_USER, encodings);
699 provider_.NotifyPolicyUpdated();
700 700
701 EXPECT_EQ(PrefStore::READ_NO_VALUE, 701 EXPECT_EQ(PrefStore::READ_NO_VALUE,
702 store_->GetValue(prefs::kDefaultSearchProviderSearchURL, NULL)); 702 store_->GetValue(prefs::kDefaultSearchProviderSearchURL, NULL));
703 EXPECT_EQ(PrefStore::READ_NO_VALUE, 703 EXPECT_EQ(PrefStore::READ_NO_VALUE,
704 store_->GetValue(prefs::kDefaultSearchProviderName, NULL)); 704 store_->GetValue(prefs::kDefaultSearchProviderName, NULL));
705 EXPECT_EQ(PrefStore::READ_NO_VALUE, 705 EXPECT_EQ(PrefStore::READ_NO_VALUE,
706 store_->GetValue(prefs::kDefaultSearchProviderKeyword, NULL)); 706 store_->GetValue(prefs::kDefaultSearchProviderKeyword, NULL));
707 EXPECT_EQ(PrefStore::READ_NO_VALUE, 707 EXPECT_EQ(PrefStore::READ_NO_VALUE,
708 store_->GetValue(prefs::kDefaultSearchProviderSuggestURL, NULL)); 708 store_->GetValue(prefs::kDefaultSearchProviderSuggestURL, NULL));
709 EXPECT_EQ(PrefStore::READ_NO_VALUE, 709 EXPECT_EQ(PrefStore::READ_NO_VALUE,
710 store_->GetValue(prefs::kDefaultSearchProviderIconURL, NULL)); 710 store_->GetValue(prefs::kDefaultSearchProviderIconURL, NULL));
711 EXPECT_EQ(PrefStore::READ_NO_VALUE, 711 EXPECT_EQ(PrefStore::READ_NO_VALUE,
712 store_->GetValue(prefs::kDefaultSearchProviderEncodings, NULL)); 712 store_->GetValue(prefs::kDefaultSearchProviderEncodings, NULL));
713 } 713 }
714 714
715 // Checks that if the default search policy is invalid, that no elements of the 715 // Checks that if the default search policy is invalid, that no elements of the
716 // default search policy will be present. 716 // default search policy will be present.
717 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, Disabled) { 717 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, Disabled) {
718 provider_.AddMandatoryPolicy(key::kDefaultSearchProviderEnabled, 718 policy_.Set(key::kDefaultSearchProviderEnabled, POLICY_LEVEL_MANDATORY,
719 base::Value::CreateBooleanValue(false)); 719 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(false));
720 provider_.RefreshPolicies(); 720 provider_.NotifyPolicyUpdated();
721 721
722 const base::Value* value = NULL; 722 const base::Value* value = NULL;
723 EXPECT_EQ(PrefStore::READ_OK, 723 EXPECT_EQ(PrefStore::READ_OK,
724 store_->GetValue(prefs::kDefaultSearchProviderEnabled, &value)); 724 store_->GetValue(prefs::kDefaultSearchProviderEnabled, &value));
725 base::FundamentalValue expected_enabled(false); 725 base::FundamentalValue expected_enabled(false);
726 EXPECT_TRUE(base::Value::Equals(&expected_enabled, value)); 726 EXPECT_TRUE(base::Value::Equals(&expected_enabled, value));
727 EXPECT_EQ(PrefStore::READ_OK, 727 EXPECT_EQ(PrefStore::READ_OK,
728 store_->GetValue(prefs::kDefaultSearchProviderSearchURL, &value)); 728 store_->GetValue(prefs::kDefaultSearchProviderSearchURL, &value));
729 base::StringValue expected_search_url(""); 729 base::StringValue expected_search_url("");
730 EXPECT_TRUE(base::Value::Equals(&expected_search_url, value)); 730 EXPECT_TRUE(base::Value::Equals(&expected_search_url, value));
731 } 731 }
732 732
733 // Tests Incognito mode availability preference setting. 733 // Tests Incognito mode availability preference setting.
734 class ConfigurationPolicyPrefStoreIncognitoModeTest 734 class ConfigurationPolicyPrefStoreIncognitoModeTest
735 : public ConfigurationPolicyPrefStoreTest { 735 : public ConfigurationPolicyPrefStoreTest {
736 protected: 736 protected:
737 static const int kIncognitoModeAvailabilityNotSet = -1; 737 static const int kIncognitoModeAvailabilityNotSet = -1;
738 738
739 enum ObsoleteIncognitoEnabledValue { 739 enum ObsoleteIncognitoEnabledValue {
740 INCOGNITO_ENABLED_UNKNOWN, 740 INCOGNITO_ENABLED_UNKNOWN,
741 INCOGNITO_ENABLED_TRUE, 741 INCOGNITO_ENABLED_TRUE,
742 INCOGNITO_ENABLED_FALSE 742 INCOGNITO_ENABLED_FALSE
743 }; 743 };
744 744
745 void SetPolicies(ObsoleteIncognitoEnabledValue incognito_enabled, 745 void SetPolicies(ObsoleteIncognitoEnabledValue incognito_enabled,
746 int availability) { 746 int availability) {
747 if (incognito_enabled != INCOGNITO_ENABLED_UNKNOWN) { 747 if (incognito_enabled != INCOGNITO_ENABLED_UNKNOWN) {
748 provider_.AddMandatoryPolicy( 748 policy_.Set(key::kIncognitoEnabled, POLICY_LEVEL_MANDATORY,
749 key::kIncognitoEnabled, 749 POLICY_SCOPE_USER,
750 base::Value::CreateBooleanValue( 750 base::Value::CreateBooleanValue(
751 incognito_enabled == INCOGNITO_ENABLED_TRUE)); 751 incognito_enabled == INCOGNITO_ENABLED_TRUE));
752 } 752 }
753 if (availability >= 0) { 753 if (availability >= 0) {
754 provider_.AddMandatoryPolicy( 754 policy_.Set(key::kIncognitoModeAvailability, POLICY_LEVEL_MANDATORY,
755 key::kIncognitoModeAvailability, 755 POLICY_SCOPE_USER,
756 base::Value::CreateIntegerValue(availability)); 756 base::Value::CreateIntegerValue(availability));
757 } 757 }
758 provider_.RefreshPolicies(); 758 provider_.NotifyPolicyUpdated();
759 } 759 }
760 760
761 void VerifyValues(IncognitoModePrefs::Availability availability) { 761 void VerifyValues(IncognitoModePrefs::Availability availability) {
762 const base::Value* value = NULL; 762 const base::Value* value = NULL;
763 EXPECT_EQ(PrefStore::READ_OK, 763 EXPECT_EQ(PrefStore::READ_OK,
764 store_->GetValue(prefs::kIncognitoModeAvailability, &value)); 764 store_->GetValue(prefs::kIncognitoModeAvailability, &value));
765 EXPECT_TRUE(base::FundamentalValue(availability).Equals(value)); 765 EXPECT_TRUE(base::FundamentalValue(availability).Equals(value));
766 } 766 }
767 }; 767 };
768 768
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
825 // Test cases for the Sync policy setting. 825 // Test cases for the Sync policy setting.
826 class ConfigurationPolicyPrefStoreSyncTest 826 class ConfigurationPolicyPrefStoreSyncTest
827 : public ConfigurationPolicyPrefStoreTest {}; 827 : public ConfigurationPolicyPrefStoreTest {};
828 828
829 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Default) { 829 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Default) {
830 EXPECT_EQ(PrefStore::READ_NO_VALUE, 830 EXPECT_EQ(PrefStore::READ_NO_VALUE,
831 store_->GetValue(prefs::kSyncManaged, NULL)); 831 store_->GetValue(prefs::kSyncManaged, NULL));
832 } 832 }
833 833
834 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Enabled) { 834 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Enabled) {
835 provider_.AddMandatoryPolicy(key::kSyncDisabled, 835 policy_.Set(key::kSyncDisabled, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
836 base::Value::CreateBooleanValue(false)); 836 base::Value::CreateBooleanValue(false));
837 provider_.RefreshPolicies(); 837 provider_.NotifyPolicyUpdated();
838 // Enabling Sync should not set the pref. 838 // Enabling Sync should not set the pref.
839 EXPECT_EQ(PrefStore::READ_NO_VALUE, 839 EXPECT_EQ(PrefStore::READ_NO_VALUE,
840 store_->GetValue(prefs::kSyncManaged, NULL)); 840 store_->GetValue(prefs::kSyncManaged, NULL));
841 } 841 }
842 842
843 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Disabled) { 843 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Disabled) {
844 provider_.AddMandatoryPolicy(key::kSyncDisabled, 844 policy_.Set(key::kSyncDisabled, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
845 base::Value::CreateBooleanValue(true)); 845 base::Value::CreateBooleanValue(true));
846 provider_.RefreshPolicies(); 846 provider_.NotifyPolicyUpdated();
847 // Sync should be flagged as managed. 847 // Sync should be flagged as managed.
848 const base::Value* value = NULL; 848 const base::Value* value = NULL;
849 EXPECT_EQ(PrefStore::READ_OK, store_->GetValue(prefs::kSyncManaged, &value)); 849 EXPECT_EQ(PrefStore::READ_OK, store_->GetValue(prefs::kSyncManaged, &value));
850 ASSERT_TRUE(value); 850 ASSERT_TRUE(value);
851 bool sync_managed = false; 851 bool sync_managed = false;
852 bool result = value->GetAsBoolean(&sync_managed); 852 bool result = value->GetAsBoolean(&sync_managed);
853 ASSERT_TRUE(result); 853 ASSERT_TRUE(result);
854 EXPECT_TRUE(sync_managed); 854 EXPECT_TRUE(sync_managed);
855 } 855 }
856 856
857 // Test cases for how the DownloadDirectory and AllowFileSelectionDialogs policy 857 // Test cases for how the DownloadDirectory and AllowFileSelectionDialogs policy
858 // influence the PromptForDownload preference. 858 // influence the PromptForDownload preference.
859 class ConfigurationPolicyPrefStorePromptDownloadTest 859 class ConfigurationPolicyPrefStorePromptDownloadTest
860 : public ConfigurationPolicyPrefStoreTest {}; 860 : public ConfigurationPolicyPrefStoreTest {};
861 861
862 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, Default) { 862 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, Default) {
863 EXPECT_EQ(PrefStore::READ_NO_VALUE, 863 EXPECT_EQ(PrefStore::READ_NO_VALUE,
864 store_->GetValue(prefs::kPromptForDownload, NULL)); 864 store_->GetValue(prefs::kPromptForDownload, NULL));
865 } 865 }
866 866
867 #if !defined(OS_CHROMEOS) 867 #if !defined(OS_CHROMEOS)
868 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, SetDownloadDirectory) { 868 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, SetDownloadDirectory) {
869 EXPECT_EQ(PrefStore::READ_NO_VALUE, 869 EXPECT_EQ(PrefStore::READ_NO_VALUE,
870 store_->GetValue(prefs::kPromptForDownload, NULL)); 870 store_->GetValue(prefs::kPromptForDownload, NULL));
871 provider_.AddMandatoryPolicy(key::kDownloadDirectory, 871 policy_.Set(key::kDownloadDirectory, POLICY_LEVEL_MANDATORY,
872 base::Value::CreateStringValue("")); 872 POLICY_SCOPE_USER, base::Value::CreateStringValue(""));
873 provider_.RefreshPolicies(); 873 provider_.NotifyPolicyUpdated();
874 874
875 // Setting a DownloadDirectory should disable the PromptForDownload pref. 875 // Setting a DownloadDirectory should disable the PromptForDownload pref.
876 const base::Value* value = NULL; 876 const base::Value* value = NULL;
877 EXPECT_EQ(PrefStore::READ_OK, store_->GetValue(prefs::kPromptForDownload, 877 EXPECT_EQ(PrefStore::READ_OK, store_->GetValue(prefs::kPromptForDownload,
878 &value)); 878 &value));
879 ASSERT_TRUE(value); 879 ASSERT_TRUE(value);
880 bool prompt_for_download = true; 880 bool prompt_for_download = true;
881 bool result = value->GetAsBoolean(&prompt_for_download); 881 bool result = value->GetAsBoolean(&prompt_for_download);
882 ASSERT_TRUE(result); 882 ASSERT_TRUE(result);
883 EXPECT_FALSE(prompt_for_download); 883 EXPECT_FALSE(prompt_for_download);
884 } 884 }
885 #endif // !defined(OS_CHROMEOS) 885 #endif // !defined(OS_CHROMEOS)
886 886
887 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, 887 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest,
888 EnableFileSelectionDialogs) { 888 EnableFileSelectionDialogs) {
889 EXPECT_EQ(PrefStore::READ_NO_VALUE, 889 EXPECT_EQ(PrefStore::READ_NO_VALUE,
890 store_->GetValue(prefs::kPromptForDownload, NULL)); 890 store_->GetValue(prefs::kPromptForDownload, NULL));
891 provider_.AddMandatoryPolicy(key::kAllowFileSelectionDialogs, 891 policy_.Set(key::kAllowFileSelectionDialogs, POLICY_LEVEL_MANDATORY,
892 base::Value::CreateBooleanValue(true)); 892 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(true));
893 provider_.RefreshPolicies(); 893 provider_.NotifyPolicyUpdated();
894 894
895 // Allowing file-selection dialogs should not influence the PromptForDownload 895 // Allowing file-selection dialogs should not influence the PromptForDownload
896 // pref. 896 // pref.
897 EXPECT_EQ(PrefStore::READ_NO_VALUE, 897 EXPECT_EQ(PrefStore::READ_NO_VALUE,
898 store_->GetValue(prefs::kPromptForDownload, NULL)); 898 store_->GetValue(prefs::kPromptForDownload, NULL));
899 } 899 }
900 900
901 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, 901 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest,
902 DisableFileSelectionDialogs) { 902 DisableFileSelectionDialogs) {
903 EXPECT_EQ(PrefStore::READ_NO_VALUE, 903 EXPECT_EQ(PrefStore::READ_NO_VALUE,
904 store_->GetValue(prefs::kPromptForDownload, NULL)); 904 store_->GetValue(prefs::kPromptForDownload, NULL));
905 provider_.AddMandatoryPolicy(key::kAllowFileSelectionDialogs, 905 policy_.Set(key::kAllowFileSelectionDialogs, POLICY_LEVEL_MANDATORY,
906 base::Value::CreateBooleanValue(false)); 906 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(false));
907 provider_.RefreshPolicies(); 907 provider_.NotifyPolicyUpdated();
908 908
909 // Disabling file-selection dialogs should disable the PromptForDownload pref. 909 // Disabling file-selection dialogs should disable the PromptForDownload pref.
910 const base::Value* value = NULL; 910 const base::Value* value = NULL;
911 EXPECT_EQ(PrefStore::READ_OK, store_->GetValue(prefs::kPromptForDownload, 911 EXPECT_EQ(PrefStore::READ_OK, store_->GetValue(prefs::kPromptForDownload,
912 &value)); 912 &value));
913 ASSERT_TRUE(value); 913 ASSERT_TRUE(value);
914 bool prompt_for_download = true; 914 bool prompt_for_download = true;
915 bool result = value->GetAsBoolean(&prompt_for_download); 915 bool result = value->GetAsBoolean(&prompt_for_download);
916 ASSERT_TRUE(result); 916 ASSERT_TRUE(result);
917 EXPECT_FALSE(prompt_for_download); 917 EXPECT_FALSE(prompt_for_download);
918 } 918 }
919 919
920 // Test cases for the Autofill policy setting. 920 // Test cases for the Autofill policy setting.
921 class ConfigurationPolicyPrefStoreAutofillTest 921 class ConfigurationPolicyPrefStoreAutofillTest
922 : public ConfigurationPolicyPrefStoreTest {}; 922 : public ConfigurationPolicyPrefStoreTest {};
923 923
924 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Default) { 924 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Default) {
925 EXPECT_EQ(PrefStore::READ_NO_VALUE, 925 EXPECT_EQ(PrefStore::READ_NO_VALUE,
926 store_->GetValue(prefs::kAutofillEnabled, NULL)); 926 store_->GetValue(prefs::kAutofillEnabled, NULL));
927 } 927 }
928 928
929 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Enabled) { 929 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Enabled) {
930 provider_.AddMandatoryPolicy(key::kAutoFillEnabled, 930 policy_.Set(key::kAutoFillEnabled, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
931 base::Value::CreateBooleanValue(true)); 931 base::Value::CreateBooleanValue(true));
932 provider_.RefreshPolicies(); 932 provider_.NotifyPolicyUpdated();
933 // Enabling Autofill should not set the pref. 933 // Enabling Autofill should not set the pref.
934 EXPECT_EQ(PrefStore::READ_NO_VALUE, 934 EXPECT_EQ(PrefStore::READ_NO_VALUE,
935 store_->GetValue(prefs::kAutofillEnabled, NULL)); 935 store_->GetValue(prefs::kAutofillEnabled, NULL));
936 } 936 }
937 937
938 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Disabled) { 938 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Disabled) {
939 provider_.AddMandatoryPolicy(key::kAutoFillEnabled, 939 policy_.Set(key::kAutoFillEnabled, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
940 base::Value::CreateBooleanValue(false)); 940 base::Value::CreateBooleanValue(false));
941 provider_.RefreshPolicies(); 941 provider_.NotifyPolicyUpdated();
942 // Disabling Autofill should switch the pref to managed. 942 // Disabling Autofill should switch the pref to managed.
943 const base::Value* value = NULL; 943 const base::Value* value = NULL;
944 EXPECT_EQ(PrefStore::READ_OK, 944 EXPECT_EQ(PrefStore::READ_OK,
945 store_->GetValue(prefs::kAutofillEnabled, &value)); 945 store_->GetValue(prefs::kAutofillEnabled, &value));
946 ASSERT_TRUE(value); 946 ASSERT_TRUE(value);
947 bool autofill_enabled = true; 947 bool autofill_enabled = true;
948 bool result = value->GetAsBoolean(&autofill_enabled); 948 bool result = value->GetAsBoolean(&autofill_enabled);
949 ASSERT_TRUE(result); 949 ASSERT_TRUE(result);
950 EXPECT_FALSE(autofill_enabled); 950 EXPECT_FALSE(autofill_enabled);
951 } 951 }
(...skipping 12 matching lines...) Expand all
964 964
965 PrefStoreObserverMock observer_; 965 PrefStoreObserverMock observer_;
966 }; 966 };
967 967
968 TEST_F(ConfigurationPolicyPrefStoreRefreshTest, Refresh) { 968 TEST_F(ConfigurationPolicyPrefStoreRefreshTest, Refresh) {
969 const base::Value* value = NULL; 969 const base::Value* value = NULL;
970 EXPECT_EQ(PrefStore::READ_NO_VALUE, 970 EXPECT_EQ(PrefStore::READ_NO_VALUE,
971 store_->GetValue(prefs::kHomePage, NULL)); 971 store_->GetValue(prefs::kHomePage, NULL));
972 972
973 EXPECT_CALL(observer_, OnPrefValueChanged(prefs::kHomePage)).Times(1); 973 EXPECT_CALL(observer_, OnPrefValueChanged(prefs::kHomePage)).Times(1);
974 provider_.AddMandatoryPolicy( 974 policy_.Set(key::kHomepageLocation, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
975 key::kHomepageLocation, 975 base::Value::CreateStringValue("http://www.chromium.org"));
976 base::Value::CreateStringValue("http://www.chromium.org")); 976 provider_.NotifyPolicyUpdated();
977 provider_.RefreshPolicies();
978 Mock::VerifyAndClearExpectations(&observer_); 977 Mock::VerifyAndClearExpectations(&observer_);
979 EXPECT_EQ(PrefStore::READ_OK, 978 EXPECT_EQ(PrefStore::READ_OK,
980 store_->GetValue(prefs::kHomePage, &value)); 979 store_->GetValue(prefs::kHomePage, &value));
981 EXPECT_TRUE(base::StringValue("http://www.chromium.org").Equals(value)); 980 EXPECT_TRUE(base::StringValue("http://www.chromium.org").Equals(value));
982 981
983 EXPECT_CALL(observer_, OnPrefValueChanged(_)).Times(0); 982 EXPECT_CALL(observer_, OnPrefValueChanged(_)).Times(0);
984 provider_.RefreshPolicies(); 983 provider_.NotifyPolicyUpdated();
985 Mock::VerifyAndClearExpectations(&observer_); 984 Mock::VerifyAndClearExpectations(&observer_);
986 985
987 EXPECT_CALL(observer_, OnPrefValueChanged(prefs::kHomePage)).Times(1); 986 EXPECT_CALL(observer_, OnPrefValueChanged(prefs::kHomePage)).Times(1);
988 provider_.RemovePolicy(key::kHomepageLocation); 987 policy_.Erase(key::kHomepageLocation);
989 provider_.RefreshPolicies(); 988 provider_.NotifyPolicyUpdated();
990 Mock::VerifyAndClearExpectations(&observer_); 989 Mock::VerifyAndClearExpectations(&observer_);
991 EXPECT_EQ(PrefStore::READ_NO_VALUE, 990 EXPECT_EQ(PrefStore::READ_NO_VALUE,
992 store_->GetValue(prefs::kHomePage, NULL)); 991 store_->GetValue(prefs::kHomePage, NULL));
993 } 992 }
994 993
995 TEST_F(ConfigurationPolicyPrefStoreRefreshTest, Initialization) { 994 TEST_F(ConfigurationPolicyPrefStoreRefreshTest, Initialization) {
996 EXPECT_FALSE(store_->IsInitializationComplete()); 995 EXPECT_FALSE(store_->IsInitializationComplete());
997 996 EXPECT_CALL(provider_, IsInitializationComplete())
997 .WillRepeatedly(Return(true));
998 EXPECT_CALL(observer_, OnInitializationCompleted(true)).Times(1); 998 EXPECT_CALL(observer_, OnInitializationCompleted(true)).Times(1);
999 999 provider_.NotifyPolicyUpdated();
1000 provider_.SetInitializationComplete(true);
1001 EXPECT_FALSE(store_->IsInitializationComplete());
1002
1003 provider_.RefreshPolicies();
1004 Mock::VerifyAndClearExpectations(&observer_); 1000 Mock::VerifyAndClearExpectations(&observer_);
1005 EXPECT_TRUE(store_->IsInitializationComplete()); 1001 EXPECT_TRUE(store_->IsInitializationComplete());
1006 } 1002 }
1007 1003
1008 // Tests for policies that don't quite fit the previous patterns. 1004 // Tests for policies that don't quite fit the previous patterns.
1009 class ConfigurationPolicyPrefStoreOthersTest 1005 class ConfigurationPolicyPrefStoreOthersTest
1010 : public ConfigurationPolicyPrefStoreTest {}; 1006 : public ConfigurationPolicyPrefStoreTest {};
1011 1007
1012 TEST_F(ConfigurationPolicyPrefStoreOthersTest, JavascriptEnabled) { 1008 TEST_F(ConfigurationPolicyPrefStoreOthersTest, JavascriptEnabled) {
1013 // This is a boolean policy, but affects an integer preference. 1009 // This is a boolean policy, but affects an integer preference.
1014 EXPECT_EQ(PrefStore::READ_NO_VALUE, 1010 EXPECT_EQ(PrefStore::READ_NO_VALUE,
1015 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL)); 1011 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL));
1016 provider_.AddMandatoryPolicy(key::kJavascriptEnabled, 1012 policy_.Set(key::kJavascriptEnabled, POLICY_LEVEL_MANDATORY,
1017 base::Value::CreateBooleanValue(true)); 1013 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(true));
1018 provider_.RefreshPolicies(); 1014 provider_.NotifyPolicyUpdated();
1019 EXPECT_EQ(PrefStore::READ_NO_VALUE, 1015 EXPECT_EQ(PrefStore::READ_NO_VALUE,
1020 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL)); 1016 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL));
1021 provider_.AddMandatoryPolicy(key::kJavascriptEnabled, 1017 policy_.Set(key::kJavascriptEnabled, POLICY_LEVEL_MANDATORY,
1022 base::Value::CreateBooleanValue(false)); 1018 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(false));
1023 provider_.RefreshPolicies(); 1019 provider_.NotifyPolicyUpdated();
1024 const base::Value* value = NULL; 1020 const base::Value* value = NULL;
1025 EXPECT_EQ(PrefStore::READ_OK, 1021 EXPECT_EQ(PrefStore::READ_OK,
1026 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, &value)); 1022 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, &value));
1027 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_BLOCK).Equals(value)); 1023 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_BLOCK).Equals(value));
1028 } 1024 }
1029 1025
1030 TEST_F(ConfigurationPolicyPrefStoreOthersTest, JavascriptEnabledOverridden) { 1026 TEST_F(ConfigurationPolicyPrefStoreOthersTest, JavascriptEnabledOverridden) {
1031 EXPECT_EQ(PrefStore::READ_NO_VALUE, 1027 EXPECT_EQ(PrefStore::READ_NO_VALUE,
1032 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL)); 1028 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL));
1033 provider_.AddMandatoryPolicy(key::kJavascriptEnabled, 1029 policy_.Set(key::kJavascriptEnabled, POLICY_LEVEL_MANDATORY,
1034 base::Value::CreateBooleanValue(false)); 1030 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(false));
1035 provider_.RefreshPolicies(); 1031 provider_.NotifyPolicyUpdated();
1036 const base::Value* value = NULL; 1032 const base::Value* value = NULL;
1037 EXPECT_EQ(PrefStore::READ_OK, 1033 EXPECT_EQ(PrefStore::READ_OK,
1038 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, &value)); 1034 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, &value));
1039 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_BLOCK).Equals(value)); 1035 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_BLOCK).Equals(value));
1040 // DefaultJavaScriptSetting overrides JavascriptEnabled. 1036 // DefaultJavaScriptSetting overrides JavascriptEnabled.
1041 provider_.AddMandatoryPolicy( 1037 policy_.Set(key::kDefaultJavaScriptSetting, POLICY_LEVEL_MANDATORY,
1042 key::kDefaultJavaScriptSetting, 1038 POLICY_SCOPE_USER,
1043 base::Value::CreateIntegerValue(CONTENT_SETTING_ALLOW)); 1039 base::Value::CreateIntegerValue(CONTENT_SETTING_ALLOW));
1044 provider_.RefreshPolicies(); 1040 provider_.NotifyPolicyUpdated();
1045 EXPECT_EQ(PrefStore::READ_OK, 1041 EXPECT_EQ(PrefStore::READ_OK,
1046 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, &value)); 1042 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, &value));
1047 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_ALLOW).Equals(value)); 1043 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_ALLOW).Equals(value));
1048 } 1044 }
1049 1045
1050 } // namespace policy 1046 } // namespace policy
OLDNEW
« no previous file with comments | « chrome/browser/policy/browser_policy_connector.cc ('k') | chrome/browser/policy/configuration_policy_reader_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698