Rename ApiUtil to AdminApiUtil (#44224)

Closes #44196

Signed-off-by: stianst <stianst@gmail.com>
This commit is contained in:
Stian Thorgersen 2025-11-17 07:52:04 +01:00 committed by GitHub
parent b7815190a2
commit c284f9ae66
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
63 changed files with 142 additions and 147 deletions

View File

@ -38,7 +38,7 @@ public class ClientSupplier implements Supplier<ManagedClient, InjectClient> {
if (Status.CONFLICT.equals(Status.fromStatusCode(response.getStatus()))) {
throw new IllegalStateException("Client already exist with client id: " + clientRepresentation.getClientId());
}
clientRepresentation.setId(ApiUtil.handleCreatedResponse(response));
clientRepresentation.setId(ApiUtil.getCreatedId(response));
} else {
List<ClientRepresentation> clients = realm.admin().clients().findByClientId(attachTo);
if (clients.isEmpty()) {

View File

@ -33,7 +33,7 @@ public class UserSupplier implements Supplier<ManagedUser, InjectUser> {
if (Status.CONFLICT.equals(Status.fromStatusCode(response.getStatus()))) {
throw new IllegalStateException("User already exist with username: " + userRepresentation.getUsername());
}
String uuid = ApiUtil.handleCreatedResponse(response);
String uuid = ApiUtil.getCreatedId(response);
instanceContext.addNote(USER_UUID_KEY, uuid);

View File

@ -6,22 +6,12 @@ import org.junit.jupiter.api.Assertions;
public class ApiUtil {
public static String handleCreatedResponse(Response response) {
public static String getCreatedId(Response response) {
try (response) {
if (response.getStatus() != Response.Status.CONFLICT.getStatusCode()) {
String uuid = getCreatedId(response);
response.close();
return uuid;
} else {
return null;
}
Assertions.assertEquals(201, response.getStatus());
String path = response.getLocation().getPath();
return path.substring(path.lastIndexOf('/') + 1);
}
}
public static String getCreatedId(Response response) {
Assertions.assertEquals(201, response.getStatus());
String path = response.getLocation().getPath();
return path.substring(path.lastIndexOf('/') + 1);
}
}

View File

@ -47,7 +47,7 @@ public class AdminEventsTest {
userRep.setUsername(userName);
userRep.setEnabled(true);
String userId = ApiUtil.handleCreatedResponse(adminClient.realm(realm.getName()).users().create(userRep));
String userId = ApiUtil.getCreatedId(adminClient.realm(realm.getName()).users().create(userRep));
AdminEventAssertion.assertSuccess(adminEvents.poll())
.operationType(OperationType.CREATE)
@ -115,7 +115,7 @@ public class AdminEventsTest {
private List<String> createUsers(String prefix, int n) {
List<String> userIds = new LinkedList<>();
for (int i = 0; i < n; i++) {
String userId = ApiUtil.handleCreatedResponse(realm.admin().users().create(UserConfigBuilder.create().username(prefix + i).build()));
String userId = ApiUtil.getCreatedId(realm.admin().users().create(UserConfigBuilder.create().username(prefix + i).build()));
userIds.add(userId);
}
return userIds;

View File

@ -43,7 +43,7 @@ public class OAuthClientSupplier implements Supplier<OAuthClient, InjectOAuthCli
String clientId = testAppClient.getClientId();
String clientSecret = testAppClient.getSecret();
ApiUtil.handleCreatedResponse(realm.admin().clients().create(testAppClient));
ApiUtil.getCreatedId(realm.admin().clients().create(testAppClient));
OAuthClient oAuthClient = new OAuthClient(keycloakUrls.getBase(), httpClient, webDriver);
oAuthClient.config().realm(realm.getName()).client(clientId, clientSecret).redirectUri(redirectUri);

View File

@ -26,13 +26,13 @@ With this change, most of the time you do not need to get the `RealmResource` vi
### Changed packages/classes
| Old | New |
|---------------------------------------------|------------------------------------------------|
| org.junit.Assert | org.junit.jupiter.api.Assertions |
| org.keycloak.testsuite.Assert | org.keycloak.tests.utils.Assert |
| org.junit.Test | org.junit.jupiter.api.Test |
| org.keycloak.testsuite.admin.ApiUtil | org.keycloak.tests.utils.admin.ApiUtil |
| org.keycloak.testsuite.util.AdminEventPaths | org.keycloak.tests.utils.admin.AdminEventPaths |
| Old | New |
|---------------------------------------------|-----------------------------------------------------------------------------------------|
| org.junit.Assert | org.junit.jupiter.api.Assertions |
| org.keycloak.testsuite.Assert | org.keycloak.tests.utils.Assert |
| org.junit.Test | org.junit.jupiter.api.Test |
| org.keycloak.testsuite.admin.ApiUtil | org.keycloak.testframework.util.ApiUtil and org.keycloak.tests.utils.admin.AdminApiUtil |
| org.keycloak.testsuite.util.AdminEventPaths | org.keycloak.tests.utils.admin.AdminEventPaths |
### Assertions

View File

@ -26,7 +26,7 @@ import org.keycloak.testframework.realm.RealmConfigBuilder;
import org.keycloak.testframework.realm.UserConfigBuilder;
import org.keycloak.testframework.server.KeycloakServerConfig;
import org.keycloak.testframework.server.KeycloakServerConfigBuilder;
import org.keycloak.tests.utils.admin.ApiUtil;
import org.keycloak.testframework.util.ApiUtil;
import org.keycloak.testsuite.util.MailServerConfiguration;
import org.junit.jupiter.api.BeforeEach;

View File

@ -20,7 +20,7 @@ import org.keycloak.testframework.annotations.InjectAdminClientFactory;
import org.keycloak.testframework.annotations.KeycloakIntegrationTest;
import org.keycloak.testframework.realm.GroupConfigBuilder;
import org.keycloak.testframework.realm.UserConfigBuilder;
import org.keycloak.tests.utils.admin.ApiUtil;
import org.keycloak.testframework.util.ApiUtil;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;

View File

@ -72,9 +72,10 @@ import org.keycloak.testframework.realm.RealmConfig;
import org.keycloak.testframework.realm.RealmConfigBuilder;
import org.keycloak.testframework.realm.RoleConfigBuilder;
import org.keycloak.testframework.realm.UserConfigBuilder;
import org.keycloak.testframework.util.ApiUtil;
import org.keycloak.tests.utils.Assert;
import org.keycloak.tests.utils.admin.AdminApiUtil;
import org.keycloak.tests.utils.admin.AdminEventPaths;
import org.keycloak.tests.utils.admin.ApiUtil;
import org.keycloak.testsuite.util.oauth.AccessTokenResponse;
import org.keycloak.testsuite.util.oauth.AuthorizationEndpointResponse;
@ -152,7 +153,7 @@ public class ClientTest {
Response response = managedRealm.admin().clients().create(rep);
String id = ApiUtil.getCreatedId(response);
managedRealm.cleanup().add(r -> r.clients().get(id).remove());
ClientRepresentation found = ApiUtil.findClientByClientId(managedRealm.admin(), "my-app").toRepresentation();
ClientRepresentation found = AdminApiUtil.findClientByClientId(managedRealm.admin(), "my-app").toRepresentation();
assertEquals("my-app", found.getClientId());
AdminEventAssertion.assertEvent(adminEvents.poll(), OperationType.CREATE, AdminEventPaths.clientResourcePath(id), rep, ResourceType.CLIENT);
@ -171,7 +172,7 @@ public class ClientTest {
Response response = managedRealm.admin().clients().create(rep);
String id = ApiUtil.getCreatedId(response);
managedRealm.cleanup().add(r -> r.clients().get(id).remove());
ClientRepresentation found = ApiUtil.findClientByClientId(managedRealm.admin(), "my-app").toRepresentation();
ClientRepresentation found = AdminApiUtil.findClientByClientId(managedRealm.admin(), "my-app").toRepresentation();
assertEquals("my-app", found.getClientId());
AdminEventAssertion.assertEvent(adminEvents.poll(), OperationType.CREATE, AdminEventPaths.clientResourcePath(id), rep, ResourceType.CLIENT);
@ -388,9 +389,9 @@ public class ClientTest {
String id = ApiUtil.getCreatedId(response);
adminEvents.skip();
assertNotNull(ApiUtil.findClientByClientId(managedRealm.admin(), "my-app"));
assertNotNull(AdminApiUtil.findClientByClientId(managedRealm.admin(), "my-app"));
managedRealm.admin().clients().get(id).remove();
assertNull(ApiUtil.findClientResourceById(managedRealm.admin(), "my-app"));
assertNull(AdminApiUtil.findClientResourceById(managedRealm.admin(), "my-app"));
AdminEventAssertion.assertEvent(adminEvents.poll(), OperationType.DELETE, AdminEventPaths.clientResourcePath(id), ResourceType.CLIENT);
}
@ -419,14 +420,14 @@ public class ClientTest {
@Test
public void removeInternalClientExpectingBadRequestException() {
final String testRealmClientId = ApiUtil.findClientByClientId(managedMasterRealm.admin(), managedRealm.getName() + "-realm")
final String testRealmClientId = AdminApiUtil.findClientByClientId(managedMasterRealm.admin(), managedRealm.getName() + "-realm")
.toRepresentation().getId();
assertThrows(BadRequestException.class,
() -> managedMasterRealm.admin().clients().get(testRealmClientId).remove());
defaultClients.forEach(defaultClient -> {
final String defaultClientId = ApiUtil.findClientByClientId(managedRealm.admin(), defaultClient)
final String defaultClientId = AdminApiUtil.findClientByClientId(managedRealm.admin(), defaultClient)
.toRepresentation().getId();
assertThrows(BadRequestException.class,
@ -466,7 +467,7 @@ public class ClientTest {
AccessTokenResponse response2 = oauth.doAccessTokenRequest(codeResponse.getCode());
assertEquals(200, response2.getStatusCode());
ClientResource app = ApiUtil.findClientByClientId(managedRealm.admin(), "test-app");
ClientResource app = AdminApiUtil.findClientByClientId(managedRealm.admin(), "test-app");
assertEquals(2, (long) app.getApplicationSessionCount().get("count"));
@ -509,7 +510,7 @@ public class ClientTest {
@Test
public void getClientById() {
createClient();
ClientRepresentation rep = ApiUtil.findClientByClientId(managedRealm.admin(), "my-app").toRepresentation();
ClientRepresentation rep = AdminApiUtil.findClientByClientId(managedRealm.admin(), "my-app").toRepresentation();
ClientRepresentation gotById = managedRealm.admin().clients().get(rep.getId()).toRepresentation();
assertClient(rep, gotById);
}
@ -546,7 +547,7 @@ public class ClientTest {
@Test
public void testProtocolMappers() {
String clientDbId = createClient().getId();
ProtocolMappersResource mappersResource = ApiUtil.findClientByClientId(managedRealm.admin(), "my-app").getProtocolMappers();
ProtocolMappersResource mappersResource = AdminApiUtil.findClientByClientId(managedRealm.admin(), "my-app").getProtocolMappers();
protocolMappersTest(clientDbId, mappersResource);
}
@ -611,7 +612,7 @@ public class ClientTest {
public void pushRevocation() throws InterruptedException {
testApp.kcAdmin().clear();
ClientResource client = ApiUtil.findClientByClientId(managedRealm.admin(), "test-app");
ClientResource client = AdminApiUtil.findClientByClientId(managedRealm.admin(), "test-app");
String id = client.toRepresentation().getId();
client.pushRevocation();
@ -625,7 +626,7 @@ public class ClientTest {
@Test
public void testAddNodeWithReservedCharacter() {
testApp.kcAdmin().clear();
String id = ApiUtil.findClientByClientId(managedRealm.admin(), "test-app").toRepresentation().getId();
String id = AdminApiUtil.findClientByClientId(managedRealm.admin(), "test-app").toRepresentation().getId();
assertThrows(BadRequestException.class,
() -> managedRealm.admin().clients().get(id).registerNode(Collections.singletonMap("node", "foo#"))
);
@ -635,7 +636,7 @@ public class ClientTest {
public void nodes() throws MalformedURLException, InterruptedException {
testApp.kcAdmin().clear();
String id = ApiUtil.findClientByClientId(managedRealm.admin(), "test-app").toRepresentation().getId();
String id = AdminApiUtil.findClientByClientId(managedRealm.admin(), "test-app").toRepresentation().getId();
String myhost = new URL(managedRealm.getBaseUrl()).getHost();
managedRealm.admin().clients().get(id).registerNode(Collections.singletonMap("node", myhost));
@ -665,7 +666,7 @@ public class ClientTest {
@Test
public void offlineUserSessions() {
ClientRepresentation client = ApiUtil.findClientByClientId(managedRealm.admin(), "test-app").toRepresentation();
ClientRepresentation client = AdminApiUtil.findClientByClientId(managedRealm.admin(), "test-app").toRepresentation();
String id = client.getId();
Response response = managedRealm.admin().users().create(UserConfigBuilder.create().username("testuser").password("password").email("testuser@localhost").name("test", "user").build());

View File

@ -52,7 +52,7 @@ import org.keycloak.testframework.remote.runonserver.InjectRunOnServer;
import org.keycloak.testframework.remote.runonserver.RunOnServerClient;
import org.keycloak.testframework.server.KeycloakServerConfig;
import org.keycloak.testframework.server.KeycloakServerConfigBuilder;
import org.keycloak.tests.utils.admin.ApiUtil;
import org.keycloak.testframework.util.ApiUtil;
import org.keycloak.testsuite.components.TestComponentProvider;
import org.keycloak.testsuite.components.TestComponentProviderFactory;

View File

@ -70,7 +70,7 @@ import org.junit.jupiter.api.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import static org.keycloak.tests.utils.admin.ApiUtil.findClientByClientId;
import static org.keycloak.tests.utils.admin.AdminApiUtil.findClientByClientId;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertNotNull;

View File

@ -33,7 +33,7 @@ import org.keycloak.testframework.realm.ManagedRealm;
import org.keycloak.testframework.realm.RealmConfig;
import org.keycloak.testframework.realm.RealmConfigBuilder;
import org.keycloak.testframework.realm.UserConfigBuilder;
import org.keycloak.tests.utils.admin.ApiUtil;
import org.keycloak.testframework.util.ApiUtil;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;

View File

@ -22,7 +22,7 @@ import org.keycloak.testframework.realm.RealmConfig;
import org.keycloak.testframework.realm.RealmConfigBuilder;
import org.keycloak.testframework.remote.runonserver.InjectRunOnServer;
import org.keycloak.testframework.remote.runonserver.RunOnServerClient;
import org.keycloak.tests.utils.admin.ApiUtil;
import org.keycloak.testframework.util.ApiUtil;
import org.keycloak.userprofile.DeclarativeUserProfileProvider;
import org.keycloak.userprofile.UserProfileProvider;

View File

@ -77,7 +77,8 @@ import org.keycloak.testframework.server.KeycloakUrls;
import org.keycloak.testframework.ui.annotations.InjectPage;
import org.keycloak.testframework.ui.annotations.InjectWebDriver;
import org.keycloak.testframework.ui.page.LoginPage;
import org.keycloak.tests.utils.admin.ApiUtil;
import org.keycloak.testframework.util.ApiUtil;
import org.keycloak.tests.utils.admin.AdminApiUtil;
import org.keycloak.testsuite.util.CredentialBuilder;
import org.apache.http.HttpResponse;
@ -155,11 +156,11 @@ public class ImpersonationTest {
UserResource user = masterRealm.admin().users().get(userId);
user.resetPassword(CredentialBuilder.create().password("password").build());
ClientResource testRealmClient = ApiUtil.findClientByClientId(masterRealm.admin(), managedRealm.getName() + "-realm");
ClientResource testRealmClient = AdminApiUtil.findClientByClientId(masterRealm.admin(), managedRealm.getName() + "-realm");
List<RoleRepresentation> roles = new LinkedList<>();
roles.add(ApiUtil.findClientRoleByName(testRealmClient, AdminRoles.VIEW_USERS).toRepresentation());
roles.add(ApiUtil.findClientRoleByName(testRealmClient, AdminRoles.IMPERSONATION).toRepresentation());
roles.add(AdminApiUtil.findClientRoleByName(testRealmClient, AdminRoles.VIEW_USERS).toRepresentation());
roles.add(AdminApiUtil.findClientRoleByName(testRealmClient, AdminRoles.IMPERSONATION).toRepresentation());
user.roles().clientLevel(testRealmClient.toRepresentation().getId()).add(roles);
@ -243,11 +244,11 @@ public class ImpersonationTest {
clientApp.setServiceAccountsEnabled(true);
managedRealm.admin().clients().create(clientApp);
UserRepresentation user = ApiUtil.findClientByClientId(managedRealm.admin(), "service-account-cl").getServiceAccountUser();
UserRepresentation user = AdminApiUtil.findClientByClientId(managedRealm.admin(), "service-account-cl").getServiceAccountUser();
user.setServiceAccountClientId("service-account-cl");
// add impersonation roles
ApiUtil.assignClientRoles(managedRealm.admin(), user.getId(), Constants.REALM_MANAGEMENT_CLIENT_ID, AdminRoles.IMPERSONATION);
AdminApiUtil.assignClientRoles(managedRealm.admin(), user.getId(), Constants.REALM_MANAGEMENT_CLIENT_ID, AdminRoles.IMPERSONATION);
// Impersonation
testSuccessfulServiceAccountImpersonation(user, managedRealm.getName());
@ -256,7 +257,7 @@ public class ImpersonationTest {
testBadRequestImpersonation("impersonator", managedRealm.getName(), user.getId(), managedRealm.getName(), "Service accounts cannot be impersonated");
// Remove test client
ApiUtil.findClientByClientId(managedRealm.admin(), "service-account-cl").remove();
AdminApiUtil.findClientByClientId(managedRealm.admin(), "service-account-cl").remove();
}
@Test
public void testImpersonationByMasterRealmServiceAccount() throws Exception {
@ -268,17 +269,17 @@ public class ImpersonationTest {
.build();
masterRealm.admin().clients().create(clientApp);
UserRepresentation user = ApiUtil.findClientByClientId(masterRealm.admin(), "service-account-cl").getServiceAccountUser();
UserRepresentation user = AdminApiUtil.findClientByClientId(masterRealm.admin(), "service-account-cl").getServiceAccountUser();
user.setServiceAccountClientId("service-account-cl");
// add impersonation roles
ApiUtil.assignRealmRoles(masterRealm.admin(), user.getId(), "admin");
AdminApiUtil.assignRealmRoles(masterRealm.admin(), user.getId(), "admin");
// Impersonation
testSuccessfulServiceAccountImpersonation(user, masterRealm.getName());
// Remove test client
ApiUtil.findClientByClientId(masterRealm.admin(), "service-account-cl").remove();
AdminApiUtil.findClientByClientId(masterRealm.admin(), "service-account-cl").remove();
}
// Return the SSO cookie from the impersonated session

View File

@ -33,7 +33,7 @@ import org.keycloak.testframework.annotations.KeycloakIntegrationTest;
import org.keycloak.testframework.realm.ManagedRealm;
import org.keycloak.testframework.server.KeycloakServerConfig;
import org.keycloak.testframework.server.KeycloakServerConfigBuilder;
import org.keycloak.tests.utils.admin.ApiUtil;
import org.keycloak.testframework.util.ApiUtil;
import org.junit.jupiter.api.Test;

View File

@ -55,7 +55,7 @@ import org.keycloak.testframework.realm.ClientConfigBuilder;
import org.keycloak.testframework.realm.ManagedRealm;
import org.keycloak.testframework.realm.RoleConfigBuilder;
import org.keycloak.testframework.realm.UserConfigBuilder;
import org.keycloak.tests.utils.admin.ApiUtil;
import org.keycloak.testframework.util.ApiUtil;
import org.keycloak.testsuite.util.CredentialBuilder;
import org.keycloak.testsuite.util.FederatedIdentityBuilder;
import org.keycloak.testsuite.util.IdentityProviderBuilder;

View File

@ -30,8 +30,8 @@ import org.keycloak.testframework.annotations.InjectRealm;
import org.keycloak.testframework.annotations.KeycloakIntegrationTest;
import org.keycloak.testframework.realm.ClientConfigBuilder;
import org.keycloak.testframework.realm.ManagedRealm;
import org.keycloak.testframework.util.ApiUtil;
import org.keycloak.tests.admin.authz.fgap.KeycloakAdminPermissionsV1ServerConfig;
import org.keycloak.tests.utils.admin.ApiUtil;
import org.junit.jupiter.api.Test;

View File

@ -36,8 +36,8 @@ import org.keycloak.testframework.annotations.InjectRealm;
import org.keycloak.testframework.events.AdminEventAssertion;
import org.keycloak.testframework.events.AdminEvents;
import org.keycloak.testframework.realm.ManagedRealm;
import org.keycloak.testframework.util.ApiUtil;
import org.keycloak.tests.utils.admin.AdminEventPaths;
import org.keycloak.tests.utils.admin.ApiUtil;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeEach;

View File

@ -37,8 +37,8 @@ import org.keycloak.representations.idm.AuthenticationFlowRepresentation;
import org.keycloak.representations.idm.AuthenticatorConfigRepresentation;
import org.keycloak.testframework.annotations.KeycloakIntegrationTest;
import org.keycloak.testframework.events.AdminEventAssertion;
import org.keycloak.testframework.util.ApiUtil;
import org.keycloak.tests.utils.admin.AdminEventPaths;
import org.keycloak.tests.utils.admin.ApiUtil;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;

View File

@ -56,8 +56,8 @@ import org.keycloak.representations.idm.OAuth2ErrorRepresentation;
import org.keycloak.representations.idm.RealmRepresentation;
import org.keycloak.testframework.annotations.KeycloakIntegrationTest;
import org.keycloak.testframework.events.AdminEventAssertion;
import org.keycloak.testframework.util.ApiUtil;
import org.keycloak.tests.utils.admin.AdminEventPaths;
import org.keycloak.tests.utils.admin.ApiUtil;
import org.hamcrest.MatcherAssert;
import org.junit.jupiter.api.Assertions;

View File

@ -82,7 +82,7 @@ public class GroupResourceTypeEvaluationTest extends AbstractPermissionTest {
topGroup.setName(groupName);
try (Response response = realm.admin().groups().add(topGroup)) {
assertThat(response.getStatus(), equalTo(Response.Status.CREATED.getStatusCode()));
topGroup.setId(ApiUtil.handleCreatedResponse(response));
topGroup.setId(ApiUtil.getCreatedId(response));
realm.cleanup().add(r -> r.groups().group(topGroup.getId()).remove());
}
realm.admin().users().get(userAlice.getId()).joinGroup(topGroup.getId());
@ -163,7 +163,7 @@ public class GroupResourceTypeEvaluationTest extends AbstractPermissionTest {
// creating group requires manage scope
GroupRepresentation group = new GroupRepresentation();
group.setName("testGroup");
String testGroupId = ApiUtil.handleCreatedResponse(realmAdminClient.realm(realm.getName()).groups().add(group));
String testGroupId = ApiUtil.getCreatedId(realmAdminClient.realm(realm.getName()).groups().add(group));
group.setId(testGroupId);
// it should be possible to update the group due to fallback to all-groups permission
@ -195,7 +195,7 @@ public class GroupResourceTypeEvaluationTest extends AbstractPermissionTest {
try (Response response = realm.admin().groups().add(myGroup)) {
assertThat(response.getStatus(), equalTo(Response.Status.CREATED.getStatusCode()));
myGroup.setId(ApiUtil.handleCreatedResponse(response));
myGroup.setId(ApiUtil.getCreatedId(response));
realm.cleanup().add(r -> r.groups().group(myGroup.getId()).remove());
}
@ -261,7 +261,7 @@ public class GroupResourceTypeEvaluationTest extends AbstractPermissionTest {
try (Response response = realm.admin().groups().add(myGroup)) {
assertThat(response.getStatus(), equalTo(Response.Status.CREATED.getStatusCode()));
myGroup.setId(ApiUtil.handleCreatedResponse(response));
myGroup.setId(ApiUtil.getCreatedId(response));
realm.cleanup().add(r -> r.groups().group(myGroup.getId()).remove());
}
@ -300,7 +300,7 @@ public class GroupResourceTypeEvaluationTest extends AbstractPermissionTest {
//create new user
String bobId = ApiUtil.handleCreatedResponse(realm.admin().users().create(UserConfigBuilder.create().username("bob").build()));
String bobId = ApiUtil.getCreatedId(realm.admin().users().create(UserConfigBuilder.create().username("bob").build()));
realm.cleanup().add(r -> r.users().delete(bobId));
//check myadmin can manage membership
@ -322,7 +322,7 @@ public class GroupResourceTypeEvaluationTest extends AbstractPermissionTest {
assertThat(response.getStatus(), equalTo(Response.Status.FORBIDDEN.getStatusCode()));
}
String bobId = ApiUtil.handleCreatedResponse(realmAdminClient.realm(realm.getName()).users().create(UserConfigBuilder.create().username("bob").groups("/" + groupName).build()));
String bobId = ApiUtil.getCreatedId(realmAdminClient.realm(realm.getName()).users().create(UserConfigBuilder.create().username("bob").groups("/" + groupName).build()));
realm.cleanup().add(r -> r.users().delete(bobId));
}
@ -410,7 +410,7 @@ public class GroupResourceTypeEvaluationTest extends AbstractPermissionTest {
GroupRepresentation subGroup = new GroupRepresentation();
subGroup.setName("testSubGroup");
String testGroupId = ApiUtil.handleCreatedResponse(realm.admin().groups().add(subGroup));
String testGroupId = ApiUtil.getCreatedId(realm.admin().groups().add(subGroup));
subGroup.setId(testGroupId);
realm.admin().groups().group(topGroup.getId()).subGroup(subGroup).close();
realm.admin().users().get(userJdoe.getId()).joinGroup(subGroup.getId());

View File

@ -88,14 +88,14 @@ public class GroupResourceTypePermissionTest extends AbstractPermissionTest {
topGroup.setName("topGroup");
try (Response response = realm.admin().groups().add(topGroup)) {
assertThat(response.getStatus(), equalTo(Response.Status.CREATED.getStatusCode()));
topGroup.setId(ApiUtil.handleCreatedResponse(response));
topGroup.setId(ApiUtil.getCreatedId(response));
realm.cleanup().add(r -> r.groups().group(topGroup.getId()).remove());
}
GroupRepresentation topGroup1 = new GroupRepresentation();
topGroup1.setName("topGroup1");
try (Response response = realm.admin().groups().add(topGroup1)) {
assertThat(response.getStatus(), equalTo(Response.Status.CREATED.getStatusCode()));
topGroup1.setId(ApiUtil.handleCreatedResponse(response));
topGroup1.setId(ApiUtil.getCreatedId(response));
}
//create group policies

View File

@ -72,7 +72,7 @@ public class RoleResourceTypeEvaluationTest extends AbstractPermissionTest {
clientScope.setProtocol("openid-connect");
try (Response response = realm.admin().clientScopes().create(clientScope)) {
assertThat(response.getStatus(), equalTo(Response.Status.CREATED.getStatusCode()));
clientScope.setId(ApiUtil.handleCreatedResponse(response));
clientScope.setId(ApiUtil.getCreatedId(response));
realm.cleanup().add(r -> r.clientScopes().get(clientScope.getId()).remove());
}

View File

@ -150,7 +150,7 @@ public class UserResourceTypeEvaluationTest extends AbstractPermissionTest {
createAllPermission(client, usersType, policy, Set.of(VIEW, MANAGE));
// creating user requires manage scope
String newUserId = ApiUtil.handleCreatedResponse(realmAdminClient.realm(realm.getName()).users().create(UserConfigBuilder.create().username(newUserUsername).build()));
String newUserId = ApiUtil.getCreatedId(realmAdminClient.realm(realm.getName()).users().create(UserConfigBuilder.create().username(newUserUsername).build()));
// it should be possible to update the user due to fallback to all-users permission
realmAdminClient.realm(realm.getName()).users().get(newUserId).update(UserConfigBuilder.create().email("new@test.com").build());
@ -164,7 +164,7 @@ public class UserResourceTypeEvaluationTest extends AbstractPermissionTest {
ScopePermissionRepresentation allUsersPermission = createAllPermission(client, usersType, policy, Set.of(VIEW, MANAGE));
// creating user requires manage scope
String newUserId = ApiUtil.handleCreatedResponse(realmAdminClient.realm(realm.getName()).users().create(UserConfigBuilder.create().username(newUserUsername).build()));
String newUserId = ApiUtil.getCreatedId(realmAdminClient.realm(realm.getName()).users().create(UserConfigBuilder.create().username(newUserUsername).build()));
// remove all-users permissions to test user-permission
allUsersPermission = getScopePermissionsResource(client).findByName(allUsersPermission.getName());
@ -490,7 +490,7 @@ public class UserResourceTypeEvaluationTest extends AbstractPermissionTest {
// Create group 'test_admins'
GroupRepresentation testAdminsGroup = new GroupRepresentation();
testAdminsGroup.setName("test_admins");
testAdminsGroup.setId(ApiUtil.handleCreatedResponse(realm.admin().groups().add(testAdminsGroup)));
testAdminsGroup.setId(ApiUtil.getCreatedId(realm.admin().groups().add(testAdminsGroup)));
// Add user 'myadmin' as a member of 'test_admins'
UserRepresentation myadmin = realm.admin().users().search("myadmin").get(0);

View File

@ -434,7 +434,7 @@ public class UserResourceTypeFilteringTest extends AbstractPermissionTest {
// create users
for (int i = 0; i < 4; i++) {
String userId = ApiUtil.handleCreatedResponse(realm.admin().users().create(UserConfigBuilder.create()
String userId = ApiUtil.getCreatedId(realm.admin().users().create(UserConfigBuilder.create()
.username("user" + i)
.password("password")
.firstName("user")
@ -503,7 +503,7 @@ public class UserResourceTypeFilteringTest extends AbstractPermissionTest {
// assign role to users
for (String username : List.of("user_x", "user_y", "user_z")) {
String userId = ApiUtil.handleCreatedResponse(realm.admin().users().create(UserConfigBuilder.create()
String userId = ApiUtil.getCreatedId(realm.admin().users().create(UserConfigBuilder.create()
.username(username)
.password("password")
.firstName("user")

View File

@ -16,8 +16,8 @@ import org.keycloak.testframework.annotations.KeycloakIntegrationTest;
import org.keycloak.testframework.events.AdminEventAssertion;
import org.keycloak.testframework.events.AdminEvents;
import org.keycloak.testframework.realm.ManagedRealm;
import org.keycloak.testframework.util.ApiUtil;
import org.keycloak.tests.utils.admin.AdminEventPaths;
import org.keycloak.tests.utils.admin.ApiUtil;
import org.keycloak.util.JsonSerialization;
import org.junit.jupiter.api.Assertions;

View File

@ -48,9 +48,9 @@ import org.keycloak.testframework.realm.ClientConfigBuilder;
import org.keycloak.testframework.realm.ManagedClient;
import org.keycloak.testframework.realm.ManagedRealm;
import org.keycloak.testframework.realm.RoleConfigBuilder;
import org.keycloak.testframework.util.ApiUtil;
import org.keycloak.tests.utils.Assert;
import org.keycloak.tests.utils.admin.AdminEventPaths;
import org.keycloak.tests.utils.admin.ApiUtil;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeEach;

View File

@ -32,7 +32,7 @@ import org.keycloak.testframework.realm.ManagedRealm;
import org.keycloak.testframework.realm.ManagedUser;
import org.keycloak.testframework.realm.UserConfig;
import org.keycloak.testframework.realm.UserConfigBuilder;
import org.keycloak.tests.utils.admin.ApiUtil;
import org.keycloak.tests.utils.admin.AdminApiUtil;
import org.junit.jupiter.api.Test;
@ -85,7 +85,7 @@ public class ClientScopeEvaluateTest {
@Test
public void testGenerateAccessTokenWithoutBasicScope() {
String basicScopeId = ApiUtil.findClientScopeByName(managedRealm.admin(),"basic").toRepresentation().getId();
String basicScopeId = AdminApiUtil.findClientScopeByName(managedRealm.admin(),"basic").toRepresentation().getId();
managedClient.admin().removeDefaultClientScope(basicScopeId);
AccessToken accessToken = managedClient.admin().clientScopesEvaluate().generateAccessToken("openid", managedUser.getId(), null);
@ -97,7 +97,7 @@ public class ClientScopeEvaluateTest {
@Test
public void testGenerateAccessTokenWithOptionalScope() {
String emailScopeId = ApiUtil.findClientScopeByName(managedRealm.admin(),"email").toRepresentation().getId();
String emailScopeId = AdminApiUtil.findClientScopeByName(managedRealm.admin(),"email").toRepresentation().getId();
managedClient.admin().removeDefaultClientScope(emailScopeId);
managedClient.admin().addOptionalClientScope(emailScopeId);

View File

@ -38,8 +38,9 @@ import org.keycloak.testframework.annotations.InjectRealm;
import org.keycloak.testframework.annotations.KeycloakIntegrationTest;
import org.keycloak.testframework.events.AdminEventAssertion;
import org.keycloak.testframework.realm.ManagedRealm;
import org.keycloak.testframework.util.ApiUtil;
import org.keycloak.tests.utils.admin.AdminApiUtil;
import org.keycloak.tests.utils.admin.AdminEventPaths;
import org.keycloak.tests.utils.admin.ApiUtil;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Assertions;
@ -180,7 +181,7 @@ public class ClientScopeProtocolMapperTest extends AbstractProtocolMapperTest {
@Test
public void test08EffectiveMappers() {
ClientScopeResource rolesScope = ApiUtil.findClientScopeByName(managedRealm.admin(), "roles");
ClientScopeResource rolesScope = AdminApiUtil.findClientScopeByName(managedRealm.admin(), "roles");
Assertions.assertNotNull(rolesScope);
List<ProtocolMapperRepresentation> mappers = rolesScope.getProtocolMappers().getMappers();
ProtocolMapperRepresentation audienceMapper = mappers.stream()

View File

@ -52,8 +52,8 @@ import org.keycloak.representations.idm.RoleRepresentation;
import org.keycloak.testframework.annotations.KeycloakIntegrationTest;
import org.keycloak.testframework.events.AdminEventAssertion;
import org.keycloak.testframework.realm.RoleConfigBuilder;
import org.keycloak.testframework.util.ApiUtil;
import org.keycloak.tests.utils.admin.AdminEventPaths;
import org.keycloak.tests.utils.admin.ApiUtil;
import org.keycloak.tests.utils.matchers.Matchers;
import org.junit.jupiter.api.Assertions;

View File

@ -174,7 +174,7 @@ public class InstallationTest {
clientScopeRepresentation.setProtocolMappers(List.of(mapper));
Response response = realm.admin().clientScopes().create(clientScopeRepresentation);
String id = ApiUtil.handleCreatedResponse(response);
String id = ApiUtil.getCreatedId(response);
response.close();
AdminEventAssertion.assertEvent(adminEvents.poll(), OperationType.CREATE, AdminEventPaths.clientScopeResourcePath(id), ResourceType.CLIENT_SCOPE);

View File

@ -33,7 +33,7 @@ import org.keycloak.testframework.realm.ClientConfig;
import org.keycloak.testframework.realm.ClientConfigBuilder;
import org.keycloak.testframework.realm.ManagedClient;
import org.keycloak.testframework.realm.ManagedRealm;
import org.keycloak.tests.utils.admin.ApiUtil;
import org.keycloak.tests.utils.admin.AdminApiUtil;
import org.keycloak.testsuite.util.oauth.AccessTokenResponse;
import org.hamcrest.MatcherAssert;
@ -60,7 +60,7 @@ public class ServiceAccountClientTest {
@Test
public void testServiceAccountEnableDisable() {
ClientScopeResource serviceAccountScopeRsc = ApiUtil.findClientScopeByName(
ClientScopeResource serviceAccountScopeRsc = AdminApiUtil.findClientScopeByName(
managedRealm.admin(), ServiceAccountConstants.SERVICE_ACCOUNT_SCOPE);
Assertions.assertNotNull(serviceAccountScopeRsc);
ClientScopeRepresentation serviceAccountScope = serviceAccountScopeRsc.toRepresentation();

View File

@ -33,7 +33,7 @@ import org.keycloak.testframework.realm.UserConfig;
import org.keycloak.testframework.realm.UserConfigBuilder;
import org.keycloak.testframework.ui.annotations.InjectPage;
import org.keycloak.testframework.ui.page.LoginPage;
import org.keycloak.tests.utils.admin.ApiUtil;
import org.keycloak.tests.utils.admin.AdminApiUtil;
import org.keycloak.testsuite.util.AccountHelper;
import org.junit.jupiter.api.Test;
@ -64,7 +64,7 @@ public class SessionTest {
@Test
public void testGetAppSessionCount() {
ClientResource accountClient = ApiUtil.findClientByClientId(managedRealm.admin(), "test-app");
ClientResource accountClient = AdminApiUtil.findClientByClientId(managedRealm.admin(), "test-app");
int sessionCount = accountClient.getApplicationSessionCount().get("count");
assertEquals(0, sessionCount);
@ -83,7 +83,7 @@ public class SessionTest {
@Test
public void testGetUserSessions() {
ClientResource account = ApiUtil.findClientByClientId(managedRealm.admin(), "test-app");
ClientResource account = AdminApiUtil.findClientByClientId(managedRealm.admin(), "test-app");
oauth.openLoginForm();
loginPage.fillLogin(user.getUsername(), user.getPassword());
@ -117,7 +117,7 @@ public class SessionTest {
loginPage.fillLogin(user.getUsername(), user.getPassword());
loginPage.submit();
ClientResource account = ApiUtil.findClientByClientId(managedRealm.admin(), "test-app");
ClientResource account = AdminApiUtil.findClientByClientId(managedRealm.admin(), "test-app");
List<UserSessionRepresentation> sessions = account.getUserSessions(0, 5);
assertEquals(1, sessions.size());

View File

@ -39,7 +39,7 @@ import org.keycloak.representations.idm.RoleRepresentation;
import org.keycloak.representations.idm.UserRepresentation;
import org.keycloak.testframework.annotations.KeycloakIntegrationTest;
import org.keycloak.testframework.realm.UserConfigBuilder;
import org.keycloak.tests.utils.admin.ApiUtil;
import org.keycloak.testframework.util.ApiUtil;
import org.keycloak.testsuite.util.userprofile.UserProfileUtil;
import org.junit.jupiter.api.Disabled;

View File

@ -63,7 +63,8 @@ import org.keycloak.testframework.remote.runonserver.InjectRunOnServer;
import org.keycloak.testframework.remote.runonserver.RunOnServerClient;
import org.keycloak.testframework.server.KeycloakUrls;
import org.keycloak.testframework.ui.annotations.InjectWebDriver;
import org.keycloak.tests.utils.admin.ApiUtil;
import org.keycloak.testframework.util.ApiUtil;
import org.keycloak.tests.utils.admin.AdminApiUtil;
import org.keycloak.testsuite.util.oauth.AccessTokenResponse;
import org.keycloak.testsuite.util.oauth.AuthorizationEndpointResponse;
import org.keycloak.util.JsonSerialization;
@ -188,7 +189,7 @@ public class ConcurrentLoginTest extends AbstractConcurrencyTest {
rep.setTemporary(Boolean.FALSE);
rep.setValue("password");
rep.setType(CredentialRepresentation.PASSWORD);
ApiUtil.findUserByUsernameId(managedRealm.admin(), user1.getUsername()).resetPassword(rep);
AdminApiUtil.findUserByUsernameId(managedRealm.admin(), user1.getUsername()).resetPassword(rep);
} finally {
realmRep.setPasswordPolicy("");
managedRealm.admin().update(realmRep);
@ -297,7 +298,7 @@ public class ConcurrentLoginTest extends AbstractConcurrencyTest {
run(DEFAULT_THREADS, DEFAULT_THREADS, codeToTokenTask);
// Logout user
ApiUtil.findUserByUsernameId(managedRealm.admin(), user1.getUsername()).logout();
AdminApiUtil.findUserByUsernameId(managedRealm.admin(), user1.getUsername()).logout();
// Code should be successfully exchanged for the token at max once. In some cases (EG. Cross-DC) it may not be even successfully exchanged
assertThat(codeToTokenSuccessCount.get(), Matchers.equalTo(1));

View File

@ -32,8 +32,8 @@ import org.keycloak.testframework.events.AdminEvents;
import org.keycloak.testframework.realm.ManagedRealm;
import org.keycloak.testframework.realm.RealmConfig;
import org.keycloak.testframework.realm.RealmConfigBuilder;
import org.keycloak.tests.utils.admin.AdminApiUtil;
import org.keycloak.tests.utils.admin.AdminEventPaths;
import org.keycloak.tests.utils.admin.ApiUtil;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeEach;
@ -67,7 +67,7 @@ public class AdminEventAuthDetailsTest {
clientUuid = adminClient.realm(managedRealm.getName()).clients().findByClientId("client").get(0).getId();
adminId = adminClient.realm(managedRealm.getName()).users().search("admin", true).get(0).getId();
appUserId = adminClient.realm(managedRealm.getName()).users().search("app-user", true).get(0).getId();
adminCliUuid = ApiUtil.findClientByClientId(managedRealm.admin(), Constants.ADMIN_CLI_CLIENT_ID).toRepresentation().getId();
adminCliUuid = AdminApiUtil.findClientByClientId(managedRealm.admin(), Constants.ADMIN_CLI_CLIENT_ID).toRepresentation().getId();
}
@Test

View File

@ -51,7 +51,7 @@ import org.keycloak.testframework.realm.RealmConfigBuilder;
import org.keycloak.testframework.realm.UserConfigBuilder;
import org.keycloak.testframework.remote.runonserver.InjectRunOnServer;
import org.keycloak.testframework.remote.runonserver.RunOnServerClient;
import org.keycloak.tests.utils.admin.ApiUtil;
import org.keycloak.testframework.util.ApiUtil;
import org.keycloak.util.JsonSerialization;
import org.apache.commons.lang3.RandomStringUtils;

View File

@ -32,7 +32,8 @@ import org.keycloak.representations.idm.UserRepresentation;
import org.keycloak.testframework.annotations.KeycloakIntegrationTest;
import org.keycloak.testframework.realm.GroupConfigBuilder;
import org.keycloak.testframework.realm.UserConfigBuilder;
import org.keycloak.tests.utils.admin.ApiUtil;
import org.keycloak.testframework.util.ApiUtil;
import org.keycloak.tests.utils.admin.AdminApiUtil;
import org.hamcrest.MatcherAssert;
import org.hamcrest.Matchers;
@ -300,7 +301,7 @@ public class FineGrainedAdminRestTest extends AbstractFineGrainedAdminTest {
UserRepresentation newGroupMember = UserConfigBuilder.create()
.username("new-group-member").email("new-group-member@keycloak.org").name("New", "Member").groups("top").build();
ApiUtil.createUserWithAdminClient(realmClient.realm(REALM_NAME), newGroupMember);
AdminApiUtil.createUserWithAdminClient(realmClient.realm(REALM_NAME), newGroupMember);
// Should only return the list of users that belong to "top" group + the new one
queryUsers = realmClient.realm(REALM_NAME).users().list();

View File

@ -31,8 +31,8 @@ import org.keycloak.testframework.events.AdminEvents;
import org.keycloak.testframework.oauth.OAuthClient;
import org.keycloak.testframework.oauth.annotations.InjectOAuthClient;
import org.keycloak.testframework.realm.ManagedRealm;
import org.keycloak.testframework.util.ApiUtil;
import org.keycloak.tests.utils.admin.AdminEventPaths;
import org.keycloak.tests.utils.admin.ApiUtil;
import org.keycloak.testsuite.util.oauth.AccessTokenResponse;
/**

View File

@ -14,7 +14,7 @@ import org.keycloak.testframework.annotations.KeycloakIntegrationTest;
import org.keycloak.testframework.realm.ManagedRealm;
import org.keycloak.testframework.server.KeycloakServerConfig;
import org.keycloak.testframework.server.KeycloakServerConfigBuilder;
import org.keycloak.tests.utils.admin.ApiUtil;
import org.keycloak.testframework.util.ApiUtil;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;

View File

@ -46,7 +46,8 @@ import org.keycloak.testframework.realm.GroupConfigBuilder;
import org.keycloak.testframework.realm.ManagedRealm;
import org.keycloak.testframework.realm.RealmConfig;
import org.keycloak.testframework.realm.RealmConfigBuilder;
import org.keycloak.tests.utils.admin.ApiUtil;
import org.keycloak.testframework.util.ApiUtil;
import org.keycloak.tests.utils.admin.AdminApiUtil;
import org.keycloak.testsuite.util.ProtocolMapperUtil;
import org.hamcrest.MatcherAssert;
@ -77,7 +78,7 @@ public class GroupMappersTest extends AbstractGroupTest {
@SuppressWarnings("unchecked")
public void testGroupMappers() {
{
UserRepresentation user = ApiUtil.findUserByUsername(managedRealm.admin(), TOP_GROUP_USER);
UserRepresentation user = AdminApiUtil.findUserByUsername(managedRealm.admin(), TOP_GROUP_USER);
AccessToken token = login(user.getUsername(), CLIENT_ID, CLIENT_SECRET);
Assertions.assertTrue(token.getRealmAccess().getRoles().contains("user"));
@ -87,7 +88,7 @@ public class GroupMappersTest extends AbstractGroupTest {
Assertions.assertEquals("true", token.getOtherClaims().get(TOP_ATTRIBUTE));
}
{
UserRepresentation user = ApiUtil.findUserByUsername(managedRealm.admin(), LEVEL_2_GROUP_USER);
UserRepresentation user = AdminApiUtil.findUserByUsername(managedRealm.admin(), LEVEL_2_GROUP_USER);
AccessToken token = login(user.getUsername(), CLIENT_ID, CLIENT_SECRET);
Assertions.assertTrue(token.getRealmAccess().getRoles().contains("user"));
@ -112,10 +113,10 @@ public class GroupMappersTest extends AbstractGroupTest {
Response response = realm.groups().group(topGroup.getId()).subGroup(childSlash);
childSlash.setId(ApiUtil.getCreatedId(response));
UserRepresentation user = ApiUtil.findUserByUsername(managedRealm.admin(), LEVEL_2_GROUP_USER);
UserRepresentation user = AdminApiUtil.findUserByUsername(managedRealm.admin(), LEVEL_2_GROUP_USER);
realm.users().get(user.getId()).joinGroup(childSlash.getId());
ClientResource client = ApiUtil.findClientByClientId(realm, CLIENT_ID);
ClientResource client = AdminApiUtil.findClientByClientId(realm, CLIENT_ID);
ProtocolMappersResource protocolMappers = client.getProtocolMappers();
ProtocolMapperRepresentation groupsMapper = ProtocolMapperUtil.getMapperByNameAndProtocol(
protocolMappers, OIDCLoginProtocol.LOGIN_PROTOCOL, "groups");

View File

@ -25,8 +25,8 @@ import org.keycloak.testframework.realm.GroupConfigBuilder;
import org.keycloak.testframework.realm.ManagedRealm;
import org.keycloak.testframework.realm.RealmConfig;
import org.keycloak.testframework.realm.RealmConfigBuilder;
import org.keycloak.testframework.util.ApiUtil;
import org.keycloak.tests.utils.admin.AdminEventPaths;
import org.keycloak.tests.utils.admin.ApiUtil;
import com.google.common.collect.Comparators;
import org.hamcrest.Matchers;

View File

@ -71,9 +71,9 @@ import org.keycloak.testframework.realm.RoleConfigBuilder;
import org.keycloak.testframework.realm.UserConfigBuilder;
import org.keycloak.testframework.remote.runonserver.InjectRunOnServer;
import org.keycloak.testframework.remote.runonserver.RunOnServerClient;
import org.keycloak.testframework.util.ApiUtil;
import org.keycloak.tests.utils.Assert;
import org.keycloak.tests.utils.admin.AdminEventPaths;
import org.keycloak.tests.utils.admin.ApiUtil;
import org.keycloak.testsuite.util.userprofile.UserProfileUtil;
import org.keycloak.util.JsonSerialization;

View File

@ -14,8 +14,8 @@ import org.keycloak.testframework.events.AdminEvents;
import org.keycloak.testframework.realm.ManagedRealm;
import org.keycloak.testframework.remote.runonserver.InjectRunOnServer;
import org.keycloak.testframework.remote.runonserver.RunOnServerClient;
import org.keycloak.testframework.util.ApiUtil;
import org.keycloak.tests.utils.admin.AdminEventPaths;
import org.keycloak.tests.utils.admin.ApiUtil;
import org.junit.jupiter.api.Assertions;

View File

@ -24,8 +24,8 @@ import org.keycloak.testframework.injection.LifeCycle;
import org.keycloak.testframework.realm.ManagedRealm;
import org.keycloak.testframework.server.KeycloakServerConfig;
import org.keycloak.testframework.server.KeycloakServerConfigBuilder;
import org.keycloak.testframework.util.ApiUtil;
import org.keycloak.tests.utils.admin.AdminEventPaths;
import org.keycloak.tests.utils.admin.ApiUtil;
import org.keycloak.testsuite.broker.oidc.OverwrittenMappersTestIdentityProviderFactory;
import org.junit.jupiter.api.Assertions;

View File

@ -233,7 +233,7 @@ public class AdhocWorkflowTest extends AbstractWorkflowTest {
String workflowOneId = workflows.stream().filter(w -> w.getName().equals("One")).findFirst().orElseThrow(IllegalStateException::new).getId();
// create a new user - should bind the user to the workflow and set up the first step in both workflows
String id = ApiUtil.handleCreatedResponse(managedRealm.admin().users().create(getUserRepresentation("alice", "Alice", "Wonderland", "alice@wornderland.org")));
String id = ApiUtil.getCreatedId(managedRealm.admin().users().create(getUserRepresentation("alice", "Alice", "Wonderland", "alice@wornderland.org")));
runScheduledSteps(Duration.ofDays(6));

View File

@ -49,8 +49,8 @@ import org.keycloak.testframework.ui.annotations.InjectPage;
import org.keycloak.testframework.ui.annotations.InjectWebDriver;
import org.keycloak.testframework.ui.page.ConsentPage;
import org.keycloak.testframework.ui.page.LoginPage;
import org.keycloak.testframework.util.ApiUtil;
import org.keycloak.tests.admin.model.workflow.DeleteUserWorkflowStepTest.DeleteUserWorkflowServerConf;
import org.keycloak.tests.utils.admin.ApiUtil;
import org.keycloak.testsuite.federation.DummyUserFederationProvider;
import org.keycloak.testsuite.federation.DummyUserFederationProviderFactory;

View File

@ -12,8 +12,8 @@ import org.keycloak.testframework.events.AdminEventAssertion;
import org.keycloak.testframework.realm.ManagedRealm;
import org.keycloak.testframework.remote.runonserver.InjectRunOnServer;
import org.keycloak.testframework.remote.runonserver.RunOnServerClient;
import org.keycloak.testframework.util.ApiUtil;
import org.keycloak.tests.utils.admin.AdminEventPaths;
import org.keycloak.tests.utils.admin.ApiUtil;
import org.infinispan.Cache;
import org.junit.jupiter.api.Test;

View File

@ -30,8 +30,9 @@ import org.keycloak.testframework.oauth.annotations.InjectTestApp;
import org.keycloak.testframework.realm.ClientConfigBuilder;
import org.keycloak.testframework.realm.UserConfigBuilder;
import org.keycloak.testframework.server.KeycloakUrls;
import org.keycloak.testframework.util.ApiUtil;
import org.keycloak.tests.utils.admin.AdminApiUtil;
import org.keycloak.tests.utils.admin.AdminEventPaths;
import org.keycloak.tests.utils.admin.ApiUtil;
import org.keycloak.testsuite.util.oauth.AccessTokenResponse;
import org.junit.jupiter.api.Assertions;
@ -81,7 +82,7 @@ public class RealmOAuthActionsTest extends AbstractRealmTest {
assertEquals(time, adminPushNotBefore.getNotBefore());
managedRealm.admin().clients().get("test-app-new").remove();
managedRealm.admin().users().get(ApiUtil.findUserByUsername(managedRealm.admin(), "testuser").getId()).remove();
managedRealm.admin().users().get(AdminApiUtil.findUserByUsername(managedRealm.admin(), "testuser").getId()).remove();
}
@Test
@ -107,7 +108,7 @@ public class RealmOAuthActionsTest extends AbstractRealmTest {
managedRealm.admin().clients().get("test-saml-app").remove();
managedRealm.admin().clients().get("test-app-new").remove();
managedRealm.admin().users().get(ApiUtil.findUserByUsername(managedRealm.admin(), "testuser").getId()).remove();
managedRealm.admin().users().get(AdminApiUtil.findUserByUsername(managedRealm.admin(), "testuser").getId()).remove();
}
@Test
@ -138,7 +139,7 @@ public class RealmOAuthActionsTest extends AbstractRealmTest {
assertNotNull(testApp.kcAdmin().getAdminLogoutAction());
managedRealm.admin().clients().get("test-app-new").remove();
managedRealm.admin().users().get(ApiUtil.findUserByUsername(managedRealm.admin(), "testuser").getId()).remove();
managedRealm.admin().users().get(AdminApiUtil.findUserByUsername(managedRealm.admin(), "testuser").getId()).remove();
}
@Test
@ -167,7 +168,7 @@ public class RealmOAuthActionsTest extends AbstractRealmTest {
assertEquals("Session not active", tokenResponse.getErrorDescription());
managedRealm.admin().clients().get("test-app-new").remove();
managedRealm.admin().users().get(ApiUtil.findUserByUsername(managedRealm.admin(), "testuser").getId()).remove();
managedRealm.admin().users().get(AdminApiUtil.findUserByUsername(managedRealm.admin(), "testuser").getId()).remove();
}
@Test
@ -194,7 +195,7 @@ public class RealmOAuthActionsTest extends AbstractRealmTest {
assertEquals(0, sessionStats.size());
managedRealm.admin().users().get(ApiUtil.findUserByUsername(managedRealm.admin(), "testuser").getId()).remove();
managedRealm.admin().users().get(AdminApiUtil.findUserByUsername(managedRealm.admin(), "testuser").getId()).remove();
}
private void setupTestAppAndUser() {

View File

@ -41,8 +41,8 @@ import org.keycloak.testframework.remote.runonserver.RunOnServerClient;
import org.keycloak.testframework.ui.annotations.InjectPage;
import org.keycloak.testframework.ui.annotations.InjectWebDriver;
import org.keycloak.testframework.ui.page.LoginPage;
import org.keycloak.testframework.util.ApiUtil;
import org.keycloak.tests.utils.admin.AdminEventPaths;
import org.keycloak.tests.utils.admin.ApiUtil;
import org.keycloak.tests.utils.runonserver.RunHelpers;
import org.keycloak.testsuite.util.userprofile.UserProfileUtil;
import org.keycloak.util.JsonSerialization;

View File

@ -41,9 +41,9 @@ import org.keycloak.testframework.realm.RoleConfigBuilder;
import org.keycloak.testframework.realm.UserConfigBuilder;
import org.keycloak.testframework.server.KeycloakServerConfig;
import org.keycloak.testframework.server.KeycloakServerConfigBuilder;
import org.keycloak.testframework.util.ApiUtil;
import org.keycloak.tests.utils.Assert;
import org.keycloak.tests.utils.admin.AdminEventPaths;
import org.keycloak.tests.utils.admin.ApiUtil;
import org.keycloak.testsuite.federation.DummyUserFederationProviderFactory;
import org.keycloak.util.JsonSerialization;

View File

@ -26,8 +26,8 @@ import org.keycloak.testframework.oauth.annotations.InjectOAuthClient;
import org.keycloak.testframework.realm.ManagedUser;
import org.keycloak.testframework.realm.UserConfig;
import org.keycloak.testframework.realm.UserConfigBuilder;
import org.keycloak.tests.utils.admin.AdminApiUtil;
import org.keycloak.tests.utils.admin.AdminEventPaths;
import org.keycloak.tests.utils.admin.ApiUtil;
import org.keycloak.testsuite.util.AccountHelper;
import org.keycloak.util.JsonSerialization;
@ -218,7 +218,7 @@ public class UserCredentialTest extends AbstractUserTest {
.get();
// Test that when admin operates on user "user2", he can't update, move or remove credentials of different user "user1"
UserResource user2 = ApiUtil.findUserByUsernameId(managedRealm.admin(), testUser.getUsername());
UserResource user2 = AdminApiUtil.findUserByUsernameId(managedRealm.admin(), testUser.getUsername());
try {
user2.setCredentialUserLabel(otpCredential.getId(), "new-label");
Assertions.fail("Not expected to successfully update user label");

View File

@ -5,7 +5,7 @@ import jakarta.ws.rs.core.Response;
import org.keycloak.testframework.annotations.KeycloakIntegrationTest;
import org.keycloak.testframework.events.AdminEventAssertion;
import org.keycloak.testframework.realm.UserConfigBuilder;
import org.keycloak.tests.utils.admin.ApiUtil;
import org.keycloak.testframework.util.ApiUtil;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;

View File

@ -50,9 +50,9 @@ import org.keycloak.testframework.ui.page.ErrorPage;
import org.keycloak.testframework.ui.page.InfoPage;
import org.keycloak.testframework.ui.page.LoginPasswordUpdatePage;
import org.keycloak.testframework.ui.page.ProceedPage;
import org.keycloak.testframework.util.ApiUtil;
import org.keycloak.tests.utils.MailUtils;
import org.keycloak.tests.utils.admin.AdminEventPaths;
import org.keycloak.tests.utils.admin.ApiUtil;
import org.hamcrest.Matchers;
import org.junit.jupiter.api.Assertions;

View File

@ -22,9 +22,10 @@ import org.keycloak.testframework.events.AdminEventAssertion;
import org.keycloak.testframework.realm.UserConfigBuilder;
import org.keycloak.testframework.server.KeycloakServerConfig;
import org.keycloak.testframework.server.KeycloakServerConfigBuilder;
import org.keycloak.testframework.util.ApiUtil;
import org.keycloak.tests.utils.Assert;
import org.keycloak.tests.utils.admin.AdminApiUtil;
import org.keycloak.tests.utils.admin.AdminEventPaths;
import org.keycloak.tests.utils.admin.ApiUtil;
import org.keycloak.testsuite.federation.UserMapStorageFactory;
import org.junit.jupiter.api.Assertions;
@ -104,7 +105,7 @@ public class UserFedarationTest extends AbstractUserTest {
String userId = ApiUtil.getCreatedId(managedRealm.admin().users().create(userRepresentation));
Assert.assertFalse(StorageId.isLocalStorage(userId));
UserResource user = ApiUtil.findUserByUsernameId(managedRealm.admin(), username);
UserResource user = AdminApiUtil.findUserByUsernameId(managedRealm.admin(), username);
List<CredentialRepresentation> credentials = user.credentials();
Assertions.assertNotNull(credentials);
Assertions.assertEquals(1, credentials.size());

View File

@ -18,8 +18,8 @@ import org.keycloak.testframework.annotations.KeycloakIntegrationTest;
import org.keycloak.testframework.events.AdminEventAssertion;
import org.keycloak.testframework.realm.GroupConfigBuilder;
import org.keycloak.testframework.realm.UserConfigBuilder;
import org.keycloak.testframework.util.ApiUtil;
import org.keycloak.tests.utils.admin.AdminEventPaths;
import org.keycloak.tests.utils.admin.ApiUtil;
import org.junit.jupiter.api.Test;

View File

@ -23,8 +23,8 @@ import org.keycloak.testframework.realm.GroupConfigBuilder;
import org.keycloak.testframework.realm.ManagedRealm;
import org.keycloak.testframework.realm.RoleConfigBuilder;
import org.keycloak.testframework.realm.UserConfigBuilder;
import org.keycloak.testframework.util.ApiUtil;
import org.keycloak.tests.utils.admin.AdminEventPaths;
import org.keycloak.tests.utils.admin.ApiUtil;
import org.junit.jupiter.api.Test;

View File

@ -19,7 +19,7 @@ import org.keycloak.representations.idm.UserRepresentation;
import org.keycloak.representations.userprofile.config.UPConfig;
import org.keycloak.testframework.annotations.KeycloakIntegrationTest;
import org.keycloak.testframework.realm.UserConfigBuilder;
import org.keycloak.tests.utils.admin.ApiUtil;
import org.keycloak.testframework.util.ApiUtil;
import org.keycloak.userprofile.DefaultAttributes;
import org.keycloak.userprofile.validator.UsernameProhibitedCharactersValidator;

View File

@ -26,8 +26,8 @@ import org.keycloak.testframework.oauth.OAuthClient;
import org.keycloak.testframework.oauth.annotations.InjectOAuthClient;
import org.keycloak.testframework.realm.ManagedRealm;
import org.keycloak.testframework.realm.UserConfigBuilder;
import org.keycloak.testframework.util.ApiUtil;
import org.keycloak.tests.utils.admin.AdminEventPaths;
import org.keycloak.tests.utils.admin.ApiUtil;
import org.keycloak.testsuite.util.AccountHelper;
import org.junit.jupiter.api.Assertions;

View File

@ -10,7 +10,7 @@ import org.keycloak.testframework.annotations.InjectAdminEvents;
import org.keycloak.testframework.annotations.InjectRealm;
import org.keycloak.testframework.events.AdminEvents;
import org.keycloak.testframework.realm.ManagedRealm;
import org.keycloak.tests.utils.admin.ApiUtil;
import org.keycloak.testframework.util.ApiUtil;
import org.junit.jupiter.api.Assertions;

View File

@ -44,6 +44,11 @@
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.keycloak.testframework</groupId>
<artifactId>keycloak-test-framework-core</artifactId>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.keycloak.testframework</groupId>
<artifactId>keycloak-test-framework-remote-providers</artifactId>

View File

@ -34,7 +34,7 @@ import org.keycloak.keys.GeneratedEcdsaKeyProviderFactory;
import org.keycloak.keys.KeyProvider;
import org.keycloak.representations.idm.ComponentRepresentation;
import org.keycloak.representations.idm.KeysMetadataRepresentation;
import org.keycloak.tests.utils.admin.ApiUtil;
import org.keycloak.testframework.util.ApiUtil;
import org.junit.jupiter.api.Assertions;

View File

@ -39,26 +39,18 @@ import org.keycloak.representations.idm.ProtocolMapperRepresentation;
import org.keycloak.representations.idm.RequiredActionProviderRepresentation;
import org.keycloak.representations.idm.RoleRepresentation;
import org.keycloak.representations.idm.UserRepresentation;
import org.keycloak.testframework.util.ApiUtil;
import org.jboss.logging.Logger;
import org.junit.jupiter.api.Assertions;
import static org.keycloak.representations.idm.CredentialRepresentation.PASSWORD;
/**
* @author Stan Silvert ssilvert@redhat.com (C) 2016 Red Hat Inc.
*/
public class ApiUtil {
public class AdminApiUtil {
private static final Logger log = Logger.getLogger(ApiUtil.class);
public static String getCreatedId(Response response) {
Assertions.assertEquals(201, response.getStatus());
String path = response.getLocation().getPath();
String createdId = path.substring(path.lastIndexOf('/') + 1);
response.close();
return createdId;
}
private static final Logger log = Logger.getLogger(AdminApiUtil.class);
public static ClientResource findClientResourceById(RealmResource realm, String id) {
for (ClientRepresentation c : realm.clients().findAll()) {
@ -152,7 +144,7 @@ public class ApiUtil {
*/
public static String createUserWithAdminClient(RealmResource realm, UserRepresentation user) {
Response response = realm.users().create(user);
String createdId = getCreatedId(response);
String createdId = ApiUtil.getCreatedId(response);
response.close();
return createdId;
}