@Test public void loginInvalidPassword() { loginPage.open(); loginPage.login("test-user@localhost", "invalid"); loginPage.assertCurrent(); Assert.assertEquals("Invalid username or password.", loginPage.getError()); }
@Test public void loginInvalidUsername() { loginPage.open(); loginPage.login("invalid", "password"); loginPage.assertCurrent(); Assert.assertEquals("Invalid username or password.", loginPage.getError()); }
@Test public void usernamePasswordLoginTest() throws Exception { KeycloakRule keycloakRule = getKeycloakRule(); AssertEvents events = getAssertEvents(); // Change editMode to READ_ONLY updateProviderEditMode(UserFederationProvider.EditMode.READ_ONLY); // Login with username/password from kerberos changePasswordPage.open(); // Only needed if you are providing a click thru to bypass kerberos. Currently there is a // javascript // to forward the user if kerberos isn't enabled. // bypassPage.isCurrent(); // bypassPage.clickContinue(); loginPage.assertCurrent(); loginPage.login("jduke", "theduke"); changePasswordPage.assertCurrent(); // Change password is not possible as editMode is READ_ONLY changePasswordPage.changePassword("theduke", "newPass", "newPass"); Assert.assertTrue( driver .getPageSource() .contains("You can't update your password as your account is read only")); // Change editMode to UNSYNCED updateProviderEditMode(UserFederationProvider.EditMode.UNSYNCED); // Successfully change password now changePasswordPage.changePassword("theduke", "newPass", "newPass"); Assert.assertTrue(driver.getPageSource().contains("Your password has been updated.")); changePasswordPage.logout(); // Only needed if you are providing a click thru to bypass kerberos. Currently there is a // javascript // to forward the user if kerberos isn't enabled. // bypassPage.isCurrent(); // bypassPage.clickContinue(); // Login with old password doesn't work, but with new password works loginPage.login("jduke", "theduke"); loginPage.assertCurrent(); loginPage.login("jduke", "newPass"); changePasswordPage.assertCurrent(); changePasswordPage.logout(); // Assert SPNEGO login still with the old password as mode is unsynced events.clear(); Response spnegoResponse = spnegoLogin("jduke", "theduke"); Assert.assertEquals(302, spnegoResponse.getStatus()); String redirect = spnegoResponse.getLocation().toString(); events .expectLogin() .client("kerberos-app") .user(keycloakRule.getUser("test", "jduke").getId()) .detail(Details.REDIRECT_URI, KERBEROS_APP_URL) // .detail(Details.AUTH_METHOD, "spnego") .detail(Details.USERNAME, "jduke") .assertEvent(); spnegoResponse.close(); }