From 20c9d2ced6368f73d8f94ef58a9e0aeba24b1eb1 Mon Sep 17 00:00:00 2001
From: Felix Reichenbach <felix.reichenbach@mgm-tp.com>
Date: Thu, 27 Mar 2025 10:39:44 +0100
Subject: [PATCH] OZG-7609 apply code review changes

---
 .../AggregationMappingRepository.java         |  2 +-
 ...ngAggregationManagerSettingDtoService.java |  2 +-
 ...gationMappingEnvironmentSettingITCase.java |  2 +-
 .../AggregationMappingRepositoryITCase.java   | 46 +++++++++++--------
 ...gregationManagerSettingDtoServiceTest.java |  4 +-
 .../admin/setting/PropertiesTestFactory.java  |  2 +-
 .../settings/aggregation.json.tmpl            | 30 ++++++++++++
 .../settings/aggregation.json.tmpl            |  1 -
 8 files changed, 62 insertions(+), 27 deletions(-)
 create mode 100644 src/test/resources/jsonTemplates/settings/aggregation.json.tmpl
 delete mode 100644 src/test/resources/yamlTemplates/settings/aggregation.json.tmpl

diff --git a/src/main/java/de/ozgcloud/admin/reporting/AggregationMappingRepository.java b/src/main/java/de/ozgcloud/admin/reporting/AggregationMappingRepository.java
index 437b5f0e..f762a367 100644
--- a/src/main/java/de/ozgcloud/admin/reporting/AggregationMappingRepository.java
+++ b/src/main/java/de/ozgcloud/admin/reporting/AggregationMappingRepository.java
@@ -38,5 +38,5 @@ interface AggregationMappingRepository extends MongoRepository<AggregationMappin
 	List<AggregationMapping> findAll();
 
 	@Query("{}")
-	List<AggregationMapping> findAllUnsecured();
+	List<AggregationMapping> findAllBypassAuth();
 }
