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/schema_registry_tracking_policy_provider
.h" | 5 #include "components/policy/core/common/schema_registry_tracking_policy_provider
.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 | 8 |
9 #include "base/memory/scoped_ptr.h" | 9 #include "base/memory/scoped_ptr.h" |
10 #include "base/values.h" | 10 #include "base/values.h" |
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
79 EXPECT_TRUE( | 79 EXPECT_TRUE( |
80 schema_registry_tracking_provider_.policies().Equals(empty_bundle)); | 80 schema_registry_tracking_provider_.policies().Equals(empty_bundle)); |
81 } | 81 } |
82 | 82 |
83 TEST_F(SchemaRegistryTrackingPolicyProviderTest, PassOnChromePolicy) { | 83 TEST_F(SchemaRegistryTrackingPolicyProviderTest, PassOnChromePolicy) { |
84 PolicyBundle bundle; | 84 PolicyBundle bundle; |
85 const PolicyNamespace chrome_ns(POLICY_DOMAIN_CHROME, ""); | 85 const PolicyNamespace chrome_ns(POLICY_DOMAIN_CHROME, ""); |
86 bundle.Get(chrome_ns).Set("policy", | 86 bundle.Get(chrome_ns).Set("policy", |
87 POLICY_LEVEL_MANDATORY, | 87 POLICY_LEVEL_MANDATORY, |
88 POLICY_SCOPE_USER, | 88 POLICY_SCOPE_USER, |
89 POLICY_SOURCE_CLOUD, | |
90 new base::StringValue("visible"), | 89 new base::StringValue("visible"), |
91 NULL); | 90 NULL); |
92 | 91 |
93 EXPECT_CALL(observer_, OnUpdatePolicy(&schema_registry_tracking_provider_)); | 92 EXPECT_CALL(observer_, OnUpdatePolicy(&schema_registry_tracking_provider_)); |
94 scoped_ptr<PolicyBundle> delegate_bundle(new PolicyBundle); | 93 scoped_ptr<PolicyBundle> delegate_bundle(new PolicyBundle); |
95 delegate_bundle->CopyFrom(bundle); | 94 delegate_bundle->CopyFrom(bundle); |
96 delegate_bundle->Get(PolicyNamespace(POLICY_DOMAIN_EXTENSIONS, "xyz")) | 95 delegate_bundle->Get(PolicyNamespace(POLICY_DOMAIN_EXTENSIONS, "xyz")) |
97 .Set("foo", | 96 .Set("foo", |
98 POLICY_LEVEL_MANDATORY, | 97 POLICY_LEVEL_MANDATORY, |
99 POLICY_SCOPE_USER, | 98 POLICY_SCOPE_USER, |
100 POLICY_SOURCE_CLOUD, | |
101 new base::StringValue("not visible"), | 99 new base::StringValue("not visible"), |
102 NULL); | 100 NULL); |
103 mock_provider_.UpdatePolicy(delegate_bundle.Pass()); | 101 mock_provider_.UpdatePolicy(delegate_bundle.Pass()); |
104 Mock::VerifyAndClearExpectations(&observer_); | 102 Mock::VerifyAndClearExpectations(&observer_); |
105 | 103 |
106 EXPECT_FALSE(schema_registry_tracking_provider_.IsInitializationComplete( | 104 EXPECT_FALSE(schema_registry_tracking_provider_.IsInitializationComplete( |
107 POLICY_DOMAIN_EXTENSIONS)); | 105 POLICY_DOMAIN_EXTENSIONS)); |
108 EXPECT_TRUE(schema_registry_tracking_provider_.policies().Equals(bundle)); | 106 EXPECT_TRUE(schema_registry_tracking_provider_.policies().Equals(bundle)); |
109 } | 107 } |
110 | 108 |
(...skipping 11 matching lines...) Expand all Loading... |
122 | 120 |
123 EXPECT_TRUE(schema_registry_tracking_provider_.IsInitializationComplete( | 121 EXPECT_TRUE(schema_registry_tracking_provider_.IsInitializationComplete( |
124 policy::POLICY_DOMAIN_EXTENSIONS)); | 122 policy::POLICY_DOMAIN_EXTENSIONS)); |
125 } | 123 } |
126 | 124 |
127 TEST_F(SchemaRegistryTrackingPolicyProviderTest, SchemaReadyWithComponents) { | 125 TEST_F(SchemaRegistryTrackingPolicyProviderTest, SchemaReadyWithComponents) { |
128 PolicyMap policy_map; | 126 PolicyMap policy_map; |
129 policy_map.Set("foo", | 127 policy_map.Set("foo", |
130 POLICY_LEVEL_MANDATORY, | 128 POLICY_LEVEL_MANDATORY, |
131 POLICY_SCOPE_USER, | 129 POLICY_SCOPE_USER, |
132 POLICY_SOURCE_CLOUD, | |
133 new base::StringValue("omg"), | 130 new base::StringValue("omg"), |
134 NULL); | 131 NULL); |
135 scoped_ptr<PolicyBundle> bundle(new PolicyBundle); | 132 scoped_ptr<PolicyBundle> bundle(new PolicyBundle); |
136 bundle->Get(PolicyNamespace(POLICY_DOMAIN_CHROME, "")).CopyFrom(policy_map); | 133 bundle->Get(PolicyNamespace(POLICY_DOMAIN_CHROME, "")).CopyFrom(policy_map); |
137 bundle->Get(PolicyNamespace(POLICY_DOMAIN_EXTENSIONS, "xyz")) | 134 bundle->Get(PolicyNamespace(POLICY_DOMAIN_EXTENSIONS, "xyz")) |
138 .CopyFrom(policy_map); | 135 .CopyFrom(policy_map); |
139 EXPECT_CALL(observer_, OnUpdatePolicy(&schema_registry_tracking_provider_)); | 136 EXPECT_CALL(observer_, OnUpdatePolicy(&schema_registry_tracking_provider_)); |
140 mock_provider_.UpdatePolicy(bundle.Pass()); | 137 mock_provider_.UpdatePolicy(bundle.Pass()); |
141 Mock::VerifyAndClearExpectations(&observer_); | 138 Mock::VerifyAndClearExpectations(&observer_); |
142 | 139 |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
174 schema_registry_.RegisterComponent( | 171 schema_registry_.RegisterComponent( |
175 PolicyNamespace(POLICY_DOMAIN_EXTENSIONS, "xyz"), CreateTestSchema()); | 172 PolicyNamespace(POLICY_DOMAIN_EXTENSIONS, "xyz"), CreateTestSchema()); |
176 EXPECT_FALSE(schema_registry_.IsReady()); | 173 EXPECT_FALSE(schema_registry_.IsReady()); |
177 EXPECT_FALSE(schema_registry_tracking_provider_.IsInitializationComplete( | 174 EXPECT_FALSE(schema_registry_tracking_provider_.IsInitializationComplete( |
178 policy::POLICY_DOMAIN_EXTENSIONS)); | 175 policy::POLICY_DOMAIN_EXTENSIONS)); |
179 | 176 |
180 PolicyMap policy_map; | 177 PolicyMap policy_map; |
181 policy_map.Set("foo", | 178 policy_map.Set("foo", |
182 POLICY_LEVEL_MANDATORY, | 179 POLICY_LEVEL_MANDATORY, |
183 POLICY_SCOPE_USER, | 180 POLICY_SCOPE_USER, |
184 POLICY_SOURCE_CLOUD, | |
185 new base::StringValue("omg"), | 181 new base::StringValue("omg"), |
186 NULL); | 182 NULL); |
187 // Chrome policy updates are visible even if the components aren't ready. | 183 // Chrome policy updates are visible even if the components aren't ready. |
188 EXPECT_CALL(observer_, OnUpdatePolicy(&schema_registry_tracking_provider_)); | 184 EXPECT_CALL(observer_, OnUpdatePolicy(&schema_registry_tracking_provider_)); |
189 mock_provider_.UpdateChromePolicy(policy_map); | 185 mock_provider_.UpdateChromePolicy(policy_map); |
190 Mock::VerifyAndClearExpectations(&observer_); | 186 Mock::VerifyAndClearExpectations(&observer_); |
191 | 187 |
192 EXPECT_CALL(mock_provider_, RefreshPolicies()); | 188 EXPECT_CALL(mock_provider_, RefreshPolicies()); |
193 schema_registry_.SetReady(POLICY_DOMAIN_CHROME); | 189 schema_registry_.SetReady(POLICY_DOMAIN_CHROME); |
194 schema_registry_.SetReady(POLICY_DOMAIN_EXTENSIONS); | 190 schema_registry_.SetReady(POLICY_DOMAIN_EXTENSIONS); |
(...skipping 23 matching lines...) Expand all Loading... |
218 schema_registry_.SetReady(POLICY_DOMAIN_CHROME); | 214 schema_registry_.SetReady(POLICY_DOMAIN_CHROME); |
219 schema_registry_.RegisterComponent(ns, CreateTestSchema()); | 215 schema_registry_.RegisterComponent(ns, CreateTestSchema()); |
220 schema_registry_.SetReady(POLICY_DOMAIN_EXTENSIONS); | 216 schema_registry_.SetReady(POLICY_DOMAIN_EXTENSIONS); |
221 Mock::VerifyAndClearExpectations(&mock_provider_); | 217 Mock::VerifyAndClearExpectations(&mock_provider_); |
222 | 218 |
223 // Serve policy for |ns|. | 219 // Serve policy for |ns|. |
224 PolicyBundle platform_policy; | 220 PolicyBundle platform_policy; |
225 platform_policy.Get(ns).Set("foo", | 221 platform_policy.Get(ns).Set("foo", |
226 POLICY_LEVEL_MANDATORY, | 222 POLICY_LEVEL_MANDATORY, |
227 POLICY_SCOPE_USER, | 223 POLICY_SCOPE_USER, |
228 POLICY_SOURCE_CLOUD, | |
229 new base::StringValue("omg"), | 224 new base::StringValue("omg"), |
230 NULL); | 225 NULL); |
231 scoped_ptr<PolicyBundle> copy(new PolicyBundle); | 226 scoped_ptr<PolicyBundle> copy(new PolicyBundle); |
232 copy->CopyFrom(platform_policy); | 227 copy->CopyFrom(platform_policy); |
233 EXPECT_CALL(observer_, OnUpdatePolicy(_)); | 228 EXPECT_CALL(observer_, OnUpdatePolicy(_)); |
234 mock_provider_.UpdatePolicy(copy.Pass()); | 229 mock_provider_.UpdatePolicy(copy.Pass()); |
235 Mock::VerifyAndClearExpectations(&observer_); | 230 Mock::VerifyAndClearExpectations(&observer_); |
236 EXPECT_TRUE( | 231 EXPECT_TRUE( |
237 schema_registry_tracking_provider_.policies().Equals(platform_policy)); | 232 schema_registry_tracking_provider_.policies().Equals(platform_policy)); |
238 | 233 |
(...skipping 13 matching lines...) Expand all Loading... |
252 EXPECT_CALL(observer_, OnUpdatePolicy(_)); | 247 EXPECT_CALL(observer_, OnUpdatePolicy(_)); |
253 copy.reset(new PolicyBundle); | 248 copy.reset(new PolicyBundle); |
254 copy->CopyFrom(platform_policy); | 249 copy->CopyFrom(platform_policy); |
255 mock_provider_.UpdatePolicy(copy.Pass()); | 250 mock_provider_.UpdatePolicy(copy.Pass()); |
256 Mock::VerifyAndClearExpectations(&observer_); | 251 Mock::VerifyAndClearExpectations(&observer_); |
257 EXPECT_TRUE( | 252 EXPECT_TRUE( |
258 schema_registry_tracking_provider_.policies().Equals(platform_policy)); | 253 schema_registry_tracking_provider_.policies().Equals(platform_policy)); |
259 } | 254 } |
260 | 255 |
261 } // namespace policy | 256 } // namespace policy |
OLD | NEW |