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: |