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

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

Issue 330843002: Make the policy fetch for first time login blocking (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixes nits and the LoginUtilsBrowserTests Created 6 years, 5 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 | « no previous file | chrome/browser/chromeos/policy/user_cloud_policy_manager_chromeos.cc » ('j') | 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 4437e5352d412e8ee4a6aad21172b1f923bd4f9e..792dcdb9ba3feeb8c0d1df0995b82cc3e572e362 100644
--- a/chrome/browser/chromeos/login/login_utils_browsertest.cc
+++ b/chrome/browser/chromeos/login/login_utils_browsertest.cc
@@ -528,49 +528,15 @@ class LoginUtilsTest : public testing::Test,
DISALLOW_COPY_AND_ASSIGN(LoginUtilsTest);
};
+struct LoginUtilsBlockingLoginTestParam {
+ const int steps;
+ const char* username;
+ const bool enroll_device;
+};
+
class LoginUtilsBlockingLoginTest
: public LoginUtilsTest,
- public testing::WithParamInterface<int> {};
-
-TEST_F(LoginUtilsTest, NormalLoginDoesntBlock) {
- UserManager* user_manager = UserManager::Get();
- 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);
-
- EXPECT_TRUE(prepared_profile_);
- ASSERT_TRUE(user_manager->IsUserLoggedIn());
- EXPECT_EQ(kUsername, user_manager->GetLoggedInUser()->email());
-}
-
-TEST_F(LoginUtilsTest, EnterpriseLoginDoesntBlockForNormalUser) {
- UserManager* user_manager = UserManager::Get();
- EXPECT_FALSE(user_manager->IsUserLoggedIn());
- EXPECT_FALSE(connector_->IsEnterpriseManaged());
- EXPECT_FALSE(prepared_profile_);
-
- // Enroll the device.
- EnrollDevice(kUsername);
-
- 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);
-
- EXPECT_TRUE(prepared_profile_);
- ASSERT_TRUE(user_manager->IsUserLoggedIn());
- EXPECT_EQ(kUsernameOtherDomain, user_manager->GetLoggedInUser()->email());
-}
+ public testing::WithParamInterface<LoginUtilsBlockingLoginTestParam> {};
#if defined(ENABLE_RLZ)
TEST_F(LoginUtilsTest, RlzInitialized) {
@@ -598,25 +564,27 @@ TEST_F(LoginUtilsTest, RlzInitialized) {
}
#endif
-TEST_P(LoginUtilsBlockingLoginTest, EnterpriseLoginBlocksForEnterpriseUser) {
+TEST_P(LoginUtilsBlockingLoginTest, LoginBlocksForUser) {
UserManager* user_manager = UserManager::Get();
EXPECT_FALSE(user_manager->IsUserLoggedIn());
EXPECT_FALSE(connector_->IsEnterpriseManaged());
EXPECT_FALSE(prepared_profile_);
- // Enroll the device.
- EnrollDevice(kUsername);
+ if (GetParam().enroll_device) {
+ // Enroll the device.
+ EnrollDevice(kUsername);
- 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));
+ 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.
bartfab (slow) 2014/07/11 11:16:45 Nit: Remove this comment. It is no longer applicab
kaliamoorthi 2014/07/11 11:27:57 Done.
- PrepareProfile(kUsername);
+ PrepareProfile(GetParam().username);
EXPECT_FALSE(prepared_profile_);
ASSERT_TRUE(user_manager->IsUserLoggedIn());
@@ -628,7 +596,7 @@ TEST_P(LoginUtilsBlockingLoginTest, EnterpriseLoginBlocksForEnterpriseUser) {
// |steps| is the test parameter, and is the number of successful fetches.
// The first incomplete fetch will fail. In any case, the profile creation
// should resume.
- int steps = GetParam();
+ int steps = GetParam().steps;
// The next expected fetcher ID. This is used to make it fail.
int next_expected_fetcher_id = 0;
@@ -703,10 +671,29 @@ TEST_P(LoginUtilsBlockingLoginTest, EnterpriseLoginBlocksForEnterpriseUser) {
EXPECT_TRUE(prepared_profile_);
}
-INSTANTIATE_TEST_CASE_P(
- LoginUtilsBlockingLoginTestInstance,
- LoginUtilsBlockingLoginTest,
- testing::Values(0, 1, 2, 3, 4, 5));
+const LoginUtilsBlockingLoginTestParam kTestData[] = {
bartfab (slow) 2014/07/11 11:16:45 Nit: s/kTestData/kBlockinLoginTestCases/ (or somet
kaliamoorthi 2014/07/11 11:27:57 Done.
+ {0, kUsername, true},
+ {1, kUsername, true},
+ {2, kUsername, true},
+ {3, kUsername, true},
+ {4, kUsername, true},
+ {5, kUsername, true},
+ {0, kUsername, false},
+ {1, kUsername, false},
+ {2, kUsername, false},
+ {3, kUsername, false},
+ {4, kUsername, false},
+ {5, kUsername, false},
+ {0, kUsernameOtherDomain, true},
+ {1, kUsernameOtherDomain, true},
+ {2, kUsernameOtherDomain, true},
+ {3, kUsernameOtherDomain, true},
+ {4, kUsernameOtherDomain, true},
+ {5, kUsernameOtherDomain, true}};
+
+INSTANTIATE_TEST_CASE_P(LoginUtilsBlockingLoginTestInstance,
+ LoginUtilsBlockingLoginTest,
+ testing::ValuesIn(kTestData));
} // namespace
« no previous file with comments | « no previous file | chrome/browser/chromeos/policy/user_cloud_policy_manager_chromeos.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698