From 08c8933cb69c3d3e4e460afa33a4cb126bc3fec1 Mon Sep 17 00:00:00 2001
From: OZGCloud <ozgcloud@mgm-tp.com>
Date: Tue, 9 Apr 2024 10:57:33 +0200
Subject: [PATCH] OZG-4870 add unittests for smtp config in mapper

---
 .../keycloak/realm/KeycloakRealmMapper.java   |  2 +-
 .../realm/OzgCloudKeycloakRealmSpec.java      |  2 +-
 .../realm/KeycloakRealmMapperTest.java        | 19 +++++++++++++++++++
 .../OzgCloudKeycloakRealmSpecTestFactory.java |  6 +++++-
 4 files changed, 26 insertions(+), 3 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 51e74c9..e878cbe 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
@@ -59,7 +59,7 @@ interface KeycloakRealmMapper {
 		smtpServer.put("port", server.getPort());
 		smtpServer.put("user", server.getUser());
 		smtpServer.put("password", server.getPassword());
-		smtpServer.put("starttls", server.getStarttls()); 
+		smtpServer.put("starttls", server.getStarttls().toString()); 
 		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 750563d..0d2ebab 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
@@ -64,7 +64,7 @@ static class KeycloakRealmSMTPServer {
 
 	private String port;
 
-	private String starttls;
+	private Boolean starttls;
 }
 
 }
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 ddb2e9a..33cb8f8 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,23 @@ class KeycloakRealmMapperTest {
 
 		assertThat(mapped.getActionTokenGeneratedByUserLifespan()).isEqualTo(900);
 	}
+
+	@Test
+	void shouldMapSmtpServer() {
+		var mapped = mapper.map(OzgCloudKeycloakRealmSpecTestFactory.create());
+
+		assertThat(mapped.getSmtpServer().size()).isEqualTo(5);
+	}
+
+	@Test
+	void shouldContainSmtpServerKeysValues() {
+		var mapped = mapper.map(OzgCloudKeycloakRealmSpecTestFactory.create());
+		var mappedSmtpServer = mapped.getSmtpServer();
+		assertThat(mappedSmtpServer.get("host")).isEqualTo("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");
+		
+	}	
 }
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 fe23573..5438178 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,10 +23,13 @@
  */
 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).build();
 
 	public static OzgCloudKeycloakRealmSpec create() {
 		return createBuilder().build();
@@ -35,6 +38,7 @@ public class OzgCloudKeycloakRealmSpecTestFactory {
 	public static OzgCloudKeycloakRealmSpec.OzgCloudKeycloakRealmSpecBuilder createBuilder() {
 		return OzgCloudKeycloakRealmSpec.builder()
 				.keepAfterDelete(KEEP_AFTER_DELETE)
-				.displayName(DISPLAY_NAME);
+				.displayName(DISPLAY_NAME)
+				.smtpServer(SMTP_SERVER);
 	}
 }
-- 
GitLab