From 79ed99b55d0d50db9ebd9ce166a27ca82f88bb07 Mon Sep 17 00:00:00 2001 From: OZGCloud <ozgcloud@mgm-tp.com> Date: Thu, 11 Apr 2024 16:22:55 +0200 Subject: [PATCH] OZG-4870 check the empty values of smtpServer config --- .../keycloak/realm/KeycloakRealmMapper.java | 24 ++++++++++++------- .../realm/KeycloakRealmMapperTest.java | 6 ++--- .../realm/KeycloakRealmReconcilerTest.java | 6 +++++ .../KeycloakRealmSmtpServerTestFactory.java | 9 ++----- .../OzgCloudKeycloakRealmSpecTestFactory.java | 4 +++- 5 files changed, 30 insertions(+), 19 deletions(-) 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 f256c59..8021fb1 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 @@ -55,14 +55,22 @@ interface KeycloakRealmMapper { @Named("smtpServer") default Map<String, String> mapSmtpServer(OzgCloudKeycloakRealmSpec.KeycloakRealmSMTPServer server) { Map<String, String> smtpServer = new HashMap<>(); - smtpServer.put("host", server.getHost()); - smtpServer.put("port", server.getPort()); - smtpServer.put("user", server.getUser()); - smtpServer.put("password", server.getPassword()); - smtpServer.put("starttls", server.getStarttls()); - smtpServer.put("auth", server.getAuth()); - smtpServer.put("from", server.getFrom()); - smtpServer.put("fromDisplayName", server.getFromDisplayName()); + if( server.getHost() != null ) + smtpServer.put("host", server.getHost()); + if( server.getPort() != null ) + smtpServer.put("port", server.getPort()); + if( server.getUser() != null ) + smtpServer.put("user", server.getUser()); + if( server.getPassword() != null ) + smtpServer.put("password", server.getPassword()); + if( server.getStarttls() != null ) + smtpServer.put("starttls", server.getStarttls()); + if( server.getAuth() != null ) + smtpServer.put("auth", server.getAuth()); + if( server.getFrom() != null ) + smtpServer.put("from", server.getFrom()); + if( server.getFromDisplayName() != null ) + smtpServer.put("fromDisplayName", server.getFromDisplayName()); return smtpServer; } 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 bc63886..7cee004 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 @@ -100,14 +100,14 @@ class KeycloakRealmMapperTest { @Test void shouldContainSmtpServerKeysValues() { - var mapped = mapper.map(KeycloakRealmSmtpServerTestFactory.create()); + var mapped = mapper.map(OzgCloudKeycloakRealmSpecTestFactory.create()); var mappedSmtpServer = mapped.getSmtpServer(); assertThat(mappedSmtpServer.get("host")).isEqualTo(KeycloakRealmSmtpServerTestFactory.SMTP_SERVER_HOST); assertThat(mappedSmtpServer.get("port")).isEqualTo("432"); assertThat(mappedSmtpServer.get("password")).isEqualTo(KeycloakRealmSmtpServerTestFactory.SMTP_SERVER_PASSWORD); assertThat(mappedSmtpServer.get("user")).isEqualTo(KeycloakRealmSmtpServerTestFactory.SMTP_SERVER_USER); - assertThat(mappedSmtpServer.get("starttls")).isEqualTo(KeycloakRealmSmtpServerTestFactory.SMTP_SERVER_STARTTLS.toString()); - assertThat(mappedSmtpServer.get("auth")).isEqualTo(KeycloakRealmSmtpServerTestFactory.SMTP_SERVER_AUTH.toString()); + assertThat(mappedSmtpServer.get("starttls")).isEqualTo(KeycloakRealmSmtpServerTestFactory.SMTP_SERVER_STARTTLS); + assertThat(mappedSmtpServer.get("auth")).isEqualTo(KeycloakRealmSmtpServerTestFactory.SMTP_SERVER_AUTH); assertThat(mappedSmtpServer.get("from")).isEqualTo(KeycloakRealmSmtpServerTestFactory.SMTP_SERVER_FROM); assertThat(mappedSmtpServer.get("fromDisplayName")).isEqualTo(KeycloakRealmSmtpServerTestFactory.SMTP_SERVER_FROM_DISPLAY_NAME); diff --git a/ozgcloud-keycloak-operator/src/test/java/de/ozgcloud/operator/keycloak/realm/KeycloakRealmReconcilerTest.java b/ozgcloud-keycloak-operator/src/test/java/de/ozgcloud/operator/keycloak/realm/KeycloakRealmReconcilerTest.java index bdcffd8..146211a 100644 --- a/ozgcloud-keycloak-operator/src/test/java/de/ozgcloud/operator/keycloak/realm/KeycloakRealmReconcilerTest.java +++ b/ozgcloud-keycloak-operator/src/test/java/de/ozgcloud/operator/keycloak/realm/KeycloakRealmReconcilerTest.java @@ -71,6 +71,12 @@ class KeycloakRealmReconcilerTest { assertThat(response.getResource().getStatus().getStatus()).isEqualTo(OzgCloudCustomResourceStatus.OK); } + + @Test + void shouldCreateRealmWithSpecWithoutSMTPConfig() { + var response = reconciler.reconcile(OzgCloudKeycloakRealmTestFactory.create(), null); + assertThat(response.getResource().getStatus().getStatus()).isEqualTo(OzgCloudCustomResourceStatus.OK); + } } @DisplayName("Cleanup") diff --git a/ozgcloud-keycloak-operator/src/test/java/de/ozgcloud/operator/keycloak/realm/KeycloakRealmSmtpServerTestFactory.java b/ozgcloud-keycloak-operator/src/test/java/de/ozgcloud/operator/keycloak/realm/KeycloakRealmSmtpServerTestFactory.java index 737c2a8..eecf3c8 100644 --- a/ozgcloud-keycloak-operator/src/test/java/de/ozgcloud/operator/keycloak/realm/KeycloakRealmSmtpServerTestFactory.java +++ b/ozgcloud-keycloak-operator/src/test/java/de/ozgcloud/operator/keycloak/realm/KeycloakRealmSmtpServerTestFactory.java @@ -16,13 +16,8 @@ public class KeycloakRealmSmtpServerTestFactory { public final static KeycloakRealmSMTPServer SMTP_SERVER = KeycloakRealmSMTPServer.builder().host(SMTP_SERVER_HOST).user(SMTP_SERVER_USER). password(SMTP_SERVER_PASSWORD).port(SMTP_SERVER_PORT).starttls(SMTP_SERVER_STARTTLS).auth(SMTP_SERVER_AUTH).from(SMTP_SERVER_FROM).fromDisplayName(SMTP_SERVER_FROM_DISPLAY_NAME).build(); - public static OzgCloudKeycloakRealmSpec create() { - return createBuilder().build(); - } - - public static OzgCloudKeycloakRealmSpec.OzgCloudKeycloakRealmSpecBuilder createBuilder() { - return OzgCloudKeycloakRealmSpec.builder() - .smtpServer(SMTP_SERVER); + public static OzgCloudKeycloakRealmSpec.KeycloakRealmSMTPServer create() { + return SMTP_SERVER; } } 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 78cd362..86fbe54 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,6 +23,7 @@ */ package de.ozgcloud.operator.keycloak.realm; + public class OzgCloudKeycloakRealmSpecTestFactory { public final static String DISPLAY_NAME = "TestDisplayName"; @@ -35,6 +36,7 @@ public class OzgCloudKeycloakRealmSpecTestFactory { public static OzgCloudKeycloakRealmSpec.OzgCloudKeycloakRealmSpecBuilder createBuilder() { return OzgCloudKeycloakRealmSpec.builder() .keepAfterDelete(KEEP_AFTER_DELETE) - .displayName(DISPLAY_NAME); + .displayName(DISPLAY_NAME) + .smtpServer(KeycloakRealmSmtpServerTestFactory.create()); } } -- GitLab