OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 "chrome/browser/policy/cloud_policy_provider.h" | 5 #include "chrome/browser/policy/cloud_policy_provider.h" |
6 | 6 |
7 #include "base/basictypes.h" | 7 #include "base/basictypes.h" |
8 #include "base/values.h" | 8 #include "base/values.h" |
9 #include "chrome/browser/policy/cloud_policy_cache_base.h" | 9 #include "chrome/browser/policy/cloud_policy_cache_base.h" |
10 #include "chrome/browser/policy/cloud_policy_provider_impl.h" | 10 #include "chrome/browser/policy/cloud_policy_provider_impl.h" |
11 #include "chrome/browser/policy/configuration_policy_pref_store.h" | 11 #include "chrome/browser/policy/configuration_policy_pref_store.h" |
| 12 #include "policy/policy_constants.h" |
12 #include "testing/gmock/include/gmock/gmock.h" | 13 #include "testing/gmock/include/gmock/gmock.h" |
13 | 14 |
14 using testing::AnyNumber; | 15 using testing::AnyNumber; |
15 using testing::_; | 16 using testing::_; |
16 | 17 |
17 namespace policy { | 18 namespace policy { |
18 | 19 |
19 class MockCloudPolicyCache : public CloudPolicyCacheBase { | 20 class MockCloudPolicyCache : public CloudPolicyCacheBase { |
20 public: | 21 public: |
21 MockCloudPolicyCache() {} | 22 MockCloudPolicyCache() {} |
(...skipping 29 matching lines...) Expand all Loading... |
51 } | 52 } |
52 | 53 |
53 private: | 54 private: |
54 DISALLOW_COPY_AND_ASSIGN(MockCloudPolicyCache); | 55 DISALLOW_COPY_AND_ASSIGN(MockCloudPolicyCache); |
55 }; | 56 }; |
56 | 57 |
57 class CloudPolicyProviderTest : public testing::Test { | 58 class CloudPolicyProviderTest : public testing::Test { |
58 protected: | 59 protected: |
59 void CreateCloudPolicyProvider(CloudPolicyCacheBase::PolicyLevel level) { | 60 void CreateCloudPolicyProvider(CloudPolicyCacheBase::PolicyLevel level) { |
60 cloud_policy_provider_.reset(new CloudPolicyProviderImpl( | 61 cloud_policy_provider_.reset(new CloudPolicyProviderImpl( |
61 ConfigurationPolicyPrefStore::GetChromePolicyDefinitionList(), level)); | 62 GetChromePolicyDefinitionList(), level)); |
62 } | 63 } |
63 | 64 |
64 // Appends the caches to a provider and then provides the policies to | 65 // Appends the caches to a provider and then provides the policies to |
65 // |policy_map_|. | 66 // |policy_map_|. |
66 void RunCachesThroughProvider(MockCloudPolicyCache caches[], int n, | 67 void RunCachesThroughProvider(MockCloudPolicyCache caches[], int n, |
67 CloudPolicyCacheBase::PolicyLevel level) { | 68 CloudPolicyCacheBase::PolicyLevel level) { |
68 CloudPolicyProviderImpl provider( | 69 CloudPolicyProviderImpl provider( |
69 policy::ConfigurationPolicyPrefStore::GetChromePolicyDefinitionList(), | 70 GetChromePolicyDefinitionList(), |
70 level); | 71 level); |
71 for (int i = 0; i < n; i++) { | 72 for (int i = 0; i < n; i++) { |
72 provider.AppendCache(&caches[i]); | 73 provider.AppendCache(&caches[i]); |
73 } | 74 } |
74 policy_map_.reset(new PolicyMap()); | 75 policy_map_.reset(new PolicyMap()); |
75 provider.Provide(policy_map_.get()); | 76 provider.Provide(policy_map_.get()); |
76 } | 77 } |
77 | 78 |
78 // Checks a string policy in |policy_map_|. | 79 // Checks a string policy in |policy_map_|. |
79 void ExpectStringPolicy(const std::string& expected, | 80 void ExpectStringPolicy(const std::string& expected, |
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
215 EXPECT_TRUE(value->GetAsInteger(&int_value)); | 216 EXPECT_TRUE(value->GetAsInteger(&int_value)); |
216 EXPECT_EQ(100, int_value); | 217 EXPECT_EQ(100, int_value); |
217 } | 218 } |
218 | 219 |
219 TEST_F(CloudPolicyProviderTest, CombineTwoPolicyMapsProxies) { | 220 TEST_F(CloudPolicyProviderTest, CombineTwoPolicyMapsProxies) { |
220 const int a_value = 1; | 221 const int a_value = 1; |
221 const int b_value = -1; | 222 const int b_value = -1; |
222 PolicyMap A, B, C; | 223 PolicyMap A, B, C; |
223 CreateCloudPolicyProvider(CloudPolicyCacheBase::POLICY_LEVEL_RECOMMENDED); | 224 CreateCloudPolicyProvider(CloudPolicyCacheBase::POLICY_LEVEL_RECOMMENDED); |
224 | 225 |
225 A.Set(policy::kPolicyProxyMode, Value::CreateIntegerValue(a_value)); | 226 A.Set(kPolicyProxyMode, Value::CreateIntegerValue(a_value)); |
226 | 227 |
227 B.Set(policy::kPolicyProxyServerMode, Value::CreateIntegerValue(b_value)); | 228 B.Set(kPolicyProxyServerMode, Value::CreateIntegerValue(b_value)); |
228 B.Set(policy::kPolicyProxyServer, Value::CreateIntegerValue(b_value)); | 229 B.Set(kPolicyProxyServer, Value::CreateIntegerValue(b_value)); |
229 B.Set(policy::kPolicyProxyPacUrl, Value::CreateIntegerValue(b_value)); | 230 B.Set(kPolicyProxyPacUrl, Value::CreateIntegerValue(b_value)); |
230 B.Set(policy::kPolicyProxyBypassList, Value::CreateIntegerValue(b_value)); | 231 B.Set(kPolicyProxyBypassList, Value::CreateIntegerValue(b_value)); |
231 | 232 |
232 CombineTwoPolicyMaps(A, B, &C); | 233 CombineTwoPolicyMaps(A, B, &C); |
233 | 234 |
234 EXPECT_TRUE(A.Equals(C)); | 235 EXPECT_TRUE(A.Equals(C)); |
235 EXPECT_FALSE(B.Equals(C)); | 236 EXPECT_FALSE(B.Equals(C)); |
236 } | 237 } |
237 | 238 |
238 } // namespace policy | 239 } // namespace policy |
OLD | NEW |