OLD | NEW |
---|---|
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/policy_service_impl.h" | 5 #include "chrome/browser/policy/policy_service_impl.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/bind_helpers.h" | 8 #include "base/bind_helpers.h" |
9 #include "base/callback.h" | 9 #include "base/callback.h" |
10 #include "base/memory/ref_counted.h" | 10 #include "base/memory/ref_counted.h" |
bartfab (slow)
2013/11/05 15:53:04
Nit: No longer used.
Joao da Silva
2013/11/07 13:15:00
Done.
| |
11 #include "base/memory/scoped_ptr.h" | 11 #include "base/memory/scoped_ptr.h" |
12 #include "base/run_loop.h" | 12 #include "base/run_loop.h" |
13 #include "base/values.h" | 13 #include "base/values.h" |
14 #include "chrome/browser/policy/external_data_fetcher.h" | 14 #include "chrome/browser/policy/external_data_fetcher.h" |
15 #include "chrome/browser/policy/mock_configuration_policy_provider.h" | 15 #include "chrome/browser/policy/mock_configuration_policy_provider.h" |
16 #include "chrome/browser/policy/mock_policy_service.h" | 16 #include "chrome/browser/policy/mock_policy_service.h" |
17 #include "chrome/browser/policy/policy_domain_descriptor.h" | |
18 #include "components/policy/core/common/schema.h" | 17 #include "components/policy/core/common/schema.h" |
bartfab (slow)
2013/11/05 15:53:04
Nit: No longer used.
Joao da Silva
2013/11/07 13:15:00
Done.
| |
19 #include "testing/gmock/include/gmock/gmock.h" | 18 #include "testing/gmock/include/gmock/gmock.h" |
20 #include "testing/gtest/include/gtest/gtest.h" | 19 #include "testing/gtest/include/gtest/gtest.h" |
21 | 20 |
22 using ::testing::AnyNumber; | 21 using ::testing::AnyNumber; |
23 using ::testing::Mock; | 22 using ::testing::Mock; |
24 using ::testing::Return; | 23 using ::testing::Return; |
25 using ::testing::_; | 24 using ::testing::_; |
26 | 25 |
27 namespace policy { | 26 namespace policy { |
28 | 27 |
(...skipping 569 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
598 Mock::VerifyAndClearExpectations(&observer); | 597 Mock::VerifyAndClearExpectations(&observer); |
599 EXPECT_TRUE(policy_service_->IsInitializationComplete(POLICY_DOMAIN_CHROME)); | 598 EXPECT_TRUE(policy_service_->IsInitializationComplete(POLICY_DOMAIN_CHROME)); |
600 EXPECT_TRUE( | 599 EXPECT_TRUE( |
601 policy_service_->IsInitializationComplete(POLICY_DOMAIN_EXTENSIONS)); | 600 policy_service_->IsInitializationComplete(POLICY_DOMAIN_EXTENSIONS)); |
602 | 601 |
603 // Cleanup. | 602 // Cleanup. |
604 policy_service_->RemoveObserver(POLICY_DOMAIN_CHROME, &observer); | 603 policy_service_->RemoveObserver(POLICY_DOMAIN_CHROME, &observer); |
605 policy_service_->RemoveObserver(POLICY_DOMAIN_EXTENSIONS, &observer); | 604 policy_service_->RemoveObserver(POLICY_DOMAIN_EXTENSIONS, &observer); |
606 } | 605 } |
607 | 606 |
608 TEST_F(PolicyServiceTest, RegisterPolicyDomain) { | |
609 EXPECT_FALSE(policy_service_->GetPolicyDomainDescriptor(POLICY_DOMAIN_CHROME) | |
610 .get()); | |
611 EXPECT_FALSE(policy_service_->GetPolicyDomainDescriptor( | |
612 POLICY_DOMAIN_EXTENSIONS).get()); | |
613 | |
614 EXPECT_CALL(provider1_, RegisterPolicyDomain(_)).Times(AnyNumber()); | |
615 EXPECT_CALL(provider2_, RegisterPolicyDomain(_)).Times(AnyNumber()); | |
616 | |
617 scoped_refptr<const PolicyDomainDescriptor> chrome_descriptor = | |
618 new PolicyDomainDescriptor(POLICY_DOMAIN_CHROME); | |
619 EXPECT_CALL(provider0_, RegisterPolicyDomain(chrome_descriptor)); | |
620 policy_service_->RegisterPolicyDomain(chrome_descriptor); | |
621 Mock::VerifyAndClearExpectations(&provider0_); | |
622 | |
623 EXPECT_TRUE(policy_service_->GetPolicyDomainDescriptor(POLICY_DOMAIN_CHROME) | |
624 .get()); | |
625 EXPECT_FALSE(policy_service_->GetPolicyDomainDescriptor( | |
626 POLICY_DOMAIN_EXTENSIONS).get()); | |
627 | |
628 // Register another namespace. | |
629 std::string error; | |
630 Schema schema = Schema::Parse( | |
631 "{" | |
632 " \"type\":\"object\"," | |
633 " \"properties\": {" | |
634 " \"Boolean\": { \"type\": \"boolean\" }," | |
635 " \"Integer\": { \"type\": \"integer\" }," | |
636 " \"Null\": { \"type\": \"null\" }," | |
637 " \"Number\": { \"type\": \"number\" }," | |
638 " \"Object\": { \"type\": \"object\" }," | |
639 " \"String\": { \"type\": \"string\" }" | |
640 " }" | |
641 "}", &error); | |
642 ASSERT_TRUE(schema.valid()) << error; | |
643 scoped_refptr<PolicyDomainDescriptor> extensions_descriptor = | |
644 new PolicyDomainDescriptor(POLICY_DOMAIN_EXTENSIONS); | |
645 extensions_descriptor->RegisterComponent(kExtension, schema); | |
646 EXPECT_CALL(provider0_, RegisterPolicyDomain( | |
647 scoped_refptr<const PolicyDomainDescriptor>(extensions_descriptor))); | |
648 policy_service_->RegisterPolicyDomain(extensions_descriptor); | |
649 Mock::VerifyAndClearExpectations(&provider0_); | |
650 | |
651 EXPECT_TRUE(policy_service_->GetPolicyDomainDescriptor(POLICY_DOMAIN_CHROME) | |
652 .get()); | |
653 EXPECT_TRUE(policy_service_->GetPolicyDomainDescriptor( | |
654 POLICY_DOMAIN_EXTENSIONS).get()); | |
655 | |
656 // Remove those components. | |
657 scoped_refptr<PolicyDomainDescriptor> empty_extensions_descriptor = | |
658 new PolicyDomainDescriptor(POLICY_DOMAIN_EXTENSIONS); | |
659 EXPECT_CALL(provider0_, RegisterPolicyDomain( | |
660 scoped_refptr<const PolicyDomainDescriptor>( | |
661 empty_extensions_descriptor))); | |
662 policy_service_->RegisterPolicyDomain(empty_extensions_descriptor); | |
663 Mock::VerifyAndClearExpectations(&provider0_); | |
664 } | |
665 | |
666 } // namespace policy | 607 } // namespace policy |
OLD | NEW |