Stabilizing test cases by adding cleanups

Closes #24651

Signed-off-by: Alexander Schwartz <aschwart@redhat.com>
This commit is contained in:
Alexander Schwartz 2024-01-04 13:27:13 +01:00 committed by Pedro Igor
parent 58d167fe59
commit 0a16b64805
4 changed files with 20 additions and 7 deletions

View file

@ -92,6 +92,7 @@ import java.util.function.Consumer;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.equalTo;
import static org.hamcrest.Matchers.is;
import static org.junit.Assert.assertEquals;
import static org.keycloak.testsuite.admin.Users.setPasswordFor;
import static org.keycloak.testsuite.auth.page.AuthRealm.MASTER;
import static org.keycloak.testsuite.util.ServerURLs.AUTH_SERVER_HOST;
@ -738,4 +739,13 @@ public abstract class AbstractKeycloakTest {
}
return in;
}
protected void assertResponseSuccessful(Response response) {
try {
assertEquals(Response.Status.Family.SUCCESSFUL, response.getStatusInfo().getFamily());
} catch (AssertionError ex) {
throw new AssertionError("unexpected response code " + response.getStatus() + ", body is:\n" + response.readEntity(String.class), ex);
}
}
}

View file

@ -17,18 +17,15 @@
package org.keycloak.testsuite.admin;
import org.junit.Assume;
import org.junit.Before;
import org.junit.Test;
import org.keycloak.admin.client.Keycloak;
import org.keycloak.admin.client.resource.AuthorizationResource;
import org.keycloak.admin.client.resource.RealmResource;
import org.keycloak.common.Profile;
import org.keycloak.models.Constants;
import org.keycloak.representations.idm.ClientRepresentation;
import org.keycloak.representations.idm.GroupRepresentation;
import org.keycloak.representations.idm.ManagementPermissionRepresentation;
import org.keycloak.representations.idm.RealmRepresentation;
import org.keycloak.representations.idm.RoleRepresentation;
import org.keycloak.representations.idm.UserRepresentation;
import org.keycloak.representations.idm.authorization.DecisionStrategy;
@ -36,9 +33,7 @@ import org.keycloak.representations.idm.authorization.PolicyRepresentation;
import org.keycloak.representations.idm.authorization.ScopePermissionRepresentation;
import org.keycloak.representations.idm.authorization.UserPolicyRepresentation;
import org.keycloak.testsuite.arquillian.annotation.EnableFeature;
import org.keycloak.testsuite.updaters.RealmAttributeUpdater;
import org.keycloak.testsuite.util.AdminClientUtil;
import org.keycloak.testsuite.util.RealmBuilder;
import java.io.IOException;
import java.security.KeyManagementException;
@ -47,9 +42,7 @@ import java.security.NoSuchAlgorithmException;
import java.security.cert.CertificateException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import static org.hamcrest.CoreMatchers.is;
@ -69,6 +62,12 @@ public class UsersTest extends AbstractAdminTest {
}
}
@Override
protected boolean isImportAfterEachMethod() {
// always import realm due to changes in setupTestEnvironmentWithPermissions
return true;
}
@Test
public void searchUserWithWildcards() throws Exception {
createUser(REALM_NAME, "User", "password", "firstName", "lastName", "user@example.com");

View file

@ -204,7 +204,9 @@ public class ClientPolicyManagementTest extends AbstractPolicyManagementTest {
ClientPoliciesResource permissions = authorization.policies().client();
try (Response response = permissions.create(representation)) {
assertResponseSuccessful(response);
ClientPolicyRepresentation created = response.readEntity(ClientPolicyRepresentation.class);
getCleanup().addCleanup(() -> permissions.findById(created.getId()).remove());
ClientPolicyResource permission = permissions.findById(created.getId());
assertRepresentation(representation, permission);
}

View file

@ -246,7 +246,9 @@ public class UserPolicyManagementTest extends AbstractPolicyManagementTest {
UserPoliciesResource permissions = authorization.policies().user();
try (Response response = permissions.create(representation)) {
assertResponseSuccessful(response);
UserPolicyRepresentation created = response.readEntity(UserPolicyRepresentation.class);
getCleanup().addCleanup(() -> permissions.findById(created.getId()).remove());
UserPolicyResource permission = permissions.findById(created.getId());
assertRepresentation(representation, permission);
}