| Index: chrome/browser/chromeos/login/saml/saml_browsertest.cc
|
| diff --git a/chrome/browser/chromeos/login/saml/saml_browsertest.cc b/chrome/browser/chromeos/login/saml/saml_browsertest.cc
|
| index ebe85f263d22282e849c3e418f63bbe309d46ee4..ce181a6e0333da158fcc02a2def3ba62f3dd0998 100644
|
| --- a/chrome/browser/chromeos/login/saml/saml_browsertest.cc
|
| +++ b/chrome/browser/chromeos/login/saml/saml_browsertest.cc
|
| @@ -496,20 +496,12 @@ IN_PROC_BROWSER_TEST_F(SamlTest, ScrapedSingle) {
|
| // Fill-in the SAML IdP form and submit.
|
| SetSignFormField("Email", "fake_user");
|
| SetSignFormField("Password", "fake_password");
|
| - ExecuteJsInSigninFrame("document.getElementById('Submit').click();");
|
| -
|
| - // Lands on confirm password screen.
|
| - OobeScreenWaiter(OobeScreen::SCREEN_CONFIRM_PASSWORD).Wait();
|
| -
|
| - // Entering an unknown password should go back to the confirm password screen.
|
| - SendConfirmPassword("wrong_password");
|
| - OobeScreenWaiter(OobeScreen::SCREEN_CONFIRM_PASSWORD).Wait();
|
|
|
| - // Entering a known password should finish login and start session.
|
| + // Scraping a single password should finish the login and start the session.
|
| content::WindowedNotificationObserver session_start_waiter(
|
| chrome::NOTIFICATION_SESSION_STARTED,
|
| content::NotificationService::AllSources());
|
| - SendConfirmPassword("fake_password");
|
| + ExecuteJsInSigninFrame("document.getElementById('Submit').click();");
|
| session_start_waiter.Wait();
|
| }
|
|
|
| @@ -530,20 +522,12 @@ IN_PROC_BROWSER_TEST_F(SamlTest, ScrapedDynamic) {
|
| // Fill-in the SAML IdP form and submit.
|
| SetSignFormField("Email", "fake_user");
|
| SetSignFormField("DynamicallyCreatedPassword", "fake_password");
|
| - ExecuteJsInSigninFrame("document.getElementById('Submit').click();");
|
|
|
| - // Lands on confirm password screen.
|
| - OobeScreenWaiter(OobeScreen::SCREEN_CONFIRM_PASSWORD).Wait();
|
| -
|
| - // Entering an unknown password should go back to the confirm password screen.
|
| - SendConfirmPassword("wrong_password");
|
| - OobeScreenWaiter(OobeScreen::SCREEN_CONFIRM_PASSWORD).Wait();
|
| -
|
| - // Entering a known password should finish login and start session.
|
| + // Scraping a single password should finish the login and start the session.
|
| content::WindowedNotificationObserver session_start_waiter(
|
| chrome::NOTIFICATION_SESSION_STARTED,
|
| content::NotificationService::AllSources());
|
| - SendConfirmPassword("fake_password");
|
| + ExecuteJsInSigninFrame("document.getElementById('Submit').click();");
|
| session_start_waiter.Wait();
|
| }
|
|
|
| @@ -558,6 +542,11 @@ IN_PROC_BROWSER_TEST_F(SamlTest, ScrapedMultiple) {
|
| SetSignFormField("Password1", "password1");
|
| ExecuteJsInSigninFrame("document.getElementById('Submit').click();");
|
|
|
| + // Lands on confirm password screen.
|
| + OobeScreenWaiter(OobeScreen::SCREEN_CONFIRM_PASSWORD).Wait();
|
| +
|
| + // Entering an unknown password should go back to the confirm password screen.
|
| + SendConfirmPassword("wrong_password");
|
| OobeScreenWaiter(OobeScreen::SCREEN_CONFIRM_PASSWORD).Wait();
|
|
|
| // Either scraped password should be able to sign-in.
|
| @@ -594,15 +583,13 @@ IN_PROC_BROWSER_TEST_F(SamlTest, UseAutenticatedUserEmailAddress) {
|
| // reports was set via |SetFakeMergeSessionParams|.
|
| SetSignFormField("Email", "fake_user");
|
| SetSignFormField("Password", "fake_password");
|
| - ExecuteJsInSigninFrame("document.getElementById('Submit').click();");
|
| -
|
| - OobeScreenWaiter(OobeScreen::SCREEN_CONFIRM_PASSWORD).Wait();
|
|
|
| content::WindowedNotificationObserver session_start_waiter(
|
| chrome::NOTIFICATION_SESSION_STARTED,
|
| content::NotificationService::AllSources());
|
| - SendConfirmPassword("fake_password");
|
| + ExecuteJsInSigninFrame("document.getElementById('Submit').click();");
|
| session_start_waiter.Wait();
|
| +
|
| const user_manager::User* user =
|
| user_manager::UserManager::Get()->GetActiveUser();
|
| ASSERT_TRUE(user);
|
| @@ -625,15 +612,16 @@ IN_PROC_BROWSER_TEST_F(SamlTest, FailToRetrieveAutenticatedUserEmailAddress) {
|
| WaitForAndGetFatalErrorMessage());
|
| }
|
|
|
| -// Tests the password confirm flow: show error on the first failure and
|
| -// fatal error on the second failure.
|
| +// Tests the password confirm flow when more than one password is scraped: show
|
| +// error on the first failure and fatal error on the second failure.
|
| IN_PROC_BROWSER_TEST_F(SamlTest, PasswordConfirmFlow) {
|
| - fake_saml_idp()->SetLoginHTMLTemplate("saml_login.html");
|
| + fake_saml_idp()->SetLoginHTMLTemplate("saml_login_two_passwords.html");
|
| StartSamlAndWaitForIdpPageLoad(kFirstSAMLUserEmail);
|
|
|
| // Fill-in the SAML IdP form and submit.
|
| SetSignFormField("Email", "fake_user");
|
| SetSignFormField("Password", "fake_password");
|
| + SetSignFormField("Password1", "password1");
|
| ExecuteJsInSigninFrame("document.getElementById('Submit').click();");
|
|
|
| // Lands on confirm password screen with no error message.
|
| @@ -1132,14 +1120,12 @@ void SAMLPolicyTest::LogInWithSAML(const std::string& user_id,
|
| auth_lsid_cookie);
|
| SetSignFormField("Email", "fake_user");
|
| SetSignFormField("Password", "fake_password");
|
| - ExecuteJsInSigninFrame("document.getElementById('Submit').click();");
|
| -
|
| - OobeScreenWaiter(OobeScreen::SCREEN_CONFIRM_PASSWORD).Wait();
|
|
|
| + // Scraping a single password should finish the login right away.
|
| content::WindowedNotificationObserver session_start_waiter(
|
| chrome::NOTIFICATION_SESSION_STARTED,
|
| content::NotificationService::AllSources());
|
| - SendConfirmPassword("fake_password");
|
| + ExecuteJsInSigninFrame("document.getElementById('Submit').click();");
|
| session_start_waiter.Wait();
|
| }
|
|
|
| @@ -1357,15 +1343,12 @@ IN_PROC_BROWSER_TEST_F(SAMLPolicyTest, SAMLInterstitialNext) {
|
|
|
| SetSignFormField("Email", "fake_user");
|
| SetSignFormField("Password", "fake_password");
|
| - ExecuteJsInSigninFrame("document.getElementById('Submit').click();");
|
|
|
| + // Scraping one password should finish login.
|
| content::WindowedNotificationObserver session_start_waiter(
|
| chrome::NOTIFICATION_SESSION_STARTED,
|
| content::NotificationService::AllSources());
|
| -
|
| - OobeScreenWaiter(OobeScreen::SCREEN_CONFIRM_PASSWORD).Wait();
|
| - SendConfirmPassword("fake_password");
|
| - // Login should finish login and a session should start.
|
| + ExecuteJsInSigninFrame("document.getElementById('Submit').click();");
|
| session_start_waiter.Wait();
|
| }
|
|
|
|
|