From a170caaed785df90a0a78b714c75c20076b39767 Mon Sep 17 00:00:00 2001
From: OZGCloud <ozgcloud@mgm-tp.com>
Date: Mon, 9 Dec 2024 22:51:55 +0100
Subject: [PATCH] resolve comments

---
 ...zgCloudElsterTransferConfigMapFactory.java | 35 +++++++++++++------
 ...CloudElsterTransferUserReconcilerTest.java |  2 +-
 src/test/resources/users.yaml                 |  7 ++++
 3 files changed, 32 insertions(+), 12 deletions(-)
 create mode 100644 src/test/resources/users.yaml

diff --git a/src/test/java/de/ozgcloud/operator/elstertransfer/user/OzgCloudElsterTransferConfigMapFactory.java b/src/test/java/de/ozgcloud/operator/elstertransfer/user/OzgCloudElsterTransferConfigMapFactory.java
index b343b92..3475586 100644
--- a/src/test/java/de/ozgcloud/operator/elstertransfer/user/OzgCloudElsterTransferConfigMapFactory.java
+++ b/src/test/java/de/ozgcloud/operator/elstertransfer/user/OzgCloudElsterTransferConfigMapFactory.java
@@ -23,28 +23,33 @@
  */
 package de.ozgcloud.operator.elstertransfer.user;
 
+import java.io.StringWriter;
+import java.nio.file.Files;
+import java.nio.file.Path;
 import java.util.HashMap;
 import java.util.Map;
 
+import org.springframework.core.io.ClassPathResource;
+
+import com.github.mustachejava.DefaultMustacheFactory;
+import com.github.mustachejava.Mustache;
+import com.github.mustachejava.MustacheFactory;
+
 import io.fabric8.kubernetes.api.model.ConfigMap;
 import io.fabric8.kubernetes.api.model.ConfigMapBuilder;
 
 public class OzgCloudElsterTransferConfigMapFactory {
 
 	public static ConfigMap create() {
-		String usersYaml = "fileFormat: 1\n" +
-				"users:\n" +
-				"  - login: \"admin\"\n" +
-				"    rolle: \"ADMIN\"\n" +
-				"    credentials:\n" +
-				"      passwortHash: \"$2a$12$cqKZMcwTUe/tju7PIFGhperWdV2Xa9o4fVw5eClbzatRhvxZphE1a\"\n" +
-				"    gruppe: \"Administratoren\"\n";
-		
-
+		Map<String, String> userData = Map.of(
+			"login", "admin",
+			"role", "ADMIN",
+			"passwordHash", "$2a$12$cqKZMcwTUe/tju7PIFGhperWdV2Xa9o4fVw5eClbzatRhvxZphE1a",
+			"group", "Administratoren"
+		);
 		Map<String, String> data = new HashMap<>();
-		data.put(Constants.USERS_KEY, usersYaml);
+		data.put(Constants.USERS_KEY, getYamlContent(userData));
 		return createConfigMap(data);
-		
 	}
 
 	static ConfigMap createConfigMap(Map<String, String> data) {
@@ -56,4 +61,12 @@ public class OzgCloudElsterTransferConfigMapFactory {
 				.build();
 	}
 
+	static String getYamlContent(Map<String, String> userData) {
+		MustacheFactory mf = new DefaultMustacheFactory();
+		Mustache mustache = mf.compile("users.yaml");
+		StringWriter writer = new StringWriter();
+		mustache.execute(writer, userData);
+		return writer.toString();
+	}
+
 }
diff --git a/src/test/java/de/ozgcloud/operator/elstertransfer/user/OzgCloudElsterTransferUserReconcilerTest.java b/src/test/java/de/ozgcloud/operator/elstertransfer/user/OzgCloudElsterTransferUserReconcilerTest.java
index a900460..2962849 100644
--- a/src/test/java/de/ozgcloud/operator/elstertransfer/user/OzgCloudElsterTransferUserReconcilerTest.java
+++ b/src/test/java/de/ozgcloud/operator/elstertransfer/user/OzgCloudElsterTransferUserReconcilerTest.java
@@ -79,7 +79,7 @@ class OzgCloudElsterTransferUserReconcilerTest {
 
 	}
 
-	@DisplayName("Reconciler Cleanup")
+	@DisplayName("Cleanup")
 	@Nested
 	class TestReconcilerCleanup {
 
diff --git a/src/test/resources/users.yaml b/src/test/resources/users.yaml
new file mode 100644
index 0000000..7f8941c
--- /dev/null
+++ b/src/test/resources/users.yaml
@@ -0,0 +1,7 @@
+fileFormat: 1
+users:
+  - login: "{{login}}"
+    rolle: "{{role}}"
+    credentials:
+      passwortHash: "{{passwordHash}}"
+    gruppe: "{{group}}"
-- 
GitLab