Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(253)

Side by Side Diff: chrome/browser/policy/cloud/cloud_policy_manager_unittest.cc

Issue 56623005: Policy providers all get a SchemaRegistry to work with. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@chrome-policy-schema-9-purge-with-callback
Patch Set: rebase Created 7 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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/cloud/cloud_policy_manager.h" 5 #include "chrome/browser/policy/cloud/cloud_policy_manager.h"
6 6
7 #include "base/basictypes.h" 7 #include "base/basictypes.h"
8 #include "base/callback.h" 8 #include "base/callback.h"
9 #include "base/compiler_specific.h" 9 #include "base/compiler_specific.h"
10 #include "base/memory/scoped_ptr.h" 10 #include "base/memory/scoped_ptr.h"
11 #include "base/message_loop/message_loop.h" 11 #include "base/message_loop/message_loop.h"
12 #include "chrome/browser/policy/cloud/cloud_policy_constants.h" 12 #include "chrome/browser/policy/cloud/cloud_policy_constants.h"
13 #include "chrome/browser/policy/cloud/mock_cloud_policy_client.h" 13 #include "chrome/browser/policy/cloud/mock_cloud_policy_client.h"
14 #include "chrome/browser/policy/cloud/mock_cloud_policy_store.h" 14 #include "chrome/browser/policy/cloud/mock_cloud_policy_store.h"
15 #include "chrome/browser/policy/cloud/policy_builder.h" 15 #include "chrome/browser/policy/cloud/policy_builder.h"
16 #include "chrome/browser/policy/configuration_policy_provider_test.h" 16 #include "chrome/browser/policy/configuration_policy_provider_test.h"
17 #include "chrome/browser/policy/external_data_fetcher.h" 17 #include "chrome/browser/policy/external_data_fetcher.h"
18 #include "chrome/browser/policy/mock_configuration_policy_provider.h" 18 #include "chrome/browser/policy/mock_configuration_policy_provider.h"
19 #include "chrome/browser/policy/schema_registry.h"
19 #include "testing/gmock/include/gmock/gmock.h" 20 #include "testing/gmock/include/gmock/gmock.h"
20 #include "testing/gtest/include/gtest/gtest.h" 21 #include "testing/gtest/include/gtest/gtest.h"
21 22
22 using testing::Mock; 23 using testing::Mock;
23 using testing::_; 24 using testing::_;
24 25
25 namespace em = enterprise_management; 26 namespace em = enterprise_management;
26 27
27 namespace policy { 28 namespace policy {
28 namespace { 29 namespace {
29 30
30 class TestHarness : public PolicyProviderTestHarness { 31 class TestHarness : public PolicyProviderTestHarness {
31 public: 32 public:
32 explicit TestHarness(PolicyLevel level); 33 explicit TestHarness(PolicyLevel level);
33 virtual ~TestHarness(); 34 virtual ~TestHarness();
34 35
35 virtual void SetUp() OVERRIDE; 36 virtual void SetUp() OVERRIDE;
36 37
37 virtual ConfigurationPolicyProvider* CreateProvider( 38 virtual ConfigurationPolicyProvider* CreateProvider(
39 SchemaRegistry* registry,
38 scoped_refptr<base::SequencedTaskRunner> task_runner, 40 scoped_refptr<base::SequencedTaskRunner> task_runner,
39 const PolicyDefinitionList* policy_definition_list) OVERRIDE; 41 const PolicyDefinitionList* policy_definition_list) OVERRIDE;
40 42
41 virtual void InstallEmptyPolicy() OVERRIDE; 43 virtual void InstallEmptyPolicy() OVERRIDE;
42 virtual void InstallStringPolicy(const std::string& policy_name, 44 virtual void InstallStringPolicy(const std::string& policy_name,
43 const std::string& policy_value) OVERRIDE; 45 const std::string& policy_value) OVERRIDE;
44 virtual void InstallIntegerPolicy(const std::string& policy_name, 46 virtual void InstallIntegerPolicy(const std::string& policy_name,
45 int policy_value) OVERRIDE; 47 int policy_value) OVERRIDE;
46 virtual void InstallBooleanPolicy(const std::string& policy_name, 48 virtual void InstallBooleanPolicy(const std::string& policy_name,
47 bool policy_value) OVERRIDE; 49 bool policy_value) OVERRIDE;
(...skipping 15 matching lines...) Expand all
63 }; 65 };
64 66
65 TestHarness::TestHarness(PolicyLevel level) 67 TestHarness::TestHarness(PolicyLevel level)
66 : PolicyProviderTestHarness(level, POLICY_SCOPE_USER) {} 68 : PolicyProviderTestHarness(level, POLICY_SCOPE_USER) {}
67 69
68 TestHarness::~TestHarness() {} 70 TestHarness::~TestHarness() {}
69 71
70 void TestHarness::SetUp() {} 72 void TestHarness::SetUp() {}
71 73
72 ConfigurationPolicyProvider* TestHarness::CreateProvider( 74 ConfigurationPolicyProvider* TestHarness::CreateProvider(
75 SchemaRegistry* registry,
73 scoped_refptr<base::SequencedTaskRunner> task_runner, 76 scoped_refptr<base::SequencedTaskRunner> task_runner,
74 const PolicyDefinitionList* policy_definition_list) { 77 const PolicyDefinitionList* policy_definition_list) {
75 // Create and initialize the store. 78 // Create and initialize the store.
76 store_.NotifyStoreLoaded(); 79 store_.NotifyStoreLoaded();
77 ConfigurationPolicyProvider* provider = new CloudPolicyManager( 80 ConfigurationPolicyProvider* provider = new CloudPolicyManager(
78 PolicyNamespaceKey(dm_protocol::kChromeUserPolicyType, std::string()), 81 PolicyNamespaceKey(dm_protocol::kChromeUserPolicyType, std::string()),
79 &store_, 82 &store_,
80 task_runner); 83 task_runner);
81 Mock::VerifyAndClearExpectations(&store_); 84 Mock::VerifyAndClearExpectations(&store_);
82 return provider; 85 return provider;
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
169 base::Value::CreateStringValue("value"), NULL); 172 base::Value::CreateStringValue("value"), NULL);
170 expected_bundle_.Get(PolicyNamespace(POLICY_DOMAIN_CHROME, std::string())) 173 expected_bundle_.Get(PolicyNamespace(POLICY_DOMAIN_CHROME, std::string()))
171 .CopyFrom(policy_map_); 174 .CopyFrom(policy_map_);
172 175
173 policy_.payload().mutable_passwordmanagerenabled()->set_value(false); 176 policy_.payload().mutable_passwordmanagerenabled()->set_value(false);
174 policy_.Build(); 177 policy_.Build();
175 178
176 EXPECT_CALL(store_, Load()); 179 EXPECT_CALL(store_, Load());
177 manager_.reset(new TestCloudPolicyManager(&store_, 180 manager_.reset(new TestCloudPolicyManager(&store_,
178 loop_.message_loop_proxy())); 181 loop_.message_loop_proxy()));
179 manager_->Init(); 182 manager_->Init(&schema_registry_);
180 Mock::VerifyAndClearExpectations(&store_); 183 Mock::VerifyAndClearExpectations(&store_);
181 manager_->AddObserver(&observer_); 184 manager_->AddObserver(&observer_);
182 } 185 }
183 186
184 virtual void TearDown() OVERRIDE { 187 virtual void TearDown() OVERRIDE {
185 manager_->RemoveObserver(&observer_); 188 manager_->RemoveObserver(&observer_);
186 manager_->Shutdown(); 189 manager_->Shutdown();
187 } 190 }
188 191
189 // Required by the refresh scheduler that's created by the manager. 192 // Required by the refresh scheduler that's created by the manager.
190 base::MessageLoop loop_; 193 base::MessageLoop loop_;
191 194
192 // Testing policy. 195 // Testing policy.
193 const PolicyNamespaceKey policy_ns_key_; 196 const PolicyNamespaceKey policy_ns_key_;
194 UserPolicyBuilder policy_; 197 UserPolicyBuilder policy_;
195 PolicyMap policy_map_; 198 PolicyMap policy_map_;
196 PolicyBundle expected_bundle_; 199 PolicyBundle expected_bundle_;
197 200
198 // Policy infrastructure. 201 // Policy infrastructure.
202 SchemaRegistry schema_registry_;
199 MockConfigurationPolicyObserver observer_; 203 MockConfigurationPolicyObserver observer_;
200 MockCloudPolicyStore store_; 204 MockCloudPolicyStore store_;
201 scoped_ptr<TestCloudPolicyManager> manager_; 205 scoped_ptr<TestCloudPolicyManager> manager_;
202 206
203 private: 207 private:
204 DISALLOW_COPY_AND_ASSIGN(CloudPolicyManagerTest); 208 DISALLOW_COPY_AND_ASSIGN(CloudPolicyManagerTest);
205 }; 209 };
206 210
207 TEST_F(CloudPolicyManagerTest, InitAndShutdown) { 211 TEST_F(CloudPolicyManagerTest, InitAndShutdown) {
208 PolicyBundle empty_bundle; 212 PolicyBundle empty_bundle;
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after
339 store_.policy_.reset(new em::PolicyData(policy_.policy_data())); 343 store_.policy_.reset(new em::PolicyData(policy_.policy_data()));
340 EXPECT_CALL(observer_, OnUpdatePolicy(manager_.get())); 344 EXPECT_CALL(observer_, OnUpdatePolicy(manager_.get()));
341 store_.NotifyStoreError(); 345 store_.NotifyStoreError();
342 Mock::VerifyAndClearExpectations(&observer_); 346 Mock::VerifyAndClearExpectations(&observer_);
343 347
344 EXPECT_TRUE(manager_->IsInitializationComplete(POLICY_DOMAIN_CHROME)); 348 EXPECT_TRUE(manager_->IsInitializationComplete(POLICY_DOMAIN_CHROME));
345 } 349 }
346 350
347 } // namespace 351 } // namespace
348 } // namespace policy 352 } // namespace policy
OLDNEW
« no previous file with comments | « chrome/browser/policy/browser_policy_connector.cc ('k') | chrome/browser/policy/cloud/component_cloud_policy_service.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698