| 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 "components/policy/core/common/configuration_policy_provider_test.h" | 5 #include "components/policy/core/common/configuration_policy_provider_test.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/callback.h" | 8 #include "base/callback.h" |
| 9 #include "base/message_loop/message_loop_proxy.h" | 9 #include "base/message_loop/message_loop_proxy.h" |
| 10 #include "base/values.h" | 10 #include "base/values.h" |
| (...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 119 const char kKeyStringList[] = "StringListPolicy"; | 119 const char kKeyStringList[] = "StringListPolicy"; |
| 120 const char kKeyDictionary[] = "DictionaryPolicy"; | 120 const char kKeyDictionary[] = "DictionaryPolicy"; |
| 121 | 121 |
| 122 } // namespace test_keys | 122 } // namespace test_keys |
| 123 | 123 |
| 124 PolicyTestBase::PolicyTestBase() {} | 124 PolicyTestBase::PolicyTestBase() {} |
| 125 | 125 |
| 126 PolicyTestBase::~PolicyTestBase() {} | 126 PolicyTestBase::~PolicyTestBase() {} |
| 127 | 127 |
| 128 void PolicyTestBase::SetUp() { | 128 void PolicyTestBase::SetUp() { |
| 129 std::string error; | 129 const PolicyNamespace ns(POLICY_DOMAIN_CHROME, ""); |
| 130 chrome_schema_ = Schema::Parse(kTestChromeSchema, &error); | 130 ASSERT_TRUE(RegisterSchema(ns, kTestChromeSchema)); |
| 131 ASSERT_TRUE(chrome_schema_.valid()) << error; | |
| 132 schema_registry_.RegisterComponent(PolicyNamespace(POLICY_DOMAIN_CHROME, ""), | |
| 133 chrome_schema_); | |
| 134 } | 131 } |
| 135 | 132 |
| 136 void PolicyTestBase::TearDown() { | 133 void PolicyTestBase::TearDown() { |
| 137 loop_.RunUntilIdle(); | 134 loop_.RunUntilIdle(); |
| 138 } | 135 } |
| 139 | 136 |
| 137 bool PolicyTestBase::RegisterSchema(const PolicyNamespace& ns, |
| 138 const std::string& schema_string) { |
| 139 std::string error; |
| 140 Schema schema = Schema::Parse(schema_string, &error); |
| 141 if (schema.valid()) { |
| 142 schema_registry_.RegisterComponent(ns, schema); |
| 143 return true; |
| 144 } |
| 145 ADD_FAILURE() << error; |
| 146 return false; |
| 147 } |
| 148 |
| 140 PolicyProviderTestHarness::PolicyProviderTestHarness(PolicyLevel level, | 149 PolicyProviderTestHarness::PolicyProviderTestHarness(PolicyLevel level, |
| 141 PolicyScope scope) | 150 PolicyScope scope) |
| 142 : level_(level), scope_(scope) {} | 151 : level_(level), scope_(scope) {} |
| 143 | 152 |
| 144 PolicyProviderTestHarness::~PolicyProviderTestHarness() {} | 153 PolicyProviderTestHarness::~PolicyProviderTestHarness() {} |
| 145 | 154 |
| 146 PolicyLevel PolicyProviderTestHarness::policy_level() const { | 155 PolicyLevel PolicyProviderTestHarness::policy_level() const { |
| 147 return level_; | 156 return level_; |
| 148 } | 157 } |
| 149 | 158 |
| 150 PolicyScope PolicyProviderTestHarness::policy_scope() const { | 159 PolicyScope PolicyProviderTestHarness::policy_scope() const { |
| 151 return scope_; | 160 return scope_; |
| 152 } | 161 } |
| 153 | 162 |
| 154 void PolicyProviderTestHarness::Install3rdPartyPolicy( | 163 void PolicyProviderTestHarness::Install3rdPartyPolicy( |
| 155 const base::DictionaryValue* policies) { | 164 const base::DictionaryValue* policies) { |
| 156 FAIL(); | 165 FAIL(); |
| 157 } | 166 } |
| 158 | 167 |
| 159 ConfigurationPolicyProviderTest::ConfigurationPolicyProviderTest() {} | 168 ConfigurationPolicyProviderTest::ConfigurationPolicyProviderTest() {} |
| 160 | 169 |
| 161 ConfigurationPolicyProviderTest::~ConfigurationPolicyProviderTest() {} | 170 ConfigurationPolicyProviderTest::~ConfigurationPolicyProviderTest() {} |
| 162 | 171 |
| 163 void ConfigurationPolicyProviderTest::SetUp() { | 172 void ConfigurationPolicyProviderTest::SetUp() { |
| 164 PolicyTestBase::SetUp(); | 173 PolicyTestBase::SetUp(); |
| 165 | 174 |
| 166 test_harness_.reset((*GetParam())()); | 175 test_harness_.reset((*GetParam())()); |
| 167 test_harness_->SetUp(); | 176 test_harness_->SetUp(); |
| 168 | 177 |
| 178 const PolicyNamespace chrome_ns(POLICY_DOMAIN_CHROME, ""); |
| 179 Schema chrome_schema = *schema_registry_.schema_map()->GetSchema(chrome_ns); |
| 169 Schema extension_schema = | 180 Schema extension_schema = |
| 170 chrome_schema_.GetKnownProperty(test_keys::kKeyDictionary); | 181 chrome_schema.GetKnownProperty(test_keys::kKeyDictionary); |
| 171 ASSERT_TRUE(extension_schema.valid()); | 182 ASSERT_TRUE(extension_schema.valid()); |
| 172 schema_registry_.RegisterComponent( | 183 schema_registry_.RegisterComponent( |
| 173 PolicyNamespace(POLICY_DOMAIN_EXTENSIONS, | 184 PolicyNamespace(POLICY_DOMAIN_EXTENSIONS, |
| 174 "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"), | 185 "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"), |
| 175 extension_schema); | 186 extension_schema); |
| 176 schema_registry_.RegisterComponent( | 187 schema_registry_.RegisterComponent( |
| 177 PolicyNamespace(POLICY_DOMAIN_EXTENSIONS, | 188 PolicyNamespace(POLICY_DOMAIN_EXTENSIONS, |
| 178 "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"), | 189 "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"), |
| 179 extension_schema); | 190 extension_schema); |
| 180 schema_registry_.RegisterComponent( | 191 schema_registry_.RegisterComponent( |
| (...skipping 213 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 394 expected_bundle.Get(PolicyNamespace(POLICY_DOMAIN_EXTENSIONS, | 405 expected_bundle.Get(PolicyNamespace(POLICY_DOMAIN_EXTENSIONS, |
| 395 "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")) | 406 "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")) |
| 396 .CopyFrom(expected_policy); | 407 .CopyFrom(expected_policy); |
| 397 expected_bundle.Get(PolicyNamespace(POLICY_DOMAIN_EXTENSIONS, | 408 expected_bundle.Get(PolicyNamespace(POLICY_DOMAIN_EXTENSIONS, |
| 398 "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb")) | 409 "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb")) |
| 399 .CopyFrom(expected_policy); | 410 .CopyFrom(expected_policy); |
| 400 EXPECT_TRUE(provider_->policies().Equals(expected_bundle)); | 411 EXPECT_TRUE(provider_->policies().Equals(expected_bundle)); |
| 401 } | 412 } |
| 402 | 413 |
| 403 } // namespace policy | 414 } // namespace policy |
| OLD | NEW |