Skip to content

Commit

Permalink
Remove AccountPasswordPage from testsuite
Browse files Browse the repository at this point in the history
Closes #15200
  • Loading branch information
stianst committed Oct 28, 2022
1 parent 1711782 commit 8476de8
Show file tree
Hide file tree
Showing 10 changed files with 51 additions and 170 deletions.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
import org.keycloak.testsuite.ProfileAssume;
import org.keycloak.testsuite.admin.ApiUtil;
import org.keycloak.testsuite.federation.DummyUserFederationProviderFactory;
import org.keycloak.testsuite.util.AccountHelper;
import org.keycloak.testsuite.util.ClientBuilder;
import org.keycloak.testsuite.util.OAuthClient;
import org.keycloak.testsuite.util.RealmBuilder;
Expand Down Expand Up @@ -229,9 +230,7 @@ public void loginWithExistingUserWithBruteForceEnabled() {

loginWithExistingUser();

driver.navigate().to(getAccountPasswordUrl(getConsumerRoot(), bc.consumerRealmName()));

accountPasswordPage.changePassword("password", "password");
Assert.assertTrue(AccountHelper.updatePassword(adminClient.realm(bc.consumerRealmName()), bc.getUserLogin(), "password"));

logoutFromRealm(getProviderRoot(), bc.providerRealmName());

Expand Down Expand Up @@ -606,12 +605,7 @@ public void testWithLinkedFederationProvider() {
waitForAccountManagementTitle();
accountUpdateProfilePage.assertCurrent();

accountPage.password();
accountPasswordPage.changePassword("bad", "new-password", "new-password");
assertEquals("Invalid existing password.", accountPasswordPage.getError());

accountPasswordPage.changePassword("secret", "new-password", "new-password");
assertEquals("Your password has been updated.", accountUpdateProfilePage.getSuccess());
Assert.assertTrue(AccountHelper.updatePassword(adminClient.realm(bc.providerRealmName()), "test-user", "new-password"));

logoutFromRealm(getProviderRoot(), bc.providerRealmName());
logoutFromRealm(getConsumerRoot(), bc.consumerRealmName());
Expand All @@ -623,9 +617,7 @@ public void testWithLinkedFederationProvider() {
waitForAccountManagementTitle();
accountUpdateProfilePage.assertCurrent();

accountPage.password();
accountPasswordPage.changePassword("new-password", "new-password");
assertEquals("Your password has been updated.", accountUpdateProfilePage.getSuccess());
Assert.assertTrue(AccountHelper.updatePassword(adminClient.realm(bc.consumerRealmName()), bc.getUserLogin(), "new-password"));
} finally {
removeUserByUsername(adminClient.realm(bc.consumerRealmName()), "test-user");
removeUserByUsername(adminClient.realm(bc.consumerRealmName()), "test-user-noemail");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,6 @@
import org.keycloak.testsuite.arquillian.annotation.DisableFeature;
import org.keycloak.testsuite.pages.AccountApplicationsPage;
import org.keycloak.testsuite.pages.AccountFederatedIdentityPage;
import org.keycloak.testsuite.pages.AccountPasswordPage;
import org.keycloak.testsuite.pages.AccountUpdateProfilePage;
import org.keycloak.testsuite.pages.ErrorPage;
import org.keycloak.testsuite.pages.IdpConfirmLinkPage;
Expand Down Expand Up @@ -94,9 +93,6 @@ public abstract class AbstractBaseBrokerTest extends AbstractKeycloakTest {
@Page
protected UpdateAccountInformationPage updateAccountInformationPage;

@Page
protected AccountPasswordPage accountPasswordPage;

@Page
protected ErrorPage errorPage;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@
import org.keycloak.testsuite.Assert;
import org.keycloak.testsuite.admin.ApiUtil;
import org.keycloak.testsuite.arquillian.annotation.DisableFeature;
import org.keycloak.testsuite.util.AccountHelper;

import static org.keycloak.testsuite.admin.ApiUtil.findClientByClientId;

Expand Down Expand Up @@ -131,35 +132,19 @@ public void usernamePasswordLoginTest() throws Exception {
// Change editMode to READ_ONLY
updateProviderEditMode(UserStorageProvider.EditMode.READ_ONLY);

// Login with username/password from kerberos
changePasswordPage.open();
loginPage.assertCurrent();
loginPage.login("jduke", "theduke");
changePasswordPage.assertCurrent();

// Bad existing password
changePasswordPage.changePassword("theduke-invalid", "newPass", "newPass");
Assert.assertTrue(driver.getPageSource().contains("Invalid existing password."));

// 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"));
Assert.assertFalse(AccountHelper.updatePassword(testRealmResource(), "theduke", "newPass"));

// Change editMode to UNSYNCED
updateProviderEditMode(UserStorageProvider.EditMode.UNSYNCED);

// Successfully change password now
changePasswordPage.changePassword("theduke", "newPass", "newPass");
Assert.assertTrue(driver.getPageSource().contains("Your password has been updated."));
changePasswordPage.logout();
Assert.assertTrue(AccountHelper.updatePassword(testRealmResource(), "theduke", "newPass"));

// 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();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,6 @@
import org.keycloak.testsuite.AssertEvents;
import org.keycloak.testsuite.ProfileAssume;
import org.keycloak.testsuite.admin.ApiUtil;
import org.keycloak.testsuite.pages.AccountPasswordPage;
import org.keycloak.testsuite.pages.LoginPage;
import org.keycloak.testsuite.util.KerberosRule;
import org.keycloak.testsuite.util.OAuthClient;
Expand All @@ -92,9 +91,6 @@ public abstract class AbstractKerberosTest extends AbstractAuthTest {
@Rule
public AssertEvents events = new AssertEvents(this);

@Page
protected AccountPasswordPage changePasswordPage;

protected abstract KerberosRule getKerberosRule();

protected abstract CommonKerberosConfig getKerberosConfig();
Expand Down Expand Up @@ -142,7 +138,6 @@ public void beforeAbstractKeycloakTest() throws Exception {
super.beforeAbstractKeycloakTest();

testRealmPage.setAuthRealm(TEST);
changePasswordPage.realm(TEST);

getKerberosRule().setKrb5ConfPath(testingClient.testing());

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@
import org.keycloak.storage.ldap.kerberos.LDAPProviderKerberosConfig;
import org.keycloak.testsuite.ProfileAssume;
import org.keycloak.testsuite.arquillian.annotation.DisableFeature;
import org.keycloak.testsuite.util.AccountHelper;
import org.keycloak.testsuite.util.KerberosRule;
import org.keycloak.testsuite.KerberosEmbeddedServer;

Expand Down Expand Up @@ -121,41 +122,26 @@ public void testClientOverrideFlowUsingBrowserHttpChallenge() throws Exception {
public void validatePasswordPolicyTest() throws Exception{
updateProviderEditMode(UserStorageProvider.EditMode.WRITABLE);

changePasswordPage.open();
loginPage.login("jduke", "theduke");

updateProviderValidatePasswordPolicy(true);
changePasswordPage.changePassword("theduke", "jduke", "jduke");
Assert.assertTrue(driver.getPageSource().contains("Invalid"));

Assert.assertFalse(AccountHelper.updatePassword(testRealmResource(), "theduke", "jduke"));

updateProviderValidatePasswordPolicy(false);
changePasswordPage.changePassword("theduke", "jduke", "jduke");
Assert.assertTrue(driver.getPageSource().contains("Your password has been updated."));
Assert.assertTrue(AccountHelper.updatePassword(testRealmResource(), "theduke", "jduke"));

// Change password back
changePasswordPage.open();
changePasswordPage.changePassword("jduke", "theduke", "theduke");
Assert.assertTrue(AccountHelper.updatePassword(testRealmResource(), "theduke", "theduke"));
}

@Test
public void writableEditModeTest() throws Exception {
// Change editMode to WRITABLE
updateProviderEditMode(UserStorageProvider.EditMode.WRITABLE);

// 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");
Assert.assertTrue(changePasswordPage.isCurrent());

// Successfully change password now
changePasswordPage.changePassword("theduke", "newPass", "newPass");
Assert.assertTrue(driver.getPageSource().contains("Your password has been updated."));
changePasswordPage.logout();
Assert.assertTrue(AccountHelper.updatePassword(testRealmResource(), "jduke", "newPass"));

// 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.
Expand All @@ -166,8 +152,6 @@ public void writableEditModeTest() throws Exception {
loginPage.login("jduke", "theduke");
Assert.assertTrue(loginPage.isCurrent());
loginPage.login("jduke", "newPass");
changePasswordPage.assertCurrent();
changePasswordPage.logout();

// Assert SPNEGO login with the new password as mode is writable
events.clear();
Expand All @@ -187,9 +171,6 @@ public void writableEditModeTest() throws Exception {
assertAuthenticationSuccess(codeUrl);

// Change password back
changePasswordPage.open();
loginPage.login("jduke", "newPass");
changePasswordPage.assertCurrent();
changePasswordPage.changePassword("newPass", "theduke", "theduke");
Assert.assertTrue(AccountHelper.updatePassword(testRealmResource(), "jduke", "theduke"));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@
import org.keycloak.testsuite.AbstractTestRealmKeycloakTest;
import org.keycloak.testsuite.AssertEvents;
import org.keycloak.testsuite.ProfileAssume;
import org.keycloak.testsuite.pages.AccountPasswordPage;
import org.keycloak.testsuite.pages.AccountUpdateProfilePage;
import org.keycloak.testsuite.pages.AppPage;
import org.keycloak.testsuite.pages.LoginPage;
Expand Down Expand Up @@ -60,9 +59,6 @@ public abstract class AbstractLDAPTest extends AbstractTestRealmKeycloakTest {
@Page
protected RegisterPage registerPage;

@Page
protected AccountPasswordPage changePasswordPage;

@Page
protected AccountUpdateProfilePage profilePage;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@
import org.keycloak.testsuite.admin.ApiUtil;
import org.keycloak.testsuite.arquillian.annotation.DisableFeature;
import org.keycloak.testsuite.pages.AppPage;
import org.keycloak.testsuite.util.AccountHelper;
import org.keycloak.testsuite.util.LDAPRule;
import org.keycloak.testsuite.util.LDAPTestConfiguration;
import org.keycloak.testsuite.util.LDAPTestUtils;
Expand Down Expand Up @@ -107,13 +108,7 @@ public void before() {
@Test
@DisableFeature(value = Profile.Feature.ACCOUNT2, skipRestart = true) // TODO remove this (KEYCLOAK-16228)
public void ldapPasswordChangeWithAccountConsole() throws Exception {
changePasswordPage.open();
loginPage.login("johnkeycloak", "Password1");
changePasswordPage.changePassword("Password1", "New-password1", "New-password1");

Assert.assertEquals("Your password has been updated.", profilePage.getSuccess());

changePasswordPage.logout();
Assert.assertTrue(AccountHelper.updatePassword(testRealm(), "johnkeycloak", "New-password1"));

loginPage.open();
loginPage.login("johnkeycloak", "Bad-password1");
Expand All @@ -124,9 +119,7 @@ public void ldapPasswordChangeWithAccountConsole() throws Exception {
Assert.assertEquals(AppPage.RequestType.AUTH_RESPONSE, appPage.getRequestType());

// Change password back to previous value
changePasswordPage.open();
changePasswordPage.changePassword("New-password1", "Password1", "Password1");
Assert.assertEquals("Your password has been updated.", profilePage.getSuccess());
Assert.assertTrue(AccountHelper.updatePassword(testRealm(), "johnkeycloak", "Password1"));
}

@Test
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,7 @@
import org.keycloak.testsuite.admin.ApiUtil;
import org.keycloak.testsuite.arquillian.annotation.DisableFeature;
import org.keycloak.testsuite.pages.AppPage;
import org.keycloak.testsuite.util.AccountHelper;
import org.keycloak.testsuite.util.LDAPRule;
import org.keycloak.testsuite.util.LDAPTestUtils;
import org.keycloak.testsuite.util.OAuthClient;
Expand Down Expand Up @@ -484,13 +485,7 @@ public void loginLdapWithoutPassword() {
@Test
@DisableFeature(value = Profile.Feature.ACCOUNT2, skipRestart = true) // TODO remove this (KEYCLOAK-16228)
public void ldapPasswordChangeWithAccountConsole() throws Exception {
changePasswordPage.open();
loginPage.login("johnkeycloak", "Password1");
changePasswordPage.changePassword("Password1", "New-password1", "New-password1");

Assert.assertEquals("Your password has been updated.", profilePage.getSuccess());

changePasswordPage.logout();
Assert.assertTrue(AccountHelper.updatePassword(testRealm(), "johnkeycloak", "New-password1"));

loginPage.open();
loginPage.login("johnkeycloak", "Bad-password1");
Expand All @@ -501,9 +496,7 @@ public void ldapPasswordChangeWithAccountConsole() throws Exception {
Assert.assertEquals(AppPage.RequestType.AUTH_RESPONSE, appPage.getRequestType());

// Change password back to previous value
changePasswordPage.open();
changePasswordPage.changePassword("New-password1", "Password1", "Password1");
Assert.assertEquals("Your password has been updated.", profilePage.getSuccess());
Assert.assertTrue(AccountHelper.updatePassword(testRealm(), "johnkeycloak", "Password1"));
}


Expand Down

0 comments on commit 8476de8

Please sign in to comment.