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

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: Only expose known_user::RemovePrefsForTesting() for tests Created 3 years, 9 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..c842ebf6d7190160fa43cd431119b75ce5c647f5 100644
--- a/chrome/browser/chromeos/login/users/user_manager_unittest.cc
+++ b/chrome/browser/chromeos/login/users/user_manager_unittest.cc
@@ -26,6 +26,7 @@
#include "chromeos/dbus/dbus_thread_manager.h"
#include "chromeos/settings/cros_settings_names.h"
#include "components/prefs/pref_service.h"
+#include "components/user_manager/known_user.h"
#include "components/user_manager/user.h"
#include "components/user_manager/user_manager.h"
#include "content/public/common/content_switches.h"
@@ -240,4 +241,36 @@ TEST_F(UserManagerTest, ScreenLockAvailability) {
ResetUserManager();
}
+TEST_F(UserManagerTest, ProfileInitialized) {
+ 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]->profile_ever_initialized());
+ ResetUserManager();
+ users = &user_manager::UserManager::Get()->GetUsers();
+ ASSERT_EQ(1U, users->size());
+ EXPECT_FALSE((*users)[0]->profile_ever_initialized());
+}
+
+TEST_F(UserManagerTest, ProfileInitializedMigration) {
+ 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]->profile_ever_initialized());
+
+ // Clear the stored user data - when UserManager loads again, it should
+ // migrate existing users by setting session_initialized to true for them.
+ user_manager::known_user::RemovePrefsForTesting((*users)[0]->GetAccountId());
+ ResetUserManager();
+ users = &user_manager::UserManager::Get()->GetUsers();
+ ASSERT_EQ(1U, users->size());
+ EXPECT_TRUE((*users)[0]->profile_ever_initialized());
+}
+
} // namespace chromeos

Powered by Google App Engine
This is Rietveld 408576698