Index: chrome/browser/chromeos/login/existing_user_controller_browsertest.cc |
diff --git a/chrome/browser/chromeos/login/existing_user_controller_browsertest.cc b/chrome/browser/chromeos/login/existing_user_controller_browsertest.cc |
index fec9718c82578174144957e6de60f11df1dfa2ed..babb422595dbc9c04b5f1207402e4b7dc809c31f 100644 |
--- a/chrome/browser/chromeos/login/existing_user_controller_browsertest.cc |
+++ b/chrome/browser/chromeos/login/existing_user_controller_browsertest.cc |
@@ -76,7 +76,7 @@ |
const char kSupervisedUserID[] = "supervised_user@locally-managed.localhost"; |
const char kPassword[] = "test_password"; |
-const char kPublicSessionUserEmail[] = "public_session_user@localhost"; |
+const char kPublicSessionAccountId[] = "public_session_user@localhost"; |
const int kAutoLoginNoDelay = 0; |
const int kAutoLoginShortDelay = 1; |
const int kAutoLoginLongDelay = 10000; |
@@ -105,7 +105,7 @@ |
class ExistingUserControllerTest : public policy::DevicePolicyCrosBrowserTest { |
protected: |
- ExistingUserControllerTest() {} |
+ ExistingUserControllerTest() : mock_login_display_(NULL) {} |
ExistingUserController* existing_user_controller() { |
return ExistingUserController::current_controller(); |
@@ -196,9 +196,8 @@ |
return existing_user_controller()->auto_login_timer_.get(); |
} |
- AccountId auto_login_account_id() const { |
- return AccountId::FromUserEmail( |
- existing_user_controller()->public_session_auto_login_username_); |
+ const std::string& auto_login_username() const { |
+ return existing_user_controller()->public_session_auto_login_username_; |
} |
int auto_login_delay() const { |
@@ -213,29 +212,27 @@ |
// |mock_login_display_| is owned by the ExistingUserController, which calls |
// CreateLoginDisplay() on the |mock_login_display_host_| to get it. |
- MockLoginDisplay* mock_login_display_ = nullptr; |
+ MockLoginDisplay* mock_login_display_; |
scoped_ptr<MockLoginDisplayHost> mock_login_display_host_; |
// Mock URLFetcher. |
MockURLFetcherFactory<SuccessFetcher> factory_; |
- |
- const AccountId account_id_ = AccountId::FromUserEmail(kUsername); |
private: |
DISALLOW_COPY_AND_ASSIGN(ExistingUserControllerTest); |
}; |
IN_PROC_BROWSER_TEST_F(ExistingUserControllerTest, PRE_ExistingUserLogin) { |
- RegisterUser(account_id_.GetUserEmail()); |
+ RegisterUser(kUsername); |
} |
IN_PROC_BROWSER_TEST_F(ExistingUserControllerTest, ExistingUserLogin) { |
EXPECT_CALL(*mock_login_display_, SetUIEnabled(false)) |
.Times(2); |
- UserContext user_context(account_id_); |
+ UserContext user_context(kUsername); |
user_context.SetGaiaID(kGaiaID); |
user_context.SetKey(Key(kPassword)); |
- user_context.SetUserIDHash(account_id_.GetUserEmail()); |
+ user_context.SetUserIDHash(kUsername); |
test::UserSessionManagerTestApi session_manager_test_api( |
UserSessionManager::GetInstance()); |
session_manager_test_api.InjectStubUserContext(user_context); |
@@ -283,19 +280,19 @@ |
IN_PROC_BROWSER_TEST_F(ExistingUserControllerUntrustedTest, |
ExistingUserLoginForbidden) { |
- UserContext user_context(account_id_); |
+ UserContext user_context(kUsername); |
user_context.SetGaiaID(kGaiaID); |
user_context.SetKey(Key(kPassword)); |
- user_context.SetUserIDHash(account_id_.GetUserEmail()); |
+ user_context.SetUserIDHash(kUsername); |
existing_user_controller()->Login(user_context, SigninSpecifics()); |
} |
IN_PROC_BROWSER_TEST_F(ExistingUserControllerUntrustedTest, |
NewUserLoginForbidden) { |
- UserContext user_context(account_id_); |
+ UserContext user_context(kUsername); |
user_context.SetGaiaID(kGaiaID); |
user_context.SetKey(Key(kPassword)); |
- user_context.SetUserIDHash(account_id_.GetUserEmail()); |
+ user_context.SetUserIDHash(kUsername); |
existing_user_controller()->CompleteLogin(user_context); |
} |
@@ -308,9 +305,9 @@ |
IN_PROC_BROWSER_TEST_F(ExistingUserControllerUntrustedTest, |
SupervisedUserLoginForbidden) { |
- UserContext user_context(AccountId::FromUserEmail(kSupervisedUserID)); |
+ UserContext user_context(kSupervisedUserID); |
user_context.SetKey(Key(kPassword)); |
- user_context.SetUserIDHash(account_id_.GetUserEmail()); |
+ user_context.SetUserIDHash(kUsername); |
existing_user_controller()->Login(user_context, SigninSpecifics()); |
} |
@@ -321,8 +318,7 @@ |
SupervisedUserCreationScreen supervised_user_creation_screen( |
&mock_base_screen_delegate, &supervised_user_creation_screen_handler); |
- supervised_user_creation_screen.AuthenticateManager( |
- account_id_.GetUserEmail(), kPassword); |
+ supervised_user_creation_screen.AuthenticateManager(kUsername, kPassword); |
} |
MATCHER_P(HasDetails, expected, "") { |
@@ -332,20 +328,23 @@ |
class ExistingUserControllerPublicSessionTest |
: public ExistingUserControllerTest { |
protected: |
- ExistingUserControllerPublicSessionTest() {} |
+ ExistingUserControllerPublicSessionTest() |
+ : public_session_user_id_(policy::GenerateDeviceLocalAccountUserId( |
+ kPublicSessionAccountId, |
+ policy::DeviceLocalAccount::TYPE_PUBLIC_SESSION)) { |
+ } |
void SetUpOnMainThread() override { |
ExistingUserControllerTest::SetUpOnMainThread(); |
// Wait for the public session user to be created. |
if (!user_manager::UserManager::Get()->IsKnownUser( |
- public_session_account_id_)) { |
+ public_session_user_id_)) { |
content::WindowedNotificationObserver( |
chrome::NOTIFICATION_USER_LIST_CHANGED, |
base::Bind(&user_manager::UserManager::IsKnownUser, |
base::Unretained(user_manager::UserManager::Get()), |
- public_session_account_id_)) |
- .Wait(); |
+ public_session_user_id_)).Wait(); |
} |
// Wait for the device local account policy to be installed. |
@@ -354,7 +353,7 @@ |
->platform_part() |
->browser_policy_connector_chromeos() |
->GetDeviceLocalAccountPolicyService() |
- ->GetBrokerForUser(public_session_account_id_.GetUserEmail()) |
+ ->GetBrokerForUser(public_session_user_id_) |
->core() |
->store(); |
if (!store->has_policy()) { |
@@ -377,7 +376,7 @@ |
em::ChromeDeviceSettingsProto& proto(device_policy()->payload()); |
em::DeviceLocalAccountInfoProto* account = |
proto.mutable_device_local_accounts()->add_account(); |
- account->set_account_id(kPublicSessionUserEmail); |
+ account->set_account_id(kPublicSessionAccountId); |
account->set_type( |
em::DeviceLocalAccountInfoProto::ACCOUNT_TYPE_PUBLIC_SESSION); |
RefreshDevicePolicy(); |
@@ -385,14 +384,15 @@ |
// Setup the device local account policy. |
policy::UserPolicyBuilder device_local_account_policy; |
device_local_account_policy.policy_data().set_username( |
- kPublicSessionUserEmail); |
+ kPublicSessionAccountId); |
device_local_account_policy.policy_data().set_policy_type( |
policy::dm_protocol::kChromePublicAccountPolicyType); |
device_local_account_policy.policy_data().set_settings_entity_id( |
- kPublicSessionUserEmail); |
+ kPublicSessionAccountId); |
device_local_account_policy.Build(); |
session_manager_client()->set_device_local_account_policy( |
- kPublicSessionUserEmail, device_local_account_policy.GetBlob()); |
+ kPublicSessionAccountId, |
+ device_local_account_policy.GetBlob()); |
} |
void SetUpLoginDisplay() override { |
@@ -431,7 +431,7 @@ |
EXPECT_CALL(*mock_login_display_, SetUIEnabled(true)).Times(AnyNumber()); |
} |
- void SetAutoLoginPolicy(const std::string& user_email, int delay) { |
+ void SetAutoLoginPolicy(const std::string& username, int delay) { |
// Wait until ExistingUserController has finished auto-login |
// configuration by observing the same settings that trigger |
// ConfigurePublicSessionAutoLogin. |
@@ -444,7 +444,7 @@ |
scoped_ptr<CrosSettings::ObserverSubscription> subscription1; |
if (!proto.has_device_local_accounts() || |
!proto.device_local_accounts().has_auto_login_id() || |
- proto.device_local_accounts().auto_login_id() != user_email) { |
+ proto.device_local_accounts().auto_login_id() != username) { |
runner1 = new content::MessageLoopRunner; |
subscription1 = chromeos::CrosSettings::Get()->AddSettingsObserver( |
chromeos::kAccountsPrefDeviceLocalAccountAutoLoginId, |
@@ -462,7 +462,7 @@ |
} |
// Update the policy. |
- proto.mutable_device_local_accounts()->set_auto_login_id(user_email); |
+ proto.mutable_device_local_accounts()->set_auto_login_id(username); |
proto.mutable_device_local_accounts()->set_auto_login_delay(delay); |
RefreshDevicePolicy(); |
@@ -491,10 +491,7 @@ |
run_loop.Run(); |
} |
- const AccountId public_session_account_id_ = |
- AccountId::FromUserEmail(policy::GenerateDeviceLocalAccountUserId( |
- kPublicSessionUserEmail, |
- policy::DeviceLocalAccount::TYPE_PUBLIC_SESSION)); |
+ const std::string public_session_user_id_; |
private: |
DISALLOW_COPY_AND_ASSIGN(ExistingUserControllerPublicSessionTest); |
@@ -503,20 +500,20 @@ |
IN_PROC_BROWSER_TEST_F(ExistingUserControllerPublicSessionTest, |
ConfigureAutoLoginUsingPolicy) { |
existing_user_controller()->OnSigninScreenReady(); |
- EXPECT_TRUE(!auto_login_account_id().is_valid()); |
+ EXPECT_EQ("", auto_login_username()); |
EXPECT_EQ(0, auto_login_delay()); |
EXPECT_FALSE(auto_login_timer()); |
// Set the policy. |
- SetAutoLoginPolicy(kPublicSessionUserEmail, kAutoLoginLongDelay); |
- EXPECT_EQ(public_session_account_id_, auto_login_account_id()); |
+ SetAutoLoginPolicy(kPublicSessionAccountId, kAutoLoginLongDelay); |
+ EXPECT_EQ(public_session_user_id_, auto_login_username()); |
EXPECT_EQ(kAutoLoginLongDelay, auto_login_delay()); |
ASSERT_TRUE(auto_login_timer()); |
EXPECT_TRUE(auto_login_timer()->IsRunning()); |
// Unset the policy. |
SetAutoLoginPolicy("", 0); |
- EXPECT_TRUE(!auto_login_account_id().is_valid()); |
+ EXPECT_EQ("", auto_login_username()); |
EXPECT_EQ(0, auto_login_delay()); |
ASSERT_TRUE(auto_login_timer()); |
EXPECT_FALSE(auto_login_timer()->IsRunning()); |
@@ -526,13 +523,13 @@ |
AutoLoginNoDelay) { |
// Set up mocks to check login success. |
UserContext user_context(user_manager::USER_TYPE_PUBLIC_ACCOUNT, |
- public_session_account_id_.GetUserEmail()); |
- user_context.SetUserIDHash(user_context.GetAccountId().GetUserEmail()); |
+ public_session_user_id_); |
+ user_context.SetUserIDHash(user_context.GetUserID()); |
ExpectSuccessfulLogin(user_context); |
existing_user_controller()->OnSigninScreenReady(); |
// Start auto-login and wait for login tasks to complete. |
- SetAutoLoginPolicy(kPublicSessionUserEmail, kAutoLoginNoDelay); |
+ SetAutoLoginPolicy(kPublicSessionAccountId, kAutoLoginNoDelay); |
content::RunAllPendingInMessageLoop(); |
} |
@@ -540,8 +537,8 @@ |
AutoLoginShortDelay) { |
// Set up mocks to check login success. |
UserContext user_context(user_manager::USER_TYPE_PUBLIC_ACCOUNT, |
- public_session_account_id_.GetUserEmail()); |
- user_context.SetUserIDHash(user_context.GetAccountId().GetUserEmail()); |
+ public_session_user_id_); |
+ user_context.SetUserIDHash(user_context.GetUserID()); |
ExpectSuccessfulLogin(user_context); |
existing_user_controller()->OnSigninScreenReady(); |
@@ -549,7 +546,7 @@ |
chrome::NOTIFICATION_LOGIN_USER_PROFILE_PREPARED, |
content::NotificationService::AllSources()); |
- SetAutoLoginPolicy(kPublicSessionUserEmail, kAutoLoginShortDelay); |
+ SetAutoLoginPolicy(kPublicSessionAccountId, kAutoLoginShortDelay); |
ASSERT_TRUE(auto_login_timer()); |
// Don't assert that timer is running: with the short delay sometimes |
// the trigger happens before the assert. We've already tested that |
@@ -572,14 +569,14 @@ |
IN_PROC_BROWSER_TEST_F(ExistingUserControllerPublicSessionTest, |
LoginStopsAutoLogin) { |
// Set up mocks to check login success. |
- UserContext user_context(account_id_); |
+ UserContext user_context(kUsername); |
user_context.SetGaiaID(kGaiaID); |
user_context.SetKey(Key(kPassword)); |
- user_context.SetUserIDHash(user_context.GetAccountId().GetUserEmail()); |
+ user_context.SetUserIDHash(user_context.GetUserID()); |
ExpectSuccessfulLogin(user_context); |
existing_user_controller()->OnSigninScreenReady(); |
- SetAutoLoginPolicy(kPublicSessionUserEmail, kAutoLoginLongDelay); |
+ SetAutoLoginPolicy(kPublicSessionAccountId, kAutoLoginLongDelay); |
EXPECT_TRUE(auto_login_timer()); |
content::WindowedNotificationObserver profile_prepared_observer( |
@@ -606,7 +603,7 @@ |
GuestModeLoginStopsAutoLogin) { |
EXPECT_CALL(*mock_login_display_, SetUIEnabled(false)) |
.Times(2); |
- UserContext user_context(account_id_); |
+ UserContext user_context(kUsername); |
user_context.SetGaiaID(kGaiaID); |
user_context.SetKey(Key(kPassword)); |
test::UserSessionManagerTestApi session_manager_test_api( |
@@ -614,7 +611,7 @@ |
session_manager_test_api.InjectStubUserContext(user_context); |
existing_user_controller()->OnSigninScreenReady(); |
- SetAutoLoginPolicy(kPublicSessionUserEmail, kAutoLoginLongDelay); |
+ SetAutoLoginPolicy(kPublicSessionAccountId, kAutoLoginLongDelay); |
EXPECT_TRUE(auto_login_timer()); |
// Login and check that it stopped the timer. |
@@ -636,16 +633,16 @@ |
IN_PROC_BROWSER_TEST_F(ExistingUserControllerPublicSessionTest, |
CompleteLoginStopsAutoLogin) { |
// Set up mocks to check login success. |
- UserContext user_context(account_id_); |
+ UserContext user_context(kUsername); |
user_context.SetGaiaID(kGaiaID); |
user_context.SetKey(Key(kPassword)); |
- user_context.SetUserIDHash(user_context.GetAccountId().GetUserEmail()); |
+ user_context.SetUserIDHash(user_context.GetUserID()); |
ExpectSuccessfulLogin(user_context); |
EXPECT_CALL(*mock_login_display_host_, OnCompleteLogin()) |
.Times(1); |
existing_user_controller()->OnSigninScreenReady(); |
- SetAutoLoginPolicy(kPublicSessionUserEmail, kAutoLoginLongDelay); |
+ SetAutoLoginPolicy(kPublicSessionAccountId, kAutoLoginLongDelay); |
EXPECT_TRUE(auto_login_timer()); |
content::WindowedNotificationObserver profile_prepared_observer( |
@@ -671,11 +668,11 @@ |
PublicSessionLoginStopsAutoLogin) { |
// Set up mocks to check login success. |
UserContext user_context(user_manager::USER_TYPE_PUBLIC_ACCOUNT, |
- public_session_account_id_.GetUserEmail()); |
- user_context.SetUserIDHash(user_context.GetAccountId().GetUserEmail()); |
+ public_session_user_id_); |
+ user_context.SetUserIDHash(user_context.GetUserID()); |
ExpectSuccessfulLogin(user_context); |
existing_user_controller()->OnSigninScreenReady(); |
- SetAutoLoginPolicy(kPublicSessionUserEmail, kAutoLoginLongDelay); |
+ SetAutoLoginPolicy(kPublicSessionAccountId, kAutoLoginLongDelay); |
EXPECT_TRUE(auto_login_timer()); |
content::WindowedNotificationObserver profile_prepared_observer( |
@@ -685,7 +682,7 @@ |
// Login and check that it stopped the timer. |
existing_user_controller()->Login( |
UserContext(user_manager::USER_TYPE_PUBLIC_ACCOUNT, |
- public_session_account_id_.GetUserEmail()), |
+ public_session_user_id_), |
SigninSpecifics()); |
EXPECT_TRUE(is_login_in_progress()); |
@@ -709,17 +706,17 @@ |
// Check that the attempt to start a public session fails with an error. |
ExpectLoginFailure(); |
- UserContext user_context(account_id_); |
+ UserContext user_context(kUsername); |
user_context.SetGaiaID(kGaiaID); |
user_context.SetKey(Key(kPassword)); |
- user_context.SetUserIDHash(user_context.GetAccountId().GetUserEmail()); |
+ user_context.SetUserIDHash(user_context.GetUserID()); |
existing_user_controller()->Login(user_context, SigninSpecifics()); |
} |
IN_PROC_BROWSER_TEST_F(ExistingUserControllerPublicSessionTest, |
NoAutoLoginWhenUntrusted) { |
// Start the public session timer. |
- SetAutoLoginPolicy(kPublicSessionUserEmail, kAutoLoginLongDelay); |
+ SetAutoLoginPolicy(kPublicSessionAccountId, kAutoLoginLongDelay); |
existing_user_controller()->OnSigninScreenReady(); |
EXPECT_TRUE(auto_login_timer()); |