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

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

Issue 11415094: Split UserCloudPolicyManager implementation. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix DeviceCloudPolicyManagerChromeOSTest.EnrolledDevice failure. Created 8 years 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 | Annotate | Revision Log
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_policy_manager.h" 5 #include "chrome/browser/policy/cloud_policy_manager.h"
6 6
7 #include "base/basictypes.h" 7 #include "base/basictypes.h"
8 #include "base/compiler_specific.h" 8 #include "base/compiler_specific.h"
9 #include "base/memory/scoped_ptr.h" 9 #include "base/memory/scoped_ptr.h"
10 #include "base/message_loop.h" 10 #include "base/message_loop.h"
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
46 const base::ListValue* policy_value) OVERRIDE; 46 const base::ListValue* policy_value) OVERRIDE;
47 virtual void InstallDictionaryPolicy( 47 virtual void InstallDictionaryPolicy(
48 const std::string& policy_name, 48 const std::string& policy_name,
49 const base::DictionaryValue* policy_value) OVERRIDE; 49 const base::DictionaryValue* policy_value) OVERRIDE;
50 50
51 // Creates harnesses for mandatory and recommended levels, respectively. 51 // Creates harnesses for mandatory and recommended levels, respectively.
52 static PolicyProviderTestHarness* CreateMandatory(); 52 static PolicyProviderTestHarness* CreateMandatory();
53 static PolicyProviderTestHarness* CreateRecommended(); 53 static PolicyProviderTestHarness* CreateRecommended();
54 54
55 private: 55 private:
56 MockCloudPolicyStore* store_; 56 MockCloudPolicyStore store_;
57 57
58 DISALLOW_COPY_AND_ASSIGN(TestHarness); 58 DISALLOW_COPY_AND_ASSIGN(TestHarness);
59 }; 59 };
60 60
61 TestHarness::TestHarness(PolicyLevel level) 61 TestHarness::TestHarness(PolicyLevel level)
62 : PolicyProviderTestHarness(level, POLICY_SCOPE_USER) {} 62 : PolicyProviderTestHarness(level, POLICY_SCOPE_USER) {}
63 63
64 TestHarness::~TestHarness() {} 64 TestHarness::~TestHarness() {}
65 65
66 void TestHarness::SetUp() {} 66 void TestHarness::SetUp() {}
67 67
68 ConfigurationPolicyProvider* TestHarness::CreateProvider( 68 ConfigurationPolicyProvider* TestHarness::CreateProvider(
69 const PolicyDefinitionList* policy_definition_list) { 69 const PolicyDefinitionList* policy_definition_list) {
70 // Create and initialize the store. 70 // Create and initialize the store.
71 store_ = new MockCloudPolicyStore(); 71 store_.NotifyStoreLoaded();
72 store_->NotifyStoreLoaded(); 72 ConfigurationPolicyProvider* provider = new CloudPolicyManager(&store_);
73 ConfigurationPolicyProvider* provider = 73 Mock::VerifyAndClearExpectations(&store_);
74 new CloudPolicyManager(scoped_ptr<CloudPolicyStore>(store_));
75 Mock::VerifyAndClearExpectations(store_);
76 return provider; 74 return provider;
77 } 75 }
78 76
79 void TestHarness::InstallEmptyPolicy() {} 77 void TestHarness::InstallEmptyPolicy() {}
80 78
81 void TestHarness::InstallStringPolicy(const std::string& policy_name, 79 void TestHarness::InstallStringPolicy(const std::string& policy_name,
82 const std::string& policy_value) { 80 const std::string& policy_value) {
83 store_->policy_map_.Set(policy_name, policy_level(), policy_scope(), 81 store_.policy_map_.Set(policy_name, policy_level(), policy_scope(),
84 base::Value::CreateStringValue(policy_value)); 82 base::Value::CreateStringValue(policy_value));
85 } 83 }
86 84
87 void TestHarness::InstallIntegerPolicy(const std::string& policy_name, 85 void TestHarness::InstallIntegerPolicy(const std::string& policy_name,
88 int policy_value) { 86 int policy_value) {
89 store_->policy_map_.Set(policy_name, policy_level(), policy_scope(), 87 store_.policy_map_.Set(policy_name, policy_level(), policy_scope(),
90 base::Value::CreateIntegerValue(policy_value)); 88 base::Value::CreateIntegerValue(policy_value));
91 } 89 }
92 90
93 void TestHarness::InstallBooleanPolicy(const std::string& policy_name, 91 void TestHarness::InstallBooleanPolicy(const std::string& policy_name,
94 bool policy_value) { 92 bool policy_value) {
95 store_->policy_map_.Set(policy_name, policy_level(), policy_scope(), 93 store_.policy_map_.Set(policy_name, policy_level(), policy_scope(),
96 base::Value::CreateBooleanValue(policy_value)); 94 base::Value::CreateBooleanValue(policy_value));
97 } 95 }
98 96
99 void TestHarness::InstallStringListPolicy(const std::string& policy_name, 97 void TestHarness::InstallStringListPolicy(const std::string& policy_name,
100 const base::ListValue* policy_value) { 98 const base::ListValue* policy_value) {
101 store_->policy_map_.Set(policy_name, policy_level(), policy_scope(), 99 store_.policy_map_.Set(policy_name, policy_level(), policy_scope(),
102 policy_value->DeepCopy()); 100 policy_value->DeepCopy());
103 } 101 }
104 102
105 void TestHarness::InstallDictionaryPolicy( 103 void TestHarness::InstallDictionaryPolicy(
106 const std::string& policy_name, 104 const std::string& policy_name,
107 const base::DictionaryValue* policy_value) { 105 const base::DictionaryValue* policy_value) {
108 store_->policy_map_.Set(policy_name, policy_level(), policy_scope(), 106 store_.policy_map_.Set(policy_name, policy_level(), policy_scope(),
109 policy_value->DeepCopy()); 107 policy_value->DeepCopy());
110 } 108 }
111 109
112 // static 110 // static
113 PolicyProviderTestHarness* TestHarness::CreateMandatory() { 111 PolicyProviderTestHarness* TestHarness::CreateMandatory() {
114 return new TestHarness(POLICY_LEVEL_MANDATORY); 112 return new TestHarness(POLICY_LEVEL_MANDATORY);
115 } 113 }
116 114
117 // static 115 // static
118 PolicyProviderTestHarness* TestHarness::CreateRecommended() { 116 PolicyProviderTestHarness* TestHarness::CreateRecommended() {
119 return new TestHarness(POLICY_LEVEL_RECOMMENDED); 117 return new TestHarness(POLICY_LEVEL_RECOMMENDED);
120 } 118 }
121 119
122 // Instantiate abstract test case for basic policy reading tests. 120 // Instantiate abstract test case for basic policy reading tests.
123 INSTANTIATE_TEST_CASE_P( 121 INSTANTIATE_TEST_CASE_P(
124 UserCloudPolicyManagerProviderTest, 122 UserCloudPolicyManagerProviderTest,
125 ConfigurationPolicyProviderTest, 123 ConfigurationPolicyProviderTest,
126 testing::Values(TestHarness::CreateMandatory, 124 testing::Values(TestHarness::CreateMandatory,
127 TestHarness::CreateRecommended)); 125 TestHarness::CreateRecommended));
128 126
129 class TestCloudPolicyManager : public CloudPolicyManager { 127 class TestCloudPolicyManager : public CloudPolicyManager {
130 public: 128 public:
131 explicit TestCloudPolicyManager(scoped_ptr<CloudPolicyStore> store) 129 explicit TestCloudPolicyManager(CloudPolicyStore* store)
132 : CloudPolicyManager(store.Pass()) {} 130 : CloudPolicyManager(store) {}
133 virtual ~TestCloudPolicyManager() {} 131 virtual ~TestCloudPolicyManager() {}
134 132
135 // Publish the protected members for testing. 133 // Publish the protected members for testing.
136 using CloudPolicyManager::InitializeService; 134 using CloudPolicyManager::InitializeService;
137 using CloudPolicyManager::ShutdownService; 135 using CloudPolicyManager::ShutdownService;
138 using CloudPolicyManager::StartRefreshScheduler; 136 using CloudPolicyManager::StartRefreshScheduler;
139 using CloudPolicyManager::CheckAndPublishPolicy; 137 using CloudPolicyManager::CheckAndPublishPolicy;
140 138
141 private: 139 private:
142 DISALLOW_COPY_AND_ASSIGN(TestCloudPolicyManager); 140 DISALLOW_COPY_AND_ASSIGN(TestCloudPolicyManager);
(...skipping 11 matching lines...) Expand all
154 // Set up a policy map for testing. 152 // Set up a policy map for testing.
155 policy_map_.Set("key", POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 153 policy_map_.Set("key", POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
156 base::Value::CreateStringValue("value")); 154 base::Value::CreateStringValue("value"));
157 expected_bundle_.Get(POLICY_DOMAIN_CHROME, std::string()).CopyFrom( 155 expected_bundle_.Get(POLICY_DOMAIN_CHROME, std::string()).CopyFrom(
158 policy_map_); 156 policy_map_);
159 157
160 policy_.payload().mutable_homepagelocation()->set_value( 158 policy_.payload().mutable_homepagelocation()->set_value(
161 "http://www.example.com"); 159 "http://www.example.com");
162 policy_.Build(); 160 policy_.Build();
163 161
164 store_ = new MockCloudPolicyStore(); 162 EXPECT_CALL(store_, Load());
165 EXPECT_CALL(*store_, Load()); 163 manager_.reset(new TestCloudPolicyManager(&store_));
166 manager_.reset(
167 new TestCloudPolicyManager(scoped_ptr<CloudPolicyStore>(store_)));
168 manager_->Init(); 164 manager_->Init();
169 Mock::VerifyAndClearExpectations(store_); 165 Mock::VerifyAndClearExpectations(&store_);
170 manager_->AddObserver(&observer_); 166 manager_->AddObserver(&observer_);
171 } 167 }
172 168
173 virtual void TearDown() OVERRIDE { 169 virtual void TearDown() OVERRIDE {
174 manager_->RemoveObserver(&observer_); 170 manager_->RemoveObserver(&observer_);
175 manager_->Shutdown(); 171 manager_->Shutdown();
176 } 172 }
177 173
178 // Required by the refresh scheduler that's created by the manager. 174 // Required by the refresh scheduler that's created by the manager.
179 MessageLoop loop_; 175 MessageLoop loop_;
180 176
181 // Testing policy. 177 // Testing policy.
182 UserPolicyBuilder policy_; 178 UserPolicyBuilder policy_;
183 PolicyMap policy_map_; 179 PolicyMap policy_map_;
184 PolicyBundle expected_bundle_; 180 PolicyBundle expected_bundle_;
185 181
186 // Policy infrastructure. 182 // Policy infrastructure.
187 MockConfigurationPolicyObserver observer_; 183 MockConfigurationPolicyObserver observer_;
188 MockCloudPolicyStore* store_; 184 MockCloudPolicyStore store_;
189 scoped_ptr<TestCloudPolicyManager> manager_; 185 scoped_ptr<TestCloudPolicyManager> manager_;
190 186
191 private: 187 private:
192 DISALLOW_COPY_AND_ASSIGN(CloudPolicyManagerTest); 188 DISALLOW_COPY_AND_ASSIGN(CloudPolicyManagerTest);
193 }; 189 };
194 190
195 TEST_F(CloudPolicyManagerTest, InitAndShutdown) { 191 TEST_F(CloudPolicyManagerTest, InitAndShutdown) {
196 PolicyBundle empty_bundle; 192 PolicyBundle empty_bundle;
197 EXPECT_TRUE(empty_bundle.Equals(manager_->policies())); 193 EXPECT_TRUE(empty_bundle.Equals(manager_->policies()));
198 EXPECT_FALSE(manager_->IsInitializationComplete()); 194 EXPECT_FALSE(manager_->IsInitializationComplete());
199 195
200 EXPECT_CALL(observer_, OnUpdatePolicy(_)).Times(0); 196 EXPECT_CALL(observer_, OnUpdatePolicy(_)).Times(0);
201 manager_->CheckAndPublishPolicy(); 197 manager_->CheckAndPublishPolicy();
202 Mock::VerifyAndClearExpectations(&observer_); 198 Mock::VerifyAndClearExpectations(&observer_);
203 199
204 store_->policy_map_.CopyFrom(policy_map_); 200 store_.policy_map_.CopyFrom(policy_map_);
205 store_->policy_.reset(new em::PolicyData(policy_.policy_data())); 201 store_.policy_.reset(new em::PolicyData(policy_.policy_data()));
206 EXPECT_CALL(observer_, OnUpdatePolicy(manager_.get())); 202 EXPECT_CALL(observer_, OnUpdatePolicy(manager_.get()));
207 store_->NotifyStoreLoaded(); 203 store_.NotifyStoreLoaded();
208 Mock::VerifyAndClearExpectations(&observer_); 204 Mock::VerifyAndClearExpectations(&observer_);
209 EXPECT_TRUE(expected_bundle_.Equals(manager_->policies())); 205 EXPECT_TRUE(expected_bundle_.Equals(manager_->policies()));
210 EXPECT_TRUE(manager_->IsInitializationComplete()); 206 EXPECT_TRUE(manager_->IsInitializationComplete());
211 207
212 MockCloudPolicyClient* client = new MockCloudPolicyClient(); 208 MockCloudPolicyClient* client = new MockCloudPolicyClient();
213 EXPECT_CALL(*client, SetupRegistration(_, _)); 209 EXPECT_CALL(*client, SetupRegistration(_, _));
214 manager_->InitializeService(scoped_ptr<CloudPolicyClient>(client)); 210 manager_->InitializeService(scoped_ptr<CloudPolicyClient>(client));
215 Mock::VerifyAndClearExpectations(client); 211 Mock::VerifyAndClearExpectations(client);
216 EXPECT_TRUE(manager_->cloud_policy_client()); 212 EXPECT_TRUE(manager_->cloud_policy_client());
217 EXPECT_TRUE(manager_->cloud_policy_service()); 213 EXPECT_TRUE(manager_->cloud_policy_service());
218 214
219 EXPECT_CALL(observer_, OnUpdatePolicy(manager_.get())); 215 EXPECT_CALL(observer_, OnUpdatePolicy(manager_.get()));
220 manager_->CheckAndPublishPolicy(); 216 manager_->CheckAndPublishPolicy();
221 Mock::VerifyAndClearExpectations(&observer_); 217 Mock::VerifyAndClearExpectations(&observer_);
222 218
223 manager_->ShutdownService(); 219 manager_->ShutdownService();
224 EXPECT_FALSE(manager_->cloud_policy_client()); 220 EXPECT_FALSE(manager_->cloud_policy_client());
225 EXPECT_FALSE(manager_->cloud_policy_service()); 221 EXPECT_FALSE(manager_->cloud_policy_service());
226 } 222 }
227 223
228 TEST_F(CloudPolicyManagerTest, RegistrationAndFetch) { 224 TEST_F(CloudPolicyManagerTest, RegistrationAndFetch) {
229 EXPECT_CALL(observer_, OnUpdatePolicy(manager_.get())); 225 EXPECT_CALL(observer_, OnUpdatePolicy(manager_.get()));
230 store_->NotifyStoreLoaded(); 226 store_.NotifyStoreLoaded();
231 Mock::VerifyAndClearExpectations(&observer_); 227 Mock::VerifyAndClearExpectations(&observer_);
232 EXPECT_TRUE(manager_->IsInitializationComplete()); 228 EXPECT_TRUE(manager_->IsInitializationComplete());
233 229
234 MockCloudPolicyClient* client = new MockCloudPolicyClient(); 230 MockCloudPolicyClient* client = new MockCloudPolicyClient();
235 manager_->InitializeService(scoped_ptr<CloudPolicyClient>(client)); 231 manager_->InitializeService(scoped_ptr<CloudPolicyClient>(client));
236 232
237 client->SetDMToken(policy_.policy_data().request_token()); 233 client->SetDMToken(policy_.policy_data().request_token());
238 client->NotifyRegistrationStateChanged(); 234 client->NotifyRegistrationStateChanged();
239 235
240 client->SetPolicy(policy_.policy()); 236 client->SetPolicy(policy_.policy());
241 EXPECT_CALL(*store_, Store(ProtoMatches(policy_.policy()))); 237 EXPECT_CALL(store_, Store(ProtoMatches(policy_.policy())));
242 client->NotifyPolicyFetched(); 238 client->NotifyPolicyFetched();
243 Mock::VerifyAndClearExpectations(store_); 239 Mock::VerifyAndClearExpectations(&store_);
244 240
245 store_->policy_map_.CopyFrom(policy_map_); 241 store_.policy_map_.CopyFrom(policy_map_);
246 EXPECT_CALL(observer_, OnUpdatePolicy(manager_.get())); 242 EXPECT_CALL(observer_, OnUpdatePolicy(manager_.get()));
247 store_->NotifyStoreLoaded(); 243 store_.NotifyStoreLoaded();
248 Mock::VerifyAndClearExpectations(&observer_); 244 Mock::VerifyAndClearExpectations(&observer_);
249 EXPECT_TRUE(expected_bundle_.Equals(manager_->policies())); 245 EXPECT_TRUE(expected_bundle_.Equals(manager_->policies()));
250 } 246 }
251 247
252 TEST_F(CloudPolicyManagerTest, Update) { 248 TEST_F(CloudPolicyManagerTest, Update) {
253 EXPECT_CALL(observer_, OnUpdatePolicy(manager_.get())); 249 EXPECT_CALL(observer_, OnUpdatePolicy(manager_.get()));
254 store_->NotifyStoreLoaded(); 250 store_.NotifyStoreLoaded();
255 Mock::VerifyAndClearExpectations(&observer_); 251 Mock::VerifyAndClearExpectations(&observer_);
256 EXPECT_TRUE(manager_->IsInitializationComplete()); 252 EXPECT_TRUE(manager_->IsInitializationComplete());
257 PolicyBundle empty_bundle; 253 PolicyBundle empty_bundle;
258 EXPECT_TRUE(empty_bundle.Equals(manager_->policies())); 254 EXPECT_TRUE(empty_bundle.Equals(manager_->policies()));
259 255
260 store_->policy_map_.CopyFrom(policy_map_); 256 store_.policy_map_.CopyFrom(policy_map_);
261 EXPECT_CALL(observer_, OnUpdatePolicy(manager_.get())); 257 EXPECT_CALL(observer_, OnUpdatePolicy(manager_.get()));
262 store_->NotifyStoreLoaded(); 258 store_.NotifyStoreLoaded();
263 Mock::VerifyAndClearExpectations(&observer_); 259 Mock::VerifyAndClearExpectations(&observer_);
264 EXPECT_TRUE(expected_bundle_.Equals(manager_->policies())); 260 EXPECT_TRUE(expected_bundle_.Equals(manager_->policies()));
265 EXPECT_TRUE(manager_->IsInitializationComplete()); 261 EXPECT_TRUE(manager_->IsInitializationComplete());
266 } 262 }
267 263
268 TEST_F(CloudPolicyManagerTest, RefreshNotRegistered) { 264 TEST_F(CloudPolicyManagerTest, RefreshNotRegistered) {
269 MockCloudPolicyClient* client = new MockCloudPolicyClient(); 265 MockCloudPolicyClient* client = new MockCloudPolicyClient();
270 manager_->InitializeService(scoped_ptr<CloudPolicyClient>(client)); 266 manager_->InitializeService(scoped_ptr<CloudPolicyClient>(client));
271 267
272 EXPECT_CALL(observer_, OnUpdatePolicy(manager_.get())); 268 EXPECT_CALL(observer_, OnUpdatePolicy(manager_.get()));
273 store_->NotifyStoreLoaded(); 269 store_.NotifyStoreLoaded();
274 Mock::VerifyAndClearExpectations(&observer_); 270 Mock::VerifyAndClearExpectations(&observer_);
275 271
276 // A refresh on a non-registered store should not block. 272 // A refresh on a non-registered store should not block.
277 EXPECT_CALL(observer_, OnUpdatePolicy(manager_.get())); 273 EXPECT_CALL(observer_, OnUpdatePolicy(manager_.get()));
278 manager_->RefreshPolicies(); 274 manager_->RefreshPolicies();
279 Mock::VerifyAndClearExpectations(&observer_); 275 Mock::VerifyAndClearExpectations(&observer_);
280 } 276 }
281 277
282 TEST_F(CloudPolicyManagerTest, RefreshSuccessful) { 278 TEST_F(CloudPolicyManagerTest, RefreshSuccessful) {
283 MockCloudPolicyClient* client = new MockCloudPolicyClient(); 279 MockCloudPolicyClient* client = new MockCloudPolicyClient();
284 manager_->InitializeService(scoped_ptr<CloudPolicyClient>(client)); 280 manager_->InitializeService(scoped_ptr<CloudPolicyClient>(client));
285 281
286 // Simulate a store load. 282 // Simulate a store load.
287 store_->policy_.reset(new em::PolicyData(policy_.policy_data())); 283 store_.policy_.reset(new em::PolicyData(policy_.policy_data()));
288 EXPECT_CALL(observer_, OnUpdatePolicy(manager_.get())); 284 EXPECT_CALL(observer_, OnUpdatePolicy(manager_.get()));
289 EXPECT_CALL(*client, SetupRegistration(_, _)); 285 EXPECT_CALL(*client, SetupRegistration(_, _));
290 store_->NotifyStoreLoaded(); 286 store_.NotifyStoreLoaded();
291 Mock::VerifyAndClearExpectations(client); 287 Mock::VerifyAndClearExpectations(client);
292 Mock::VerifyAndClearExpectations(&observer_); 288 Mock::VerifyAndClearExpectations(&observer_);
293 289
294 // Acknowledge registration. 290 // Acknowledge registration.
295 client->SetDMToken(policy_.policy_data().request_token()); 291 client->SetDMToken(policy_.policy_data().request_token());
296 292
297 // Start a refresh. 293 // Start a refresh.
298 EXPECT_CALL(observer_, OnUpdatePolicy(_)).Times(0); 294 EXPECT_CALL(observer_, OnUpdatePolicy(_)).Times(0);
299 EXPECT_CALL(*client, FetchPolicy()); 295 EXPECT_CALL(*client, FetchPolicy());
300 manager_->RefreshPolicies(); 296 manager_->RefreshPolicies();
301 Mock::VerifyAndClearExpectations(client); 297 Mock::VerifyAndClearExpectations(client);
302 Mock::VerifyAndClearExpectations(&observer_); 298 Mock::VerifyAndClearExpectations(&observer_);
303 store_->policy_map_.CopyFrom(policy_map_); 299 store_.policy_map_.CopyFrom(policy_map_);
304 300
305 // A stray reload should be suppressed until the refresh completes. 301 // A stray reload should be suppressed until the refresh completes.
306 EXPECT_CALL(observer_, OnUpdatePolicy(_)).Times(0); 302 EXPECT_CALL(observer_, OnUpdatePolicy(_)).Times(0);
307 store_->NotifyStoreLoaded(); 303 store_.NotifyStoreLoaded();
308 Mock::VerifyAndClearExpectations(&observer_); 304 Mock::VerifyAndClearExpectations(&observer_);
309 305
310 // Respond to the policy fetch, which should trigger a write to |store_|. 306 // Respond to the policy fetch, which should trigger a write to |store_|.
311 EXPECT_CALL(observer_, OnUpdatePolicy(_)).Times(0); 307 EXPECT_CALL(observer_, OnUpdatePolicy(_)).Times(0);
312 EXPECT_CALL(*store_, Store(_)); 308 EXPECT_CALL(store_, Store(_));
313 client->SetPolicy(policy_.policy()); 309 client->SetPolicy(policy_.policy());
314 client->NotifyPolicyFetched(); 310 client->NotifyPolicyFetched();
315 Mock::VerifyAndClearExpectations(&observer_); 311 Mock::VerifyAndClearExpectations(&observer_);
316 Mock::VerifyAndClearExpectations(store_); 312 Mock::VerifyAndClearExpectations(&store_);
317 313
318 // The load notification from |store_| should trigger the policy update. 314 // The load notification from |store_| should trigger the policy update.
319 EXPECT_CALL(observer_, OnUpdatePolicy(manager_.get())); 315 EXPECT_CALL(observer_, OnUpdatePolicy(manager_.get()));
320 store_->NotifyStoreLoaded(); 316 store_.NotifyStoreLoaded();
321 EXPECT_TRUE(expected_bundle_.Equals(manager_->policies())); 317 EXPECT_TRUE(expected_bundle_.Equals(manager_->policies()));
322 Mock::VerifyAndClearExpectations(&observer_); 318 Mock::VerifyAndClearExpectations(&observer_);
323 } 319 }
324 320
325 } // namespace 321 } // namespace
326 } // namespace policy 322 } // namespace policy
OLDNEW
« no previous file with comments | « chrome/browser/policy/cloud_policy_manager.cc ('k') | chrome/browser/policy/cloud_policy_store.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698