Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(250)

Unified Diff: chrome/browser/chromeos/policy/consumer_management_service_unittest.cc

Issue 493613002: Add an enrolling state for consumer management section in settings page. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@dn
Patch Set: Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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:

Powered by Google App Engine
This is Rietveld 408576698