From a9f69c82debdd39a891b5fef7d1bd98d0fb43d29 Mon Sep 17 00:00:00 2001
From: OZGCloud <ozgcloud@mgm-tp.com>
Date: Wed, 28 Aug 2024 14:18:53 +0200
Subject: [PATCH] OZG-6499 OZG-6567 Add Signatur to configurations for
 Vorgang-Manager

---
 .../admin/setting/VorgangManagerSettingDTO.java   |  5 +++++
 .../admin/setting/SettingEnvironmentITCase.java   | 11 +++++++----
 .../VorgangManagerSettingDTOTestFactory.java      |  8 ++++++--
 .../ozgcloud/admin/setting/YamlTestFactory.java   | 15 ++++++++-------
 .../postfach/PostfachSettingBodyTestFactory.java  |  2 +-
 .../yamlTemplates/settings/alfa.yaml.tmpl         |  2 +-
 .../settings/vorgangManager.yaml.tmpl             |  1 +
 7 files changed, 29 insertions(+), 15 deletions(-)

diff --git a/src/main/java/de/ozgcloud/admin/setting/VorgangManagerSettingDTO.java b/src/main/java/de/ozgcloud/admin/setting/VorgangManagerSettingDTO.java
index aaaabb35..0a36b769 100644
--- a/src/main/java/de/ozgcloud/admin/setting/VorgangManagerSettingDTO.java
+++ b/src/main/java/de/ozgcloud/admin/setting/VorgangManagerSettingDTO.java
@@ -1,5 +1,6 @@
 package de.ozgcloud.admin.setting;
 
+import com.fasterxml.jackson.annotation.JsonProperty;
 import com.fasterxml.jackson.annotation.JsonUnwrapped;
 
 import de.ozgcloud.admin.setting.postfach.AbsenderVorgangManager;
@@ -12,4 +13,8 @@ class VorgangManagerSettingDTO implements ApplicationSettingDTO {
 	@JsonUnwrapped(prefix = "ozgcloud.postfach.absender.")
 	@Builder.Default
 	private AbsenderVorgangManager absender = AbsenderVorgangManager.builder().build();
+
+	@JsonProperty("ozgcloud.postfach.signatur")
+	@Builder.Default
+	private String signatur = "";
 }
