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 f4d143c6397763f2e4819fecf60b89b15f2cf1cf..f256c5974ef6db14bd3a529d1ca257dfabd450c9 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 @@ -53,14 +53,14 @@ interface KeycloakRealmMapper { } @Named("smtpServer") - default Map<String, String> mapsmtpServer(OzgCloudKeycloakRealmSpec.KeycloakRealmSMTPServer server) { + 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().toString()); - smtpServer.put("auth", server.getAuth().toString()); + smtpServer.put("starttls", server.getStarttls()); + smtpServer.put("auth", server.getAuth()); smtpServer.put("from", server.getFrom()); smtpServer.put("fromDisplayName", server.getFromDisplayName()); return smtpServer; diff --git a/ozgcloud-keycloak-operator/src/main/java/de/ozgcloud/operator/keycloak/realm/OzgCloudKeycloakRealmSpec.java b/ozgcloud-keycloak-operator/src/main/java/de/ozgcloud/operator/keycloak/realm/OzgCloudKeycloakRealmSpec.java index c92f9340d32ee6e75e5b4290780ec75f1ed9ca19..0c03103d0da34b7f1a9bfc5db69a41118c8a2568 100644 --- a/ozgcloud-keycloak-operator/src/main/java/de/ozgcloud/operator/keycloak/realm/OzgCloudKeycloakRealmSpec.java +++ b/ozgcloud-keycloak-operator/src/main/java/de/ozgcloud/operator/keycloak/realm/OzgCloudKeycloakRealmSpec.java @@ -56,17 +56,17 @@ class OzgCloudKeycloakRealmSpec { @AllArgsConstructor static class KeycloakRealmSMTPServer { - private String host; + private String user; - + private String host; private String password; private String port; - private Boolean starttls; + private String starttls; - private Boolean auth; + private String auth; private String from; 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 9a090e539b31fe9935b1bc020cdb160b87774ea1..bc63886d0cf9b6ebb39900ab1d346cc04e1341b3 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 @@ -24,6 +24,7 @@ package de.ozgcloud.operator.keycloak.realm; import static org.assertj.core.api.Assertions.*; +import static org.junit.jupiter.api.Assertions.assertDoesNotThrow; import org.junit.jupiter.api.Test; import org.mapstruct.factory.Mappers; @@ -99,16 +100,26 @@ class KeycloakRealmMapperTest { @Test void shouldContainSmtpServerKeysValues() { - var mapped = mapper.map(OzgCloudKeycloakRealmSpecTestFactory.create()); + var mapped = mapper.map(KeycloakRealmSmtpServerTestFactory.create()); var mappedSmtpServer = mapped.getSmtpServer(); - assertThat(mappedSmtpServer.get("host")).isEqualTo("host"); + assertThat(mappedSmtpServer.get("host")).isEqualTo(KeycloakRealmSmtpServerTestFactory.SMTP_SERVER_HOST); assertThat(mappedSmtpServer.get("port")).isEqualTo("432"); - assertThat(mappedSmtpServer.get("password")).isEqualTo("psw"); - assertThat(mappedSmtpServer.get("user")).isEqualTo("user"); - assertThat(mappedSmtpServer.get("starttls")).isEqualTo("true"); - assertThat(mappedSmtpServer.get("auth")).isEqualTo("true"); - assertThat(mappedSmtpServer.get("from")).isEqualTo("test@test.de"); - assertThat(mappedSmtpServer.get("fromDisplayName")).isEqualTo("displayed name"); + 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("from")).isEqualTo(KeycloakRealmSmtpServerTestFactory.SMTP_SERVER_FROM); + assertThat(mappedSmtpServer.get("fromDisplayName")).isEqualTo(KeycloakRealmSmtpServerTestFactory.SMTP_SERVER_FROM_DISPLAY_NAME); } + + + @Test + void shouldNotThrowOnRealmWithoutSMTP() { + //create realm without SMTP Servr configs + OzgCloudKeycloakRealm realm = OzgCloudKeycloakRealmTestFactory.create(); + assertDoesNotThrow(() -> mapper.map(realm.getSpec())); + } + + } 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 new file mode 100644 index 0000000000000000000000000000000000000000..737c2a8f07cd0c76d8b2593bdfd757ca5bf22c5f --- /dev/null +++ b/ozgcloud-keycloak-operator/src/test/java/de/ozgcloud/operator/keycloak/realm/KeycloakRealmSmtpServerTestFactory.java @@ -0,0 +1,28 @@ +package de.ozgcloud.operator.keycloak.realm; + +import de.ozgcloud.operator.keycloak.realm.OzgCloudKeycloakRealmSpec.KeycloakRealmSMTPServer; + +public class KeycloakRealmSmtpServerTestFactory { + + + public final static String SMTP_SERVER_PORT = "432"; + public final static String SMTP_SERVER_HOST = "host"; + public final static String SMTP_SERVER_FROM = "test@test.de"; + public final static String SMTP_SERVER_FROM_DISPLAY_NAME = "displayed name"; + public final static String SMTP_SERVER_USER = "user"; + public final static String SMTP_SERVER_PASSWORD = "psw"; + public final static String SMTP_SERVER_AUTH = "true"; + public final static String SMTP_SERVER_STARTTLS = "true"; + 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); + } + +} 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 2e6ab10f3e82705204bea964388db168312c5c58..78cd362278adbda6df82081d96c9cfd8c5607c9d 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,15 +23,11 @@ */ package de.ozgcloud.operator.keycloak.realm; -import de.ozgcloud.operator.keycloak.realm.OzgCloudKeycloakRealmSpec.KeycloakRealmSMTPServer; - public class OzgCloudKeycloakRealmSpecTestFactory { public final static String DISPLAY_NAME = "TestDisplayName"; public final static boolean KEEP_AFTER_DELETE = false; - public final static KeycloakRealmSMTPServer SMTP_SERVER = KeycloakRealmSMTPServer.builder().host("host").user("user"). - password("psw").port("432").starttls(true).auth(true).from("test@test.de").fromDisplayName("displayed name").build(); - + public static OzgCloudKeycloakRealmSpec create() { return createBuilder().build(); } @@ -39,7 +35,6 @@ public class OzgCloudKeycloakRealmSpecTestFactory { public static OzgCloudKeycloakRealmSpec.OzgCloudKeycloakRealmSpecBuilder createBuilder() { return OzgCloudKeycloakRealmSpec.builder() .keepAfterDelete(KEEP_AFTER_DELETE) - .displayName(DISPLAY_NAME) - .smtpServer(SMTP_SERVER); + .displayName(DISPLAY_NAME); } }