Chromium Code Reviews| Index: chrome/browser/chromeos/policy/consumer_management_service_unittest.cc |
| diff --git a/chrome/browser/chromeos/policy/consumer_management_service_unittest.cc b/chrome/browser/chromeos/policy/consumer_management_service_unittest.cc |
| index c4a3425caa2525a25602e2ec3469cbb07d68ab8b..406e2381601201e139ec3644ed98f79314cbc5da 100644 |
| --- a/chrome/browser/chromeos/policy/consumer_management_service_unittest.cc |
| +++ b/chrome/browser/chromeos/policy/consumer_management_service_unittest.cc |
| @@ -19,6 +19,7 @@ |
| #include "chrome/browser/chromeos/policy/device_cloud_policy_initializer.h" |
| #include "chrome/browser/chromeos/policy/enrollment_status_chromeos.h" |
| #include "chrome/browser/chromeos/policy/fake_device_cloud_policy_initializer.h" |
| +#include "chrome/browser/chromeos/settings/device_settings_test_helper.h" |
| #include "chrome/browser/notifications/notification_ui_manager.h" |
| #include "chrome/browser/profiles/profile.h" |
| #include "chrome/browser/signin/fake_profile_oauth2_token_service.h" |
| @@ -48,6 +49,8 @@ using testing::NiceMock; |
| using testing::Return; |
| using testing::_; |
| +namespace em = enterprise_management; |
| + |
| namespace { |
| const char* kAttributeOwnerId = "consumer_management.owner_id"; |
| const char* kTestOwner = "test@chromium.org.test"; |
| @@ -58,7 +61,7 @@ namespace policy { |
| class ConsumerManagementServiceTest : public BrowserWithTestWindowTest { |
| public: |
| ConsumerManagementServiceTest() |
| - : service_(new ConsumerManagementService(&mock_cryptohome_client_)), |
| + : service_(new ConsumerManagementService(&mock_cryptohome_client_, NULL)), |
| cryptohome_result_(false), |
| set_owner_status_(false) { |
| ON_CALL(mock_cryptohome_client_, GetBootAttribute(_, _)) |
| @@ -128,16 +131,19 @@ class ConsumerManagementServiceTest : public BrowserWithTestWindowTest { |
| set_owner_status_ = status; |
| } |
| + // Variables for building the service. |
| NiceMock<chromeos::MockCryptohomeClient> mock_cryptohome_client_; |
| scoped_ptr<ConsumerManagementService> service_; |
| scoped_ptr<TestingProfileManager> testing_profile_manager_; |
| + |
| + // Variables for setting the return value or catching the arguments of mock |
| + // functions. |
| chromeos::DBusMethodCallStatus cryptohome_status_; |
| bool cryptohome_result_; |
| cryptohome::BaseReply cryptohome_reply_; |
| cryptohome::GetBootAttributeRequest get_boot_attribute_request_; |
| cryptohome::SetBootAttributeRequest set_boot_attribute_request_; |
| - |
| std::string owner_; |
| bool set_owner_status_; |
| }; |
| @@ -210,6 +216,53 @@ TEST_F(ConsumerManagementServiceTest, SetOwnerReturnsFalseWhenItFails) { |
| EXPECT_FALSE(set_owner_status_); |
| } |
| +TEST_F(ConsumerManagementServiceTest, IsEnrollingWorks) { |
| + SetEnrollmentState(ConsumerManagementService::ENROLLMENT_NONE); |
| + EXPECT_FALSE(service_->IsEnrolling()); |
| + |
| + SetEnrollmentState(ConsumerManagementService::ENROLLMENT_REQUESTED); |
| + EXPECT_TRUE(service_->IsEnrolling()); |
| + |
| + SetEnrollmentState(ConsumerManagementService::ENROLLMENT_OWNER_STORED); |
| + EXPECT_TRUE(service_->IsEnrolling()); |
| + |
| + SetEnrollmentState(ConsumerManagementService::ENROLLMENT_SUCCESS); |
| + EXPECT_FALSE(service_->IsEnrolling()); |
| + |
| + SetEnrollmentState(ConsumerManagementService::ENROLLMENT_CANCELED); |
| + EXPECT_FALSE(service_->IsEnrolling()); |
| +} |
| + |
| +class ConsumerManagementServiceSettingsTest |
| + : public chromeos::DeviceSettingsTestBase { |
| + public: |
| + ConsumerManagementServiceSettingsTest() |
| + : service_(new ConsumerManagementService( |
| + NULL, &device_settings_service_)) { |
| + } |
| + |
| + void SetManagementMode(em::PolicyData::ManagementMode mode) { |
| + device_policy_.policy_data().set_management_mode(mode); |
|
bartfab (slow)
2014/08/20 14:40:02
Nit: #include "chrome/browser/chromeos/policy/devi
davidyu
2014/08/21 09:40:29
Done.
|
| + device_policy_.Build(); |
| + device_settings_test_helper_.set_policy_blob(device_policy_.GetBlob()); |
| + ReloadDeviceSettings(); |
| + } |
| + |
| + NiceMock<chromeos::MockCryptohomeClient> mock_cryptohome_client_; |
| + scoped_ptr<ConsumerManagementService> service_; |
|
bartfab (slow)
2014/08/20 14:40:02
Nit: #include "base/memory/scoped_ptr.h"
davidyu
2014/08/21 09:40:29
Done.
|
| +}; |
| + |
| +TEST_F(ConsumerManagementServiceSettingsTest, IsEnrolledWorks) { |
| + SetManagementMode(em::PolicyData::NOT_MANAGED); |
| + EXPECT_FALSE(service_->IsEnrolled()); |
| + |
| + SetManagementMode(em::PolicyData::ENTERPRISE_MANAGED); |
| + EXPECT_FALSE(service_->IsEnrolled()); |
| + |
| + SetManagementMode(em::PolicyData::CONSUMER_MANAGED); |
| + EXPECT_TRUE(service_->IsEnrolled()); |
| +} |
| + |
| class ConsumerManagementServiceEnrollmentTest |
| : public ConsumerManagementServiceTest { |
| public: |