| 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/policy_map.h" | 5 #include "components/policy/core/common/policy_map.h" |
| 6 | 6 |
| 7 #include <utility> | 7 #include <utility> |
| 8 | 8 |
| 9 #include "base/bind.h" |
| 9 #include "base/callback.h" | 10 #include "base/callback.h" |
| 10 #include "base/memory/ptr_util.h" | 11 #include "base/memory/ptr_util.h" |
| 11 #include "base/memory/weak_ptr.h" | 12 #include "base/memory/weak_ptr.h" |
| 12 #include "components/policy/core/common/external_data_manager.h" | 13 #include "components/policy/core/common/external_data_manager.h" |
| 13 #include "components/policy/core/common/policy_types.h" | 14 #include "components/policy/core/common/policy_types.h" |
| 14 #include "testing/gtest/include/gtest/gtest.h" | 15 #include "testing/gtest/include/gtest/gtest.h" |
| 15 | 16 |
| 16 namespace policy { | 17 namespace policy { |
| 17 | 18 |
| 18 namespace { | 19 namespace { |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 62 base::WrapUnique(new base::StringValue("aaa"))); | 63 base::WrapUnique(new base::StringValue("aaa"))); |
| 63 base::StringValue expected("aaa"); | 64 base::StringValue expected("aaa"); |
| 64 EXPECT_TRUE(expected.Equals(map.GetValue(kTestPolicyName1))); | 65 EXPECT_TRUE(expected.Equals(map.GetValue(kTestPolicyName1))); |
| 65 SetPolicy(&map, kTestPolicyName1, | 66 SetPolicy(&map, kTestPolicyName1, |
| 66 base::WrapUnique(new base::StringValue("bbb"))); | 67 base::WrapUnique(new base::StringValue("bbb"))); |
| 67 base::StringValue expected_b("bbb"); | 68 base::StringValue expected_b("bbb"); |
| 68 EXPECT_TRUE(expected_b.Equals(map.GetValue(kTestPolicyName1))); | 69 EXPECT_TRUE(expected_b.Equals(map.GetValue(kTestPolicyName1))); |
| 69 SetPolicy(&map, kTestPolicyName1, CreateExternalDataFetcher("dummy")); | 70 SetPolicy(&map, kTestPolicyName1, CreateExternalDataFetcher("dummy")); |
| 70 EXPECT_FALSE(map.GetValue(kTestPolicyName1)); | 71 EXPECT_FALSE(map.GetValue(kTestPolicyName1)); |
| 71 const PolicyMap::Entry* entry = map.Get(kTestPolicyName1); | 72 const PolicyMap::Entry* entry = map.Get(kTestPolicyName1); |
| 72 ASSERT_TRUE(entry != NULL); | 73 ASSERT_TRUE(entry != nullptr); |
| 73 EXPECT_EQ(POLICY_LEVEL_MANDATORY, entry->level); | 74 EXPECT_EQ(POLICY_LEVEL_MANDATORY, entry->level); |
| 74 EXPECT_EQ(POLICY_SCOPE_USER, entry->scope); | 75 EXPECT_EQ(POLICY_SCOPE_USER, entry->scope); |
| 75 EXPECT_EQ(POLICY_SOURCE_CLOUD, entry->source); | 76 EXPECT_EQ(POLICY_SOURCE_CLOUD, entry->source); |
| 76 EXPECT_TRUE( | 77 EXPECT_TRUE( |
| 77 ExternalDataFetcher::Equals(entry->external_data_fetcher.get(), | 78 ExternalDataFetcher::Equals(entry->external_data_fetcher.get(), |
| 78 CreateExternalDataFetcher("dummy").get())); | 79 CreateExternalDataFetcher("dummy").get())); |
| 79 map.Set(kTestPolicyName1, POLICY_LEVEL_RECOMMENDED, POLICY_SCOPE_MACHINE, | 80 map.Set(kTestPolicyName1, POLICY_LEVEL_RECOMMENDED, POLICY_SCOPE_MACHINE, |
| 80 POLICY_SOURCE_ENTERPRISE_DEFAULT, nullptr, nullptr); | 81 POLICY_SOURCE_ENTERPRISE_DEFAULT, nullptr, nullptr); |
| 81 EXPECT_FALSE(map.GetValue(kTestPolicyName1)); | 82 EXPECT_FALSE(map.GetValue(kTestPolicyName1)); |
| 82 entry = map.Get(kTestPolicyName1); | 83 entry = map.Get(kTestPolicyName1); |
| 83 ASSERT_TRUE(entry != NULL); | 84 ASSERT_TRUE(entry != nullptr); |
| 84 EXPECT_EQ(POLICY_LEVEL_RECOMMENDED, entry->level); | 85 EXPECT_EQ(POLICY_LEVEL_RECOMMENDED, entry->level); |
| 85 EXPECT_EQ(POLICY_SCOPE_MACHINE, entry->scope); | 86 EXPECT_EQ(POLICY_SCOPE_MACHINE, entry->scope); |
| 86 EXPECT_EQ(POLICY_SOURCE_ENTERPRISE_DEFAULT, entry->source); | 87 EXPECT_EQ(POLICY_SOURCE_ENTERPRISE_DEFAULT, entry->source); |
| 87 EXPECT_FALSE(entry->external_data_fetcher); | 88 EXPECT_FALSE(entry->external_data_fetcher); |
| 88 } | 89 } |
| 89 | 90 |
| 90 TEST_F(PolicyMapTest, Equals) { | 91 TEST_F(PolicyMapTest, Equals) { |
| 91 PolicyMap a; | 92 PolicyMap a; |
| 92 SetPolicy(&a, kTestPolicyName1, | 93 SetPolicy(&a, kTestPolicyName1, |
| 93 base::WrapUnique(new base::StringValue("aaa"))); | 94 base::WrapUnique(new base::StringValue("aaa"))); |
| (...skipping 234 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 328 base::WrapUnique(new base::StringValue("google.com")), nullptr); | 329 base::WrapUnique(new base::StringValue("google.com")), nullptr); |
| 329 expected.Set("TestPolicy2", POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, | 330 expected.Set("TestPolicy2", POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, |
| 330 POLICY_SOURCE_PLATFORM, | 331 POLICY_SOURCE_PLATFORM, |
| 331 base::WrapUnique(new base::FundamentalValue(true)), nullptr); | 332 base::WrapUnique(new base::FundamentalValue(true)), nullptr); |
| 332 expected.Set("TestPolicy3", POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, | 333 expected.Set("TestPolicy3", POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, |
| 333 POLICY_SOURCE_PLATFORM, | 334 POLICY_SOURCE_PLATFORM, |
| 334 base::WrapUnique(new base::FundamentalValue(-12321)), nullptr); | 335 base::WrapUnique(new base::FundamentalValue(-12321)), nullptr); |
| 335 EXPECT_TRUE(loaded.Equals(expected)); | 336 EXPECT_TRUE(loaded.Equals(expected)); |
| 336 } | 337 } |
| 337 | 338 |
| 339 bool IsMandatory(const PolicyMap::PolicyMapType::const_iterator iter) { |
| 340 return iter->second.level == POLICY_LEVEL_MANDATORY; |
| 341 } |
| 342 |
| 343 TEST_F(PolicyMapTest, EraseNonmatching) { |
| 344 PolicyMap a; |
| 345 a.Set(kTestPolicyName1, |
| 346 POLICY_LEVEL_MANDATORY, |
| 347 POLICY_SCOPE_USER, |
| 348 POLICY_SOURCE_CLOUD, |
| 349 base::WrapUnique(new base::StringValue("google.com")), |
| 350 nullptr); |
| 351 a.Set(kTestPolicyName2, |
| 352 POLICY_LEVEL_RECOMMENDED, |
| 353 POLICY_SCOPE_MACHINE, |
| 354 POLICY_SOURCE_CLOUD, |
| 355 base::WrapUnique(new base::FundamentalValue(true)), |
| 356 nullptr); |
| 357 |
| 358 a.EraseNonmatching(base::Bind(&IsMandatory)); |
| 359 |
| 360 PolicyMap b; |
| 361 b.Set(kTestPolicyName1, |
| 362 POLICY_LEVEL_MANDATORY, |
| 363 POLICY_SCOPE_USER, |
| 364 POLICY_SOURCE_CLOUD, |
| 365 base::WrapUnique(new base::StringValue("google.com")), |
| 366 nullptr); |
| 367 EXPECT_TRUE(a.Equals(b)); |
| 368 } |
| 369 |
| 338 } // namespace policy | 370 } // namespace policy |
| OLD | NEW |