OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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/memory/scoped_ptr.h" | 7 #include "base/memory/scoped_ptr.h" |
8 #include "base/values.h" | 8 #include "base/values.h" |
9 #include "chrome/browser/net/proxy_policy_handler.h" | 9 #include "chrome/browser/net/proxy_policy_handler.h" |
10 #include "components/policy/core/browser/configuration_policy_pref_store.h" | 10 #include "components/policy/core/browser/configuration_policy_pref_store.h" |
11 #include "components/policy/core/browser/configuration_policy_pref_store_test.h" | 11 #include "components/policy/core/browser/configuration_policy_pref_store_test.h" |
12 #include "components/policy/core/common/policy_service_impl.h" | 12 #include "components/policy/core/common/policy_service_impl.h" |
| 13 #include "components/policy/core/common/policy_types.h" |
13 #include "components/proxy_config/proxy_config_dictionary.h" | 14 #include "components/proxy_config/proxy_config_dictionary.h" |
14 #include "components/proxy_config/proxy_config_pref_names.h" | 15 #include "components/proxy_config/proxy_config_pref_names.h" |
15 #include "policy/policy_constants.h" | 16 #include "policy/policy_constants.h" |
16 #include "testing/gtest/include/gtest/gtest.h" | 17 #include "testing/gtest/include/gtest/gtest.h" |
17 | 18 |
18 namespace policy { | 19 namespace policy { |
19 | 20 |
20 // Test cases for the proxy policy settings. | 21 // Test cases for the proxy policy settings. |
21 class ProxyPolicyHandlerTest | 22 class ProxyPolicyHandlerTest |
22 : public ConfigurationPolicyPrefStoreTest { | 23 : public ConfigurationPolicyPrefStoreTest { |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
69 ASSERT_TRUE(dict.GetMode(&mode)); | 70 ASSERT_TRUE(dict.GetMode(&mode)); |
70 EXPECT_EQ(expected_proxy_mode, mode); | 71 EXPECT_EQ(expected_proxy_mode, mode); |
71 } | 72 } |
72 }; | 73 }; |
73 | 74 |
74 TEST_F(ProxyPolicyHandlerTest, ManualOptions) { | 75 TEST_F(ProxyPolicyHandlerTest, ManualOptions) { |
75 PolicyMap policy; | 76 PolicyMap policy; |
76 policy.Set(key::kProxyBypassList, | 77 policy.Set(key::kProxyBypassList, |
77 POLICY_LEVEL_MANDATORY, | 78 POLICY_LEVEL_MANDATORY, |
78 POLICY_SCOPE_USER, | 79 POLICY_SCOPE_USER, |
| 80 POLICY_SOURCE_CLOUD, |
79 new base::StringValue("http://chromium.org/override"), | 81 new base::StringValue("http://chromium.org/override"), |
80 NULL); | 82 NULL); |
81 policy.Set(key::kProxyServer, | 83 policy.Set(key::kProxyServer, |
82 POLICY_LEVEL_MANDATORY, | 84 POLICY_LEVEL_MANDATORY, |
83 POLICY_SCOPE_USER, | 85 POLICY_SCOPE_USER, |
| 86 POLICY_SOURCE_CLOUD, |
84 new base::StringValue("chromium.org"), | 87 new base::StringValue("chromium.org"), |
85 NULL); | 88 NULL); |
86 policy.Set( | 89 policy.Set( |
87 key::kProxyServerMode, | 90 key::kProxyServerMode, |
88 POLICY_LEVEL_MANDATORY, | 91 POLICY_LEVEL_MANDATORY, |
89 POLICY_SCOPE_USER, | 92 POLICY_SCOPE_USER, |
| 93 POLICY_SOURCE_CLOUD, |
90 new base::FundamentalValue( | 94 new base::FundamentalValue( |
91 ProxyPolicyHandler::PROXY_MANUALLY_CONFIGURED_PROXY_SERVER_MODE), | 95 ProxyPolicyHandler::PROXY_MANUALLY_CONFIGURED_PROXY_SERVER_MODE), |
92 NULL); | 96 NULL); |
93 UpdateProviderPolicy(policy); | 97 UpdateProviderPolicy(policy); |
94 | 98 |
95 VerifyProxyPrefs("chromium.org", | 99 VerifyProxyPrefs("chromium.org", |
96 std::string(), | 100 std::string(), |
97 "http://chromium.org/override", | 101 "http://chromium.org/override", |
98 ProxyPrefs::MODE_FIXED_SERVERS); | 102 ProxyPrefs::MODE_FIXED_SERVERS); |
99 } | 103 } |
100 | 104 |
101 TEST_F(ProxyPolicyHandlerTest, ManualOptionsReversedApplyOrder) { | 105 TEST_F(ProxyPolicyHandlerTest, ManualOptionsReversedApplyOrder) { |
102 PolicyMap policy; | 106 PolicyMap policy; |
103 policy.Set( | 107 policy.Set( |
104 key::kProxyServerMode, | 108 key::kProxyServerMode, |
105 POLICY_LEVEL_MANDATORY, | 109 POLICY_LEVEL_MANDATORY, |
106 POLICY_SCOPE_USER, | 110 POLICY_SCOPE_USER, |
| 111 POLICY_SOURCE_CLOUD, |
107 new base::FundamentalValue( | 112 new base::FundamentalValue( |
108 ProxyPolicyHandler::PROXY_MANUALLY_CONFIGURED_PROXY_SERVER_MODE), | 113 ProxyPolicyHandler::PROXY_MANUALLY_CONFIGURED_PROXY_SERVER_MODE), |
109 NULL); | 114 NULL); |
110 policy.Set(key::kProxyBypassList, | 115 policy.Set(key::kProxyBypassList, |
111 POLICY_LEVEL_MANDATORY, | 116 POLICY_LEVEL_MANDATORY, |
112 POLICY_SCOPE_USER, | 117 POLICY_SCOPE_USER, |
| 118 POLICY_SOURCE_CLOUD, |
113 new base::StringValue("http://chromium.org/override"), | 119 new base::StringValue("http://chromium.org/override"), |
114 NULL); | 120 NULL); |
115 policy.Set(key::kProxyServer, | 121 policy.Set(key::kProxyServer, |
116 POLICY_LEVEL_MANDATORY, | 122 POLICY_LEVEL_MANDATORY, |
117 POLICY_SCOPE_USER, | 123 POLICY_SCOPE_USER, |
| 124 POLICY_SOURCE_CLOUD, |
118 new base::StringValue("chromium.org"), | 125 new base::StringValue("chromium.org"), |
119 NULL); | 126 NULL); |
120 UpdateProviderPolicy(policy); | 127 UpdateProviderPolicy(policy); |
121 | 128 |
122 VerifyProxyPrefs("chromium.org", | 129 VerifyProxyPrefs("chromium.org", |
123 std::string(), | 130 std::string(), |
124 "http://chromium.org/override", | 131 "http://chromium.org/override", |
125 ProxyPrefs::MODE_FIXED_SERVERS); | 132 ProxyPrefs::MODE_FIXED_SERVERS); |
126 } | 133 } |
127 | 134 |
128 TEST_F(ProxyPolicyHandlerTest, ManualOptionsInvalid) { | 135 TEST_F(ProxyPolicyHandlerTest, ManualOptionsInvalid) { |
129 PolicyMap policy; | 136 PolicyMap policy; |
130 policy.Set( | 137 policy.Set( |
131 key::kProxyServerMode, | 138 key::kProxyServerMode, |
132 POLICY_LEVEL_MANDATORY, | 139 POLICY_LEVEL_MANDATORY, |
133 POLICY_SCOPE_USER, | 140 POLICY_SCOPE_USER, |
| 141 POLICY_SOURCE_CLOUD, |
134 new base::FundamentalValue( | 142 new base::FundamentalValue( |
135 ProxyPolicyHandler::PROXY_MANUALLY_CONFIGURED_PROXY_SERVER_MODE), | 143 ProxyPolicyHandler::PROXY_MANUALLY_CONFIGURED_PROXY_SERVER_MODE), |
136 NULL); | 144 NULL); |
137 UpdateProviderPolicy(policy); | 145 UpdateProviderPolicy(policy); |
138 | 146 |
139 const base::Value* value = NULL; | 147 const base::Value* value = NULL; |
140 EXPECT_FALSE(store_->GetValue(proxy_config::prefs::kProxy, &value)); | 148 EXPECT_FALSE(store_->GetValue(proxy_config::prefs::kProxy, &value)); |
141 } | 149 } |
142 | 150 |
143 TEST_F(ProxyPolicyHandlerTest, NoProxyServerMode) { | 151 TEST_F(ProxyPolicyHandlerTest, NoProxyServerMode) { |
144 PolicyMap policy; | 152 PolicyMap policy; |
145 policy.Set(key::kProxyServerMode, | 153 policy.Set(key::kProxyServerMode, |
146 POLICY_LEVEL_MANDATORY, | 154 POLICY_LEVEL_MANDATORY, |
147 POLICY_SCOPE_USER, | 155 POLICY_SCOPE_USER, |
| 156 POLICY_SOURCE_CLOUD, |
148 new base::FundamentalValue(ProxyPolicyHandler::PROXY_SERVER_MODE), | 157 new base::FundamentalValue(ProxyPolicyHandler::PROXY_SERVER_MODE), |
149 NULL); | 158 NULL); |
150 UpdateProviderPolicy(policy); | 159 UpdateProviderPolicy(policy); |
151 VerifyProxyPrefs( | 160 VerifyProxyPrefs( |
152 std::string(), std::string(), std::string(), ProxyPrefs::MODE_DIRECT); | 161 std::string(), std::string(), std::string(), ProxyPrefs::MODE_DIRECT); |
153 } | 162 } |
154 | 163 |
155 TEST_F(ProxyPolicyHandlerTest, NoProxyModeName) { | 164 TEST_F(ProxyPolicyHandlerTest, NoProxyModeName) { |
156 PolicyMap policy; | 165 PolicyMap policy; |
157 policy.Set(key::kProxyMode, | 166 policy.Set(key::kProxyMode, |
158 POLICY_LEVEL_MANDATORY, | 167 POLICY_LEVEL_MANDATORY, |
159 POLICY_SCOPE_USER, | 168 POLICY_SCOPE_USER, |
| 169 POLICY_SOURCE_CLOUD, |
160 new base::StringValue(ProxyPrefs::kDirectProxyModeName), | 170 new base::StringValue(ProxyPrefs::kDirectProxyModeName), |
161 NULL); | 171 NULL); |
162 UpdateProviderPolicy(policy); | 172 UpdateProviderPolicy(policy); |
163 VerifyProxyPrefs( | 173 VerifyProxyPrefs( |
164 std::string(), std::string(), std::string(), ProxyPrefs::MODE_DIRECT); | 174 std::string(), std::string(), std::string(), ProxyPrefs::MODE_DIRECT); |
165 } | 175 } |
166 | 176 |
167 TEST_F(ProxyPolicyHandlerTest, AutoDetectProxyServerMode) { | 177 TEST_F(ProxyPolicyHandlerTest, AutoDetectProxyServerMode) { |
168 PolicyMap policy; | 178 PolicyMap policy; |
169 policy.Set(key::kProxyServerMode, | 179 policy.Set(key::kProxyServerMode, |
170 POLICY_LEVEL_MANDATORY, | 180 POLICY_LEVEL_MANDATORY, |
171 POLICY_SCOPE_USER, | 181 POLICY_SCOPE_USER, |
| 182 POLICY_SOURCE_CLOUD, |
172 new base::FundamentalValue( | 183 new base::FundamentalValue( |
173 ProxyPolicyHandler::PROXY_AUTO_DETECT_PROXY_SERVER_MODE), | 184 ProxyPolicyHandler::PROXY_AUTO_DETECT_PROXY_SERVER_MODE), |
174 NULL); | 185 NULL); |
175 UpdateProviderPolicy(policy); | 186 UpdateProviderPolicy(policy); |
176 VerifyProxyPrefs(std::string(), | 187 VerifyProxyPrefs(std::string(), |
177 std::string(), | 188 std::string(), |
178 std::string(), | 189 std::string(), |
179 ProxyPrefs::MODE_AUTO_DETECT); | 190 ProxyPrefs::MODE_AUTO_DETECT); |
180 } | 191 } |
181 | 192 |
182 TEST_F(ProxyPolicyHandlerTest, AutoDetectProxyModeName) { | 193 TEST_F(ProxyPolicyHandlerTest, AutoDetectProxyModeName) { |
183 PolicyMap policy; | 194 PolicyMap policy; |
184 policy.Set(key::kProxyMode, | 195 policy.Set(key::kProxyMode, |
185 POLICY_LEVEL_MANDATORY, | 196 POLICY_LEVEL_MANDATORY, |
186 POLICY_SCOPE_USER, | 197 POLICY_SCOPE_USER, |
| 198 POLICY_SOURCE_CLOUD, |
187 new base::StringValue(ProxyPrefs::kAutoDetectProxyModeName), | 199 new base::StringValue(ProxyPrefs::kAutoDetectProxyModeName), |
188 NULL); | 200 NULL); |
189 UpdateProviderPolicy(policy); | 201 UpdateProviderPolicy(policy); |
190 VerifyProxyPrefs(std::string(), | 202 VerifyProxyPrefs(std::string(), |
191 std::string(), | 203 std::string(), |
192 std::string(), | 204 std::string(), |
193 ProxyPrefs::MODE_AUTO_DETECT); | 205 ProxyPrefs::MODE_AUTO_DETECT); |
194 } | 206 } |
195 | 207 |
196 TEST_F(ProxyPolicyHandlerTest, PacScriptProxyMode) { | 208 TEST_F(ProxyPolicyHandlerTest, PacScriptProxyMode) { |
197 PolicyMap policy; | 209 PolicyMap policy; |
198 policy.Set(key::kProxyPacUrl, | 210 policy.Set(key::kProxyPacUrl, |
199 POLICY_LEVEL_MANDATORY, | 211 POLICY_LEVEL_MANDATORY, |
200 POLICY_SCOPE_USER, | 212 POLICY_SCOPE_USER, |
| 213 POLICY_SOURCE_CLOUD, |
201 new base::StringValue("http://short.org/proxy.pac"), | 214 new base::StringValue("http://short.org/proxy.pac"), |
202 NULL); | 215 NULL); |
203 policy.Set(key::kProxyMode, | 216 policy.Set(key::kProxyMode, |
204 POLICY_LEVEL_MANDATORY, | 217 POLICY_LEVEL_MANDATORY, |
205 POLICY_SCOPE_USER, | 218 POLICY_SCOPE_USER, |
| 219 POLICY_SOURCE_CLOUD, |
206 new base::StringValue(ProxyPrefs::kPacScriptProxyModeName), | 220 new base::StringValue(ProxyPrefs::kPacScriptProxyModeName), |
207 NULL); | 221 NULL); |
208 UpdateProviderPolicy(policy); | 222 UpdateProviderPolicy(policy); |
209 VerifyProxyPrefs(std::string(), | 223 VerifyProxyPrefs(std::string(), |
210 "http://short.org/proxy.pac", | 224 "http://short.org/proxy.pac", |
211 std::string(), | 225 std::string(), |
212 ProxyPrefs::MODE_PAC_SCRIPT); | 226 ProxyPrefs::MODE_PAC_SCRIPT); |
213 } | 227 } |
214 | 228 |
215 TEST_F(ProxyPolicyHandlerTest, PacScriptProxyModeInvalid) { | 229 TEST_F(ProxyPolicyHandlerTest, PacScriptProxyModeInvalid) { |
216 PolicyMap policy; | 230 PolicyMap policy; |
217 policy.Set(key::kProxyMode, | 231 policy.Set(key::kProxyMode, |
218 POLICY_LEVEL_MANDATORY, | 232 POLICY_LEVEL_MANDATORY, |
219 POLICY_SCOPE_USER, | 233 POLICY_SCOPE_USER, |
| 234 POLICY_SOURCE_CLOUD, |
220 new base::StringValue(ProxyPrefs::kPacScriptProxyModeName), | 235 new base::StringValue(ProxyPrefs::kPacScriptProxyModeName), |
221 NULL); | 236 NULL); |
222 UpdateProviderPolicy(policy); | 237 UpdateProviderPolicy(policy); |
223 const base::Value* value = NULL; | 238 const base::Value* value = NULL; |
224 EXPECT_FALSE(store_->GetValue(proxy_config::prefs::kProxy, &value)); | 239 EXPECT_FALSE(store_->GetValue(proxy_config::prefs::kProxy, &value)); |
225 } | 240 } |
226 | 241 |
227 // Regression test for http://crbug.com/78016, CPanel returns empty strings | 242 // Regression test for http://crbug.com/78016, CPanel returns empty strings |
228 // for unset properties. | 243 // for unset properties. |
229 TEST_F(ProxyPolicyHandlerTest, PacScriptProxyModeBug78016) { | 244 TEST_F(ProxyPolicyHandlerTest, PacScriptProxyModeBug78016) { |
230 PolicyMap policy; | 245 PolicyMap policy; |
231 policy.Set(key::kProxyServer, | 246 policy.Set(key::kProxyServer, |
232 POLICY_LEVEL_MANDATORY, | 247 POLICY_LEVEL_MANDATORY, |
233 POLICY_SCOPE_USER, | 248 POLICY_SCOPE_USER, |
| 249 POLICY_SOURCE_CLOUD, |
234 new base::StringValue(std::string()), | 250 new base::StringValue(std::string()), |
235 NULL); | 251 NULL); |
236 policy.Set(key::kProxyPacUrl, | 252 policy.Set(key::kProxyPacUrl, |
237 POLICY_LEVEL_MANDATORY, | 253 POLICY_LEVEL_MANDATORY, |
238 POLICY_SCOPE_USER, | 254 POLICY_SCOPE_USER, |
| 255 POLICY_SOURCE_CLOUD, |
239 new base::StringValue("http://short.org/proxy.pac"), | 256 new base::StringValue("http://short.org/proxy.pac"), |
240 NULL); | 257 NULL); |
241 policy.Set(key::kProxyMode, | 258 policy.Set(key::kProxyMode, |
242 POLICY_LEVEL_MANDATORY, | 259 POLICY_LEVEL_MANDATORY, |
243 POLICY_SCOPE_USER, | 260 POLICY_SCOPE_USER, |
| 261 POLICY_SOURCE_CLOUD, |
244 new base::StringValue(ProxyPrefs::kPacScriptProxyModeName), | 262 new base::StringValue(ProxyPrefs::kPacScriptProxyModeName), |
245 NULL); | 263 NULL); |
246 UpdateProviderPolicy(policy); | 264 UpdateProviderPolicy(policy); |
247 VerifyProxyPrefs(std::string(), | 265 VerifyProxyPrefs(std::string(), |
248 "http://short.org/proxy.pac", | 266 "http://short.org/proxy.pac", |
249 std::string(), | 267 std::string(), |
250 ProxyPrefs::MODE_PAC_SCRIPT); | 268 ProxyPrefs::MODE_PAC_SCRIPT); |
251 } | 269 } |
252 | 270 |
253 TEST_F(ProxyPolicyHandlerTest, UseSystemProxyServerMode) { | 271 TEST_F(ProxyPolicyHandlerTest, UseSystemProxyServerMode) { |
254 PolicyMap policy; | 272 PolicyMap policy; |
255 policy.Set(key::kProxyServerMode, | 273 policy.Set(key::kProxyServerMode, |
256 POLICY_LEVEL_MANDATORY, | 274 POLICY_LEVEL_MANDATORY, |
257 POLICY_SCOPE_USER, | 275 POLICY_SCOPE_USER, |
| 276 POLICY_SOURCE_CLOUD, |
258 new base::FundamentalValue( | 277 new base::FundamentalValue( |
259 ProxyPolicyHandler::PROXY_USE_SYSTEM_PROXY_SERVER_MODE), | 278 ProxyPolicyHandler::PROXY_USE_SYSTEM_PROXY_SERVER_MODE), |
260 NULL); | 279 NULL); |
261 UpdateProviderPolicy(policy); | 280 UpdateProviderPolicy(policy); |
262 VerifyProxyPrefs( | 281 VerifyProxyPrefs( |
263 std::string(), std::string(), std::string(), ProxyPrefs::MODE_SYSTEM); | 282 std::string(), std::string(), std::string(), ProxyPrefs::MODE_SYSTEM); |
264 } | 283 } |
265 | 284 |
266 TEST_F(ProxyPolicyHandlerTest, UseSystemProxyMode) { | 285 TEST_F(ProxyPolicyHandlerTest, UseSystemProxyMode) { |
267 PolicyMap policy; | 286 PolicyMap policy; |
268 policy.Set(key::kProxyMode, | 287 policy.Set(key::kProxyMode, |
269 POLICY_LEVEL_MANDATORY, | 288 POLICY_LEVEL_MANDATORY, |
270 POLICY_SCOPE_USER, | 289 POLICY_SCOPE_USER, |
| 290 POLICY_SOURCE_CLOUD, |
271 new base::StringValue(ProxyPrefs::kSystemProxyModeName), | 291 new base::StringValue(ProxyPrefs::kSystemProxyModeName), |
272 NULL); | 292 NULL); |
273 UpdateProviderPolicy(policy); | 293 UpdateProviderPolicy(policy); |
274 VerifyProxyPrefs( | 294 VerifyProxyPrefs( |
275 std::string(), std::string(), std::string(), ProxyPrefs::MODE_SYSTEM); | 295 std::string(), std::string(), std::string(), ProxyPrefs::MODE_SYSTEM); |
276 } | 296 } |
277 | 297 |
278 TEST_F(ProxyPolicyHandlerTest, | 298 TEST_F(ProxyPolicyHandlerTest, |
279 ProxyModeOverridesProxyServerMode) { | 299 ProxyModeOverridesProxyServerMode) { |
280 PolicyMap policy; | 300 PolicyMap policy; |
281 policy.Set(key::kProxyServerMode, | 301 policy.Set(key::kProxyServerMode, |
282 POLICY_LEVEL_MANDATORY, | 302 POLICY_LEVEL_MANDATORY, |
283 POLICY_SCOPE_USER, | 303 POLICY_SCOPE_USER, |
| 304 POLICY_SOURCE_CLOUD, |
284 new base::FundamentalValue(ProxyPolicyHandler::PROXY_SERVER_MODE), | 305 new base::FundamentalValue(ProxyPolicyHandler::PROXY_SERVER_MODE), |
285 NULL); | 306 NULL); |
286 policy.Set(key::kProxyMode, | 307 policy.Set(key::kProxyMode, |
287 POLICY_LEVEL_MANDATORY, | 308 POLICY_LEVEL_MANDATORY, |
288 POLICY_SCOPE_USER, | 309 POLICY_SCOPE_USER, |
| 310 POLICY_SOURCE_CLOUD, |
289 new base::StringValue(ProxyPrefs::kAutoDetectProxyModeName), | 311 new base::StringValue(ProxyPrefs::kAutoDetectProxyModeName), |
290 NULL); | 312 NULL); |
291 UpdateProviderPolicy(policy); | 313 UpdateProviderPolicy(policy); |
292 VerifyProxyPrefs(std::string(), | 314 VerifyProxyPrefs(std::string(), |
293 std::string(), | 315 std::string(), |
294 std::string(), | 316 std::string(), |
295 ProxyPrefs::MODE_AUTO_DETECT); | 317 ProxyPrefs::MODE_AUTO_DETECT); |
296 } | 318 } |
297 | 319 |
298 TEST_F(ProxyPolicyHandlerTest, ProxyInvalid) { | 320 TEST_F(ProxyPolicyHandlerTest, ProxyInvalid) { |
299 // No mode expects all three parameters being set. | 321 // No mode expects all three parameters being set. |
300 PolicyMap policy; | 322 PolicyMap policy; |
301 policy.Set(key::kProxyPacUrl, | 323 policy.Set(key::kProxyPacUrl, |
302 POLICY_LEVEL_MANDATORY, | 324 POLICY_LEVEL_MANDATORY, |
303 POLICY_SCOPE_USER, | 325 POLICY_SCOPE_USER, |
| 326 POLICY_SOURCE_CLOUD, |
304 new base::StringValue("http://short.org/proxy.pac"), | 327 new base::StringValue("http://short.org/proxy.pac"), |
305 NULL); | 328 NULL); |
306 policy.Set(key::kProxyBypassList, | 329 policy.Set(key::kProxyBypassList, |
307 POLICY_LEVEL_MANDATORY, | 330 POLICY_LEVEL_MANDATORY, |
308 POLICY_SCOPE_USER, | 331 POLICY_SCOPE_USER, |
| 332 POLICY_SOURCE_CLOUD, |
309 new base::StringValue("http://chromium.org/override"), | 333 new base::StringValue("http://chromium.org/override"), |
310 NULL); | 334 NULL); |
311 policy.Set(key::kProxyServer, | 335 policy.Set(key::kProxyServer, |
312 POLICY_LEVEL_MANDATORY, | 336 POLICY_LEVEL_MANDATORY, |
313 POLICY_SCOPE_USER, | 337 POLICY_SCOPE_USER, |
| 338 POLICY_SOURCE_CLOUD, |
314 new base::StringValue("chromium.org"), | 339 new base::StringValue("chromium.org"), |
315 NULL); | 340 NULL); |
316 for (int i = 0; i < ProxyPolicyHandler::MODE_COUNT; ++i) { | 341 for (int i = 0; i < ProxyPolicyHandler::MODE_COUNT; ++i) { |
317 policy.Set(key::kProxyServerMode, | 342 policy.Set(key::kProxyServerMode, |
318 POLICY_LEVEL_MANDATORY, | 343 POLICY_LEVEL_MANDATORY, |
319 POLICY_SCOPE_USER, | 344 POLICY_SCOPE_USER, |
| 345 POLICY_SOURCE_CLOUD, |
320 new base::FundamentalValue(i), | 346 new base::FundamentalValue(i), |
321 NULL); | 347 NULL); |
322 UpdateProviderPolicy(policy); | 348 UpdateProviderPolicy(policy); |
323 const base::Value* value = NULL; | 349 const base::Value* value = NULL; |
324 EXPECT_FALSE(store_->GetValue(proxy_config::prefs::kProxy, &value)); | 350 EXPECT_FALSE(store_->GetValue(proxy_config::prefs::kProxy, &value)); |
325 } | 351 } |
326 } | 352 } |
327 | 353 |
328 } // namespace policy | 354 } // namespace policy |
OLD | NEW |