diff --git a/src/main/java/de/ozgcloud/admin/reporting/ReportingAggregationManagerSettingDtoService.java b/src/main/java/de/ozgcloud/admin/reporting/ReportingAggregationManagerSettingDtoService.java
index 72197f81..a1fcc5f3 100644
--- a/src/main/java/de/ozgcloud/admin/reporting/ReportingAggregationManagerSettingDtoService.java
+++ b/src/main/java/de/ozgcloud/admin/reporting/ReportingAggregationManagerSettingDtoService.java
@@ -40,7 +40,7 @@ class ReportingAggregationManagerSettingDtoService implements SettingDtoService
 
 	@Override
 	public ReportingAggregationManagerSettingDto getDataTransferObject() {
-		return mapToDto(repository.findAllUnsecured());
+		return mapToDto(repository.findAllBypassAuth());
 	}
 
 	ReportingAggregationManagerSettingDto mapToDto(List<AggregationMapping> aggregationMappings) {
diff --git a/src/test/java/de/ozgcloud/admin/reporting/AggregationMappingEnvironmentSettingITCase.java b/src/test/java/de/ozgcloud/admin/reporting/AggregationMappingEnvironmentSettingITCase.java
index 197adf56..8f7ff069 100644
--- a/src/test/java/de/ozgcloud/admin/reporting/AggregationMappingEnvironmentSettingITCase.java
+++ b/src/test/java/de/ozgcloud/admin/reporting/AggregationMappingEnvironmentSettingITCase.java
@@ -63,7 +63,7 @@ public class AggregationMappingEnvironmentSettingITCase {
 			var result = getAggregationSettings();
 
 			assertThat(result.andReturn().getResponse().getContentAsString())
-					.isEqualTo(PropertiesTestFactory.createAggregationProperties());
+					.isEqualToIgnoringWhitespace(PropertiesTestFactory.createAggregationProperties());
 		}
 
 		private ResultActions getAggregationSettings() throws Exception {
diff --git a/src/test/java/de/ozgcloud/admin/reporting/AggregationMappingRepositoryITCase.java b/src/test/java/de/ozgcloud/admin/reporting/AggregationMappingRepositoryITCase.java
index 9a0a9ca6..19356279 100644
--- a/src/test/java/de/ozgcloud/admin/reporting/AggregationMappingRepositoryITCase.java
+++ b/src/test/java/de/ozgcloud/admin/reporting/AggregationMappingRepositoryITCase.java
@@ -26,6 +26,7 @@ package de.ozgcloud.admin.reporting;
 import static org.assertj.core.api.Assertions.*;
 
 import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Nested;
 import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.mongodb.core.MongoOperations;
@@ -50,32 +51,37 @@ class AggregationMappingRepositoryITCase {
 		operations.dropCollection(AggregationMapping.COLLECTION_NAME);
 	}
 
-	@Test
-	@WithMockUser(roles = UserRole.DATENBEAUFTRAGUNG)
-	void shouldLoadOnlyFieldMapping() {
-		operations.save(AggregationMappingTestFactory.create());
-		operations.save(SettingTestFactory.create());
+	@Nested
+	class TestFindAll {
+		@Test
+		@WithMockUser(roles = UserRole.DATENBEAUFTRAGUNG)
+		void shouldLoadOnlyFieldMapping() {
+			operations.save(AggregationMappingTestFactory.create());
+			operations.save(SettingTestFactory.create());
 
-		var result = repository.findAll();
+			var result = repository.findAll();
 
-		assertThat(result).hasSize(1);
-	}
-
-	@Test
-	void shouldLoadWithoutRole() {
-		operations.save(AggregationMappingTestFactory.create());
+			assertThat(result).hasSize(1);
+		}
 
-		var result = repository.findAllUnsecured();
+		@Test
+		@WithMockUser
+		void shouldThrowExceptionOnMissingRole() {
+			operations.save(AggregationMappingTestFactory.create());
 
-		assertThat(result).hasSize(1);
+			assertThatThrownBy(() -> repository.findAll()).isInstanceOf(AuthorizationDeniedException.class);
+		}
 	}
 
-	@Test
-	@WithMockUser
-	void shouldThrowExceptionOnMissingRole() {
-		operations.save(AggregationMappingTestFactory.create());
+	@Nested
+	class TestFindAllBypassAuth {
+		@Test
+		void shouldLoadWithoutRole() {
+			operations.save(AggregationMappingTestFactory.create());
 
-		assertThatThrownBy(() -> repository.findAll()).isInstanceOf(AuthorizationDeniedException.class);
-	}
+			var result = repository.findAllBypassAuth();
 
+			assertThat(result).hasSize(1);
+		}
+	}
 }
diff --git a/src/test/java/de/ozgcloud/admin/reporting/ReportingAggregationManagerSettingDtoServiceTest.java b/src/test/java/de/ozgcloud/admin/reporting/ReportingAggregationManagerSettingDtoServiceTest.java
index db27eeb3..aae1ec4b 100644
--- a/src/test/java/de/ozgcloud/admin/reporting/ReportingAggregationManagerSettingDtoServiceTest.java
+++ b/src/test/java/de/ozgcloud/admin/reporting/ReportingAggregationManagerSettingDtoServiceTest.java
@@ -88,13 +88,13 @@ class ReportingAggregationManagerSettingDtoServiceTest {
 		void shouldCallRepository() {
 			service.getDataTransferObject();
 
-			verify(repository).findAllUnsecured();
+			verify(repository).findAllBypassAuth();
 		}
 
 		@Test
 		void shouldCallMapToDto() {
 			AggregationMapping mapping = AggregationMappingTestFactory.create();
-			when(repository.findAllUnsecured()).thenReturn(List.of(mapping));
+			when(repository.findAllBypassAuth()).thenReturn(List.of(mapping));
 
 			service.getDataTransferObject();
 
diff --git a/src/test/java/de/ozgcloud/admin/setting/PropertiesTestFactory.java b/src/test/java/de/ozgcloud/admin/setting/PropertiesTestFactory.java
index 3c149bd9..62df9cc7 100644
--- a/src/test/java/de/ozgcloud/admin/setting/PropertiesTestFactory.java
+++ b/src/test/java/de/ozgcloud/admin/setting/PropertiesTestFactory.java
@@ -73,7 +73,7 @@ public class PropertiesTestFactory {
 	}
 
 	public static String createAggregationProperties() {
-		return TestUtils.loadTextFile("yamlTemplates/settings/aggregation.json.tmpl",
+		return TestUtils.loadTextFile("jsonTemplates/settings/aggregation.json.tmpl",
 				FORM_ENGINE_NAME_1,
 				FORM_ID_1,
 				SOURCE_PATH_1_1,
diff --git a/src/test/resources/jsonTemplates/settings/aggregation.json.tmpl b/src/test/resources/jsonTemplates/settings/aggregation.json.tmpl
new file mode 100644
index 00000000..ce56cc5a
--- /dev/null
+++ b/src/test/resources/jsonTemplates/settings/aggregation.json.tmpl
@@ -0,0 +1,30 @@
+{
+    "name": "OzgCloud_AggregationManager",
+    "profiles": [
+        "default"
+    ],
+    "label": null,
+    "version": null,
+    "state": null,
+    "propertySources": [
+        {
+            "name": "",
+            "source": {
+                "ozgcloud.aggregation.aggregationMappings[0].formIdentifier.formEngineName": "%s",
+                "ozgcloud.aggregation.aggregationMappings[0].formIdentifier.formId": "%s",
+                "ozgcloud.aggregation.aggregationMappings[0].fieldMappings[0].sourcePath": "%s",
+                "ozgcloud.aggregation.aggregationMappings[0].fieldMappings[0].targetPath": "%s",
+                "ozgcloud.aggregation.aggregationMappings[0].fieldMappings[1].sourcePath": "%s",
+                "ozgcloud.aggregation.aggregationMappings[0].fieldMappings[1].targetPath": "%s",
+                "ozgcloud.aggregation.aggregationMappings[0].fieldMappings[2].sourcePath": "%s",
+                "ozgcloud.aggregation.aggregationMappings[0].fieldMappings[2].targetPath": "%s",
+                "ozgcloud.aggregation.aggregationMappings[1].formIdentifier.formEngineName": "%s",
+                "ozgcloud.aggregation.aggregationMappings[1].formIdentifier.formId": "%s",
+                "ozgcloud.aggregation.aggregationMappings[1].fieldMappings[0].sourcePath": "%s",
+                "ozgcloud.aggregation.aggregationMappings[1].fieldMappings[0].targetPath": "%s",
+                "ozgcloud.aggregation.aggregationMappings[1].fieldMappings[1].sourcePath": "%s",
+                "ozgcloud.aggregation.aggregationMappings[1].fieldMappings[1].targetPath": "%s"
+            }
+        }
+    ]
+}
\ No newline at end of file
diff --git a/src/test/resources/yamlTemplates/settings/aggregation.json.tmpl b/src/test/resources/yamlTemplates/settings/aggregation.json.tmpl
deleted file mode 100644
index b4db7c45..00000000
--- a/src/test/resources/yamlTemplates/settings/aggregation.json.tmpl
+++ /dev/null
@@ -1 +0,0 @@
-{"name":"OzgCloud_AggregationManager","profiles":["default"],"label":null,"version":null,"state":null,"propertySources":[{"name":"","source":{"ozgcloud.aggregation.aggregationMappings[0].formIdentifier.formEngineName":"%s","ozgcloud.aggregation.aggregationMappings[0].formIdentifier.formId":"%s","ozgcloud.aggregation.aggregationMappings[0].fieldMappings[0].sourcePath":"%s","ozgcloud.aggregation.aggregationMappings[0].fieldMappings[0].targetPath":"%s","ozgcloud.aggregation.aggregationMappings[0].fieldMappings[1].sourcePath":"%s","ozgcloud.aggregation.aggregationMappings[0].fieldMappings[1].targetPath":"%s","ozgcloud.aggregation.aggregationMappings[0].fieldMappings[2].sourcePath":"%s","ozgcloud.aggregation.aggregationMappings[0].fieldMappings[2].targetPath":"%s","ozgcloud.aggregation.aggregationMappings[1].formIdentifier.formEngineName":"%s","ozgcloud.aggregation.aggregationMappings[1].formIdentifier.formId":"%s","ozgcloud.aggregation.aggregationMappings[1].fieldMappings[0].sourcePath":"%s","ozgcloud.aggregation.aggregationMappings[1].fieldMappings[0].targetPath":"%s","ozgcloud.aggregation.aggregationMappings[1].fieldMappings[1].sourcePath":"%s","ozgcloud.aggregation.aggregationMappings[1].fieldMappings[1].targetPath":"%s"}}]}
\ No newline at end of file
-- 
GitLab