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

Unified Diff: chrome/browser/chromeos/login/login_utils_browsertest.cc

Issue 11853012: Improved test coverage of login_utils_browsertest.cc. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 11 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
« no previous file with comments | « chrome/browser/chromeos/login/login_utils.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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_);
}
« no previous file with comments | « chrome/browser/chromeos/login/login_utils.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698