| 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/chromeos/policy/auto_enrollment_client.h" | 5 #include "chrome/browser/chromeos/policy/auto_enrollment_client.h" |
| 6 | 6 |
| 7 #include <stdint.h> | 7 #include <stdint.h> |
| 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/macros.h" | 11 #include "base/macros.h" |
| 12 #include "base/memory/ptr_util.h" |
| 12 #include "base/message_loop/message_loop.h" | 13 #include "base/message_loop/message_loop.h" |
| 13 #include "base/run_loop.h" | 14 #include "base/run_loop.h" |
| 14 #include "base/strings/stringprintf.h" | 15 #include "base/strings/stringprintf.h" |
| 15 #include "base/threading/thread_task_runner_handle.h" | 16 #include "base/threading/thread_task_runner_handle.h" |
| 16 #include "base/values.h" | 17 #include "base/values.h" |
| 17 #include "chrome/browser/browser_process.h" | 18 #include "chrome/browser/browser_process.h" |
| 18 #include "chrome/browser/chromeos/policy/server_backed_device_state.h" | 19 #include "chrome/browser/chromeos/policy/server_backed_device_state.h" |
| 19 #include "chrome/common/pref_names.h" | 20 #include "chrome/common/pref_names.h" |
| 20 #include "chrome/test/base/scoped_testing_local_state.h" | 21 #include "chrome/test/base/scoped_testing_local_state.h" |
| 21 #include "chrome/test/base/testing_browser_process.h" | 22 #include "chrome/test/base/testing_browser_process.h" |
| (...skipping 397 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 419 VerifyServerBackedState("example.com", | 420 VerifyServerBackedState("example.com", |
| 420 kDeviceStateRestoreModeReEnrollmentEnforced, | 421 kDeviceStateRestoreModeReEnrollmentEnforced, |
| 421 kDisabledMessage); | 422 kDisabledMessage); |
| 422 } | 423 } |
| 423 | 424 |
| 424 TEST_F(AutoEnrollmentClientTest, ReuseCachedDecision) { | 425 TEST_F(AutoEnrollmentClientTest, ReuseCachedDecision) { |
| 425 // No bucket download requests should be issued. | 426 // No bucket download requests should be issued. |
| 426 EXPECT_CALL(*service_, | 427 EXPECT_CALL(*service_, |
| 427 CreateJob(DeviceManagementRequestJob::TYPE_AUTO_ENROLLMENT, _)) | 428 CreateJob(DeviceManagementRequestJob::TYPE_AUTO_ENROLLMENT, _)) |
| 428 .Times(0); | 429 .Times(0); |
| 429 local_state_->SetUserPref(prefs::kShouldAutoEnroll, new base::Value(true)); | 430 local_state_->SetUserPref(prefs::kShouldAutoEnroll, |
| 431 base::MakeUnique<base::Value>(true)); |
| 430 local_state_->SetUserPref(prefs::kAutoEnrollmentPowerLimit, | 432 local_state_->SetUserPref(prefs::kAutoEnrollmentPowerLimit, |
| 431 new base::Value(8)); | 433 base::MakeUnique<base::Value>(8)); |
| 432 | 434 |
| 433 // Note that device state will be retrieved every time, regardless of any | 435 // Note that device state will be retrieved every time, regardless of any |
| 434 // cached information. This is intentional, the idea is that device state on | 436 // cached information. This is intentional, the idea is that device state on |
| 435 // the server may change. | 437 // the server may change. |
| 436 ServerWillSendState( | 438 ServerWillSendState( |
| 437 "example.com", | 439 "example.com", |
| 438 em::DeviceStateRetrievalResponse::RESTORE_MODE_REENROLLMENT_ENFORCED, | 440 em::DeviceStateRetrievalResponse::RESTORE_MODE_REENROLLMENT_ENFORCED, |
| 439 kDisabledMessage); | 441 kDisabledMessage); |
| 440 | 442 |
| 441 client_->Start(); | 443 client_->Start(); |
| 442 EXPECT_EQ(AUTO_ENROLLMENT_STATE_TRIGGER_ENROLLMENT, state_); | 444 EXPECT_EQ(AUTO_ENROLLMENT_STATE_TRIGGER_ENROLLMENT, state_); |
| 443 VerifyServerBackedState("example.com", | 445 VerifyServerBackedState("example.com", |
| 444 kDeviceStateRestoreModeReEnrollmentEnforced, | 446 kDeviceStateRestoreModeReEnrollmentEnforced, |
| 445 kDisabledMessage); | 447 kDisabledMessage); |
| 446 } | 448 } |
| 447 | 449 |
| 448 TEST_F(AutoEnrollmentClientTest, RetryIfPowerLargerThanCached) { | 450 TEST_F(AutoEnrollmentClientTest, RetryIfPowerLargerThanCached) { |
| 449 local_state_->SetUserPref(prefs::kShouldAutoEnroll, new base::Value(false)); | 451 local_state_->SetUserPref(prefs::kShouldAutoEnroll, |
| 452 base::MakeUnique<base::Value>(false)); |
| 450 local_state_->SetUserPref(prefs::kAutoEnrollmentPowerLimit, | 453 local_state_->SetUserPref(prefs::kAutoEnrollmentPowerLimit, |
| 451 new base::Value(8)); | 454 base::MakeUnique<base::Value>(8)); |
| 452 CreateClient(kStateKey, 5, 10); | 455 CreateClient(kStateKey, 5, 10); |
| 453 ServerWillReply(-1, true, true); | 456 ServerWillReply(-1, true, true); |
| 454 ServerWillSendState( | 457 ServerWillSendState( |
| 455 "example.com", | 458 "example.com", |
| 456 em::DeviceStateRetrievalResponse::RESTORE_MODE_REENROLLMENT_ENFORCED, | 459 em::DeviceStateRetrievalResponse::RESTORE_MODE_REENROLLMENT_ENFORCED, |
| 457 kDisabledMessage); | 460 kDisabledMessage); |
| 458 client_->Start(); | 461 client_->Start(); |
| 459 EXPECT_EQ(AUTO_ENROLLMENT_STATE_TRIGGER_ENROLLMENT, state_); | 462 EXPECT_EQ(AUTO_ENROLLMENT_STATE_TRIGGER_ENROLLMENT, state_); |
| 460 VerifyServerBackedState("example.com", | 463 VerifyServerBackedState("example.com", |
| 461 kDeviceStateRestoreModeReEnrollmentEnforced, | 464 kDeviceStateRestoreModeReEnrollmentEnforced, |
| (...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 613 EXPECT_EQ(AUTO_ENROLLMENT_STATE_TRIGGER_ENROLLMENT, state_); | 616 EXPECT_EQ(AUTO_ENROLLMENT_STATE_TRIGGER_ENROLLMENT, state_); |
| 614 EXPECT_TRUE(HasCachedDecision()); | 617 EXPECT_TRUE(HasCachedDecision()); |
| 615 VerifyServerBackedState("example.com", | 618 VerifyServerBackedState("example.com", |
| 616 kDeviceStateRestoreModeReEnrollmentEnforced, | 619 kDeviceStateRestoreModeReEnrollmentEnforced, |
| 617 kDisabledMessage); | 620 kDisabledMessage); |
| 618 Mock::VerifyAndClearExpectations(service_.get()); | 621 Mock::VerifyAndClearExpectations(service_.get()); |
| 619 } | 622 } |
| 620 | 623 |
| 621 } // namespace | 624 } // namespace |
| 622 } // namespace policy | 625 } // namespace policy |
| OLD | NEW |