diff --git a/ozgcloud-keycloak-operator/src/main/java/de/ozgcloud/operator/keycloak/realm/KeycloakRealmMapper.java b/ozgcloud-keycloak-operator/src/main/java/de/ozgcloud/operator/keycloak/realm/KeycloakRealmMapper.java index 81adfc5b5e70a7db9785d8480747e77cbfcf0f6a..06ceef82d9676bfeb9ac20fe62b4973b3ae2593f 100644 --- a/ozgcloud-keycloak-operator/src/main/java/de/ozgcloud/operator/keycloak/realm/KeycloakRealmMapper.java +++ b/ozgcloud-keycloak-operator/src/main/java/de/ozgcloud/operator/keycloak/realm/KeycloakRealmMapper.java @@ -26,7 +26,9 @@ package de.ozgcloud.operator.keycloak.realm; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; +import java.util.HashMap; import java.util.List; +import java.util.Map; import java.util.Set; import java.util.stream.Collectors; @@ -70,6 +72,7 @@ interface KeycloakRealmMapper { .map(RealmRole::getName) .collect(Collectors.toList()); List<RoleRepresentation> rolerepresentationList = new ArrayList<>(roleNames.size()); + Map<String, List<RoleRepresentation>> client = new HashMap<String, List<RoleRepresentation>>(); roleNames.forEach(roleName -> { @@ -78,6 +81,7 @@ interface KeycloakRealmMapper { rolerepresentationList.add(newRepresentation); } ); roles.setRealm(rolerepresentationList); + roles.setClient(client); return roles; } diff --git a/ozgcloud-keycloak-operator/src/test/java/de/ozgcloud/operator/keycloak/realm/KeycloakRealmMapperTest.java b/ozgcloud-keycloak-operator/src/test/java/de/ozgcloud/operator/keycloak/realm/KeycloakRealmMapperTest.java index ddb2e9ab9fb47e512906eb0d9ffd96ae5e9cde75..f341f6ae234911df6a56cbea8ed43e8b15fb6bf1 100644 --- a/ozgcloud-keycloak-operator/src/test/java/de/ozgcloud/operator/keycloak/realm/KeycloakRealmMapperTest.java +++ b/ozgcloud-keycloak-operator/src/test/java/de/ozgcloud/operator/keycloak/realm/KeycloakRealmMapperTest.java @@ -89,4 +89,22 @@ class KeycloakRealmMapperTest { assertThat(mapped.getActionTokenGeneratedByUserLifespan()).isEqualTo(900); } + + @Test + void shouldMapRealmRoles() { + var mapped = mapper.map(OzgCloudKeycloakRealmSpecTestFactory.create()); + + assertThat(mapped.getRoles().getRealm().size()).isEqualTo(2); + } + +/* @Test + void shouldContainRealmRolesValues() { + var mapped = mapper.map(OzgCloudKeycloakRealmSpecTestFactory.create()); + var mappedRealmRoles = mapped.getRoles(); + assertThat(mappedRealmRoles.getRealm().getName()).isEqualTo("host"); + + var role = mapper.mapRole(OzgCloudKeycloakClientSpecTestFactory.ROLE1); + + assertThat(role.getName()).isEqualTo(OzgCloudKeycloakClientSpecTestFactory.ROLE_NAME_1); + }*/ } diff --git a/ozgcloud-keycloak-operator/src/test/java/de/ozgcloud/operator/keycloak/realm/OzgCloudKeycloakRealmSpecTestFactory.java b/ozgcloud-keycloak-operator/src/test/java/de/ozgcloud/operator/keycloak/realm/OzgCloudKeycloakRealmSpecTestFactory.java index fe23573b6987541b5246e82bf9a6c8ceb9267fe4..115b7b2ce5d6e82c175a32f94909822e8b3da236 100644 --- a/ozgcloud-keycloak-operator/src/test/java/de/ozgcloud/operator/keycloak/realm/OzgCloudKeycloakRealmSpecTestFactory.java +++ b/ozgcloud-keycloak-operator/src/test/java/de/ozgcloud/operator/keycloak/realm/OzgCloudKeycloakRealmSpecTestFactory.java @@ -23,11 +23,21 @@ */ package de.ozgcloud.operator.keycloak.realm; +import java.util.List; + +import de.ozgcloud.operator.keycloak.realm.OzgCloudKeycloakRealmSpec.RealmRole; + public class OzgCloudKeycloakRealmSpecTestFactory { public final static String DISPLAY_NAME = "TestDisplayName"; public final static boolean KEEP_AFTER_DELETE = false; + public static final String ROLE_NAME_1 = "RoleName1"; + public static final RealmRole ROLE1 = RealmRole.builder().name(ROLE_NAME_1).build(); + public static final String ROLE_NAME_2 = "RoleName2"; + public static final RealmRole ROLE2 = RealmRole.builder().name(ROLE_NAME_2).build(); + public static final List<RealmRole> ROLES = List.of(ROLE1,ROLE2); + public static OzgCloudKeycloakRealmSpec create() { return createBuilder().build(); } @@ -35,6 +45,7 @@ public class OzgCloudKeycloakRealmSpecTestFactory { public static OzgCloudKeycloakRealmSpec.OzgCloudKeycloakRealmSpecBuilder createBuilder() { return OzgCloudKeycloakRealmSpec.builder() .keepAfterDelete(KEEP_AFTER_DELETE) - .displayName(DISPLAY_NAME); + .displayName(DISPLAY_NAME) + .realmRoles(ROLES); } }