| 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" |
| (...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 134 EXPECT_CALL(*service_, | 134 EXPECT_CALL(*service_, |
| 135 CreateJob(DeviceManagementRequestJob::TYPE_AUTO_ENROLLMENT, _)) | 135 CreateJob(DeviceManagementRequestJob::TYPE_AUTO_ENROLLMENT, _)) |
| 136 .WillOnce(service_->CreateAsyncJob(job)); | 136 .WillOnce(service_->CreateAsyncJob(job)); |
| 137 } | 137 } |
| 138 | 138 |
| 139 bool HasCachedDecision() { | 139 bool HasCachedDecision() { |
| 140 return local_state_->GetUserPref(prefs::kShouldAutoEnroll); | 140 return local_state_->GetUserPref(prefs::kShouldAutoEnroll); |
| 141 } | 141 } |
| 142 | 142 |
| 143 void VerifyCachedResult(bool should_enroll, int power_limit) { | 143 void VerifyCachedResult(bool should_enroll, int power_limit) { |
| 144 base::FundamentalValue value_should_enroll(should_enroll); | 144 base::Value value_should_enroll(should_enroll); |
| 145 base::FundamentalValue value_power_limit(power_limit); | 145 base::Value value_power_limit(power_limit); |
| 146 EXPECT_TRUE(base::Value::Equals( | 146 EXPECT_TRUE(base::Value::Equals( |
| 147 &value_should_enroll, | 147 &value_should_enroll, |
| 148 local_state_->GetUserPref(prefs::kShouldAutoEnroll))); | 148 local_state_->GetUserPref(prefs::kShouldAutoEnroll))); |
| 149 EXPECT_TRUE(base::Value::Equals( | 149 EXPECT_TRUE(base::Value::Equals( |
| 150 &value_power_limit, | 150 &value_power_limit, |
| 151 local_state_->GetUserPref(prefs::kAutoEnrollmentPowerLimit))); | 151 local_state_->GetUserPref(prefs::kAutoEnrollmentPowerLimit))); |
| 152 } | 152 } |
| 153 | 153 |
| 154 bool HasServerBackedState() { | 154 bool HasServerBackedState() { |
| 155 return local_state_->GetUserPref(prefs::kServerBackedDeviceState); | 155 return local_state_->GetUserPref(prefs::kServerBackedDeviceState); |
| (...skipping 263 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 419 VerifyServerBackedState("example.com", | 419 VerifyServerBackedState("example.com", |
| 420 kDeviceStateRestoreModeReEnrollmentEnforced, | 420 kDeviceStateRestoreModeReEnrollmentEnforced, |
| 421 kDisabledMessage); | 421 kDisabledMessage); |
| 422 } | 422 } |
| 423 | 423 |
| 424 TEST_F(AutoEnrollmentClientTest, ReuseCachedDecision) { | 424 TEST_F(AutoEnrollmentClientTest, ReuseCachedDecision) { |
| 425 // No bucket download requests should be issued. | 425 // No bucket download requests should be issued. |
| 426 EXPECT_CALL(*service_, | 426 EXPECT_CALL(*service_, |
| 427 CreateJob(DeviceManagementRequestJob::TYPE_AUTO_ENROLLMENT, _)) | 427 CreateJob(DeviceManagementRequestJob::TYPE_AUTO_ENROLLMENT, _)) |
| 428 .Times(0); | 428 .Times(0); |
| 429 local_state_->SetUserPref(prefs::kShouldAutoEnroll, | 429 local_state_->SetUserPref(prefs::kShouldAutoEnroll, new base::Value(true)); |
| 430 new base::FundamentalValue(true)); | |
| 431 local_state_->SetUserPref(prefs::kAutoEnrollmentPowerLimit, | 430 local_state_->SetUserPref(prefs::kAutoEnrollmentPowerLimit, |
| 432 new base::FundamentalValue(8)); | 431 new base::Value(8)); |
| 433 | 432 |
| 434 // Note that device state will be retrieved every time, regardless of any | 433 // Note that device state will be retrieved every time, regardless of any |
| 435 // cached information. This is intentional, the idea is that device state on | 434 // cached information. This is intentional, the idea is that device state on |
| 436 // the server may change. | 435 // the server may change. |
| 437 ServerWillSendState( | 436 ServerWillSendState( |
| 438 "example.com", | 437 "example.com", |
| 439 em::DeviceStateRetrievalResponse::RESTORE_MODE_REENROLLMENT_ENFORCED, | 438 em::DeviceStateRetrievalResponse::RESTORE_MODE_REENROLLMENT_ENFORCED, |
| 440 kDisabledMessage); | 439 kDisabledMessage); |
| 441 | 440 |
| 442 client_->Start(); | 441 client_->Start(); |
| 443 EXPECT_EQ(AUTO_ENROLLMENT_STATE_TRIGGER_ENROLLMENT, state_); | 442 EXPECT_EQ(AUTO_ENROLLMENT_STATE_TRIGGER_ENROLLMENT, state_); |
| 444 VerifyServerBackedState("example.com", | 443 VerifyServerBackedState("example.com", |
| 445 kDeviceStateRestoreModeReEnrollmentEnforced, | 444 kDeviceStateRestoreModeReEnrollmentEnforced, |
| 446 kDisabledMessage); | 445 kDisabledMessage); |
| 447 } | 446 } |
| 448 | 447 |
| 449 TEST_F(AutoEnrollmentClientTest, RetryIfPowerLargerThanCached) { | 448 TEST_F(AutoEnrollmentClientTest, RetryIfPowerLargerThanCached) { |
| 450 local_state_->SetUserPref(prefs::kShouldAutoEnroll, | 449 local_state_->SetUserPref(prefs::kShouldAutoEnroll, new base::Value(false)); |
| 451 new base::FundamentalValue(false)); | |
| 452 local_state_->SetUserPref(prefs::kAutoEnrollmentPowerLimit, | 450 local_state_->SetUserPref(prefs::kAutoEnrollmentPowerLimit, |
| 453 new base::FundamentalValue(8)); | 451 new base::Value(8)); |
| 454 CreateClient(kStateKey, 5, 10); | 452 CreateClient(kStateKey, 5, 10); |
| 455 ServerWillReply(-1, true, true); | 453 ServerWillReply(-1, true, true); |
| 456 ServerWillSendState( | 454 ServerWillSendState( |
| 457 "example.com", | 455 "example.com", |
| 458 em::DeviceStateRetrievalResponse::RESTORE_MODE_REENROLLMENT_ENFORCED, | 456 em::DeviceStateRetrievalResponse::RESTORE_MODE_REENROLLMENT_ENFORCED, |
| 459 kDisabledMessage); | 457 kDisabledMessage); |
| 460 client_->Start(); | 458 client_->Start(); |
| 461 EXPECT_EQ(AUTO_ENROLLMENT_STATE_TRIGGER_ENROLLMENT, state_); | 459 EXPECT_EQ(AUTO_ENROLLMENT_STATE_TRIGGER_ENROLLMENT, state_); |
| 462 VerifyServerBackedState("example.com", | 460 VerifyServerBackedState("example.com", |
| 463 kDeviceStateRestoreModeReEnrollmentEnforced, | 461 kDeviceStateRestoreModeReEnrollmentEnforced, |
| (...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 615 EXPECT_EQ(AUTO_ENROLLMENT_STATE_TRIGGER_ENROLLMENT, state_); | 613 EXPECT_EQ(AUTO_ENROLLMENT_STATE_TRIGGER_ENROLLMENT, state_); |
| 616 EXPECT_TRUE(HasCachedDecision()); | 614 EXPECT_TRUE(HasCachedDecision()); |
| 617 VerifyServerBackedState("example.com", | 615 VerifyServerBackedState("example.com", |
| 618 kDeviceStateRestoreModeReEnrollmentEnforced, | 616 kDeviceStateRestoreModeReEnrollmentEnforced, |
| 619 kDisabledMessage); | 617 kDisabledMessage); |
| 620 Mock::VerifyAndClearExpectations(service_.get()); | 618 Mock::VerifyAndClearExpectations(service_.get()); |
| 621 } | 619 } |
| 622 | 620 |
| 623 } // namespace | 621 } // namespace |
| 624 } // namespace policy | 622 } // namespace policy |
| OLD | NEW |