Pull request #643: RED-4644: Simplified user creation in AbstractPersistenceServerServiceTest

Merge in RED/persistence-service from RED-4644 to master

* commit 'c536e129c38fd8e9f9633dc1ff176bad6bfa89a4':
  RED-4644: Simplified user creation in AbstractPersistenceServerServiceTest
This commit is contained in:
Dominique Eiflaender 2023-03-28 09:38:29 +02:00
commit 92279c631b

View File

@ -2,7 +2,6 @@ package com.iqser.red.service.peristence.v1.server.integration.utils;
import static org.mockito.Mockito.when;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import java.util.UUID;
@ -89,8 +88,6 @@ import com.iqser.red.service.persistence.management.v1.processor.service.persist
import com.iqser.red.service.persistence.management.v1.processor.service.redactionlog.RedactionLogMergeService;
import com.iqser.red.service.persistence.management.v1.processor.utils.MagicConverter;
import com.iqser.red.service.persistence.management.v1.processor.utils.multitenancy.TenantContext;
import com.iqser.red.service.persistence.service.v1.api.shared.model.CreateUserRequest;
import com.iqser.red.service.persistence.service.v1.api.shared.model.ResetPasswordRequest;
import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.configuration.ApplicationConfig;
import com.iqser.red.service.persistence.service.v1.api.shared.model.multitenancy.DatabaseConnection;
import com.iqser.red.service.persistence.service.v1.api.shared.model.multitenancy.RedUser;
@ -231,46 +228,22 @@ public abstract class AbstractPersistenceServerServiceTest {
TenantContext.setTenantId("redaction");
// when(keyCloakAdminClientService.getAdminClient()).thenReturn(KeyCloakTestContainer.getInstance().getKeycloakAdminClient());
userService.evictUserCache();
var allUsers = userService.getAllUsers();
if (allUsers.size() == 1) {
var redactionSystemClient = new ClientRepresentation();
redactionSystemClient.setEnabled(true);
redactionSystemClient.setName(keyCloakSettings.getClientId());
redactionSystemClient.setClientId(keyCloakSettings.getClientId());
redactionSystemClient.setSecret(keyCloakSettings.getClientSecret());
redactionSystemClient.setDirectAccessGrantsEnabled(true);
redactionSystemClient.setServiceAccountsEnabled(true);
var redactionSystemClient = new ClientRepresentation();
redactionSystemClient.setEnabled(true);
redactionSystemClient.setName(keyCloakSettings.getClientId());
redactionSystemClient.setClientId(keyCloakSettings.getClientId());
redactionSystemClient.setSecret(keyCloakSettings.getClientSecret());
redactionSystemClient.setDirectAccessGrantsEnabled(true);
redactionSystemClient.setServiceAccountsEnabled(true);
KeyCloakTestContainer.getInstance().getKeycloakAdminClient().realm("redaction").clients().create(redactionSystemClient);
KeyCloakTestContainer.getInstance().getKeycloakAdminClient().realm("redaction").clients().create(redactionSystemClient);
tokenService.setUser("manageradmin1@test.com", "secret");
var admin1 = createUser("manageradmin1@test.com");
var admin2 = createUser("manageradmin2@test.com");
TenantContext.clear();
tokenService.setUser("manageradmin1@test.com", "secret");
TenantContext.clear();
}
}
private String createUser(String username) {
var managerAdmin = new CreateUserRequest();
managerAdmin.setEmail(username);
var user = userService.createUser(managerAdmin);
var allRoles = new ArrayList<>(ApplicationRoles.ROLE_DATA.keySet());
userService.setRoles(user.getUserId(), allRoles, allRoles);
var request = new ResetPasswordRequest();
request.setPassword("secret");
request.setTemporary(false);
userService.resetPassword(user.getUserId(), request);
return user.getUserId();
}
@ -340,7 +313,9 @@ public abstract class AbstractPersistenceServerServiceTest {
.region("eu")
.endpoint("endpoint")
.build())
.redUsers(List.of(RedUser.builder().username("user").password("password").redRoles(Set.of("RED_MANAGER", "RED_ADMIN")).build()))
.redUsers(List.of(RedUser.builder().username("user").password("password").redRoles(ApplicationRoles.ROLE_DATA.keySet()).build(),
RedUser.builder().username("manageradmin1@test.com").password("secret").redRoles(ApplicationRoles.ROLE_DATA.keySet()).build(),
RedUser.builder().username("manageradmin2@test.com").password("secret").redRoles(ApplicationRoles.ROLE_DATA.keySet()).build()))
.build();
tenantManagementService.createTenant(tenantRequest);