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

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

Issue 733613005: Move the notification part out of ConsumerEnrollmentHandler so that it can be reused for unenrollme… (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@enroll
Patch Set: Added a check for UserManager. Created 6 years, 1 month 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_enrollment_handler_unittest.cc
diff --git a/chrome/browser/chromeos/policy/consumer_enrollment_handler_unittest.cc b/chrome/browser/chromeos/policy/consumer_enrollment_handler_unittest.cc
index e0851ac10f0c4e546e9032f1e4f289268d9b4cdb..261d97f3a226dc7806081352bc66769c9b08c8c5 100644
--- a/chrome/browser/chromeos/policy/consumer_enrollment_handler_unittest.cc
+++ b/chrome/browser/chromeos/policy/consumer_enrollment_handler_unittest.cc
@@ -7,38 +7,44 @@
#include "base/run_loop.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/browser_process_platform_part.h"
+#include "chrome/browser/chromeos/login/users/fake_user_manager.h"
+#include "chrome/browser/chromeos/login/users/scoped_user_manager_enabler.h"
#include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h"
#include "chrome/browser/chromeos/policy/consumer_management_service.h"
#include "chrome/browser/chromeos/policy/enrollment_status_chromeos.h"
#include "chrome/browser/chromeos/policy/fake_consumer_management_service.h"
#include "chrome/browser/chromeos/policy/fake_device_cloud_policy_initializer.h"
-#include "chrome/browser/notifications/notification_ui_manager.h"
#include "chrome/browser/signin/fake_profile_oauth2_token_service.h"
#include "chrome/browser/signin/fake_profile_oauth2_token_service_builder.h"
#include "chrome/browser/signin/profile_oauth2_token_service_factory.h"
#include "chrome/browser/signin/signin_manager_factory.h"
-#include "chrome/test/base/browser_with_test_window_test.h"
#include "chrome/test/base/testing_browser_process.h"
#include "chrome/test/base/testing_profile_manager.h"
#include "components/signin/core/browser/profile_oauth2_token_service.h"
#include "components/signin/core/browser/signin_manager_base.h"
+#include "content/public/test/test_browser_thread_bundle.h"
#include "google_apis/gaia/google_service_auth_error.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace {
-const char* kTestOwner = "test@chromium.org.test";
+const char* kTestOwner = "test.owner@chromium.org.test";
+const char* kTestUser = "test.user@chromium.org.test";
}
namespace policy {
-class ConsumerEnrollmentHandlerTest : public BrowserWithTestWindowTest {
+class ConsumerEnrollmentHandlerTest : public testing::Test {
public:
ConsumerEnrollmentHandlerTest()
- : fake_initializer_(new FakeDeviceCloudPolicyInitializer()),
- fake_service_(new FakeConsumerManagementService()) {
+ : fake_service_(new FakeConsumerManagementService()),
+ fake_initializer_(new FakeDeviceCloudPolicyInitializer()),
+ fake_user_manager_(new chromeos::FakeUserManager()),
+ scoped_user_manager_enabler_(fake_user_manager_),
+ testing_profile_manager_(new TestingProfileManager(
+ TestingBrowserProcess::GetGlobal())) {
// Set up FakeConsumerManagementService.
- fake_service_->set_status(ConsumerManagementService::STATUS_ENROLLING);
- fake_service_->SetEnrollmentStage(
+ fake_service_->SetStatusAndEnrollmentStage(
+ ConsumerManagementService::STATUS_ENROLLING,
ConsumerManagementService::ENROLLMENT_STAGE_OWNER_STORED);
// Inject fake objects.
@@ -48,69 +54,57 @@ class ConsumerEnrollmentHandlerTest : public BrowserWithTestWindowTest {
make_scoped_ptr(fake_service_));
connector->SetDeviceCloudPolicyInitializerForTesting(
make_scoped_ptr(fake_initializer_));
+
+ // Set up FakeUserManager.
+ fake_user_manager_->AddUser(kTestOwner);
+ fake_user_manager_->AddUser(kTestUser);
+ fake_user_manager_->set_owner_email(kTestOwner);
}
virtual void SetUp() override {
- BrowserWithTestWindowTest::SetUp();
-
- // Set up TestingProfileManager. This is required for NotificationUIManager.
- testing_profile_manager_.reset(new TestingProfileManager(
- TestingBrowserProcess::GetGlobal()));
ASSERT_TRUE(testing_profile_manager_->SetUp());
+ profile_ = testing_profile_manager_->CreateTestingProfile(kTestUser);
// Set up FakeProfileOAuth2TokenService and issue a fake refresh token.
ProfileOAuth2TokenServiceFactory::GetInstance()->SetTestingFactory(
- profile(), &BuildAutoIssuingFakeProfileOAuth2TokenService);
+ profile_, &BuildAutoIssuingFakeProfileOAuth2TokenService);
GetFakeProfileOAuth2TokenService()->
IssueRefreshTokenForUser(kTestOwner, "fake_token");
// Set up the authenticated user name and ID.
- SigninManagerFactory::GetForProfile(profile())->
+ SigninManagerFactory::GetForProfile(profile_)->
SetAuthenticatedUsername(kTestOwner);
}
- virtual void TearDown() override {
- g_browser_process->notification_ui_manager()->CancelAll();
- testing_profile_manager_.reset();
-
- BrowserWithTestWindowTest::TearDown();
- }
-
FakeProfileOAuth2TokenService* GetFakeProfileOAuth2TokenService() {
return static_cast<FakeProfileOAuth2TokenService*>(
- ProfileOAuth2TokenServiceFactory::GetForProfile(profile()));
- }
-
- bool HasEnrollmentNotification() {
- return g_browser_process->notification_ui_manager()->FindById(
- "consumer_management.enroll",
- NotificationUIManager::GetProfileID(profile()));
+ ProfileOAuth2TokenServiceFactory::GetForProfile(profile_));
}
void RunEnrollmentTest() {
handler_.reset(
- new ConsumerEnrollmentHandler(profile(), fake_service_, NULL));
+ new ConsumerEnrollmentHandler(profile_, fake_service_, NULL));
base::RunLoop().RunUntilIdle();
}
- FakeDeviceCloudPolicyInitializer* fake_initializer_;
+ content::TestBrowserThreadBundle thread_bundle;
FakeConsumerManagementService* fake_service_;
+ FakeDeviceCloudPolicyInitializer* fake_initializer_;
+ chromeos::FakeUserManager* fake_user_manager_;
+ chromeos::ScopedUserManagerEnabler scoped_user_manager_enabler_;
scoped_ptr<TestingProfileManager> testing_profile_manager_;
+ Profile* profile_;
scoped_ptr<ConsumerEnrollmentHandler> handler_;
};
TEST_F(ConsumerEnrollmentHandlerTest, EnrollsSuccessfully) {
EXPECT_FALSE(fake_initializer_->was_start_enrollment_called());
- EXPECT_FALSE(HasEnrollmentNotification());
RunEnrollmentTest();
EXPECT_TRUE(fake_initializer_->was_start_enrollment_called());
EXPECT_EQ(ConsumerManagementService::ENROLLMENT_STAGE_SUCCESS,
- fake_service_->enrollment_stage_before_reset());
- EXPECT_EQ(ConsumerManagementService::ENROLLMENT_STAGE_NONE,
fake_service_->GetEnrollmentStage());
- EXPECT_TRUE(HasEnrollmentNotification());
}
TEST_F(ConsumerEnrollmentHandlerTest, FailsToGetAccessToken) {
@@ -118,7 +112,6 @@ TEST_F(ConsumerEnrollmentHandlerTest, FailsToGetAccessToken) {
// the access token to be available.
GetFakeProfileOAuth2TokenService()->
set_auto_post_fetch_response_on_message_loop(false);
- EXPECT_FALSE(HasEnrollmentNotification());
RunEnrollmentTest();
@@ -135,41 +128,19 @@ TEST_F(ConsumerEnrollmentHandlerTest, FailsToGetAccessToken) {
EXPECT_FALSE(fake_initializer_->was_start_enrollment_called());
EXPECT_EQ(ConsumerManagementService::ENROLLMENT_STAGE_GET_TOKEN_FAILED,
- fake_service_->enrollment_stage_before_reset());
- EXPECT_EQ(ConsumerManagementService::ENROLLMENT_STAGE_NONE,
fake_service_->GetEnrollmentStage());
- EXPECT_TRUE(HasEnrollmentNotification());
}
TEST_F(ConsumerEnrollmentHandlerTest, FailsToRegister) {
EXPECT_FALSE(fake_initializer_->was_start_enrollment_called());
fake_initializer_->set_enrollment_status(EnrollmentStatus::ForStatus(
EnrollmentStatus::STATUS_REGISTRATION_FAILED));
- EXPECT_FALSE(HasEnrollmentNotification());
RunEnrollmentTest();
EXPECT_TRUE(fake_initializer_->was_start_enrollment_called());
EXPECT_EQ(ConsumerManagementService::ENROLLMENT_STAGE_DM_SERVER_FAILED,
- fake_service_->enrollment_stage_before_reset());
- EXPECT_EQ(ConsumerManagementService::ENROLLMENT_STAGE_NONE,
- fake_service_->GetEnrollmentStage());
- EXPECT_TRUE(HasEnrollmentNotification());
-}
-
-TEST_F(ConsumerEnrollmentHandlerTest,
- ShowsDesktopNotificationOnlyIfEnrollmentIsAlreadyCompleted) {
- fake_service_->set_status(ConsumerManagementService::STATUS_UNENROLLED);
- fake_service_->SetEnrollmentStage(
- ConsumerManagementService::ENROLLMENT_STAGE_CANCELED);
- EXPECT_FALSE(HasEnrollmentNotification());
-
- RunEnrollmentTest();
-
- EXPECT_FALSE(fake_initializer_->was_start_enrollment_called());
- EXPECT_EQ(ConsumerManagementService::ENROLLMENT_STAGE_NONE,
fake_service_->GetEnrollmentStage());
- EXPECT_TRUE(HasEnrollmentNotification());
}
} // namespace policy

Powered by Google App Engine
This is Rietveld 408576698