From f8130118df2f8cbd859f807d0fd90c0d2b9552b4 Mon Sep 17 00:00:00 2001 From: OZGCloud <ozgcloud@mgm-tp.com> Date: Mon, 9 Dec 2024 16:45:02 +0100 Subject: [PATCH] OZG-7303: Add test for Mapper/Update. Clean up a bit. --- .../realm/KeycloakRealmMapperTest.java | 205 ++++++++++-------- .../realm/KeycloakRealmServiceTest.java | 18 +- 2 files changed, 124 insertions(+), 99 deletions(-) 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 80cb9c1..298ffe4 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 @@ -38,117 +38,121 @@ class KeycloakRealmMapperTest { @Spy private final KeycloakRealmMapper mapper = Mappers.getMapper(KeycloakRealmMapper.class); - private RealmRepresentation mapRealm() { - return mapper.map(OzgCloudKeycloakRealmSpecTestFactory.create()); + @Nested + class TestMap { - } + @Test + void shouldMapDisplayName() { + var mapped = mapRealm(); - @Test - void shouldMapDisplayName() { - var mapped = mapRealm(); + assertThat(mapped.getDisplayName()).isEqualTo(OzgCloudKeycloakRealmSpecTestFactory.DISPLAY_NAME); + } - assertThat(mapped.getDisplayName()).isEqualTo(OzgCloudKeycloakRealmSpecTestFactory.DISPLAY_NAME); - } + @Test + void shouldBeEnabled() { + var mapped = mapRealm(); - @Test - void shouldBeEnabled() { - var mapped = mapRealm(); + assertThat(mapped.isEnabled()).isTrue(); + } - assertThat(mapped.isEnabled()).isTrue(); - } + @Test + void shouldBeResetPasswordAllowed() { + var mapped = mapRealm(); - @Test - void shouldBeResetPasswordAllowed() { - var mapped = mapRealm(); + assertThat(mapped.isResetPasswordAllowed()).isTrue(); + } - assertThat(mapped.isResetPasswordAllowed()).isTrue(); - } + @Test + void shouldBeSupportedLocaleDe() { + var mapped = mapRealm(); - @Test - void shouldBeSupportedLocaleDe() { - var mapped = mapRealm(); + assertThat(mapped.getSupportedLocales()).containsExactly("de"); + } - assertThat(mapped.getSupportedLocales()).containsExactly("de"); - } + @Test + void shouldBeDefaultLocaleDe() { + var mapped = mapRealm(); - @Test - void shouldBeDefaultLocaleDe() { - var mapped = mapRealm(); + assertThat(mapped.getDefaultLocale()).isEqualTo("de"); + } - assertThat(mapped.getDefaultLocale()).isEqualTo("de"); - } + @Test + void shouldHaveLoginTheme() { + var mapped = mapRealm(); - @Test - void shouldHaveLoginTheme() { - var mapped = mapRealm(); + assertThat(mapped.getLoginTheme()).isEqualTo("ozg-sh"); + } - assertThat(mapped.getLoginTheme()).isEqualTo("ozg-sh"); - } + @Test + void shouldBeInternationalizationEnabled() { + var mapped = mapRealm(); + + assertThat(mapped.isInternationalizationEnabled()).isTrue(); + } - @Test - void shouldBeInternationalizationEnabled() { - var mapped = mapRealm(); + @Test + void checkPasswordPolicy() { + var mapped = mapRealm(); - assertThat(mapped.isInternationalizationEnabled()).isTrue(); - } + assertThat(mapped.getPasswordPolicy()).isEqualTo("upperCase(1) and lowerCase(1) and length(8) and notUsername"); + } - @Test - void checkPasswordPolicy() { - var mapped = mapRealm(); + @Test + void shouldSetActionTokenGeneratedByUserLifespan() { + var mapped = mapRealm(); - assertThat(mapped.getPasswordPolicy()).isEqualTo("upperCase(1) and lowerCase(1) and length(8) and notUsername"); - } + assertThat(mapped.getActionTokenGeneratedByUserLifespan()).isEqualTo(900); + } - @Test - void shouldSetActionTokenGeneratedByUserLifespan() { - var mapped = mapRealm(); + @Test + void shouldMapSmtpServer() { + var mapped = mapRealm(); - assertThat(mapped.getActionTokenGeneratedByUserLifespan()).isEqualTo(900); - } + assertThat(mapped.getSmtpServer()).hasSize(8); + } - @Test - void shouldMapSmtpServer() { - var mapped = mapRealm(); + @Test + void shouldContainSmtpServerKeysValues() { + var mapped = mapRealm(); - assertThat(mapped.getSmtpServer()).hasSize(8); - } + assertThat(mapped.getSmtpServer()) + .containsEntry(KeycloakRealmSMTPServer.USER_FIELD, KeycloakRealmSmtpServerTestFactory.SMTP_SERVER_USER) + .containsEntry(KeycloakRealmSMTPServer.PASSWORD_FIELD, KeycloakRealmSmtpServerTestFactory.SMTP_SERVER_PASSWORD) + .containsEntry(KeycloakRealmSMTPServer.HOST_FIELD, KeycloakRealmSmtpServerTestFactory.SMTP_SERVER_HOST) + .containsEntry(KeycloakRealmSMTPServer.PORT_FIELD, KeycloakRealmSmtpServerTestFactory.SMTP_SERVER_PORT) + .containsEntry(KeycloakRealmSMTPServer.STARTTLS_FIELD, KeycloakRealmSmtpServerTestFactory.SMTP_SERVER_STARTTLS) + .containsEntry(KeycloakRealmSMTPServer.AUTH_FIELD, KeycloakRealmSmtpServerTestFactory.SMTP_SERVER_AUTH) + .containsEntry(KeycloakRealmSMTPServer.FROM_FIELD, KeycloakRealmSmtpServerTestFactory.SMTP_SERVER_FROM) + .containsEntry(KeycloakRealmSMTPServer.FROM_DISPLAY_NAME_FIELD, KeycloakRealmSmtpServerTestFactory.SMTP_SERVER_FROM_DISPLAY_NAME); + } - @Test - void shouldContainSmtpServerKeysValues() { - var mapped = mapRealm(); - - assertThat(mapped.getSmtpServer()) - .containsEntry(KeycloakRealmSMTPServer.USER_FIELD, KeycloakRealmSmtpServerTestFactory.SMTP_SERVER_USER) - .containsEntry(KeycloakRealmSMTPServer.PASSWORD_FIELD, KeycloakRealmSmtpServerTestFactory.SMTP_SERVER_PASSWORD) - .containsEntry(KeycloakRealmSMTPServer.HOST_FIELD, KeycloakRealmSmtpServerTestFactory.SMTP_SERVER_HOST) - .containsEntry(KeycloakRealmSMTPServer.PORT_FIELD, KeycloakRealmSmtpServerTestFactory.SMTP_SERVER_PORT) - .containsEntry(KeycloakRealmSMTPServer.STARTTLS_FIELD, KeycloakRealmSmtpServerTestFactory.SMTP_SERVER_STARTTLS) - .containsEntry(KeycloakRealmSMTPServer.AUTH_FIELD, KeycloakRealmSmtpServerTestFactory.SMTP_SERVER_AUTH) - .containsEntry(KeycloakRealmSMTPServer.FROM_FIELD, KeycloakRealmSmtpServerTestFactory.SMTP_SERVER_FROM) - .containsEntry(KeycloakRealmSMTPServer.FROM_DISPLAY_NAME_FIELD, KeycloakRealmSmtpServerTestFactory.SMTP_SERVER_FROM_DISPLAY_NAME); - } + @Test + void shouldMapWhenSmtpServerIsNull() { + var mapped = mapper.map(OzgCloudKeycloakRealmSpecTestFactory.createBuilder().smtpServer(null).build()); - @Test - void shouldMapWhenSmtpServerIsNull() { - var mapped = mapper.map(OzgCloudKeycloakRealmSpecTestFactory.createBuilder().smtpServer(null).build()); + assertThat(mapped.getSmtpServer()).isEmpty(); + } - assertThat(mapped.getSmtpServer()).isEmpty(); - } + @Test + void shouldMapRealmRoles() { + var mapped = mapRealm(); - @Test - void shouldMapRealmRoles() { - var mapped = mapRealm(); + assertThat(mapped.getRoles().getRealm()).hasSize(2); + } - assertThat(mapped.getRoles().getRealm()).hasSize(2); - } + @Test + void shouldContainRealmRolesValues() { + var mapped = mapRealm(); + var mappedRealmRoles = mapped.getRoles(); - @Test - void shouldContainRealmRolesValues() { - var mapped = mapRealm(); - var mappedRealmRoles = mapped.getRoles(); + assertThat(mappedRealmRoles.getRealm().get(0).getName()).isEqualTo(OzgCloudKeycloakRealmSpecTestFactory.ROLE_NAME_1); + assertThat(mappedRealmRoles.getRealm().get(1).getName()).isEqualTo(OzgCloudKeycloakRealmSpecTestFactory.ROLE_NAME_2); + } + + private RealmRepresentation mapRealm() { + return mapper.map(OzgCloudKeycloakRealmSpecTestFactory.create()); + } - assertThat(mappedRealmRoles.getRealm().get(0).getName()).isEqualTo(OzgCloudKeycloakRealmSpecTestFactory.ROLE_NAME_1); - assertThat(mappedRealmRoles.getRealm().get(1).getName()).isEqualTo(OzgCloudKeycloakRealmSpecTestFactory.ROLE_NAME_2); } @Nested @@ -156,70 +160,77 @@ class KeycloakRealmMapperTest { @Test void shouldMapDisplayName() { - var mapped = mapper.update(RealmRepresentationTestFactory.create(), OzgCloudKeycloakRealmSpecTestFactory.create()); + var mapped = callUpdate(); assertThat(mapped.getDisplayName()).isEqualTo(OzgCloudKeycloakRealmSpecTestFactory.DISPLAY_NAME); } @Test void shouldBeEnabled() { - var mapped = mapper.update(RealmRepresentationTestFactory.create(), OzgCloudKeycloakRealmSpecTestFactory.create()); + var mapped = callUpdate(); assertThat(mapped.isEnabled()).isTrue(); } @Test void shouldBeResetPasswordAllowed() { - var mapped = mapper.update(RealmRepresentationTestFactory.create(), OzgCloudKeycloakRealmSpecTestFactory.create()); + var mapped = callUpdate(); assertThat(mapped.isResetPasswordAllowed()).isTrue(); } @Test void shouldBeSupportedLocaleDe() { - var mapped = mapper.update(RealmRepresentationTestFactory.create(), OzgCloudKeycloakRealmSpecTestFactory.create()); + var mapped = callUpdate(); assertThat(mapped.getSupportedLocales()).containsExactly("de"); } + @Test + void shouldHaveLoginTheme() { + var mapped = callUpdate(); + + assertThat(mapped.getLoginTheme()).isEqualTo("ozg-sh"); + } + @Test void shouldBeDefaultLocaleDe() { - var mapped = mapper.update(RealmRepresentationTestFactory.create(), OzgCloudKeycloakRealmSpecTestFactory.create()); + var mapped = callUpdate(); assertThat(mapped.getDefaultLocale()).isEqualTo("de"); } @Test void shouldBeInternationalizationEnabled() { - var mapped = mapper.update(RealmRepresentationTestFactory.create(), OzgCloudKeycloakRealmSpecTestFactory.create()); + var mapped = callUpdate(); assertThat(mapped.isInternationalizationEnabled()).isTrue(); } @Test void checkPasswordPolicy() { - var mapped = mapper.update(RealmRepresentationTestFactory.create(), OzgCloudKeycloakRealmSpecTestFactory.create()); + var mapped = callUpdate(); assertThat(mapped.getPasswordPolicy()).isEqualTo("upperCase(1) and lowerCase(1) and length(8) and notUsername"); } @Test void shouldSetActionTokenGeneratedByUserLifespan() { - var mapped = mapper.update(RealmRepresentationTestFactory.create(), OzgCloudKeycloakRealmSpecTestFactory.create()); + var mapped = callUpdate(); assertThat(mapped.getActionTokenGeneratedByUserLifespan()).isEqualTo(900); } @Test void shouldMapSmtpServer() { - var mapped = mapper.update(RealmRepresentationTestFactory.create(), OzgCloudKeycloakRealmSpecTestFactory.create()); + var mapped = callUpdate(); assertThat(mapped.getSmtpServer()).hasSize(8); } @Test void shouldContainSmtpServerKeysValues() { - var mapped = mapper.update(RealmRepresentationTestFactory.create(), OzgCloudKeycloakRealmSpecTestFactory.create()); + var mapped = callUpdate(); assertThat(mapped.getSmtpServer()) .containsEntry(KeycloakRealmSMTPServer.USER_FIELD, KeycloakRealmSmtpServerTestFactory.SMTP_SERVER_USER) @@ -242,19 +253,23 @@ class KeycloakRealmMapperTest { @Test void shouldMapRealmRoles() { - var mapped = mapper.update(RealmRepresentationTestFactory.create(), OzgCloudKeycloakRealmSpecTestFactory.create()); + var mapped = callUpdate(); assertThat(mapped.getRoles().getRealm()).hasSize(2); } @Test void shouldContainRealmRolesValues() { - var mapped = mapper.update(RealmRepresentationTestFactory.create(), OzgCloudKeycloakRealmSpecTestFactory.create()); + var mapped = callUpdate(); var mappedRealmRoles = mapped.getRoles(); assertThat(mappedRealmRoles.getRealm().get(0).getName()).isEqualTo(OzgCloudKeycloakRealmSpecTestFactory.ROLE_NAME_1); assertThat(mappedRealmRoles.getRealm().get(1).getName()).isEqualTo(OzgCloudKeycloakRealmSpecTestFactory.ROLE_NAME_2); } + private RealmRepresentation callUpdate() { + return mapper.update(RealmRepresentationTestFactory.create(), OzgCloudKeycloakRealmSpecTestFactory.create()); + } + } } diff --git a/ozgcloud-keycloak-operator/src/test/java/de/ozgcloud/operator/keycloak/realm/KeycloakRealmServiceTest.java b/ozgcloud-keycloak-operator/src/test/java/de/ozgcloud/operator/keycloak/realm/KeycloakRealmServiceTest.java index f968f4a..2935b38 100644 --- a/ozgcloud-keycloak-operator/src/test/java/de/ozgcloud/operator/keycloak/realm/KeycloakRealmServiceTest.java +++ b/ozgcloud-keycloak-operator/src/test/java/de/ozgcloud/operator/keycloak/realm/KeycloakRealmServiceTest.java @@ -116,25 +116,35 @@ class KeycloakRealmServiceTest { @Test void shouldUpdateRealmIfExists() { - service.updateRealm(realmRepresentation, REALM); + updateRealm(); verify(remoteService).updateRealm(realmRepresentation); } @Test void shouldCallMapper() { - - service.updateRealm(realmRepresentation, REALM); + updateRealm(); verify(mapper).update(realmRepresentation, REALM); } @Test void createRealmShouldCallAddAttributes() { - service.updateRealm(realmRepresentation, REALM); + updateRealm(); verify(service).addUserProfileAttributes(realmRepresentation); } + + @Test + void updateRealmShouldSetLoginTheme(){ + updateRealm(); + + assertThat(realmRepresentation.getLoginTheme()).isEqualTo("ozg-sh"); + } + + private void updateRealm() { + service.updateRealm(realmRepresentation, REALM); + } } @DisplayName("Add or Update Realm Roles") -- GitLab