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

Side by Side Diff: chrome/browser/chromeos/policy/device_local_account_policy_service_unittest.cc

Issue 822523003: Implement device-local account policy pushing (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@f_2_442800_switch_device_cloud_policy_invalidator
Patch Set: Rebased. Created 5 years, 10 months 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/chromeos/policy/device_local_account_policy_service.h" 5 #include "chrome/browser/chromeos/policy/device_local_account_policy_service.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/bind_helpers.h" 10 #include "base/bind_helpers.h"
11 #include "base/callback.h" 11 #include "base/callback.h"
12 #include "base/files/file_path.h" 12 #include "base/files/file_path.h"
13 #include "base/files/file_util.h" 13 #include "base/files/file_util.h"
14 #include "base/files/scoped_temp_dir.h" 14 #include "base/files/scoped_temp_dir.h"
15 #include "base/message_loop/message_loop.h" 15 #include "base/message_loop/message_loop.h"
16 #include "base/message_loop/message_loop_proxy.h" 16 #include "base/message_loop/message_loop_proxy.h"
17 #include "base/path_service.h" 17 #include "base/path_service.h"
18 #include "base/run_loop.h" 18 #include "base/run_loop.h"
19 #include "base/strings/string_number_conversions.h" 19 #include "base/strings/string_number_conversions.h"
20 #include "base/strings/stringprintf.h" 20 #include "base/strings/stringprintf.h"
21 #include "base/test/scoped_path_override.h" 21 #include "base/test/scoped_path_override.h"
22 #include "base/test/test_simple_task_runner.h" 22 #include "base/test/test_simple_task_runner.h"
23 #include "chrome/browser/chromeos/policy/device_local_account.h" 23 #include "chrome/browser/chromeos/policy/device_local_account.h"
24 #include "chrome/browser/chromeos/policy/device_local_account_policy_provider.h" 24 #include "chrome/browser/chromeos/policy/device_local_account_policy_provider.h"
25 #include "chrome/browser/chromeos/policy/fake_affiliated_invalidation_service_pr ovider.h"
25 #include "chrome/browser/chromeos/policy/proto/chrome_device_policy.pb.h" 26 #include "chrome/browser/chromeos/policy/proto/chrome_device_policy.pb.h"
26 #include "chrome/browser/chromeos/settings/cros_settings.h" 27 #include "chrome/browser/chromeos/settings/cros_settings.h"
27 #include "chrome/browser/chromeos/settings/device_settings_service.h" 28 #include "chrome/browser/chromeos/settings/device_settings_service.h"
28 #include "chrome/browser/chromeos/settings/device_settings_test_helper.h" 29 #include "chrome/browser/chromeos/settings/device_settings_test_helper.h"
29 #include "chrome/common/chrome_paths.h" 30 #include "chrome/common/chrome_paths.h"
30 #include "chromeos/chromeos_paths.h" 31 #include "chromeos/chromeos_paths.h"
31 #include "chromeos/dbus/power_policy_controller.h" 32 #include "chromeos/dbus/power_policy_controller.h"
32 #include "components/policy/core/common/cloud/cloud_policy_client.h" 33 #include "components/policy/core/common/cloud/cloud_policy_client.h"
33 #include "components/policy/core/common/cloud/cloud_policy_constants.h" 34 #include "components/policy/core/common/cloud/cloud_policy_constants.h"
34 #include "components/policy/core/common/cloud/cloud_policy_service.h" 35 #include "components/policy/core/common/cloud/cloud_policy_service.h"
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
91 virtual void InstallDevicePolicy(); 92 virtual void InstallDevicePolicy();
92 93
93 const std::string account_1_user_id_; 94 const std::string account_1_user_id_;
94 const std::string account_2_user_id_; 95 const std::string account_2_user_id_;
95 96
96 PolicyMap expected_policy_map_; 97 PolicyMap expected_policy_map_;
97 UserPolicyBuilder device_local_account_policy_; 98 UserPolicyBuilder device_local_account_policy_;
98 chromeos::CrosSettings cros_settings_; 99 chromeos::CrosSettings cros_settings_;
99 scoped_refptr<base::TestSimpleTaskRunner> extension_cache_task_runner_; 100 scoped_refptr<base::TestSimpleTaskRunner> extension_cache_task_runner_;
100 MockDeviceManagementService mock_device_management_service_; 101 MockDeviceManagementService mock_device_management_service_;
102 FakeAffiliatedInvalidationServiceProvider
103 affiliated_invalidation_service_provider_;
101 scoped_ptr<DeviceLocalAccountPolicyService> service_; 104 scoped_ptr<DeviceLocalAccountPolicyService> service_;
102 105
103 private: 106 private:
104 DISALLOW_COPY_AND_ASSIGN(DeviceLocalAccountPolicyServiceTestBase); 107 DISALLOW_COPY_AND_ASSIGN(DeviceLocalAccountPolicyServiceTestBase);
105 }; 108 };
106 109
107 class DeviceLocalAccountPolicyServiceTest 110 class DeviceLocalAccountPolicyServiceTest
108 : public DeviceLocalAccountPolicyServiceTestBase { 111 : public DeviceLocalAccountPolicyServiceTestBase {
109 public: 112 public:
110 MOCK_METHOD1(OnRefreshDone, void(bool)); 113 MOCK_METHOD1(OnRefreshDone, void(bool));
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
155 service_.reset(); 158 service_.reset();
156 extension_cache_task_runner_->RunUntilIdle(); 159 extension_cache_task_runner_->RunUntilIdle();
157 chromeos::DeviceSettingsTestBase::TearDown(); 160 chromeos::DeviceSettingsTestBase::TearDown();
158 } 161 }
159 162
160 void DeviceLocalAccountPolicyServiceTestBase::CreatePolicyService() { 163 void DeviceLocalAccountPolicyServiceTestBase::CreatePolicyService() {
161 service_.reset(new DeviceLocalAccountPolicyService( 164 service_.reset(new DeviceLocalAccountPolicyService(
162 &device_settings_test_helper_, 165 &device_settings_test_helper_,
163 &device_settings_service_, 166 &device_settings_service_,
164 &cros_settings_, 167 &cros_settings_,
168 &affiliated_invalidation_service_provider_,
165 base::MessageLoopProxy::current(), 169 base::MessageLoopProxy::current(),
166 extension_cache_task_runner_, 170 extension_cache_task_runner_,
167 base::MessageLoopProxy::current(), 171 base::MessageLoopProxy::current(),
168 base::MessageLoopProxy::current(), 172 base::MessageLoopProxy::current(),
169 new net::TestURLRequestContextGetter(base::MessageLoopProxy::current()))); 173 new net::TestURLRequestContextGetter(base::MessageLoopProxy::current())));
170 } 174 }
171 175
172 void DeviceLocalAccountPolicyServiceTestBase:: 176 void DeviceLocalAccountPolicyServiceTestBase::
173 InstallDeviceLocalAccountPolicy(const std::string& account_id) { 177 InstallDeviceLocalAccountPolicy(const std::string& account_id) {
174 device_local_account_policy_.policy_data().set_settings_entity_id(account_id); 178 device_local_account_policy_.policy_data().set_settings_entity_id(account_id);
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
224 InstallDevicePolicy(); 228 InstallDevicePolicy();
225 229
226 DeviceLocalAccountPolicyBroker* broker = 230 DeviceLocalAccountPolicyBroker* broker =
227 service_->GetBrokerForUser(account_1_user_id_); 231 service_->GetBrokerForUser(account_1_user_id_);
228 ASSERT_TRUE(broker); 232 ASSERT_TRUE(broker);
229 EXPECT_EQ(account_1_user_id_, broker->user_id()); 233 EXPECT_EQ(account_1_user_id_, broker->user_id());
230 ASSERT_TRUE(broker->core()->store()); 234 ASSERT_TRUE(broker->core()->store());
231 EXPECT_EQ(CloudPolicyStore::STATUS_OK, broker->core()->store()->status()); 235 EXPECT_EQ(CloudPolicyStore::STATUS_OK, broker->core()->store()->status());
232 EXPECT_FALSE(broker->core()->client()); 236 EXPECT_FALSE(broker->core()->client());
233 EXPECT_FALSE(broker->core()->store()->policy_map().empty()); 237 EXPECT_FALSE(broker->core()->store()->policy_map().empty());
238 EXPECT_FALSE(broker->HasInvalidatorForTest());
234 } 239 }
235 240
236 TEST_F(DeviceLocalAccountPolicyServiceTest, LoadNoPolicy) { 241 TEST_F(DeviceLocalAccountPolicyServiceTest, LoadNoPolicy) {
237 AddDeviceLocalAccountToPolicy(kAccount1); 242 AddDeviceLocalAccountToPolicy(kAccount1);
238 EXPECT_CALL(service_observer_, OnPolicyUpdated(account_1_user_id_)); 243 EXPECT_CALL(service_observer_, OnPolicyUpdated(account_1_user_id_));
239 InstallDevicePolicy(); 244 InstallDevicePolicy();
240 245
241 DeviceLocalAccountPolicyBroker* broker = 246 DeviceLocalAccountPolicyBroker* broker =
242 service_->GetBrokerForUser(account_1_user_id_); 247 service_->GetBrokerForUser(account_1_user_id_);
243 ASSERT_TRUE(broker); 248 ASSERT_TRUE(broker);
244 EXPECT_EQ(account_1_user_id_, broker->user_id()); 249 EXPECT_EQ(account_1_user_id_, broker->user_id());
245 ASSERT_TRUE(broker->core()->store()); 250 ASSERT_TRUE(broker->core()->store());
246 EXPECT_EQ(CloudPolicyStore::STATUS_LOAD_ERROR, 251 EXPECT_EQ(CloudPolicyStore::STATUS_LOAD_ERROR,
247 broker->core()->store()->status()); 252 broker->core()->store()->status());
248 EXPECT_TRUE(broker->core()->store()->policy_map().empty()); 253 EXPECT_TRUE(broker->core()->store()->policy_map().empty());
254 EXPECT_FALSE(broker->HasInvalidatorForTest());
249 EXPECT_FALSE(service_->IsPolicyAvailableForUser(account_1_user_id_)); 255 EXPECT_FALSE(service_->IsPolicyAvailableForUser(account_1_user_id_));
250 } 256 }
251 257
252 TEST_F(DeviceLocalAccountPolicyServiceTest, LoadValidationFailure) { 258 TEST_F(DeviceLocalAccountPolicyServiceTest, LoadValidationFailure) {
253 device_local_account_policy_.policy_data().set_policy_type( 259 device_local_account_policy_.policy_data().set_policy_type(
254 dm_protocol::kChromeUserPolicyType); 260 dm_protocol::kChromeUserPolicyType);
255 InstallDeviceLocalAccountPolicy(kAccount1); 261 InstallDeviceLocalAccountPolicy(kAccount1);
256 AddDeviceLocalAccountToPolicy(kAccount1); 262 AddDeviceLocalAccountToPolicy(kAccount1);
257 EXPECT_CALL(service_observer_, OnPolicyUpdated(account_1_user_id_)); 263 EXPECT_CALL(service_observer_, OnPolicyUpdated(account_1_user_id_));
258 InstallDevicePolicy(); 264 InstallDevicePolicy();
259 265
260 DeviceLocalAccountPolicyBroker* broker = 266 DeviceLocalAccountPolicyBroker* broker =
261 service_->GetBrokerForUser(account_1_user_id_); 267 service_->GetBrokerForUser(account_1_user_id_);
262 ASSERT_TRUE(broker); 268 ASSERT_TRUE(broker);
263 EXPECT_EQ(account_1_user_id_, broker->user_id()); 269 EXPECT_EQ(account_1_user_id_, broker->user_id());
264 ASSERT_TRUE(broker->core()->store()); 270 ASSERT_TRUE(broker->core()->store());
265 EXPECT_EQ(CloudPolicyStore::STATUS_VALIDATION_ERROR, 271 EXPECT_EQ(CloudPolicyStore::STATUS_VALIDATION_ERROR,
266 broker->core()->store()->status()); 272 broker->core()->store()->status());
267 EXPECT_TRUE(broker->core()->store()->policy_map().empty()); 273 EXPECT_TRUE(broker->core()->store()->policy_map().empty());
274 EXPECT_FALSE(broker->HasInvalidatorForTest());
268 EXPECT_FALSE(service_->IsPolicyAvailableForUser(account_1_user_id_)); 275 EXPECT_FALSE(service_->IsPolicyAvailableForUser(account_1_user_id_));
269 } 276 }
270 277
271 TEST_F(DeviceLocalAccountPolicyServiceTest, LoadPolicy) { 278 TEST_F(DeviceLocalAccountPolicyServiceTest, LoadPolicy) {
272 InstallDeviceLocalAccountPolicy(kAccount1); 279 InstallDeviceLocalAccountPolicy(kAccount1);
273 AddDeviceLocalAccountToPolicy(kAccount1); 280 AddDeviceLocalAccountToPolicy(kAccount1);
274 EXPECT_CALL(service_observer_, OnPolicyUpdated(account_1_user_id_)); 281 EXPECT_CALL(service_observer_, OnPolicyUpdated(account_1_user_id_));
275 InstallDevicePolicy(); 282 InstallDevicePolicy();
276 283
277 DeviceLocalAccountPolicyBroker* broker = 284 DeviceLocalAccountPolicyBroker* broker =
278 service_->GetBrokerForUser(account_1_user_id_); 285 service_->GetBrokerForUser(account_1_user_id_);
279 ASSERT_TRUE(broker); 286 ASSERT_TRUE(broker);
280 EXPECT_EQ(account_1_user_id_, broker->user_id()); 287 EXPECT_EQ(account_1_user_id_, broker->user_id());
281 ASSERT_TRUE(broker->core()->store()); 288 ASSERT_TRUE(broker->core()->store());
282 EXPECT_EQ(CloudPolicyStore::STATUS_OK, broker->core()->store()->status()); 289 EXPECT_EQ(CloudPolicyStore::STATUS_OK, broker->core()->store()->status());
283 ASSERT_TRUE(broker->core()->store()->policy()); 290 ASSERT_TRUE(broker->core()->store()->policy());
284 EXPECT_EQ(device_local_account_policy_.policy_data().SerializeAsString(), 291 EXPECT_EQ(device_local_account_policy_.policy_data().SerializeAsString(),
285 broker->core()->store()->policy()->SerializeAsString()); 292 broker->core()->store()->policy()->SerializeAsString());
286 EXPECT_TRUE(expected_policy_map_.Equals( 293 EXPECT_TRUE(expected_policy_map_.Equals(
287 broker->core()->store()->policy_map())); 294 broker->core()->store()->policy_map()));
295 EXPECT_FALSE(broker->HasInvalidatorForTest());
288 EXPECT_TRUE(service_->IsPolicyAvailableForUser(account_1_user_id_)); 296 EXPECT_TRUE(service_->IsPolicyAvailableForUser(account_1_user_id_));
289 } 297 }
290 298
291 TEST_F(DeviceLocalAccountPolicyServiceTest, StoreValidationFailure) { 299 TEST_F(DeviceLocalAccountPolicyServiceTest, StoreValidationFailure) {
292 AddDeviceLocalAccountToPolicy(kAccount1); 300 AddDeviceLocalAccountToPolicy(kAccount1);
293 EXPECT_CALL(service_observer_, OnPolicyUpdated(account_1_user_id_)); 301 EXPECT_CALL(service_observer_, OnPolicyUpdated(account_1_user_id_));
294 InstallDevicePolicy(); 302 InstallDevicePolicy();
295 Mock::VerifyAndClearExpectations(&service_observer_); 303 Mock::VerifyAndClearExpectations(&service_observer_);
296 304
297 DeviceLocalAccountPolicyBroker* broker = 305 DeviceLocalAccountPolicyBroker* broker =
298 service_->GetBrokerForUser(account_1_user_id_); 306 service_->GetBrokerForUser(account_1_user_id_);
299 ASSERT_TRUE(broker); 307 ASSERT_TRUE(broker);
300 EXPECT_EQ(account_1_user_id_, broker->user_id()); 308 EXPECT_EQ(account_1_user_id_, broker->user_id());
301 ASSERT_TRUE(broker->core()->store()); 309 ASSERT_TRUE(broker->core()->store());
302 310
303 device_local_account_policy_.policy_data().set_policy_type( 311 device_local_account_policy_.policy_data().set_policy_type(
304 dm_protocol::kChromeUserPolicyType); 312 dm_protocol::kChromeUserPolicyType);
305 device_local_account_policy_.Build(); 313 device_local_account_policy_.Build();
306 broker->core()->store()->Store(device_local_account_policy_.policy()); 314 broker->core()->store()->Store(device_local_account_policy_.policy());
307 EXPECT_CALL(service_observer_, OnPolicyUpdated(account_1_user_id_)); 315 EXPECT_CALL(service_observer_, OnPolicyUpdated(account_1_user_id_));
308 FlushDeviceSettings(); 316 FlushDeviceSettings();
309 317
310 EXPECT_EQ(CloudPolicyStore::STATUS_VALIDATION_ERROR, 318 EXPECT_EQ(CloudPolicyStore::STATUS_VALIDATION_ERROR,
311 broker->core()->store()->status()); 319 broker->core()->store()->status());
312 EXPECT_EQ(CloudPolicyValidatorBase::VALIDATION_WRONG_POLICY_TYPE, 320 EXPECT_EQ(CloudPolicyValidatorBase::VALIDATION_WRONG_POLICY_TYPE,
313 broker->core()->store()->validation_status()); 321 broker->core()->store()->validation_status());
322 EXPECT_FALSE(broker->HasInvalidatorForTest());
314 EXPECT_FALSE(service_->IsPolicyAvailableForUser(account_1_user_id_)); 323 EXPECT_FALSE(service_->IsPolicyAvailableForUser(account_1_user_id_));
315 } 324 }
316 325
317 TEST_F(DeviceLocalAccountPolicyServiceTest, StorePolicy) { 326 TEST_F(DeviceLocalAccountPolicyServiceTest, StorePolicy) {
318 AddDeviceLocalAccountToPolicy(kAccount1); 327 AddDeviceLocalAccountToPolicy(kAccount1);
319 EXPECT_CALL(service_observer_, OnPolicyUpdated(account_1_user_id_)); 328 EXPECT_CALL(service_observer_, OnPolicyUpdated(account_1_user_id_));
320 InstallDevicePolicy(); 329 InstallDevicePolicy();
321 Mock::VerifyAndClearExpectations(&service_observer_); 330 Mock::VerifyAndClearExpectations(&service_observer_);
322 331
323 DeviceLocalAccountPolicyBroker* broker = 332 DeviceLocalAccountPolicyBroker* broker =
324 service_->GetBrokerForUser(account_1_user_id_); 333 service_->GetBrokerForUser(account_1_user_id_);
325 ASSERT_TRUE(broker); 334 ASSERT_TRUE(broker);
326 EXPECT_EQ(account_1_user_id_, broker->user_id()); 335 EXPECT_EQ(account_1_user_id_, broker->user_id());
327 ASSERT_TRUE(broker->core()->store()); 336 ASSERT_TRUE(broker->core()->store());
328 337
329 device_local_account_policy_.policy_data().set_settings_entity_id(kAccount1); 338 device_local_account_policy_.policy_data().set_settings_entity_id(kAccount1);
330 device_local_account_policy_.policy_data().set_username(kAccount1); 339 device_local_account_policy_.policy_data().set_username(kAccount1);
331 device_local_account_policy_.Build(); 340 device_local_account_policy_.Build();
332 broker->core()->store()->Store(device_local_account_policy_.policy()); 341 broker->core()->store()->Store(device_local_account_policy_.policy());
333 EXPECT_CALL(service_observer_, OnPolicyUpdated(account_1_user_id_)); 342 EXPECT_CALL(service_observer_, OnPolicyUpdated(account_1_user_id_));
334 FlushDeviceSettings(); 343 FlushDeviceSettings();
335 344
336 EXPECT_EQ(CloudPolicyStore::STATUS_OK, broker->core()->store()->status()); 345 EXPECT_EQ(CloudPolicyStore::STATUS_OK, broker->core()->store()->status());
337 ASSERT_TRUE(broker->core()->store()->policy()); 346 ASSERT_TRUE(broker->core()->store()->policy());
338 EXPECT_EQ(device_local_account_policy_.policy_data().SerializeAsString(), 347 EXPECT_EQ(device_local_account_policy_.policy_data().SerializeAsString(),
339 broker->core()->store()->policy()->SerializeAsString()); 348 broker->core()->store()->policy()->SerializeAsString());
340 EXPECT_TRUE(expected_policy_map_.Equals( 349 EXPECT_TRUE(expected_policy_map_.Equals(
341 broker->core()->store()->policy_map())); 350 broker->core()->store()->policy_map()));
351 EXPECT_FALSE(broker->HasInvalidatorForTest());
342 EXPECT_TRUE(service_->IsPolicyAvailableForUser(account_1_user_id_)); 352 EXPECT_TRUE(service_->IsPolicyAvailableForUser(account_1_user_id_));
343 } 353 }
344 354
345 TEST_F(DeviceLocalAccountPolicyServiceTest, DevicePolicyChange) { 355 TEST_F(DeviceLocalAccountPolicyServiceTest, DevicePolicyChange) {
346 InstallDeviceLocalAccountPolicy(kAccount1); 356 InstallDeviceLocalAccountPolicy(kAccount1);
347 AddDeviceLocalAccountToPolicy(kAccount1); 357 AddDeviceLocalAccountToPolicy(kAccount1);
348 EXPECT_CALL(service_observer_, OnPolicyUpdated(account_1_user_id_)); 358 EXPECT_CALL(service_observer_, OnPolicyUpdated(account_1_user_id_));
349 InstallDevicePolicy(); 359 InstallDevicePolicy();
350 360
351 device_policy_.payload().mutable_device_local_accounts()->clear_account(); 361 device_policy_.payload().mutable_device_local_accounts()->clear_account();
(...skipping 18 matching lines...) Expand all
370 service_->GetBrokerForUser(account_1_user_id_); 380 service_->GetBrokerForUser(account_1_user_id_);
371 ASSERT_TRUE(broker); 381 ASSERT_TRUE(broker);
372 EXPECT_EQ(account_1_user_id_, broker->user_id()); 382 EXPECT_EQ(account_1_user_id_, broker->user_id());
373 ASSERT_TRUE(broker->core()->store()); 383 ASSERT_TRUE(broker->core()->store());
374 EXPECT_EQ(CloudPolicyStore::STATUS_OK, broker->core()->store()->status()); 384 EXPECT_EQ(CloudPolicyStore::STATUS_OK, broker->core()->store()->status());
375 ASSERT_TRUE(broker->core()->store()->policy()); 385 ASSERT_TRUE(broker->core()->store()->policy());
376 EXPECT_EQ(device_local_account_policy_.policy_data().SerializeAsString(), 386 EXPECT_EQ(device_local_account_policy_.policy_data().SerializeAsString(),
377 broker->core()->store()->policy()->SerializeAsString()); 387 broker->core()->store()->policy()->SerializeAsString());
378 EXPECT_TRUE(expected_policy_map_.Equals( 388 EXPECT_TRUE(expected_policy_map_.Equals(
379 broker->core()->store()->policy_map())); 389 broker->core()->store()->policy_map()));
390 EXPECT_FALSE(broker->HasInvalidatorForTest());
380 EXPECT_TRUE(service_->IsPolicyAvailableForUser(account_1_user_id_)); 391 EXPECT_TRUE(service_->IsPolicyAvailableForUser(account_1_user_id_));
381 } 392 }
382 393
383 TEST_F(DeviceLocalAccountPolicyServiceTest, FetchPolicy) { 394 TEST_F(DeviceLocalAccountPolicyServiceTest, FetchPolicy) {
384 InstallDeviceLocalAccountPolicy(kAccount1); 395 InstallDeviceLocalAccountPolicy(kAccount1);
385 AddDeviceLocalAccountToPolicy(kAccount1); 396 AddDeviceLocalAccountToPolicy(kAccount1);
386 EXPECT_CALL(service_observer_, OnPolicyUpdated(account_1_user_id_)); 397 EXPECT_CALL(service_observer_, OnPolicyUpdated(account_1_user_id_));
387 InstallDevicePolicy(); 398 InstallDevicePolicy();
388 399
389 DeviceLocalAccountPolicyBroker* broker = 400 DeviceLocalAccountPolicyBroker* broker =
(...skipping 14 matching lines...) Expand all
404 StartJob(dm_protocol::kValueRequestPolicy, 415 StartJob(dm_protocol::kValueRequestPolicy,
405 std::string(), std::string(), 416 std::string(), std::string(),
406 device_policy_.policy_data().request_token(), 417 device_policy_.policy_data().request_token(),
407 dm_protocol::kValueUserAffiliationManaged, 418 dm_protocol::kValueUserAffiliationManaged,
408 device_policy_.policy_data().device_id(), 419 device_policy_.policy_data().device_id(),
409 _)) 420 _))
410 .WillOnce(SaveArg<6>(&request)); 421 .WillOnce(SaveArg<6>(&request));
411 // This will be called twice, because the ComponentCloudPolicyService will 422 // This will be called twice, because the ComponentCloudPolicyService will
412 // also become ready after flushing all the pending tasks. 423 // also become ready after flushing all the pending tasks.
413 EXPECT_CALL(service_observer_, OnPolicyUpdated(account_1_user_id_)).Times(2); 424 EXPECT_CALL(service_observer_, OnPolicyUpdated(account_1_user_id_)).Times(2);
414 broker->core()->client()->FetchPolicy();
415 FlushDeviceSettings(); 425 FlushDeviceSettings();
416 Mock::VerifyAndClearExpectations(&service_observer_); 426 Mock::VerifyAndClearExpectations(&service_observer_);
417 Mock::VerifyAndClearExpectations(&mock_device_management_service_); 427 Mock::VerifyAndClearExpectations(&mock_device_management_service_);
418 EXPECT_TRUE(request.has_policy_request()); 428 EXPECT_TRUE(request.has_policy_request());
419 ASSERT_EQ(2, request.policy_request().request_size()); 429 ASSERT_EQ(2, request.policy_request().request_size());
420 430
421 const em::PolicyFetchRequest* public_account = 431 const em::PolicyFetchRequest* public_account =
422 &request.policy_request().request(0); 432 &request.policy_request().request(0);
423 const em::PolicyFetchRequest* extensions = 433 const em::PolicyFetchRequest* extensions =
424 &request.policy_request().request(1); 434 &request.policy_request().request(1);
(...skipping 14 matching lines...) Expand all
439 EXPECT_FALSE(extensions->has_settings_entity_id()); 449 EXPECT_FALSE(extensions->has_settings_entity_id());
440 450
441 ASSERT_TRUE(broker->core()->store()); 451 ASSERT_TRUE(broker->core()->store());
442 EXPECT_EQ(CloudPolicyStore::STATUS_OK, 452 EXPECT_EQ(CloudPolicyStore::STATUS_OK,
443 broker->core()->store()->status()); 453 broker->core()->store()->status());
444 ASSERT_TRUE(broker->core()->store()->policy()); 454 ASSERT_TRUE(broker->core()->store()->policy());
445 EXPECT_EQ(device_local_account_policy_.policy_data().SerializeAsString(), 455 EXPECT_EQ(device_local_account_policy_.policy_data().SerializeAsString(),
446 broker->core()->store()->policy()->SerializeAsString()); 456 broker->core()->store()->policy()->SerializeAsString());
447 EXPECT_TRUE(expected_policy_map_.Equals( 457 EXPECT_TRUE(expected_policy_map_.Equals(
448 broker->core()->store()->policy_map())); 458 broker->core()->store()->policy_map()));
459 EXPECT_TRUE(broker->HasInvalidatorForTest());
449 EXPECT_TRUE(service_->IsPolicyAvailableForUser(account_1_user_id_)); 460 EXPECT_TRUE(service_->IsPolicyAvailableForUser(account_1_user_id_));
450 } 461 }
451 462
452 TEST_F(DeviceLocalAccountPolicyServiceTest, RefreshPolicy) { 463 TEST_F(DeviceLocalAccountPolicyServiceTest, RefreshPolicy) {
453 InstallDeviceLocalAccountPolicy(kAccount1); 464 InstallDeviceLocalAccountPolicy(kAccount1);
454 AddDeviceLocalAccountToPolicy(kAccount1); 465 AddDeviceLocalAccountToPolicy(kAccount1);
455 EXPECT_CALL(service_observer_, OnPolicyUpdated(account_1_user_id_)); 466 EXPECT_CALL(service_observer_, OnPolicyUpdated(account_1_user_id_));
456 InstallDevicePolicy(); 467 InstallDevicePolicy();
457 468
458 DeviceLocalAccountPolicyBroker* broker = 469 DeviceLocalAccountPolicyBroker* broker =
(...skipping 19 matching lines...) Expand all
478 FlushDeviceSettings(); 489 FlushDeviceSettings();
479 Mock::VerifyAndClearExpectations(&service_observer_); 490 Mock::VerifyAndClearExpectations(&service_observer_);
480 Mock::VerifyAndClearExpectations(this); 491 Mock::VerifyAndClearExpectations(this);
481 Mock::VerifyAndClearExpectations(&mock_device_management_service_); 492 Mock::VerifyAndClearExpectations(&mock_device_management_service_);
482 493
483 ASSERT_TRUE(broker->core()->store()); 494 ASSERT_TRUE(broker->core()->store());
484 EXPECT_EQ(CloudPolicyStore::STATUS_OK, 495 EXPECT_EQ(CloudPolicyStore::STATUS_OK,
485 broker->core()->store()->status()); 496 broker->core()->store()->status());
486 EXPECT_TRUE(expected_policy_map_.Equals( 497 EXPECT_TRUE(expected_policy_map_.Equals(
487 broker->core()->store()->policy_map())); 498 broker->core()->store()->policy_map()));
499 EXPECT_TRUE(broker->HasInvalidatorForTest());
488 EXPECT_TRUE(service_->IsPolicyAvailableForUser(account_1_user_id_)); 500 EXPECT_TRUE(service_->IsPolicyAvailableForUser(account_1_user_id_));
489 } 501 }
490 502
491 class DeviceLocalAccountPolicyExtensionCacheTest 503 class DeviceLocalAccountPolicyExtensionCacheTest
492 : public DeviceLocalAccountPolicyServiceTestBase { 504 : public DeviceLocalAccountPolicyServiceTestBase {
493 protected: 505 protected:
494 DeviceLocalAccountPolicyExtensionCacheTest(); 506 DeviceLocalAccountPolicyExtensionCacheTest();
495 507
496 void SetUp() override; 508 void SetUp() override;
497 509
(...skipping 468 matching lines...) Expand 10 before | Expand all | Expand 10 after
966 em::DeviceManagementResponse response; 978 em::DeviceManagementResponse response;
967 device_local_account_policy_.Build(); 979 device_local_account_policy_.Build();
968 response.mutable_policy_response()->add_response()->CopyFrom( 980 response.mutable_policy_response()->add_response()->CopyFrom(
969 device_local_account_policy_.policy()); 981 device_local_account_policy_.policy());
970 request_job->SendResponse(DM_STATUS_SUCCESS, response); 982 request_job->SendResponse(DM_STATUS_SUCCESS, response);
971 FlushDeviceSettings(); 983 FlushDeviceSettings();
972 Mock::VerifyAndClearExpectations(&provider_observer_); 984 Mock::VerifyAndClearExpectations(&provider_observer_);
973 } 985 }
974 986
975 } // namespace policy 987 } // namespace policy
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698