| 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 "base/json/json_reader.h" | 5 #include "base/json/json_reader.h" |
| 6 #include "chrome/browser/extensions/external_policy_loader.h" | 6 #include "chrome/browser/extensions/external_policy_loader.h" |
| 7 #include "chrome/browser/extensions/policy_handlers.h" | 7 #include "chrome/browser/extensions/policy_handlers.h" |
| 8 #include "components/policy/core/browser/policy_error_map.h" | 8 #include "components/policy/core/browser/policy_error_map.h" |
| 9 #include "components/policy/core/common/policy_map.h" | 9 #include "components/policy/core/common/policy_map.h" |
| 10 #include "components/policy/core/common/policy_types.h" | 10 #include "components/policy/core/common/policy_types.h" |
| (...skipping 303 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 314 policy::POLICY_SOURCE_CLOUD, | 314 policy::POLICY_SOURCE_CLOUD, |
| 315 list.DeepCopy(), | 315 list.DeepCopy(), |
| 316 NULL); | 316 NULL); |
| 317 handler.ApplyPolicySettings(policy_map, &prefs); | 317 handler.ApplyPolicySettings(policy_map, &prefs); |
| 318 ASSERT_TRUE(prefs.GetValue(kTestPref, &value)); | 318 ASSERT_TRUE(prefs.GetValue(kTestPref, &value)); |
| 319 EXPECT_TRUE(base::Value::Equals(&list, value)); | 319 EXPECT_TRUE(base::Value::Equals(&list, value)); |
| 320 } | 320 } |
| 321 | 321 |
| 322 TEST(ExtensionSettingsPolicyHandlerTest, CheckPolicySettings) { | 322 TEST(ExtensionSettingsPolicyHandlerTest, CheckPolicySettings) { |
| 323 std::string error; | 323 std::string error; |
| 324 scoped_ptr<base::Value> policy_value = base::JSONReader::ReadAndReturnError( | 324 std::unique_ptr<base::Value> policy_value = |
| 325 kTestManagementPolicy1, | 325 base::JSONReader::ReadAndReturnError( |
| 326 base::JSONParserOptions::JSON_ALLOW_TRAILING_COMMAS, NULL, &error); | 326 kTestManagementPolicy1, |
| 327 base::JSONParserOptions::JSON_ALLOW_TRAILING_COMMAS, NULL, &error); |
| 327 ASSERT_TRUE(policy_value.get()) << error; | 328 ASSERT_TRUE(policy_value.get()) << error; |
| 328 | 329 |
| 329 policy::Schema chrome_schema = | 330 policy::Schema chrome_schema = |
| 330 policy::Schema::Wrap(policy::GetChromeSchemaData()); | 331 policy::Schema::Wrap(policy::GetChromeSchemaData()); |
| 331 policy::PolicyMap policy_map; | 332 policy::PolicyMap policy_map; |
| 332 policy::PolicyErrorMap errors; | 333 policy::PolicyErrorMap errors; |
| 333 ExtensionSettingsPolicyHandler handler(chrome_schema); | 334 ExtensionSettingsPolicyHandler handler(chrome_schema); |
| 334 | 335 |
| 335 policy_map.Set(policy::key::kExtensionSettings, | 336 policy_map.Set(policy::key::kExtensionSettings, |
| 336 policy::POLICY_LEVEL_MANDATORY, | 337 policy::POLICY_LEVEL_MANDATORY, |
| 337 policy::POLICY_SCOPE_USER, | 338 policy::POLICY_SCOPE_USER, |
| 338 policy::POLICY_SOURCE_CLOUD, | 339 policy::POLICY_SOURCE_CLOUD, |
| 339 policy_value.release(), | 340 policy_value.release(), |
| 340 NULL); | 341 NULL); |
| 341 // CheckPolicySettings() fails due to missing update URL. | 342 // CheckPolicySettings() fails due to missing update URL. |
| 342 EXPECT_FALSE(handler.CheckPolicySettings(policy_map, &errors)); | 343 EXPECT_FALSE(handler.CheckPolicySettings(policy_map, &errors)); |
| 343 EXPECT_FALSE(errors.empty()); | 344 EXPECT_FALSE(errors.empty()); |
| 344 } | 345 } |
| 345 | 346 |
| 346 TEST(ExtensionSettingsPolicyHandlerTest, ApplyPolicySettings) { | 347 TEST(ExtensionSettingsPolicyHandlerTest, ApplyPolicySettings) { |
| 347 std::string error; | 348 std::string error; |
| 348 scoped_ptr<base::Value> policy_value = base::JSONReader::ReadAndReturnError( | 349 std::unique_ptr<base::Value> policy_value = |
| 349 kTestManagementPolicy2, | 350 base::JSONReader::ReadAndReturnError( |
| 350 base::JSONParserOptions::JSON_ALLOW_TRAILING_COMMAS, NULL, &error); | 351 kTestManagementPolicy2, |
| 352 base::JSONParserOptions::JSON_ALLOW_TRAILING_COMMAS, NULL, &error); |
| 351 ASSERT_TRUE(policy_value.get()) << error; | 353 ASSERT_TRUE(policy_value.get()) << error; |
| 352 | 354 |
| 353 policy::Schema chrome_schema = | 355 policy::Schema chrome_schema = |
| 354 policy::Schema::Wrap(policy::GetChromeSchemaData()); | 356 policy::Schema::Wrap(policy::GetChromeSchemaData()); |
| 355 policy::PolicyMap policy_map; | 357 policy::PolicyMap policy_map; |
| 356 policy::PolicyErrorMap errors; | 358 policy::PolicyErrorMap errors; |
| 357 PrefValueMap prefs; | 359 PrefValueMap prefs; |
| 358 ExtensionSettingsPolicyHandler handler(chrome_schema); | 360 ExtensionSettingsPolicyHandler handler(chrome_schema); |
| 359 | 361 |
| 360 policy_map.Set(policy::key::kExtensionSettings, | 362 policy_map.Set(policy::key::kExtensionSettings, |
| 361 policy::POLICY_LEVEL_MANDATORY, | 363 policy::POLICY_LEVEL_MANDATORY, |
| 362 policy::POLICY_SCOPE_USER, | 364 policy::POLICY_SCOPE_USER, |
| 363 policy::POLICY_SOURCE_CLOUD, | 365 policy::POLICY_SOURCE_CLOUD, |
| 364 policy_value->DeepCopy(), | 366 policy_value->DeepCopy(), |
| 365 NULL); | 367 NULL); |
| 366 EXPECT_TRUE(handler.CheckPolicySettings(policy_map, &errors)); | 368 EXPECT_TRUE(handler.CheckPolicySettings(policy_map, &errors)); |
| 367 handler.ApplyPolicySettings(policy_map, &prefs); | 369 handler.ApplyPolicySettings(policy_map, &prefs); |
| 368 base::Value* value = NULL; | 370 base::Value* value = NULL; |
| 369 ASSERT_TRUE(prefs.GetValue(pref_names::kExtensionManagement, &value)); | 371 ASSERT_TRUE(prefs.GetValue(pref_names::kExtensionManagement, &value)); |
| 370 EXPECT_TRUE(base::Value::Equals(policy_value.get(), value)); | 372 EXPECT_TRUE(base::Value::Equals(policy_value.get(), value)); |
| 371 } | 373 } |
| 372 | 374 |
| 373 } // namespace extensions | 375 } // namespace extensions |
| OLD | NEW |