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

Unified Diff: chrome/browser/chromeos/login/users/user_manager_unittest.cc

Issue 2711113003: Track whether a given user session has completed initialization, and use (Closed)
Patch Set: Added tests. Created 3 years, 10 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
Index: chrome/browser/chromeos/login/users/user_manager_unittest.cc
diff --git a/chrome/browser/chromeos/login/users/user_manager_unittest.cc b/chrome/browser/chromeos/login/users/user_manager_unittest.cc
index b914a98b601b7b72784b486ac5ffeb4383f8c1b5..f5273f15f1ed9a1d1c76c95e1c8e10d6784505d7 100644
--- a/chrome/browser/chromeos/login/users/user_manager_unittest.cc
+++ b/chrome/browser/chromeos/login/users/user_manager_unittest.cc
@@ -240,4 +240,36 @@ TEST_F(UserManagerTest, ScreenLockAvailability) {
ResetUserManager();
}
+TEST_F(UserManagerTest, SessionInitialized) {
+ user_manager::UserManager::Get()->UserLoggedIn(
+ owner_account_id_at_invalid_domain_,
+ owner_account_id_at_invalid_domain_.GetUserEmail(), false);
+ const user_manager::UserList* users =
+ &user_manager::UserManager::Get()->GetUsers();
+ ASSERT_EQ(1U, users->size());
+ EXPECT_FALSE((*users)[0]->session_initialized());
+ ResetUserManager();
+ users = &user_manager::UserManager::Get()->GetUsers();
+ ASSERT_EQ(1U, users->size());
+ EXPECT_FALSE((*users)[0]->session_initialized());
+}
+
+TEST_F(UserManagerTest, SessionInitializedMigration) {
+ user_manager::UserManager::Get()->UserLoggedIn(
+ owner_account_id_at_invalid_domain_,
+ owner_account_id_at_invalid_domain_.GetUserEmail(), false);
+ const user_manager::UserList* users =
+ &user_manager::UserManager::Get()->GetUsers();
+ ASSERT_EQ(1U, users->size());
+ EXPECT_FALSE((*users)[0]->session_initialized());
+
+ // Clear the stored user data - when UserManager loads again, it should
+ // migrate existing users by setting session_initialized to true for them.
+ local_state_->Get()->ClearPref("UserSessionInitialized");
+ ResetUserManager();
+ users = &user_manager::UserManager::Get()->GetUsers();
+ ASSERT_EQ(1U, users->size());
+ EXPECT_TRUE((*users)[0]->session_initialized());
+}
+
} // namespace chromeos

Powered by Google App Engine
This is Rietveld 408576698