OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/chromeos/policy/configuration_policy_handler_chromeos.h
" | 5 #include "chrome/browser/chromeos/policy/configuration_policy_handler_chromeos.h
" |
6 | 6 |
7 #include <memory> | 7 #include <memory> |
8 #include <utility> | 8 #include <utility> |
9 | 9 |
10 #include "base/callback.h" | 10 #include "base/callback.h" |
(...skipping 219 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
230 " \"Security\": \"WEP-PSK\"," | 230 " \"Security\": \"WEP-PSK\"," |
231 " \"SSID\": \"ssid\"," | 231 " \"SSID\": \"ssid\"," |
232 " \"Passphrase\": \"pass\"," | 232 " \"Passphrase\": \"pass\"," |
233 " }" | 233 " }" |
234 " }]" | 234 " }]" |
235 "}"); | 235 "}"); |
236 | 236 |
237 PolicyMap policy_map; | 237 PolicyMap policy_map; |
238 policy_map.Set(key::kOpenNetworkConfiguration, POLICY_LEVEL_MANDATORY, | 238 policy_map.Set(key::kOpenNetworkConfiguration, POLICY_LEVEL_MANDATORY, |
239 POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD, | 239 POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD, |
240 base::MakeUnique<base::StringValue>(kTestONC), nullptr); | 240 base::MakeUnique<base::Value>(kTestONC), nullptr); |
241 std::unique_ptr<NetworkConfigurationPolicyHandler> handler( | 241 std::unique_ptr<NetworkConfigurationPolicyHandler> handler( |
242 NetworkConfigurationPolicyHandler::CreateForUserPolicy()); | 242 NetworkConfigurationPolicyHandler::CreateForUserPolicy()); |
243 PolicyErrorMap errors; | 243 PolicyErrorMap errors; |
244 EXPECT_TRUE(handler->CheckPolicySettings(policy_map, &errors)); | 244 EXPECT_TRUE(handler->CheckPolicySettings(policy_map, &errors)); |
245 EXPECT_TRUE(errors.GetErrors(key::kOpenNetworkConfiguration).empty()); | 245 EXPECT_TRUE(errors.GetErrors(key::kOpenNetworkConfiguration).empty()); |
246 } | 246 } |
247 | 247 |
248 TEST(NetworkConfigurationPolicyHandlerTest, WrongType) { | 248 TEST(NetworkConfigurationPolicyHandlerTest, WrongType) { |
249 PolicyMap policy_map; | 249 PolicyMap policy_map; |
250 policy_map.Set(key::kOpenNetworkConfiguration, POLICY_LEVEL_MANDATORY, | 250 policy_map.Set(key::kOpenNetworkConfiguration, POLICY_LEVEL_MANDATORY, |
251 POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD, | 251 POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD, |
252 base::MakeUnique<base::Value>(false), nullptr); | 252 base::MakeUnique<base::Value>(false), nullptr); |
253 std::unique_ptr<NetworkConfigurationPolicyHandler> handler( | 253 std::unique_ptr<NetworkConfigurationPolicyHandler> handler( |
254 NetworkConfigurationPolicyHandler::CreateForUserPolicy()); | 254 NetworkConfigurationPolicyHandler::CreateForUserPolicy()); |
255 PolicyErrorMap errors; | 255 PolicyErrorMap errors; |
256 EXPECT_FALSE(handler->CheckPolicySettings(policy_map, &errors)); | 256 EXPECT_FALSE(handler->CheckPolicySettings(policy_map, &errors)); |
257 EXPECT_FALSE(errors.GetErrors(key::kOpenNetworkConfiguration).empty()); | 257 EXPECT_FALSE(errors.GetErrors(key::kOpenNetworkConfiguration).empty()); |
258 } | 258 } |
259 | 259 |
260 TEST(NetworkConfigurationPolicyHandlerTest, JSONParseError) { | 260 TEST(NetworkConfigurationPolicyHandlerTest, JSONParseError) { |
261 const std::string kTestONC("I'm not proper JSON!"); | 261 const std::string kTestONC("I'm not proper JSON!"); |
262 PolicyMap policy_map; | 262 PolicyMap policy_map; |
263 policy_map.Set(key::kOpenNetworkConfiguration, POLICY_LEVEL_MANDATORY, | 263 policy_map.Set(key::kOpenNetworkConfiguration, POLICY_LEVEL_MANDATORY, |
264 POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD, | 264 POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD, |
265 base::MakeUnique<base::StringValue>(kTestONC), nullptr); | 265 base::MakeUnique<base::Value>(kTestONC), nullptr); |
266 std::unique_ptr<NetworkConfigurationPolicyHandler> handler( | 266 std::unique_ptr<NetworkConfigurationPolicyHandler> handler( |
267 NetworkConfigurationPolicyHandler::CreateForUserPolicy()); | 267 NetworkConfigurationPolicyHandler::CreateForUserPolicy()); |
268 PolicyErrorMap errors; | 268 PolicyErrorMap errors; |
269 EXPECT_FALSE(handler->CheckPolicySettings(policy_map, &errors)); | 269 EXPECT_FALSE(handler->CheckPolicySettings(policy_map, &errors)); |
270 EXPECT_FALSE(errors.GetErrors(key::kOpenNetworkConfiguration).empty()); | 270 EXPECT_FALSE(errors.GetErrors(key::kOpenNetworkConfiguration).empty()); |
271 } | 271 } |
272 | 272 |
273 TEST(NetworkConfigurationPolicyHandlerTest, Sanitization) { | 273 TEST(NetworkConfigurationPolicyHandlerTest, Sanitization) { |
274 const std::string kTestONC( | 274 const std::string kTestONC( |
275 "{" | 275 "{" |
276 " \"NetworkConfigurations\": [{" | 276 " \"NetworkConfigurations\": [{" |
277 " \"GUID\": \"{485d6076-dd44-6b6d-69787465725f5045}\"," | 277 " \"GUID\": \"{485d6076-dd44-6b6d-69787465725f5045}\"," |
278 " \"Type\": \"WiFi\"," | 278 " \"Type\": \"WiFi\"," |
279 " \"Name\": \"some name\"," | 279 " \"Name\": \"some name\"," |
280 " \"WiFi\": {" | 280 " \"WiFi\": {" |
281 " \"Security\": \"WEP-PSK\"," | 281 " \"Security\": \"WEP-PSK\"," |
282 " \"SSID\": \"ssid\"," | 282 " \"SSID\": \"ssid\"," |
283 " \"Passphrase\": \"pass\"," | 283 " \"Passphrase\": \"pass\"," |
284 " }" | 284 " }" |
285 " }]" | 285 " }]" |
286 "}"); | 286 "}"); |
287 | 287 |
288 PolicyMap policy_map; | 288 PolicyMap policy_map; |
289 policy_map.Set(key::kOpenNetworkConfiguration, POLICY_LEVEL_MANDATORY, | 289 policy_map.Set(key::kOpenNetworkConfiguration, POLICY_LEVEL_MANDATORY, |
290 POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD, | 290 POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD, |
291 base::MakeUnique<base::StringValue>(kTestONC), nullptr); | 291 base::MakeUnique<base::Value>(kTestONC), nullptr); |
292 std::unique_ptr<NetworkConfigurationPolicyHandler> handler( | 292 std::unique_ptr<NetworkConfigurationPolicyHandler> handler( |
293 NetworkConfigurationPolicyHandler::CreateForUserPolicy()); | 293 NetworkConfigurationPolicyHandler::CreateForUserPolicy()); |
294 PolicyErrorMap errors; | 294 PolicyErrorMap errors; |
295 handler->PrepareForDisplaying(&policy_map); | 295 handler->PrepareForDisplaying(&policy_map); |
296 const base::Value* sanitized = | 296 const base::Value* sanitized = |
297 policy_map.GetValue(key::kOpenNetworkConfiguration); | 297 policy_map.GetValue(key::kOpenNetworkConfiguration); |
298 ASSERT_TRUE(sanitized); | 298 ASSERT_TRUE(sanitized); |
299 std::string sanitized_onc; | 299 std::string sanitized_onc; |
300 EXPECT_TRUE(sanitized->GetAsString(&sanitized_onc)); | 300 EXPECT_TRUE(sanitized->GetAsString(&sanitized_onc)); |
301 EXPECT_FALSE(sanitized_onc.empty()); | 301 EXPECT_FALSE(sanitized_onc.empty()); |
302 EXPECT_EQ(std::string::npos, sanitized_onc.find("pass")); | 302 EXPECT_EQ(std::string::npos, sanitized_onc.find("pass")); |
303 } | 303 } |
304 | 304 |
305 TEST(PinnedLauncherAppsPolicyHandler, PrefTranslation) { | 305 TEST(PinnedLauncherAppsPolicyHandler, PrefTranslation) { |
306 base::ListValue list; | 306 base::ListValue list; |
307 PolicyMap policy_map; | 307 PolicyMap policy_map; |
308 PrefValueMap prefs; | 308 PrefValueMap prefs; |
309 base::ListValue expected_pinned_apps; | 309 base::ListValue expected_pinned_apps; |
310 base::Value* value = NULL; | 310 base::Value* value = NULL; |
311 PinnedLauncherAppsPolicyHandler handler; | 311 PinnedLauncherAppsPolicyHandler handler; |
312 | 312 |
313 policy_map.Set(key::kPinnedLauncherApps, POLICY_LEVEL_MANDATORY, | 313 policy_map.Set(key::kPinnedLauncherApps, POLICY_LEVEL_MANDATORY, |
314 POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD, list.CreateDeepCopy(), | 314 POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD, list.CreateDeepCopy(), |
315 nullptr); | 315 nullptr); |
316 handler.ApplyPolicySettings(policy_map, &prefs); | 316 handler.ApplyPolicySettings(policy_map, &prefs); |
317 EXPECT_TRUE(prefs.GetValue(prefs::kPolicyPinnedLauncherApps, &value)); | 317 EXPECT_TRUE(prefs.GetValue(prefs::kPolicyPinnedLauncherApps, &value)); |
318 EXPECT_TRUE(base::Value::Equals(&expected_pinned_apps, value)); | 318 EXPECT_TRUE(base::Value::Equals(&expected_pinned_apps, value)); |
319 | 319 |
320 base::StringValue entry1("abcdefghijklmnopabcdefghijklmnop"); | 320 base::Value entry1("abcdefghijklmnopabcdefghijklmnop"); |
321 auto entry1_dict = base::MakeUnique<base::DictionaryValue>(); | 321 auto entry1_dict = base::MakeUnique<base::DictionaryValue>(); |
322 entry1_dict->Set(ash::launcher::kPinnedAppsPrefAppIDPath, entry1.DeepCopy()); | 322 entry1_dict->Set(ash::launcher::kPinnedAppsPrefAppIDPath, entry1.DeepCopy()); |
323 expected_pinned_apps.Append(std::move(entry1_dict)); | 323 expected_pinned_apps.Append(std::move(entry1_dict)); |
324 list.Append(entry1.CreateDeepCopy()); | 324 list.Append(entry1.CreateDeepCopy()); |
325 policy_map.Set(key::kPinnedLauncherApps, POLICY_LEVEL_MANDATORY, | 325 policy_map.Set(key::kPinnedLauncherApps, POLICY_LEVEL_MANDATORY, |
326 POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD, list.CreateDeepCopy(), | 326 POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD, list.CreateDeepCopy(), |
327 nullptr); | 327 nullptr); |
328 prefs.Clear(); | 328 prefs.Clear(); |
329 handler.ApplyPolicySettings(policy_map, &prefs); | 329 handler.ApplyPolicySettings(policy_map, &prefs); |
330 EXPECT_TRUE(prefs.GetValue(prefs::kPolicyPinnedLauncherApps, &value)); | 330 EXPECT_TRUE(prefs.GetValue(prefs::kPolicyPinnedLauncherApps, &value)); |
(...skipping 26 matching lines...) Expand all Loading... |
357 POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD, | 357 POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD, |
358 base::MakeUnique<base::Value>(false), nullptr); | 358 base::MakeUnique<base::Value>(false), nullptr); |
359 LoginScreenPowerManagementPolicyHandler handler(chrome_schema_); | 359 LoginScreenPowerManagementPolicyHandler handler(chrome_schema_); |
360 PolicyErrorMap errors; | 360 PolicyErrorMap errors; |
361 EXPECT_FALSE(handler.CheckPolicySettings(policy_map, &errors)); | 361 EXPECT_FALSE(handler.CheckPolicySettings(policy_map, &errors)); |
362 EXPECT_FALSE( | 362 EXPECT_FALSE( |
363 errors.GetErrors(key::kDeviceLoginScreenPowerManagement).empty()); | 363 errors.GetErrors(key::kDeviceLoginScreenPowerManagement).empty()); |
364 } | 364 } |
365 | 365 |
366 } // namespace policy | 366 } // namespace policy |
OLD | NEW |