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 |