Chromium Code Reviews| Index: chrome/browser/chromeos/login/login_utils_browsertest.cc |
| diff --git a/chrome/browser/chromeos/login/login_utils_browsertest.cc b/chrome/browser/chromeos/login/login_utils_browsertest.cc |
| index dc25efd3f1cf69e6ce1bcc431d603f24f5313934..4db5e0138059d75e59d48c887ed87d0ad58f4006 100644 |
| --- a/chrome/browser/chromeos/login/login_utils_browsertest.cc |
| +++ b/chrome/browser/chromeos/login/login_utils_browsertest.cc |
| @@ -145,8 +145,7 @@ class LoginUtilsTest : public testing::Test, |
| mock_async_method_caller_(NULL), |
| connector_(NULL), |
| cryptohome_(NULL), |
| - prepared_profile_(NULL), |
| - created_profile_(NULL) {} |
| + prepared_profile_(NULL) {} |
| virtual void SetUp() OVERRIDE { |
| // This test is not a full blown InProcessBrowserTest, and doesn't have |
| @@ -358,10 +357,6 @@ class LoginUtilsTest : public testing::Test, |
| prepared_profile_ = profile; |
| } |
| - virtual void OnProfileCreated(Profile* profile) OVERRIDE { |
| - created_profile_ = profile; |
| - } |
| - |
| #if defined(ENABLE_RLZ) |
| virtual void OnRlzInitialized(Profile* profile) OVERRIDE { |
| rlz_initialized_cb_.Run(); |
| @@ -379,7 +374,7 @@ class LoginUtilsTest : public testing::Test, |
| FAIL() << "OnLoginSuccess not expected"; |
| } |
| - void LockDevice(const std::string& username) { |
| + void EnrollDevice(const std::string& username) { |
| EXPECT_CALL(*cryptohome_, InstallAttributesIsFirstInstall()) |
| .WillOnce(Return(true)) |
| .WillRepeatedly(Return(false)); |
| @@ -407,7 +402,9 @@ class LoginUtilsTest : public testing::Test, |
| const bool kPendingRequests = false; |
| const bool kUsingOAuth = true; |
| - const bool kHasCookies = true; |
| + // Setting |kHasCookies| to false prevents ProfileAuthData::Transfer from |
| + // waiting for an IO task before proceeding. |
| + const bool kHasCookies = false; |
|
Joao da Silva
2013/01/11 12:25:50
This prevents the UI->IO->UI jump at ProfileAuthDa
|
| LoginUtils::Get()->PrepareProfile(username, std::string(), "password", |
| kPendingRequests, kUsingOAuth, |
| kHasCookies, this); |
| @@ -489,7 +486,6 @@ class LoginUtilsTest : public testing::Test, |
| policy::BrowserPolicyConnector* connector_; |
| MockCryptohomeLibrary* cryptohome_; |
| Profile* prepared_profile_; |
| - Profile* created_profile_; |
| base::Closure rlz_initialized_cb_; |
| @@ -508,18 +504,15 @@ class LoginUtilsBlockingLoginTest |
| TEST_F(LoginUtilsTest, NormalLoginDoesntBlock) { |
| UserManager* user_manager = UserManager::Get(); |
| - ASSERT_TRUE(!user_manager->IsUserLoggedIn()); |
| + EXPECT_FALSE(user_manager->IsUserLoggedIn()); |
| EXPECT_FALSE(connector_->IsEnterpriseManaged()); |
| EXPECT_FALSE(prepared_profile_); |
| + EXPECT_EQ(policy::USER_AFFILIATION_NONE, |
| + connector_->GetUserAffiliation(kUsername)); |
| // The profile will be created without waiting for a policy response. |
| PrepareProfile(kUsername); |
| - // This should shortcut cookie transfer step that is missing due to |
| - // IO thread being mocked. |
| - EXPECT_TRUE(created_profile_); |
| - LoginUtils::Get()->CompleteProfileCreate(created_profile_); |
| - |
| EXPECT_TRUE(prepared_profile_); |
| ASSERT_TRUE(user_manager->IsUserLoggedIn()); |
| EXPECT_EQ(kUsername, user_manager->GetLoggedInUser()->email()); |
| @@ -527,26 +520,23 @@ TEST_F(LoginUtilsTest, NormalLoginDoesntBlock) { |
| TEST_F(LoginUtilsTest, EnterpriseLoginDoesntBlockForNormalUser) { |
| UserManager* user_manager = UserManager::Get(); |
| - ASSERT_TRUE(!user_manager->IsUserLoggedIn()); |
| + EXPECT_FALSE(user_manager->IsUserLoggedIn()); |
| EXPECT_FALSE(connector_->IsEnterpriseManaged()); |
| EXPECT_FALSE(prepared_profile_); |
| // Enroll the device. |
| - LockDevice(kUsername); |
| + EnrollDevice(kUsername); |
| - ASSERT_TRUE(!user_manager->IsUserLoggedIn()); |
| + EXPECT_FALSE(user_manager->IsUserLoggedIn()); |
| EXPECT_TRUE(connector_->IsEnterpriseManaged()); |
| EXPECT_EQ(kDomain, connector_->GetEnterpriseDomain()); |
| EXPECT_FALSE(prepared_profile_); |
| + EXPECT_EQ(policy::USER_AFFILIATION_NONE, |
| + connector_->GetUserAffiliation(kUsernameOtherDomain)); |
| // Login with a non-enterprise user shouldn't block. |
| PrepareProfile(kUsernameOtherDomain); |
| - // This should shortcut cookie transfer step that is missing due to |
| - // IO thread being mocked. |
| - EXPECT_TRUE(created_profile_); |
| - LoginUtils::Get()->CompleteProfileCreate(created_profile_); |
| - |
| EXPECT_TRUE(prepared_profile_); |
| ASSERT_TRUE(user_manager->IsUserLoggedIn()); |
| EXPECT_EQ(kUsernameOtherDomain, user_manager->GetLoggedInUser()->email()); |
| @@ -562,11 +552,6 @@ TEST_F(LoginUtilsTest, RlzInitialized) { |
| PrepareProfile(kUsername); |
| - // This should shortcut cookie transfer step that is missing due to |
| - // IO thread being mocked. |
| - EXPECT_TRUE(created_profile_); |
| - LoginUtils::Get()->CompleteProfileCreate(created_profile_); |
| - |
| wait_for_rlz_init.Run(); |
| // Wait for blocking RLZ tasks to complete. |
| RunUntilIdle(); |
| @@ -585,23 +570,27 @@ TEST_F(LoginUtilsTest, RlzInitialized) { |
| TEST_P(LoginUtilsBlockingLoginTest, EnterpriseLoginBlocksForEnterpriseUser) { |
| UserManager* user_manager = UserManager::Get(); |
| - ASSERT_TRUE(!user_manager->IsUserLoggedIn()); |
| + EXPECT_FALSE(user_manager->IsUserLoggedIn()); |
| EXPECT_FALSE(connector_->IsEnterpriseManaged()); |
| EXPECT_FALSE(prepared_profile_); |
| // Enroll the device. |
| - LockDevice(kUsername); |
| + EnrollDevice(kUsername); |
| - ASSERT_TRUE(!user_manager->IsUserLoggedIn()); |
| + EXPECT_FALSE(user_manager->IsUserLoggedIn()); |
| EXPECT_TRUE(connector_->IsEnterpriseManaged()); |
| EXPECT_EQ(kDomain, connector_->GetEnterpriseDomain()); |
| EXPECT_FALSE(prepared_profile_); |
| + EXPECT_EQ(policy::USER_AFFILIATION_MANAGED, |
| + connector_->GetUserAffiliation(kUsername)); |
| + EXPECT_FALSE(user_manager->IsKnownUser(kUsername)); |
| // Login with a user of the enterprise domain waits for policy. |
| PrepareProfile(kUsername); |
| EXPECT_FALSE(prepared_profile_); |
| ASSERT_TRUE(user_manager->IsUserLoggedIn()); |
| + EXPECT_TRUE(user_manager->IsCurrentUserNew()); |
| GaiaUrls* gaia_urls = GaiaUrls::GetInstance(); |
| net::TestURLFetcher* fetcher; |
| @@ -668,13 +657,9 @@ TEST_P(LoginUtilsBlockingLoginTest, EnterpriseLoginBlocksForEnterpriseUser) { |
| fetcher->set_url(fetcher->GetOriginalURL()); |
| fetcher->set_response_code(500); |
| fetcher->delegate()->OnURLFetchComplete(fetcher); |
| + RunUntilIdle(); |
| } |
| - // This should shortcut cookie transfer step that is missing due to |
| - // IO thread being mocked. |
| - EXPECT_TRUE(created_profile_); |
| - LoginUtils::Get()->CompleteProfileCreate(created_profile_); |
| - |
| // The profile is finally ready: |
| EXPECT_TRUE(prepared_profile_); |
| } |