OLD | NEW |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include <gtest/gtest.h> | 5 #include <gtest/gtest.h> |
6 | 6 |
7 #include "base/file_path.h" | 7 #include "base/file_path.h" |
8 #include "chrome/browser/policy/configuration_policy_pref_store.h" | 8 #include "chrome/browser/policy/configuration_policy_pref_store.h" |
9 #include "chrome/browser/policy/mock_configuration_policy_provider.h" | 9 #include "chrome/browser/policy/mock_configuration_policy_provider.h" |
10 #include "chrome/common/pref_names.h" | 10 #include "chrome/common/pref_names.h" |
11 #include "chrome/common/chrome_switches.h" | 11 #include "chrome/common/chrome_switches.h" |
12 | 12 |
13 namespace policy { | 13 namespace policy { |
14 | 14 |
15 // Holds a set of test parameters, consisting of pref name and policy type. | 15 // Holds a set of test parameters, consisting of pref name and policy type. |
16 class TypeAndName { | 16 class TypeAndName { |
17 public: | 17 public: |
18 TypeAndName(ConfigurationPolicyStore::PolicyType type, const char* pref_name) | 18 TypeAndName(ConfigurationPolicyType type, const char* pref_name) |
19 : type_(type), | 19 : type_(type), |
20 pref_name_(pref_name) {} | 20 pref_name_(pref_name) {} |
21 | 21 |
22 ConfigurationPolicyStore::PolicyType type() const { return type_; } | 22 ConfigurationPolicyType type() const { return type_; } |
23 const char* pref_name() const { return pref_name_; } | 23 const char* pref_name() const { return pref_name_; } |
24 | 24 |
25 private: | 25 private: |
26 ConfigurationPolicyStore::PolicyType type_; | 26 ConfigurationPolicyType type_; |
27 const char* pref_name_; | 27 const char* pref_name_; |
28 }; | 28 }; |
29 | 29 |
30 // Test cases for list-valued policy settings. | 30 // Test cases for list-valued policy settings. |
31 class ConfigurationPolicyPrefStoreListTest | 31 class ConfigurationPolicyPrefStoreListTest |
32 : public testing::TestWithParam<TypeAndName> { | 32 : public testing::TestWithParam<TypeAndName> { |
33 }; | 33 }; |
34 | 34 |
35 TEST_P(ConfigurationPolicyPrefStoreListTest, GetDefault) { | 35 TEST_P(ConfigurationPolicyPrefStoreListTest, GetDefault) { |
36 ConfigurationPolicyPrefStore store(NULL); | 36 ConfigurationPolicyPrefStore store(NULL); |
37 ListValue* list = NULL; | 37 ListValue* list = NULL; |
38 EXPECT_FALSE(store.prefs()->GetList(GetParam().pref_name(), &list)); | 38 EXPECT_FALSE(store.prefs()->GetList(GetParam().pref_name(), &list)); |
39 } | 39 } |
40 | 40 |
41 TEST_P(ConfigurationPolicyPrefStoreListTest, SetValue) { | 41 TEST_P(ConfigurationPolicyPrefStoreListTest, SetValue) { |
42 ConfigurationPolicyPrefStore store(NULL); | 42 ConfigurationPolicyPrefStore store(NULL); |
43 ListValue* in_value = new ListValue(); | 43 ListValue* in_value = new ListValue(); |
44 in_value->Append(Value::CreateStringValue("test1")); | 44 in_value->Append(Value::CreateStringValue("test1")); |
45 in_value->Append(Value::CreateStringValue("test2,")); | 45 in_value->Append(Value::CreateStringValue("test2,")); |
46 store.Apply(GetParam().type(), in_value); | 46 store.Apply(GetParam().type(), in_value); |
47 ListValue* list = NULL; | 47 ListValue* list = NULL; |
48 EXPECT_TRUE(store.prefs()->GetList(GetParam().pref_name(), &list)); | 48 EXPECT_TRUE(store.prefs()->GetList(GetParam().pref_name(), &list)); |
49 ListValue::const_iterator current(list->begin()); | 49 ListValue::const_iterator current(list->begin()); |
50 ListValue::const_iterator end(list->end()); | 50 const ListValue::const_iterator end(list->end()); |
51 ASSERT_TRUE(current != end); | 51 ASSERT_TRUE(current != end); |
52 std::string value; | 52 std::string value; |
53 (*current)->GetAsString(&value); | 53 (*current)->GetAsString(&value); |
54 EXPECT_EQ("test1", value); | 54 EXPECT_EQ("test1", value); |
55 ++current; | 55 ++current; |
56 ASSERT_TRUE(current != end); | 56 ASSERT_TRUE(current != end); |
57 (*current)->GetAsString(&value); | 57 (*current)->GetAsString(&value); |
58 EXPECT_EQ("test2,", value); | 58 EXPECT_EQ("test2,", value); |
59 ++current; | 59 ++current; |
60 EXPECT_TRUE(current == end); | 60 EXPECT_TRUE(current == end); |
61 } | 61 } |
62 | 62 |
63 INSTANTIATE_TEST_CASE_P( | 63 INSTANTIATE_TEST_CASE_P( |
64 ConfigurationPolicyPrefStoreListTestInstance, | 64 ConfigurationPolicyPrefStoreListTestInstance, |
65 ConfigurationPolicyPrefStoreListTest, | 65 ConfigurationPolicyPrefStoreListTest, |
66 testing::Values( | 66 testing::Values( |
67 TypeAndName(ConfigurationPolicyStore::kPolicyURLsToRestoreOnStartup, | 67 TypeAndName(kPolicyURLsToRestoreOnStartup, |
68 prefs::kURLsToRestoreOnStartup), | 68 prefs::kURLsToRestoreOnStartup), |
69 TypeAndName(ConfigurationPolicyStore::kPolicyExtensionInstallAllowList, | 69 TypeAndName(kPolicyExtensionInstallAllowList, |
70 prefs::kExtensionInstallAllowList), | 70 prefs::kExtensionInstallAllowList), |
71 TypeAndName(ConfigurationPolicyStore::kPolicyExtensionInstallDenyList, | 71 TypeAndName(kPolicyExtensionInstallDenyList, |
72 prefs::kExtensionInstallDenyList), | 72 prefs::kExtensionInstallDenyList), |
73 TypeAndName(ConfigurationPolicyStore::kPolicyDisabledPlugins, | 73 TypeAndName(kPolicyDisabledPlugins, |
74 prefs::kPluginsPluginsBlacklist))); | 74 prefs::kPluginsPluginsBlacklist))); |
75 | 75 |
76 // Test cases for string-valued policy settings. | 76 // Test cases for string-valued policy settings. |
77 class ConfigurationPolicyPrefStoreStringTest | 77 class ConfigurationPolicyPrefStoreStringTest |
78 : public testing::TestWithParam<TypeAndName> { | 78 : public testing::TestWithParam<TypeAndName> { |
79 }; | 79 }; |
80 | 80 |
81 TEST_P(ConfigurationPolicyPrefStoreStringTest, GetDefault) { | 81 TEST_P(ConfigurationPolicyPrefStoreStringTest, GetDefault) { |
82 ConfigurationPolicyPrefStore store(NULL); | 82 ConfigurationPolicyPrefStore store(NULL); |
83 std::string result; | 83 std::string result; |
84 EXPECT_FALSE(store.prefs()->GetString(GetParam().pref_name(), &result)); | 84 EXPECT_FALSE(store.prefs()->GetString(GetParam().pref_name(), &result)); |
85 } | 85 } |
86 | 86 |
87 TEST_P(ConfigurationPolicyPrefStoreStringTest, SetValue) { | 87 TEST_P(ConfigurationPolicyPrefStoreStringTest, SetValue) { |
88 ConfigurationPolicyPrefStore store(NULL); | 88 ConfigurationPolicyPrefStore store(NULL); |
89 store.Apply(GetParam().type(), | 89 store.Apply(GetParam().type(), |
90 Value::CreateStringValue("http://chromium.org")); | 90 Value::CreateStringValue("http://chromium.org")); |
91 std::string result; | 91 std::string result; |
92 EXPECT_TRUE(store.prefs()->GetString(GetParam().pref_name(), &result)); | 92 EXPECT_TRUE(store.prefs()->GetString(GetParam().pref_name(), &result)); |
93 EXPECT_EQ(result, "http://chromium.org"); | 93 EXPECT_EQ(result, "http://chromium.org"); |
94 } | 94 } |
95 | 95 |
96 INSTANTIATE_TEST_CASE_P( | 96 INSTANTIATE_TEST_CASE_P( |
97 ConfigurationPolicyPrefStoreStringTestInstance, | 97 ConfigurationPolicyPrefStoreStringTestInstance, |
98 ConfigurationPolicyPrefStoreStringTest, | 98 ConfigurationPolicyPrefStoreStringTest, |
99 testing::Values( | 99 testing::Values( |
100 TypeAndName(ConfigurationPolicyStore::kPolicyHomePage, | 100 TypeAndName(kPolicyHomePage, |
101 prefs::kHomePage), | 101 prefs::kHomePage), |
102 TypeAndName(ConfigurationPolicyStore::kPolicyProxyServer, | 102 TypeAndName(kPolicyProxyServer, |
103 prefs::kProxyServer), | 103 prefs::kProxyServer), |
104 TypeAndName(ConfigurationPolicyStore::kPolicyProxyPacUrl, | 104 TypeAndName(kPolicyProxyPacUrl, |
105 prefs::kProxyPacUrl), | 105 prefs::kProxyPacUrl), |
106 TypeAndName(ConfigurationPolicyStore::kPolicyProxyBypassList, | 106 TypeAndName(kPolicyProxyBypassList, |
107 prefs::kProxyBypassList), | 107 prefs::kProxyBypassList), |
108 TypeAndName(ConfigurationPolicyStore::kPolicyApplicationLocale, | 108 TypeAndName(kPolicyApplicationLocale, |
109 prefs::kApplicationLocale))); | 109 prefs::kApplicationLocale))); |
110 | 110 |
111 // Test cases for boolean-valued policy settings. | 111 // Test cases for boolean-valued policy settings. |
112 class ConfigurationPolicyPrefStoreBooleanTest | 112 class ConfigurationPolicyPrefStoreBooleanTest |
113 : public testing::TestWithParam<TypeAndName> { | 113 : public testing::TestWithParam<TypeAndName> { |
114 }; | 114 }; |
115 | 115 |
116 TEST_P(ConfigurationPolicyPrefStoreBooleanTest, GetDefault) { | 116 TEST_P(ConfigurationPolicyPrefStoreBooleanTest, GetDefault) { |
117 ConfigurationPolicyPrefStore store(NULL); | 117 ConfigurationPolicyPrefStore store(NULL); |
118 bool result = false; | 118 bool result = false; |
(...skipping 10 matching lines...) Expand all Loading... |
129 store.Apply(GetParam().type(), Value::CreateBooleanValue(true)); | 129 store.Apply(GetParam().type(), Value::CreateBooleanValue(true)); |
130 result = false; | 130 result = false; |
131 EXPECT_TRUE(store.prefs()->GetBoolean(GetParam().pref_name(), &result)); | 131 EXPECT_TRUE(store.prefs()->GetBoolean(GetParam().pref_name(), &result)); |
132 EXPECT_TRUE(result); | 132 EXPECT_TRUE(result); |
133 } | 133 } |
134 | 134 |
135 INSTANTIATE_TEST_CASE_P( | 135 INSTANTIATE_TEST_CASE_P( |
136 ConfigurationPolicyPrefStoreBooleanTestInstance, | 136 ConfigurationPolicyPrefStoreBooleanTestInstance, |
137 ConfigurationPolicyPrefStoreBooleanTest, | 137 ConfigurationPolicyPrefStoreBooleanTest, |
138 testing::Values( | 138 testing::Values( |
139 TypeAndName(ConfigurationPolicyStore::kPolicyHomepageIsNewTabPage, | 139 TypeAndName(kPolicyHomepageIsNewTabPage, |
140 prefs::kHomePageIsNewTabPage), | 140 prefs::kHomePageIsNewTabPage), |
141 TypeAndName(ConfigurationPolicyStore::kPolicyAlternateErrorPagesEnabled, | 141 TypeAndName(kPolicyAlternateErrorPagesEnabled, |
142 prefs::kAlternateErrorPagesEnabled), | 142 prefs::kAlternateErrorPagesEnabled), |
143 TypeAndName(ConfigurationPolicyStore::kPolicySearchSuggestEnabled, | 143 TypeAndName(kPolicySearchSuggestEnabled, |
144 prefs::kSearchSuggestEnabled), | 144 prefs::kSearchSuggestEnabled), |
145 TypeAndName(ConfigurationPolicyStore::kPolicyDnsPrefetchingEnabled, | 145 TypeAndName(kPolicyDnsPrefetchingEnabled, |
146 prefs::kDnsPrefetchingEnabled), | 146 prefs::kDnsPrefetchingEnabled), |
147 TypeAndName(ConfigurationPolicyStore::kPolicyDisableSpdy, | 147 TypeAndName(kPolicyDisableSpdy, |
148 prefs::kDisableSpdy), | 148 prefs::kDisableSpdy), |
149 TypeAndName(ConfigurationPolicyStore::kPolicySafeBrowsingEnabled, | 149 TypeAndName(kPolicySafeBrowsingEnabled, |
150 prefs::kSafeBrowsingEnabled), | 150 prefs::kSafeBrowsingEnabled), |
151 TypeAndName(ConfigurationPolicyStore::kPolicyMetricsReportingEnabled, | 151 TypeAndName(kPolicyMetricsReportingEnabled, |
152 prefs::kMetricsReportingEnabled), | 152 prefs::kMetricsReportingEnabled), |
153 TypeAndName(ConfigurationPolicyStore::kPolicyPasswordManagerEnabled, | 153 TypeAndName(kPolicyPasswordManagerEnabled, |
154 prefs::kPasswordManagerEnabled), | 154 prefs::kPasswordManagerEnabled), |
155 TypeAndName(ConfigurationPolicyStore:: | 155 TypeAndName(kPolicyPasswordManagerAllowShowPasswords, |
156 kPolicyPasswordManagerAllowShowPasswords, | |
157 prefs::kPasswordManagerAllowShowPasswords), | 156 prefs::kPasswordManagerAllowShowPasswords), |
158 TypeAndName(ConfigurationPolicyStore::kPolicyShowHomeButton, | 157 TypeAndName(kPolicyShowHomeButton, |
159 prefs::kShowHomeButton), | 158 prefs::kShowHomeButton), |
160 TypeAndName(ConfigurationPolicyStore::kPolicyPrintingEnabled, | 159 TypeAndName(kPolicyPrintingEnabled, |
161 prefs::kPrintingEnabled), | 160 prefs::kPrintingEnabled), |
162 TypeAndName(ConfigurationPolicyStore::kPolicyJavascriptEnabled, | 161 TypeAndName(kPolicyJavascriptEnabled, |
163 prefs::kWebKitJavascriptEnabled), | 162 prefs::kWebKitJavascriptEnabled), |
164 TypeAndName(ConfigurationPolicyStore:: | 163 TypeAndName(kPolicySavingBrowserHistoryDisabled, |
165 kPolicySavingBrowserHistoryDisabled, | |
166 prefs::kSavingBrowserHistoryDisabled))); | 164 prefs::kSavingBrowserHistoryDisabled))); |
167 | 165 |
168 #if defined(OS_CHROMEOS) | 166 #if defined(OS_CHROMEOS) |
169 INSTANTIATE_TEST_CASE_P( | 167 INSTANTIATE_TEST_CASE_P( |
170 CrosConfigurationPolicyPrefStoreBooleanTestInstance, | 168 CrosConfigurationPolicyPrefStoreBooleanTestInstance, |
171 ConfigurationPolicyPrefStoreBooleanTest, | 169 ConfigurationPolicyPrefStoreBooleanTest, |
172 testing::Values( | 170 testing::Values( |
173 TypeAndName(ConfigurationPolicyStore:: | 171 TypeAndName(kPolicyChromeOsLockOnIdleSuspend, |
174 kPolicyChromeOsLockOnIdleSuspend, | |
175 prefs::kEnableScreenLock))); | 172 prefs::kEnableScreenLock))); |
176 #endif // defined(OS_CHROMEOS) | 173 #endif // defined(OS_CHROMEOS) |
177 | 174 |
178 // Test cases for integer-valued policy settings. | 175 // Test cases for integer-valued policy settings. |
179 class ConfigurationPolicyPrefStoreIntegerTest | 176 class ConfigurationPolicyPrefStoreIntegerTest |
180 : public testing::TestWithParam<TypeAndName> { | 177 : public testing::TestWithParam<TypeAndName> { |
181 }; | 178 }; |
182 | 179 |
183 TEST_P(ConfigurationPolicyPrefStoreIntegerTest, GetDefault) { | 180 TEST_P(ConfigurationPolicyPrefStoreIntegerTest, GetDefault) { |
184 ConfigurationPolicyPrefStore store(NULL); | 181 ConfigurationPolicyPrefStore store(NULL); |
185 int result = 0; | 182 int result = 0; |
186 EXPECT_FALSE(store.prefs()->GetInteger(GetParam().pref_name(), &result)); | 183 EXPECT_FALSE(store.prefs()->GetInteger(GetParam().pref_name(), &result)); |
187 } | 184 } |
188 | 185 |
189 TEST_P(ConfigurationPolicyPrefStoreIntegerTest, SetValue) { | 186 TEST_P(ConfigurationPolicyPrefStoreIntegerTest, SetValue) { |
190 ConfigurationPolicyPrefStore store(NULL); | 187 ConfigurationPolicyPrefStore store(NULL); |
191 store.Apply(GetParam().type(), Value::CreateIntegerValue(2)); | 188 store.Apply(GetParam().type(), Value::CreateIntegerValue(2)); |
192 int result = 0; | 189 int result = 0; |
193 EXPECT_TRUE(store.prefs()->GetInteger(GetParam().pref_name(), &result)); | 190 EXPECT_TRUE(store.prefs()->GetInteger(GetParam().pref_name(), &result)); |
194 EXPECT_EQ(result, 2); | 191 EXPECT_EQ(result, 2); |
195 } | 192 } |
196 | 193 |
197 INSTANTIATE_TEST_CASE_P( | 194 INSTANTIATE_TEST_CASE_P( |
198 ConfigurationPolicyPrefStoreIntegerTestInstance, | 195 ConfigurationPolicyPrefStoreIntegerTestInstance, |
199 ConfigurationPolicyPrefStoreIntegerTest, | 196 ConfigurationPolicyPrefStoreIntegerTest, |
200 testing::Values( | 197 testing::Values( |
201 TypeAndName(ConfigurationPolicyStore::kPolicyRestoreOnStartup, | 198 TypeAndName(kPolicyRestoreOnStartup, |
202 prefs::kRestoreOnStartup))); | 199 prefs::kRestoreOnStartup))); |
203 | 200 |
204 // Test cases for the proxy policy settings. | 201 // Test cases for the proxy policy settings. |
205 class ConfigurationPolicyPrefStoreProxyTest : public testing::Test { | 202 class ConfigurationPolicyPrefStoreProxyTest : public testing::Test { |
206 }; | 203 }; |
207 | 204 |
208 TEST_F(ConfigurationPolicyPrefStoreProxyTest, ManualOptions) { | 205 TEST_F(ConfigurationPolicyPrefStoreProxyTest, ManualOptions) { |
209 scoped_ptr<MockConfigurationPolicyProvider> provider( | 206 scoped_ptr<MockConfigurationPolicyProvider> provider( |
210 new MockConfigurationPolicyProvider()); | 207 new MockConfigurationPolicyProvider()); |
211 provider->AddPolicy(ConfigurationPolicyStore::kPolicyProxyBypassList, | 208 provider->AddPolicy(kPolicyProxyBypassList, |
212 Value::CreateStringValue("http://chromium.org/override")); | 209 Value::CreateStringValue("http://chromium.org/override")); |
213 provider->AddPolicy(ConfigurationPolicyStore::kPolicyProxyPacUrl, | 210 provider->AddPolicy(kPolicyProxyPacUrl, |
214 Value::CreateStringValue("http://chromium.org/proxy.pac")); | 211 Value::CreateStringValue("http://short.org/proxy.pac")); |
215 provider->AddPolicy(ConfigurationPolicyStore::kPolicyProxyServer, | 212 provider->AddPolicy(kPolicyProxyServer, |
216 Value::CreateStringValue("chromium.org")); | 213 Value::CreateStringValue("chromium.org")); |
217 provider->AddPolicy(ConfigurationPolicyStore::kPolicyProxyServerMode, | 214 provider->AddPolicy(kPolicyProxyServerMode, |
218 Value::CreateIntegerValue( | 215 Value::CreateIntegerValue( |
219 ConfigurationPolicyStore::kPolicyManuallyConfiguredProxyMode)); | 216 kPolicyManuallyConfiguredProxyMode)); |
220 | 217 |
221 ConfigurationPolicyPrefStore store(provider.get()); | 218 ConfigurationPolicyPrefStore store(provider.get()); |
222 EXPECT_EQ(store.ReadPrefs(), PrefStore::PREF_READ_ERROR_NONE); | 219 EXPECT_EQ(store.ReadPrefs(), PrefStore::PREF_READ_ERROR_NONE); |
223 | 220 |
224 std::string string_result; | 221 std::string string_result; |
225 EXPECT_TRUE(store.prefs()->GetString(prefs::kProxyBypassList, | 222 EXPECT_TRUE(store.prefs()->GetString(prefs::kProxyBypassList, |
226 &string_result)); | 223 &string_result)); |
227 EXPECT_EQ("http://chromium.org/override", string_result); | 224 EXPECT_EQ("http://chromium.org/override", string_result); |
228 EXPECT_TRUE(store.prefs()->GetString(prefs::kProxyPacUrl, &string_result)); | 225 EXPECT_TRUE(store.prefs()->GetString(prefs::kProxyPacUrl, &string_result)); |
229 EXPECT_EQ("http://chromium.org/proxy.pac", string_result); | 226 EXPECT_EQ("http://short.org/proxy.pac", string_result); |
230 EXPECT_TRUE(store.prefs()->GetString(prefs::kProxyServer, &string_result)); | 227 EXPECT_TRUE(store.prefs()->GetString(prefs::kProxyServer, &string_result)); |
231 EXPECT_EQ("chromium.org", string_result); | 228 EXPECT_EQ("chromium.org", string_result); |
232 bool bool_result; | 229 bool bool_result; |
233 EXPECT_TRUE(store.prefs()->GetBoolean(prefs::kNoProxyServer, &bool_result)); | 230 EXPECT_TRUE(store.prefs()->GetBoolean(prefs::kNoProxyServer, &bool_result)); |
234 EXPECT_FALSE(bool_result); | 231 EXPECT_FALSE(bool_result); |
235 EXPECT_TRUE(store.prefs()->GetBoolean(prefs::kProxyAutoDetect, &bool_result)); | 232 EXPECT_TRUE(store.prefs()->GetBoolean(prefs::kProxyAutoDetect, &bool_result)); |
236 EXPECT_FALSE(bool_result); | 233 EXPECT_FALSE(bool_result); |
237 } | 234 } |
238 | 235 |
239 TEST_F(ConfigurationPolicyPrefStoreProxyTest, NoProxy) { | 236 TEST_F(ConfigurationPolicyPrefStoreProxyTest, NoProxy) { |
240 scoped_ptr<MockConfigurationPolicyProvider> provider( | 237 scoped_ptr<MockConfigurationPolicyProvider> provider( |
241 new MockConfigurationPolicyProvider()); | 238 new MockConfigurationPolicyProvider()); |
242 provider->AddPolicy(ConfigurationPolicyStore::kPolicyProxyBypassList, | 239 provider->AddPolicy(kPolicyProxyBypassList, |
243 Value::CreateStringValue("http://chromium.org/override")); | 240 Value::CreateStringValue("http://chromium.org/override")); |
244 provider->AddPolicy(ConfigurationPolicyStore::kPolicyProxyServerMode, | 241 provider->AddPolicy(kPolicyProxyServerMode, |
245 Value::CreateIntegerValue( | 242 Value::CreateIntegerValue( |
246 ConfigurationPolicyStore::kPolicyNoProxyServerMode)); | 243 kPolicyNoProxyServerMode)); |
247 | 244 |
248 ConfigurationPolicyPrefStore store(provider.get()); | 245 ConfigurationPolicyPrefStore store(provider.get()); |
249 EXPECT_EQ(store.ReadPrefs(), PrefStore::PREF_READ_ERROR_NONE); | 246 EXPECT_EQ(store.ReadPrefs(), PrefStore::PREF_READ_ERROR_NONE); |
250 | 247 |
251 std::string string_result; | 248 std::string string_result; |
252 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyBypassList, | 249 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyBypassList, |
253 &string_result)); | 250 &string_result)); |
254 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyPacUrl, &string_result)); | 251 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyPacUrl, &string_result)); |
255 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyServer, &string_result)); | 252 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyServer, &string_result)); |
256 bool bool_result; | 253 bool bool_result; |
257 EXPECT_TRUE(store.prefs()->GetBoolean(prefs::kNoProxyServer, &bool_result)); | 254 EXPECT_TRUE(store.prefs()->GetBoolean(prefs::kNoProxyServer, &bool_result)); |
258 EXPECT_TRUE(bool_result); | 255 EXPECT_TRUE(bool_result); |
259 EXPECT_TRUE(store.prefs()->GetBoolean(prefs::kProxyAutoDetect, &bool_result)); | 256 EXPECT_TRUE(store.prefs()->GetBoolean(prefs::kProxyAutoDetect, &bool_result)); |
260 EXPECT_FALSE(bool_result); | 257 EXPECT_FALSE(bool_result); |
261 } | 258 } |
262 | 259 |
263 TEST_F(ConfigurationPolicyPrefStoreProxyTest, NoProxyReversedApplyOrder) { | 260 TEST_F(ConfigurationPolicyPrefStoreProxyTest, NoProxyReversedApplyOrder) { |
264 scoped_ptr<MockConfigurationPolicyProvider> provider( | 261 scoped_ptr<MockConfigurationPolicyProvider> provider( |
265 new MockConfigurationPolicyProvider()); | 262 new MockConfigurationPolicyProvider()); |
266 provider->AddPolicy(ConfigurationPolicyStore::kPolicyProxyServerMode, | 263 provider->AddPolicy(kPolicyProxyServerMode, |
267 Value::CreateIntegerValue( | 264 Value::CreateIntegerValue( |
268 ConfigurationPolicyStore::kPolicyNoProxyServerMode)); | 265 kPolicyNoProxyServerMode)); |
269 provider->AddPolicy(ConfigurationPolicyStore::kPolicyProxyBypassList, | 266 provider->AddPolicy(kPolicyProxyBypassList, |
270 Value::CreateStringValue("http://chromium.org/override")); | 267 Value::CreateStringValue("http://chromium.org/override")); |
271 | 268 |
272 ConfigurationPolicyPrefStore store(provider.get()); | 269 ConfigurationPolicyPrefStore store(provider.get()); |
273 EXPECT_EQ(store.ReadPrefs(), PrefStore::PREF_READ_ERROR_NONE); | 270 EXPECT_EQ(store.ReadPrefs(), PrefStore::PREF_READ_ERROR_NONE); |
274 | 271 |
275 std::string string_result; | 272 std::string string_result; |
276 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyBypassList, | 273 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyBypassList, |
277 &string_result)); | 274 &string_result)); |
278 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyPacUrl, &string_result)); | 275 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyPacUrl, &string_result)); |
279 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyServer, &string_result)); | 276 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyServer, &string_result)); |
280 bool bool_result; | 277 bool bool_result; |
281 EXPECT_TRUE(store.prefs()->GetBoolean(prefs::kNoProxyServer, &bool_result)); | 278 EXPECT_TRUE(store.prefs()->GetBoolean(prefs::kNoProxyServer, &bool_result)); |
282 EXPECT_TRUE(bool_result); | 279 EXPECT_TRUE(bool_result); |
283 EXPECT_TRUE(store.prefs()->GetBoolean(prefs::kProxyAutoDetect, &bool_result)); | 280 EXPECT_TRUE(store.prefs()->GetBoolean(prefs::kProxyAutoDetect, &bool_result)); |
284 EXPECT_FALSE(bool_result); | 281 EXPECT_FALSE(bool_result); |
285 } | 282 } |
286 | 283 |
287 TEST_F(ConfigurationPolicyPrefStoreProxyTest, AutoDetect) { | 284 TEST_F(ConfigurationPolicyPrefStoreProxyTest, AutoDetect) { |
288 scoped_ptr<MockConfigurationPolicyProvider> provider( | 285 scoped_ptr<MockConfigurationPolicyProvider> provider( |
289 new MockConfigurationPolicyProvider()); | 286 new MockConfigurationPolicyProvider()); |
290 provider->AddPolicy(ConfigurationPolicyStore::kPolicyProxyServerMode, | 287 provider->AddPolicy(kPolicyProxyServerMode, |
291 Value::CreateIntegerValue( | 288 Value::CreateIntegerValue( |
292 ConfigurationPolicyStore::kPolicyAutoDetectProxyMode)); | 289 kPolicyAutoDetectProxyMode)); |
293 | 290 |
294 ConfigurationPolicyPrefStore store(provider.get()); | 291 ConfigurationPolicyPrefStore store(provider.get()); |
295 EXPECT_EQ(store.ReadPrefs(), PrefStore::PREF_READ_ERROR_NONE); | 292 EXPECT_EQ(store.ReadPrefs(), PrefStore::PREF_READ_ERROR_NONE); |
296 | 293 |
297 std::string string_result; | 294 std::string string_result; |
298 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyBypassList, | 295 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyBypassList, |
299 &string_result)); | 296 &string_result)); |
300 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyPacUrl, &string_result)); | 297 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyPacUrl, &string_result)); |
301 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyServer, &string_result)); | 298 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyServer, &string_result)); |
302 bool bool_result; | 299 bool bool_result; |
303 EXPECT_TRUE(store.prefs()->GetBoolean(prefs::kNoProxyServer, &bool_result)); | 300 EXPECT_TRUE(store.prefs()->GetBoolean(prefs::kNoProxyServer, &bool_result)); |
304 EXPECT_FALSE(bool_result); | 301 EXPECT_FALSE(bool_result); |
305 EXPECT_TRUE(store.prefs()->GetBoolean(prefs::kProxyAutoDetect, &bool_result)); | 302 EXPECT_TRUE(store.prefs()->GetBoolean(prefs::kProxyAutoDetect, &bool_result)); |
306 EXPECT_TRUE(bool_result); | 303 EXPECT_TRUE(bool_result); |
307 } | 304 } |
308 | 305 |
309 TEST_F(ConfigurationPolicyPrefStoreProxyTest, UseSystem) { | 306 TEST_F(ConfigurationPolicyPrefStoreProxyTest, UseSystem) { |
310 scoped_ptr<MockConfigurationPolicyProvider> provider( | 307 scoped_ptr<MockConfigurationPolicyProvider> provider( |
311 new MockConfigurationPolicyProvider()); | 308 new MockConfigurationPolicyProvider()); |
312 provider->AddPolicy(ConfigurationPolicyStore::kPolicyProxyBypassList, | 309 provider->AddPolicy(kPolicyProxyBypassList, |
313 Value::CreateStringValue("http://chromium.org/override")); | 310 Value::CreateStringValue("http://chromium.org/override")); |
314 provider->AddPolicy(ConfigurationPolicyStore::kPolicyProxyServerMode, | 311 provider->AddPolicy(kPolicyProxyServerMode, |
315 Value::CreateIntegerValue( | 312 Value::CreateIntegerValue( |
316 ConfigurationPolicyStore::kPolicyUseSystemProxyMode)); | 313 kPolicyUseSystemProxyMode)); |
317 | 314 |
318 ConfigurationPolicyPrefStore store(provider.get()); | 315 ConfigurationPolicyPrefStore store(provider.get()); |
319 EXPECT_EQ(store.ReadPrefs(), PrefStore::PREF_READ_ERROR_NONE); | 316 EXPECT_EQ(store.ReadPrefs(), PrefStore::PREF_READ_ERROR_NONE); |
320 | 317 |
321 std::string string_result; | 318 std::string string_result; |
322 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyBypassList, | 319 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyBypassList, |
323 &string_result)); | 320 &string_result)); |
324 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyPacUrl, &string_result)); | 321 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyPacUrl, &string_result)); |
325 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyServer, &string_result)); | 322 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyServer, &string_result)); |
326 bool bool_result; | 323 bool bool_result; |
327 EXPECT_FALSE(store.prefs()->GetBoolean(prefs::kNoProxyServer, &bool_result)); | 324 EXPECT_FALSE(store.prefs()->GetBoolean(prefs::kNoProxyServer, &bool_result)); |
328 EXPECT_FALSE(store.prefs()->GetBoolean(prefs::kProxyAutoDetect, | 325 EXPECT_FALSE(store.prefs()->GetBoolean(prefs::kProxyAutoDetect, |
329 &bool_result)); | 326 &bool_result)); |
330 } | 327 } |
331 | 328 |
332 TEST_F(ConfigurationPolicyPrefStoreProxyTest, UseSystemReversedApplyOrder) { | 329 TEST_F(ConfigurationPolicyPrefStoreProxyTest, UseSystemReversedApplyOrder) { |
333 scoped_ptr<MockConfigurationPolicyProvider> provider( | 330 scoped_ptr<MockConfigurationPolicyProvider> provider( |
334 new MockConfigurationPolicyProvider()); | 331 new MockConfigurationPolicyProvider()); |
335 provider->AddPolicy(ConfigurationPolicyStore::kPolicyProxyServerMode, | 332 provider->AddPolicy(kPolicyProxyServerMode, |
336 Value::CreateIntegerValue( | 333 Value::CreateIntegerValue( |
337 ConfigurationPolicyStore::kPolicyUseSystemProxyMode)); | 334 kPolicyUseSystemProxyMode)); |
338 provider->AddPolicy(ConfigurationPolicyStore::kPolicyProxyBypassList, | 335 provider->AddPolicy(kPolicyProxyBypassList, |
339 Value::CreateStringValue("http://chromium.org/override")); | 336 Value::CreateStringValue("http://chromium.org/override")); |
340 | 337 |
341 ConfigurationPolicyPrefStore store(provider.get()); | 338 ConfigurationPolicyPrefStore store(provider.get()); |
342 EXPECT_EQ(store.ReadPrefs(), PrefStore::PREF_READ_ERROR_NONE); | 339 EXPECT_EQ(store.ReadPrefs(), PrefStore::PREF_READ_ERROR_NONE); |
343 | 340 |
344 std::string string_result; | 341 std::string string_result; |
345 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyBypassList, | 342 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyBypassList, |
346 &string_result)); | 343 &string_result)); |
347 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyPacUrl, &string_result)); | 344 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyPacUrl, &string_result)); |
348 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyServer, &string_result)); | 345 EXPECT_FALSE(store.prefs()->GetString(prefs::kProxyServer, &string_result)); |
349 bool bool_result; | 346 bool bool_result; |
350 EXPECT_FALSE(store.prefs()->GetBoolean(prefs::kNoProxyServer, &bool_result)); | 347 EXPECT_FALSE(store.prefs()->GetBoolean(prefs::kNoProxyServer, &bool_result)); |
351 EXPECT_FALSE(store.prefs()->GetBoolean(prefs::kProxyAutoDetect, | 348 EXPECT_FALSE(store.prefs()->GetBoolean(prefs::kProxyAutoDetect, |
352 &bool_result)); | 349 &bool_result)); |
353 } | 350 } |
354 | 351 |
355 class ConfigurationPolicyPrefStoreDefaultSearchTest : public testing::Test { | 352 class ConfigurationPolicyPrefStoreDefaultSearchTest : public testing::Test { |
356 }; | 353 }; |
357 | 354 |
358 // Checks that if the policy for default search is valid, i.e. there's a | 355 // Checks that if the policy for default search is valid, i.e. there's a |
359 // search URL, that all the elements have been given proper defaults. | 356 // search URL, that all the elements have been given proper defaults. |
360 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, MinimallyDefined) { | 357 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, MinimallyDefined) { |
361 const char* search_url = "http://test.com/search?t={searchTerms}"; | 358 const char* const search_url = "http://test.com/search?t={searchTerms}"; |
362 scoped_ptr<MockConfigurationPolicyProvider> provider( | 359 scoped_ptr<MockConfigurationPolicyProvider> provider( |
363 new MockConfigurationPolicyProvider()); | 360 new MockConfigurationPolicyProvider()); |
364 provider->AddPolicy( | 361 provider->AddPolicy( |
365 ConfigurationPolicyStore::kPolicyDefaultSearchProviderEnabled, | 362 kPolicyDefaultSearchProviderEnabled, |
366 Value::CreateBooleanValue(true)); | 363 Value::CreateBooleanValue(true)); |
367 provider->AddPolicy( | 364 provider->AddPolicy( |
368 ConfigurationPolicyStore::kPolicyDefaultSearchProviderSearchURL, | 365 kPolicyDefaultSearchProviderSearchURL, |
369 Value::CreateStringValue(search_url)); | 366 Value::CreateStringValue(search_url)); |
370 | 367 |
371 ConfigurationPolicyPrefStore store(provider.get()); | 368 ConfigurationPolicyPrefStore store(provider.get()); |
372 | 369 |
373 EXPECT_EQ(store.ReadPrefs(), PrefStore::PREF_READ_ERROR_NONE); | 370 EXPECT_EQ(store.ReadPrefs(), PrefStore::PREF_READ_ERROR_NONE); |
374 DictionaryValue* prefs = store.prefs(); | 371 const DictionaryValue* prefs = store.prefs(); |
375 | 372 |
376 std::string string_result; | 373 std::string string_result; |
377 EXPECT_TRUE(prefs->GetString(prefs::kDefaultSearchProviderSearchURL, | 374 EXPECT_TRUE(prefs->GetString(prefs::kDefaultSearchProviderSearchURL, |
378 &string_result)); | 375 &string_result)); |
379 EXPECT_EQ(string_result, search_url); | 376 EXPECT_EQ(string_result, search_url); |
380 | 377 |
381 EXPECT_TRUE(prefs->GetString(prefs::kDefaultSearchProviderName, | 378 EXPECT_TRUE(prefs->GetString(prefs::kDefaultSearchProviderName, |
382 &string_result)); | 379 &string_result)); |
383 EXPECT_EQ(string_result, "test.com"); | 380 EXPECT_EQ(string_result, "test.com"); |
384 | 381 |
385 EXPECT_TRUE(prefs->GetString(prefs::kDefaultSearchProviderKeyword, | 382 EXPECT_TRUE(prefs->GetString(prefs::kDefaultSearchProviderKeyword, |
386 &string_result)); | 383 &string_result)); |
387 EXPECT_EQ(string_result, ""); | 384 EXPECT_EQ(string_result, std::string()); |
388 | 385 |
389 EXPECT_TRUE(prefs->GetString(prefs::kDefaultSearchProviderSuggestURL, | 386 EXPECT_TRUE(prefs->GetString(prefs::kDefaultSearchProviderSuggestURL, |
390 &string_result)); | 387 &string_result)); |
391 EXPECT_EQ(string_result, ""); | 388 EXPECT_EQ(string_result, std::string()); |
392 | 389 |
393 EXPECT_TRUE(prefs->GetString(prefs::kDefaultSearchProviderIconURL, | 390 EXPECT_TRUE(prefs->GetString(prefs::kDefaultSearchProviderIconURL, |
394 &string_result)); | 391 &string_result)); |
395 EXPECT_EQ(string_result, ""); | 392 EXPECT_EQ(string_result, std::string()); |
396 | 393 |
397 EXPECT_TRUE(prefs->GetString(prefs::kDefaultSearchProviderEncodings, | 394 EXPECT_TRUE(prefs->GetString(prefs::kDefaultSearchProviderEncodings, |
398 &string_result)); | 395 &string_result)); |
399 EXPECT_EQ(string_result, ""); | 396 EXPECT_EQ(string_result, std::string()); |
400 } | 397 } |
401 | 398 |
402 // Checks that for a fully defined search policy, all elements have been | 399 // Checks that for a fully defined search policy, all elements have been |
403 // read properly. | 400 // read properly. |
404 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, FullyDefined) { | 401 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, FullyDefined) { |
405 const char* search_url = "http://test.com/search?t={searchTerms}"; | 402 const char* const search_url = "http://test.com/search?t={searchTerms}"; |
406 const char* suggest_url = "http://test.com/sugg?={searchTerms}"; | 403 const char* const suggest_url = "http://test.com/sugg?={searchTerms}"; |
407 const char* icon_url = "http://test.com/icon.jpg"; | 404 const char* const icon_url = "http://test.com/icon.jpg"; |
408 const char* name = "MyName"; | 405 const char* const name = "MyName"; |
409 const char* keyword = "MyKeyword"; | 406 const char* const keyword = "MyKeyword"; |
410 const char* encodings = "UTF-16;UTF-8"; | 407 const char* const encodings = "UTF-16;UTF-8"; |
411 scoped_ptr<MockConfigurationPolicyProvider> provider( | 408 scoped_ptr<MockConfigurationPolicyProvider> provider( |
412 new MockConfigurationPolicyProvider()); | 409 new MockConfigurationPolicyProvider()); |
413 provider->AddPolicy( | 410 provider->AddPolicy( |
414 ConfigurationPolicyStore::kPolicyDefaultSearchProviderEnabled, | 411 kPolicyDefaultSearchProviderEnabled, |
415 Value::CreateBooleanValue(true)); | 412 Value::CreateBooleanValue(true)); |
416 provider->AddPolicy( | 413 provider->AddPolicy( |
417 ConfigurationPolicyStore::kPolicyDefaultSearchProviderSearchURL, | 414 kPolicyDefaultSearchProviderSearchURL, |
418 Value::CreateStringValue(search_url)); | 415 Value::CreateStringValue(search_url)); |
419 provider->AddPolicy( | 416 provider->AddPolicy( |
420 ConfigurationPolicyStore::kPolicyDefaultSearchProviderName, | 417 kPolicyDefaultSearchProviderName, |
421 Value::CreateStringValue(name)); | 418 Value::CreateStringValue(name)); |
422 provider->AddPolicy( | 419 provider->AddPolicy( |
423 ConfigurationPolicyStore::kPolicyDefaultSearchProviderKeyword, | 420 kPolicyDefaultSearchProviderKeyword, |
424 Value::CreateStringValue(keyword)); | 421 Value::CreateStringValue(keyword)); |
425 provider->AddPolicy( | 422 provider->AddPolicy( |
426 ConfigurationPolicyStore::kPolicyDefaultSearchProviderSuggestURL, | 423 kPolicyDefaultSearchProviderSuggestURL, |
427 Value::CreateStringValue(suggest_url)); | 424 Value::CreateStringValue(suggest_url)); |
428 provider->AddPolicy( | 425 provider->AddPolicy( |
429 ConfigurationPolicyStore::kPolicyDefaultSearchProviderIconURL, | 426 kPolicyDefaultSearchProviderIconURL, |
430 Value::CreateStringValue(icon_url)); | 427 Value::CreateStringValue(icon_url)); |
431 provider->AddPolicy( | 428 provider->AddPolicy( |
432 ConfigurationPolicyStore::kPolicyDefaultSearchProviderEncodings, | 429 kPolicyDefaultSearchProviderEncodings, |
433 Value::CreateStringValue(encodings)); | 430 Value::CreateStringValue(encodings)); |
434 | 431 |
435 ConfigurationPolicyPrefStore store(provider.get()); | 432 ConfigurationPolicyPrefStore store(provider.get()); |
436 EXPECT_EQ(store.ReadPrefs(), PrefStore::PREF_READ_ERROR_NONE); | 433 EXPECT_EQ(store.ReadPrefs(), PrefStore::PREF_READ_ERROR_NONE); |
437 DictionaryValue* prefs = store.prefs(); | 434 const DictionaryValue* prefs = store.prefs(); |
438 | 435 |
439 std::string result_search_url; | 436 std::string result_search_url; |
440 EXPECT_TRUE(prefs->GetString(prefs::kDefaultSearchProviderSearchURL, | 437 EXPECT_TRUE(prefs->GetString(prefs::kDefaultSearchProviderSearchURL, |
441 &result_search_url)); | 438 &result_search_url)); |
442 EXPECT_EQ(result_search_url, search_url); | 439 EXPECT_EQ(result_search_url, search_url); |
443 | 440 |
444 std::string result_name; | 441 std::string result_name; |
445 EXPECT_TRUE(prefs->GetString(prefs::kDefaultSearchProviderName, | 442 EXPECT_TRUE(prefs->GetString(prefs::kDefaultSearchProviderName, |
446 &result_name)); | 443 &result_name)); |
447 EXPECT_EQ(result_name, name); | 444 EXPECT_EQ(result_name, name); |
(...skipping 15 matching lines...) Expand all Loading... |
463 | 460 |
464 std::string result_encodings; | 461 std::string result_encodings; |
465 EXPECT_TRUE(prefs->GetString(prefs::kDefaultSearchProviderEncodings, | 462 EXPECT_TRUE(prefs->GetString(prefs::kDefaultSearchProviderEncodings, |
466 &result_encodings)); | 463 &result_encodings)); |
467 EXPECT_EQ(result_encodings, encodings); | 464 EXPECT_EQ(result_encodings, encodings); |
468 } | 465 } |
469 | 466 |
470 // Checks that if the default search policy is missing, that no elements of the | 467 // Checks that if the default search policy is missing, that no elements of the |
471 // default search policy will be present. | 468 // default search policy will be present. |
472 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, MissingUrl) { | 469 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, MissingUrl) { |
473 const char* suggest_url = "http://test.com/sugg?t={searchTerms}"; | 470 const char* const suggest_url = "http://test.com/sugg?t={searchTerms}"; |
474 const char* icon_url = "http://test.com/icon.jpg"; | 471 const char* const icon_url = "http://test.com/icon.jpg"; |
475 const char* name = "MyName"; | 472 const char* const name = "MyName"; |
476 const char* keyword = "MyKeyword"; | 473 const char* const keyword = "MyKeyword"; |
477 const char* encodings = "UTF-16;UTF-8"; | 474 const char* const encodings = "UTF-16;UTF-8"; |
478 scoped_ptr<MockConfigurationPolicyProvider> provider( | 475 scoped_ptr<MockConfigurationPolicyProvider> provider( |
479 new MockConfigurationPolicyProvider()); | 476 new MockConfigurationPolicyProvider()); |
480 provider->AddPolicy( | 477 provider->AddPolicy( |
481 ConfigurationPolicyStore::kPolicyDefaultSearchProviderEnabled, | 478 kPolicyDefaultSearchProviderEnabled, |
482 Value::CreateBooleanValue(true)); | 479 Value::CreateBooleanValue(true)); |
483 provider->AddPolicy( | 480 provider->AddPolicy( |
484 ConfigurationPolicyStore::kPolicyDefaultSearchProviderName, | 481 kPolicyDefaultSearchProviderName, |
485 Value::CreateStringValue(name)); | 482 Value::CreateStringValue(name)); |
486 provider->AddPolicy( | 483 provider->AddPolicy( |
487 ConfigurationPolicyStore::kPolicyDefaultSearchProviderKeyword, | 484 kPolicyDefaultSearchProviderKeyword, |
488 Value::CreateStringValue(keyword)); | 485 Value::CreateStringValue(keyword)); |
489 provider->AddPolicy( | 486 provider->AddPolicy( |
490 ConfigurationPolicyStore::kPolicyDefaultSearchProviderSuggestURL, | 487 kPolicyDefaultSearchProviderSuggestURL, |
491 Value::CreateStringValue(suggest_url)); | 488 Value::CreateStringValue(suggest_url)); |
492 provider->AddPolicy( | 489 provider->AddPolicy( |
493 ConfigurationPolicyStore::kPolicyDefaultSearchProviderIconURL, | 490 kPolicyDefaultSearchProviderIconURL, |
494 Value::CreateStringValue(icon_url)); | 491 Value::CreateStringValue(icon_url)); |
495 provider->AddPolicy( | 492 provider->AddPolicy( |
496 ConfigurationPolicyStore::kPolicyDefaultSearchProviderEncodings, | 493 kPolicyDefaultSearchProviderEncodings, |
497 Value::CreateStringValue(encodings)); | 494 Value::CreateStringValue(encodings)); |
498 | 495 |
499 ConfigurationPolicyPrefStore store(provider.get()); | 496 ConfigurationPolicyPrefStore store(provider.get()); |
500 EXPECT_EQ(store.ReadPrefs(), PrefStore::PREF_READ_ERROR_NONE); | 497 EXPECT_EQ(store.ReadPrefs(), PrefStore::PREF_READ_ERROR_NONE); |
501 DictionaryValue* prefs = store.prefs(); | 498 const DictionaryValue* prefs = store.prefs(); |
502 | 499 |
503 std::string string_result; | 500 std::string string_result; |
504 EXPECT_FALSE(prefs->GetString(prefs::kDefaultSearchProviderSearchURL, | 501 EXPECT_FALSE(prefs->GetString(prefs::kDefaultSearchProviderSearchURL, |
505 &string_result)); | 502 &string_result)); |
506 EXPECT_FALSE(prefs->GetString(prefs::kDefaultSearchProviderName, | 503 EXPECT_FALSE(prefs->GetString(prefs::kDefaultSearchProviderName, |
507 &string_result)); | 504 &string_result)); |
508 EXPECT_FALSE(prefs->GetString(prefs::kDefaultSearchProviderKeyword, | 505 EXPECT_FALSE(prefs->GetString(prefs::kDefaultSearchProviderKeyword, |
509 &string_result)); | 506 &string_result)); |
510 EXPECT_FALSE(prefs->GetString(prefs::kDefaultSearchProviderSuggestURL, | 507 EXPECT_FALSE(prefs->GetString(prefs::kDefaultSearchProviderSuggestURL, |
511 &string_result)); | 508 &string_result)); |
512 EXPECT_FALSE(prefs->GetString(prefs::kDefaultSearchProviderIconURL, | 509 EXPECT_FALSE(prefs->GetString(prefs::kDefaultSearchProviderIconURL, |
513 &string_result)); | 510 &string_result)); |
514 EXPECT_FALSE(prefs->GetString(prefs::kDefaultSearchProviderEncodings, | 511 EXPECT_FALSE(prefs->GetString(prefs::kDefaultSearchProviderEncodings, |
515 &string_result)); | 512 &string_result)); |
516 } | 513 } |
517 | 514 |
518 // Checks that if the default search policy is invalid, that no elements of the | 515 // Checks that if the default search policy is invalid, that no elements of the |
519 // default search policy will be present. | 516 // default search policy will be present. |
520 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, Invalid) { | 517 TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, Invalid) { |
521 const char* bad_search_url = "http://test.com/noSearchTerms"; | 518 const char* const bad_search_url = "http://test.com/noSearchTerms"; |
522 const char* suggest_url = "http://test.com/sugg?t={searchTerms}"; | 519 const char* const suggest_url = "http://test.com/sugg?t={searchTerms}"; |
523 const char* icon_url = "http://test.com/icon.jpg"; | 520 const char* const icon_url = "http://test.com/icon.jpg"; |
524 const char* name = "MyName"; | 521 const char* const name = "MyName"; |
525 const char* keyword = "MyKeyword"; | 522 const char* const keyword = "MyKeyword"; |
526 const char* encodings = "UTF-16;UTF-8"; | 523 const char* const encodings = "UTF-16;UTF-8"; |
527 scoped_ptr<MockConfigurationPolicyProvider> provider( | 524 scoped_ptr<MockConfigurationPolicyProvider> provider( |
528 new MockConfigurationPolicyProvider()); | 525 new MockConfigurationPolicyProvider()); |
529 provider->AddPolicy( | 526 provider->AddPolicy( |
530 ConfigurationPolicyStore::kPolicyDefaultSearchProviderEnabled, | 527 kPolicyDefaultSearchProviderEnabled, |
531 Value::CreateBooleanValue(true)); | 528 Value::CreateBooleanValue(true)); |
532 provider->AddPolicy( | 529 provider->AddPolicy( |
533 ConfigurationPolicyStore::kPolicyDefaultSearchProviderSearchURL, | 530 kPolicyDefaultSearchProviderSearchURL, |
534 Value::CreateStringValue(bad_search_url)); | 531 Value::CreateStringValue(bad_search_url)); |
535 provider->AddPolicy( | 532 provider->AddPolicy( |
536 ConfigurationPolicyStore::kPolicyDefaultSearchProviderName, | 533 kPolicyDefaultSearchProviderName, |
537 Value::CreateStringValue(name)); | 534 Value::CreateStringValue(name)); |
538 provider->AddPolicy( | 535 provider->AddPolicy( |
539 ConfigurationPolicyStore::kPolicyDefaultSearchProviderKeyword, | 536 kPolicyDefaultSearchProviderKeyword, |
540 Value::CreateStringValue(keyword)); | 537 Value::CreateStringValue(keyword)); |
541 provider->AddPolicy( | 538 provider->AddPolicy( |
542 ConfigurationPolicyStore::kPolicyDefaultSearchProviderSuggestURL, | 539 kPolicyDefaultSearchProviderSuggestURL, |
543 Value::CreateStringValue(suggest_url)); | 540 Value::CreateStringValue(suggest_url)); |
544 provider->AddPolicy( | 541 provider->AddPolicy( |
545 ConfigurationPolicyStore::kPolicyDefaultSearchProviderIconURL, | 542 kPolicyDefaultSearchProviderIconURL, |
546 Value::CreateStringValue(icon_url)); | 543 Value::CreateStringValue(icon_url)); |
547 provider->AddPolicy( | 544 provider->AddPolicy( |
548 ConfigurationPolicyStore::kPolicyDefaultSearchProviderEncodings, | 545 kPolicyDefaultSearchProviderEncodings, |
549 Value::CreateStringValue(encodings)); | 546 Value::CreateStringValue(encodings)); |
550 | 547 |
551 ConfigurationPolicyPrefStore store(provider.get()); | 548 ConfigurationPolicyPrefStore store(provider.get()); |
552 EXPECT_EQ(store.ReadPrefs(), PrefStore::PREF_READ_ERROR_NONE); | 549 EXPECT_EQ(store.ReadPrefs(), PrefStore::PREF_READ_ERROR_NONE); |
553 DictionaryValue* prefs = store.prefs(); | 550 const DictionaryValue* const prefs = store.prefs(); |
554 | 551 |
555 std::string string_result; | 552 std::string string_result; |
556 EXPECT_FALSE(prefs->GetString(prefs::kDefaultSearchProviderEnabled, | 553 EXPECT_FALSE(prefs->GetString(prefs::kDefaultSearchProviderEnabled, |
557 &string_result)); | 554 &string_result)); |
558 EXPECT_FALSE(prefs->GetString(prefs::kDefaultSearchProviderSearchURL, | 555 EXPECT_FALSE(prefs->GetString(prefs::kDefaultSearchProviderSearchURL, |
559 &string_result)); | 556 &string_result)); |
560 EXPECT_FALSE(prefs->GetString(prefs::kDefaultSearchProviderName, | 557 EXPECT_FALSE(prefs->GetString(prefs::kDefaultSearchProviderName, |
561 &string_result)); | 558 &string_result)); |
562 EXPECT_FALSE(prefs->GetString(prefs::kDefaultSearchProviderKeyword, | 559 EXPECT_FALSE(prefs->GetString(prefs::kDefaultSearchProviderKeyword, |
563 &string_result)); | 560 &string_result)); |
564 EXPECT_FALSE(prefs->GetString(prefs::kDefaultSearchProviderSuggestURL, | 561 EXPECT_FALSE(prefs->GetString(prefs::kDefaultSearchProviderSuggestURL, |
565 &string_result)); | 562 &string_result)); |
566 EXPECT_FALSE(prefs->GetString(prefs::kDefaultSearchProviderIconURL, | 563 EXPECT_FALSE(prefs->GetString(prefs::kDefaultSearchProviderIconURL, |
567 &string_result)); | 564 &string_result)); |
568 EXPECT_FALSE(prefs->GetString(prefs::kDefaultSearchProviderEncodings, | 565 EXPECT_FALSE(prefs->GetString(prefs::kDefaultSearchProviderEncodings, |
569 &string_result)); | 566 &string_result)); |
570 } | 567 } |
571 | 568 |
572 // Test cases for the Sync policy setting. | 569 // Test cases for the Sync policy setting. |
573 class ConfigurationPolicyPrefStoreSyncTest : public testing::Test { | 570 class ConfigurationPolicyPrefStoreSyncTest : public testing::Test { |
574 }; | 571 }; |
575 | 572 |
576 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Default) { | 573 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Default) { |
577 ConfigurationPolicyPrefStore store(NULL); | 574 ConfigurationPolicyPrefStore store(NULL); |
578 bool result = false; | 575 bool result = false; |
579 EXPECT_FALSE(store.prefs()->GetBoolean(prefs::kSyncManaged, &result)); | 576 EXPECT_FALSE(store.prefs()->GetBoolean(prefs::kSyncManaged, &result)); |
580 } | 577 } |
581 | 578 |
582 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Enabled) { | 579 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Enabled) { |
583 ConfigurationPolicyPrefStore store(NULL); | 580 ConfigurationPolicyPrefStore store(NULL); |
584 store.Apply(ConfigurationPolicyPrefStore::kPolicySyncDisabled, | 581 store.Apply(kPolicySyncDisabled, Value::CreateBooleanValue(false)); |
585 Value::CreateBooleanValue(false)); | |
586 // Enabling Sync should not set the pref. | 582 // Enabling Sync should not set the pref. |
587 bool result = false; | 583 bool result = false; |
588 EXPECT_FALSE(store.prefs()->GetBoolean(prefs::kSyncManaged, &result)); | 584 EXPECT_FALSE(store.prefs()->GetBoolean(prefs::kSyncManaged, &result)); |
589 } | 585 } |
590 | 586 |
591 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Disabled) { | 587 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Disabled) { |
592 ConfigurationPolicyPrefStore store(NULL); | 588 ConfigurationPolicyPrefStore store(NULL); |
593 store.Apply(ConfigurationPolicyPrefStore::kPolicySyncDisabled, | 589 store.Apply(kPolicySyncDisabled, Value::CreateBooleanValue(true)); |
594 Value::CreateBooleanValue(true)); | |
595 // Sync should be flagged as managed. | 590 // Sync should be flagged as managed. |
596 bool result = false; | 591 bool result = false; |
597 EXPECT_TRUE(store.prefs()->GetBoolean(prefs::kSyncManaged, &result)); | 592 EXPECT_TRUE(store.prefs()->GetBoolean(prefs::kSyncManaged, &result)); |
598 EXPECT_TRUE(result); | 593 EXPECT_TRUE(result); |
599 } | 594 } |
600 | 595 |
601 // Test cases for the AutoFill policy setting. | 596 // Test cases for the AutoFill policy setting. |
602 class ConfigurationPolicyPrefStoreAutoFillTest : public testing::Test { | 597 class ConfigurationPolicyPrefStoreAutoFillTest : public testing::Test { |
603 }; | 598 }; |
604 | 599 |
605 TEST_F(ConfigurationPolicyPrefStoreAutoFillTest, Default) { | 600 TEST_F(ConfigurationPolicyPrefStoreAutoFillTest, Default) { |
606 ConfigurationPolicyPrefStore store(NULL); | 601 ConfigurationPolicyPrefStore store(NULL); |
607 bool result = false; | 602 bool result = false; |
608 EXPECT_FALSE(store.prefs()->GetBoolean(prefs::kAutoFillEnabled, &result)); | 603 EXPECT_FALSE(store.prefs()->GetBoolean(prefs::kAutoFillEnabled, &result)); |
609 } | 604 } |
610 | 605 |
611 TEST_F(ConfigurationPolicyPrefStoreAutoFillTest, Enabled) { | 606 TEST_F(ConfigurationPolicyPrefStoreAutoFillTest, Enabled) { |
612 ConfigurationPolicyPrefStore store(NULL); | 607 ConfigurationPolicyPrefStore store(NULL); |
613 store.Apply(ConfigurationPolicyPrefStore::kPolicyAutoFillEnabled, | 608 store.Apply(kPolicyAutoFillEnabled, Value::CreateBooleanValue(true)); |
614 Value::CreateBooleanValue(true)); | |
615 // Enabling AutoFill should not set the pref. | 609 // Enabling AutoFill should not set the pref. |
616 bool result = false; | 610 bool result = false; |
617 EXPECT_FALSE(store.prefs()->GetBoolean(prefs::kAutoFillEnabled, &result)); | 611 EXPECT_FALSE(store.prefs()->GetBoolean(prefs::kAutoFillEnabled, &result)); |
618 } | 612 } |
619 | 613 |
620 TEST_F(ConfigurationPolicyPrefStoreAutoFillTest, Disabled) { | 614 TEST_F(ConfigurationPolicyPrefStoreAutoFillTest, Disabled) { |
621 ConfigurationPolicyPrefStore store(NULL); | 615 ConfigurationPolicyPrefStore store(NULL); |
622 store.Apply(ConfigurationPolicyPrefStore::kPolicyAutoFillEnabled, | 616 store.Apply(kPolicyAutoFillEnabled, Value::CreateBooleanValue(false)); |
623 Value::CreateBooleanValue(false)); | |
624 // Disabling AutoFill should switch the pref to managed. | 617 // Disabling AutoFill should switch the pref to managed. |
625 bool result = true; | 618 bool result = true; |
626 EXPECT_TRUE(store.prefs()->GetBoolean(prefs::kAutoFillEnabled, &result)); | 619 EXPECT_TRUE(store.prefs()->GetBoolean(prefs::kAutoFillEnabled, &result)); |
627 EXPECT_FALSE(result); | 620 EXPECT_FALSE(result); |
628 } | 621 } |
629 | 622 |
630 } // namespace policy | 623 } // namespace policy |
OLD | NEW |