diff --git a/src/test/java/de/ozgcloud/admin/setting/SettingEnvironmentITCase.java b/src/test/java/de/ozgcloud/admin/setting/SettingEnvironmentITCase.java
index 0f8ca42b..16b97744 100644
--- a/src/test/java/de/ozgcloud/admin/setting/SettingEnvironmentITCase.java
+++ b/src/test/java/de/ozgcloud/admin/setting/SettingEnvironmentITCase.java
@@ -21,9 +21,9 @@ import lombok.SneakyThrows;
 @AutoConfigureMockMvc
 @WithMockUser
 class SettingEnvironmentITCase {
+
 	@Autowired
 	private MockMvc mockMvc;
-
 	@Autowired
 	private SettingRepository settingRepository;
 
@@ -54,7 +54,7 @@ class SettingEnvironmentITCase {
 		void shouldReturnValuesForVorgangManager() {
 			var result = mockMvc.perform(get("/configserver/OzgCloud_VorgangManager-profile.yaml"));
 
-			assertThat(result.andReturn().getResponse().getContentAsString()).isEqualTo(YamlTestFactory.createVorgangManagerYaml());
+			assertThat(formatString(result.andReturn().getResponse().getContentAsString())).isEqualTo(YamlTestFactory.createVorgangManagerYaml());
 		}
 
 		@Test
@@ -62,8 +62,11 @@ class SettingEnvironmentITCase {
 		void shouldReturnValuesForAlfa() {
 			var result = mockMvc.perform(get("/configserver/Alfa-any.yaml"));
 
-			assertThat(result.andReturn().getResponse().getContentAsString().replaceAll("\\s+", " "))
-					.isEqualTo(YamlTestFactory.createAlfaYaml().replaceAll("\\s+", " "));
+			assertThat(formatString(result.andReturn().getResponse().getContentAsString())).isEqualTo(YamlTestFactory.createAlfaYaml());
+		}
+
+		private String formatString(String text) {
+			return text.replaceAll("\\\\\\s+\\\\", "").replace("\\n", "\n");
 		}
 	}
 }
\ No newline at end of file
diff --git a/src/test/java/de/ozgcloud/admin/setting/VorgangManagerSettingDTOTestFactory.java b/src/test/java/de/ozgcloud/admin/setting/VorgangManagerSettingDTOTestFactory.java
index 88b58eee..2e4d90d1 100644
--- a/src/test/java/de/ozgcloud/admin/setting/VorgangManagerSettingDTOTestFactory.java
+++ b/src/test/java/de/ozgcloud/admin/setting/VorgangManagerSettingDTOTestFactory.java
@@ -2,15 +2,19 @@ package de.ozgcloud.admin.setting;
 
 import de.ozgcloud.admin.setting.postfach.AbsenderVorgangManager;
 import de.ozgcloud.admin.setting.postfach.AbsenderVorgangManagerTestFactory;
+import de.ozgcloud.admin.setting.postfach.PostfachSettingBodyTestFactory;
 
 public class VorgangManagerSettingDTOTestFactory {
-	public static AbsenderVorgangManager ABSENDER_VM = AbsenderVorgangManagerTestFactory.create();
+	public static final AbsenderVorgangManager ABSENDER = AbsenderVorgangManagerTestFactory.create();
+	public static final String SIGNATUR = PostfachSettingBodyTestFactory.SIGNATUR;
 
 	public static VorgangManagerSettingDTO create() {
 		return createBuilder().build();
 	}
 
 	public static VorgangManagerSettingDTO.VorgangManagerSettingDTOBuilder createBuilder() {
-		return VorgangManagerSettingDTO.builder().absender(ABSENDER_VM);
+		return VorgangManagerSettingDTO.builder()
+				.absender(ABSENDER)
+				.signatur(SIGNATUR);
 	}
 }
diff --git a/src/test/java/de/ozgcloud/admin/setting/YamlTestFactory.java b/src/test/java/de/ozgcloud/admin/setting/YamlTestFactory.java
index e46098b9..a9aa3818 100644
--- a/src/test/java/de/ozgcloud/admin/setting/YamlTestFactory.java
+++ b/src/test/java/de/ozgcloud/admin/setting/YamlTestFactory.java
@@ -5,18 +5,19 @@ import de.ozgcloud.admin.setting.postfach.PostfachSettingBodyTestFactory;
 import de.ozgcloud.common.test.TestUtils;
 
 public class YamlTestFactory {
-	public static PostfachSettingBody postfach = PostfachSettingBodyTestFactory.create();
+	public static final PostfachSettingBody POSTFACH = PostfachSettingBodyTestFactory.create();
 
 	public static String createVorgangManagerYaml() {
 		return TestUtils.loadTextFile("yamlTemplates/settings/vorgangManager.yaml.tmpl",
-				postfach.getAbsender().getName(),
-				postfach.getAbsender().getAnschrift(),
-				postfach.getAbsender().getDienst(),
-				postfach.getAbsender().getMandant(),
-				postfach.getAbsender().getGemeindeschluessel());
+				POSTFACH.getAbsender().getName(),
+				POSTFACH.getAbsender().getAnschrift(),
+				POSTFACH.getAbsender().getDienst(),
+				POSTFACH.getAbsender().getMandant(),
+				POSTFACH.getAbsender().getGemeindeschluessel(),
+				POSTFACH.getSignatur());
 	}
 
 	public static String createAlfaYaml() {
-		return TestUtils.loadTextFile("yamlTemplates/settings/alfa.yaml.tmpl", postfach.getSignatur());
+		return TestUtils.loadTextFile("yamlTemplates/settings/alfa.yaml.tmpl", POSTFACH.getSignatur());
 	}
 }
diff --git a/src/test/java/de/ozgcloud/admin/setting/postfach/PostfachSettingBodyTestFactory.java b/src/test/java/de/ozgcloud/admin/setting/postfach/PostfachSettingBodyTestFactory.java
index 97b87774..49dddeae 100644
--- a/src/test/java/de/ozgcloud/admin/setting/postfach/PostfachSettingBodyTestFactory.java
+++ b/src/test/java/de/ozgcloud/admin/setting/postfach/PostfachSettingBodyTestFactory.java
@@ -8,7 +8,7 @@ import de.ozgcloud.common.test.TestUtils;
 
 public class PostfachSettingBodyTestFactory {
 	public static final Absender ABSENDER = AbsenderTestFactory.create();
-	public static final String SIGNATUR = LoremIpsum.getInstance().getHtmlParagraphs(1, 2);
+	public static final String SIGNATUR = LoremIpsum.getInstance().getParagraphs(2, 2);
 
 	public static PostfachSettingBody create() {
 		return createBuilder().build();
diff --git a/src/test/resources/yamlTemplates/settings/alfa.yaml.tmpl b/src/test/resources/yamlTemplates/settings/alfa.yaml.tmpl
index 65b37e57..3fa8a717 100644
--- a/src/test/resources/yamlTemplates/settings/alfa.yaml.tmpl
+++ b/src/test/resources/yamlTemplates/settings/alfa.yaml.tmpl
@@ -1,3 +1,3 @@
 ozgcloud:
   postfach:
-    signatur: %s
+    signatur: "%s"
diff --git a/src/test/resources/yamlTemplates/settings/vorgangManager.yaml.tmpl b/src/test/resources/yamlTemplates/settings/vorgangManager.yaml.tmpl
index 8bca4ba1..21a2dea1 100644
--- a/src/test/resources/yamlTemplates/settings/vorgangManager.yaml.tmpl
+++ b/src/test/resources/yamlTemplates/settings/vorgangManager.yaml.tmpl
@@ -6,3 +6,4 @@ ozgcloud:
       dienst: %s
       mandant: %s
       gemeinde-schluessel: '%s'
+    signatur: "%s"
-- 
GitLab