| 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 |