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