| 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 "base/callback.h" | 7 #include "base/callback.h" |
| 8 #include "base/memory/scoped_ptr.h" | 8 #include "base/memory/scoped_ptr.h" |
| 9 #include "base/prefs/pref_value_map.h" | 9 #include "base/prefs/pref_value_map.h" |
| 10 #include "base/values.h" | 10 #include "base/values.h" |
| (...skipping 204 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 215 " \"SSID\": \"ssid\"," | 215 " \"SSID\": \"ssid\"," |
| 216 " \"Passphrase\": \"pass\"," | 216 " \"Passphrase\": \"pass\"," |
| 217 " }" | 217 " }" |
| 218 " }]" | 218 " }]" |
| 219 "}"); | 219 "}"); |
| 220 | 220 |
| 221 PolicyMap policy_map; | 221 PolicyMap policy_map; |
| 222 policy_map.Set(key::kOpenNetworkConfiguration, | 222 policy_map.Set(key::kOpenNetworkConfiguration, |
| 223 POLICY_LEVEL_MANDATORY, | 223 POLICY_LEVEL_MANDATORY, |
| 224 POLICY_SCOPE_USER, | 224 POLICY_SCOPE_USER, |
| 225 Value::CreateStringValue(kTestONC), | 225 base::Value::CreateStringValue(kTestONC), |
| 226 NULL); | 226 NULL); |
| 227 scoped_ptr<NetworkConfigurationPolicyHandler> handler( | 227 scoped_ptr<NetworkConfigurationPolicyHandler> handler( |
| 228 NetworkConfigurationPolicyHandler::CreateForUserPolicy()); | 228 NetworkConfigurationPolicyHandler::CreateForUserPolicy()); |
| 229 PolicyErrorMap errors; | 229 PolicyErrorMap errors; |
| 230 EXPECT_TRUE(handler->CheckPolicySettings(policy_map, &errors)); | 230 EXPECT_TRUE(handler->CheckPolicySettings(policy_map, &errors)); |
| 231 EXPECT_TRUE(errors.GetErrors(key::kOpenNetworkConfiguration).empty()); | 231 EXPECT_TRUE(errors.GetErrors(key::kOpenNetworkConfiguration).empty()); |
| 232 } | 232 } |
| 233 | 233 |
| 234 TEST(NetworkConfigurationPolicyHandlerTest, WrongType) { | 234 TEST(NetworkConfigurationPolicyHandlerTest, WrongType) { |
| 235 PolicyMap policy_map; | 235 PolicyMap policy_map; |
| 236 policy_map.Set(key::kOpenNetworkConfiguration, | 236 policy_map.Set(key::kOpenNetworkConfiguration, |
| 237 POLICY_LEVEL_MANDATORY, | 237 POLICY_LEVEL_MANDATORY, |
| 238 POLICY_SCOPE_USER, | 238 POLICY_SCOPE_USER, |
| 239 Value::CreateBooleanValue(false), | 239 base::Value::CreateBooleanValue(false), |
| 240 NULL); | 240 NULL); |
| 241 scoped_ptr<NetworkConfigurationPolicyHandler> handler( | 241 scoped_ptr<NetworkConfigurationPolicyHandler> handler( |
| 242 NetworkConfigurationPolicyHandler::CreateForUserPolicy()); | 242 NetworkConfigurationPolicyHandler::CreateForUserPolicy()); |
| 243 PolicyErrorMap errors; | 243 PolicyErrorMap errors; |
| 244 EXPECT_FALSE(handler->CheckPolicySettings(policy_map, &errors)); | 244 EXPECT_FALSE(handler->CheckPolicySettings(policy_map, &errors)); |
| 245 EXPECT_FALSE(errors.GetErrors(key::kOpenNetworkConfiguration).empty()); | 245 EXPECT_FALSE(errors.GetErrors(key::kOpenNetworkConfiguration).empty()); |
| 246 } | 246 } |
| 247 | 247 |
| 248 TEST(NetworkConfigurationPolicyHandlerTest, JSONParseError) { | 248 TEST(NetworkConfigurationPolicyHandlerTest, JSONParseError) { |
| 249 const std::string kTestONC("I'm not proper JSON!"); | 249 const std::string kTestONC("I'm not proper JSON!"); |
| 250 PolicyMap policy_map; | 250 PolicyMap policy_map; |
| 251 policy_map.Set(key::kOpenNetworkConfiguration, | 251 policy_map.Set(key::kOpenNetworkConfiguration, |
| 252 POLICY_LEVEL_MANDATORY, | 252 POLICY_LEVEL_MANDATORY, |
| 253 POLICY_SCOPE_USER, | 253 POLICY_SCOPE_USER, |
| 254 Value::CreateStringValue(kTestONC), | 254 base::Value::CreateStringValue(kTestONC), |
| 255 NULL); | 255 NULL); |
| 256 scoped_ptr<NetworkConfigurationPolicyHandler> handler( | 256 scoped_ptr<NetworkConfigurationPolicyHandler> handler( |
| 257 NetworkConfigurationPolicyHandler::CreateForUserPolicy()); | 257 NetworkConfigurationPolicyHandler::CreateForUserPolicy()); |
| 258 PolicyErrorMap errors; | 258 PolicyErrorMap errors; |
| 259 EXPECT_FALSE(handler->CheckPolicySettings(policy_map, &errors)); | 259 EXPECT_FALSE(handler->CheckPolicySettings(policy_map, &errors)); |
| 260 EXPECT_FALSE(errors.GetErrors(key::kOpenNetworkConfiguration).empty()); | 260 EXPECT_FALSE(errors.GetErrors(key::kOpenNetworkConfiguration).empty()); |
| 261 } | 261 } |
| 262 | 262 |
| 263 TEST(NetworkConfigurationPolicyHandlerTest, Sanitization) { | 263 TEST(NetworkConfigurationPolicyHandlerTest, Sanitization) { |
| 264 const std::string kTestONC( | 264 const std::string kTestONC( |
| 265 "{" | 265 "{" |
| 266 " \"NetworkConfigurations\": [{" | 266 " \"NetworkConfigurations\": [{" |
| 267 " \"GUID\": \"{485d6076-dd44-6b6d-69787465725f5045}\"," | 267 " \"GUID\": \"{485d6076-dd44-6b6d-69787465725f5045}\"," |
| 268 " \"Type\": \"WiFi\"," | 268 " \"Type\": \"WiFi\"," |
| 269 " \"Name\": \"some name\"," | 269 " \"Name\": \"some name\"," |
| 270 " \"WiFi\": {" | 270 " \"WiFi\": {" |
| 271 " \"Security\": \"WEP-PSK\"," | 271 " \"Security\": \"WEP-PSK\"," |
| 272 " \"SSID\": \"ssid\"," | 272 " \"SSID\": \"ssid\"," |
| 273 " \"Passphrase\": \"pass\"," | 273 " \"Passphrase\": \"pass\"," |
| 274 " }" | 274 " }" |
| 275 " }]" | 275 " }]" |
| 276 "}"); | 276 "}"); |
| 277 | 277 |
| 278 PolicyMap policy_map; | 278 PolicyMap policy_map; |
| 279 policy_map.Set(key::kOpenNetworkConfiguration, | 279 policy_map.Set(key::kOpenNetworkConfiguration, |
| 280 POLICY_LEVEL_MANDATORY, | 280 POLICY_LEVEL_MANDATORY, |
| 281 POLICY_SCOPE_USER, | 281 POLICY_SCOPE_USER, |
| 282 Value::CreateStringValue(kTestONC), | 282 base::Value::CreateStringValue(kTestONC), |
| 283 NULL); | 283 NULL); |
| 284 scoped_ptr<NetworkConfigurationPolicyHandler> handler( | 284 scoped_ptr<NetworkConfigurationPolicyHandler> handler( |
| 285 NetworkConfigurationPolicyHandler::CreateForUserPolicy()); | 285 NetworkConfigurationPolicyHandler::CreateForUserPolicy()); |
| 286 PolicyErrorMap errors; | 286 PolicyErrorMap errors; |
| 287 handler->PrepareForDisplaying(&policy_map); | 287 handler->PrepareForDisplaying(&policy_map); |
| 288 const Value* sanitized = policy_map.GetValue(key::kOpenNetworkConfiguration); | 288 const base::Value* sanitized = |
| 289 policy_map.GetValue(key::kOpenNetworkConfiguration); |
| 289 ASSERT_TRUE(sanitized); | 290 ASSERT_TRUE(sanitized); |
| 290 std::string sanitized_onc; | 291 std::string sanitized_onc; |
| 291 EXPECT_TRUE(sanitized->GetAsString(&sanitized_onc)); | 292 EXPECT_TRUE(sanitized->GetAsString(&sanitized_onc)); |
| 292 EXPECT_FALSE(sanitized_onc.empty()); | 293 EXPECT_FALSE(sanitized_onc.empty()); |
| 293 EXPECT_EQ(std::string::npos, sanitized_onc.find("pass")); | 294 EXPECT_EQ(std::string::npos, sanitized_onc.find("pass")); |
| 294 } | 295 } |
| 295 | 296 |
| 296 TEST(PinnedLauncherAppsPolicyHandler, PrefTranslation) { | 297 TEST(PinnedLauncherAppsPolicyHandler, PrefTranslation) { |
| 297 base::ListValue list; | 298 base::ListValue list; |
| 298 PolicyMap policy_map; | 299 PolicyMap policy_map; |
| (...skipping 24 matching lines...) Expand all Loading... |
| 323 TEST(LoginScreenPowerManagementPolicyHandlerTest, Empty) { | 324 TEST(LoginScreenPowerManagementPolicyHandlerTest, Empty) { |
| 324 PolicyMap policy_map; | 325 PolicyMap policy_map; |
| 325 LoginScreenPowerManagementPolicyHandler handler; | 326 LoginScreenPowerManagementPolicyHandler handler; |
| 326 PolicyErrorMap errors; | 327 PolicyErrorMap errors; |
| 327 EXPECT_TRUE(handler.CheckPolicySettings(policy_map, &errors)); | 328 EXPECT_TRUE(handler.CheckPolicySettings(policy_map, &errors)); |
| 328 EXPECT_TRUE(errors.GetErrors(key::kDeviceLoginScreenPowerManagement).empty()); | 329 EXPECT_TRUE(errors.GetErrors(key::kDeviceLoginScreenPowerManagement).empty()); |
| 329 } | 330 } |
| 330 | 331 |
| 331 TEST(LoginScreenPowerManagementPolicyHandlerTest, ValidPolicy) { | 332 TEST(LoginScreenPowerManagementPolicyHandlerTest, ValidPolicy) { |
| 332 PolicyMap policy_map; | 333 PolicyMap policy_map; |
| 333 policy_map.Set(key::kDeviceLoginScreenPowerManagement, | 334 policy_map.Set( |
| 334 POLICY_LEVEL_MANDATORY, | 335 key::kDeviceLoginScreenPowerManagement, |
| 335 POLICY_SCOPE_USER, | 336 POLICY_LEVEL_MANDATORY, |
| 336 Value::CreateStringValue(kLoginScreenPowerManagementPolicy), | 337 POLICY_SCOPE_USER, |
| 337 NULL); | 338 base::Value::CreateStringValue(kLoginScreenPowerManagementPolicy), |
| 339 NULL); |
| 338 LoginScreenPowerManagementPolicyHandler handler; | 340 LoginScreenPowerManagementPolicyHandler handler; |
| 339 PolicyErrorMap errors; | 341 PolicyErrorMap errors; |
| 340 EXPECT_TRUE(handler.CheckPolicySettings(policy_map, &errors)); | 342 EXPECT_TRUE(handler.CheckPolicySettings(policy_map, &errors)); |
| 341 EXPECT_TRUE(errors.GetErrors(key::kDeviceLoginScreenPowerManagement).empty()); | 343 EXPECT_TRUE(errors.GetErrors(key::kDeviceLoginScreenPowerManagement).empty()); |
| 342 } | 344 } |
| 343 | 345 |
| 344 TEST(LoginScreenPowerManagementPolicyHandlerTest, WrongType) { | 346 TEST(LoginScreenPowerManagementPolicyHandlerTest, WrongType) { |
| 345 PolicyMap policy_map; | 347 PolicyMap policy_map; |
| 346 policy_map.Set(key::kDeviceLoginScreenPowerManagement, | 348 policy_map.Set(key::kDeviceLoginScreenPowerManagement, |
| 347 POLICY_LEVEL_MANDATORY, | 349 POLICY_LEVEL_MANDATORY, |
| 348 POLICY_SCOPE_USER, | 350 POLICY_SCOPE_USER, |
| 349 Value::CreateBooleanValue(false), | 351 base::Value::CreateBooleanValue(false), |
| 350 NULL); | 352 NULL); |
| 351 LoginScreenPowerManagementPolicyHandler handler; | 353 LoginScreenPowerManagementPolicyHandler handler; |
| 352 PolicyErrorMap errors; | 354 PolicyErrorMap errors; |
| 353 EXPECT_FALSE(handler.CheckPolicySettings(policy_map, &errors)); | 355 EXPECT_FALSE(handler.CheckPolicySettings(policy_map, &errors)); |
| 354 EXPECT_FALSE( | 356 EXPECT_FALSE( |
| 355 errors.GetErrors(key::kDeviceLoginScreenPowerManagement).empty()); | 357 errors.GetErrors(key::kDeviceLoginScreenPowerManagement).empty()); |
| 356 } | 358 } |
| 357 | 359 |
| 358 TEST(LoginScreenPowerManagementPolicyHandlerTest, JSONParseError) { | 360 TEST(LoginScreenPowerManagementPolicyHandlerTest, JSONParseError) { |
| 359 const std::string policy("I'm not proper JSON!"); | 361 const std::string policy("I'm not proper JSON!"); |
| 360 PolicyMap policy_map; | 362 PolicyMap policy_map; |
| 361 policy_map.Set(key::kDeviceLoginScreenPowerManagement, | 363 policy_map.Set(key::kDeviceLoginScreenPowerManagement, |
| 362 POLICY_LEVEL_MANDATORY, | 364 POLICY_LEVEL_MANDATORY, |
| 363 POLICY_SCOPE_USER, | 365 POLICY_SCOPE_USER, |
| 364 Value::CreateStringValue(policy), | 366 base::Value::CreateStringValue(policy), |
| 365 NULL); | 367 NULL); |
| 366 LoginScreenPowerManagementPolicyHandler handler; | 368 LoginScreenPowerManagementPolicyHandler handler; |
| 367 PolicyErrorMap errors; | 369 PolicyErrorMap errors; |
| 368 EXPECT_FALSE(handler.CheckPolicySettings(policy_map, &errors)); | 370 EXPECT_FALSE(handler.CheckPolicySettings(policy_map, &errors)); |
| 369 EXPECT_FALSE( | 371 EXPECT_FALSE( |
| 370 errors.GetErrors(key::kDeviceLoginScreenPowerManagement).empty()); | 372 errors.GetErrors(key::kDeviceLoginScreenPowerManagement).empty()); |
| 371 } | 373 } |
| 372 | 374 |
| 373 } // namespace policy | 375 } // namespace policy |
| OLD | NEW |