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 |