From ad798bc05997259ec50715bcda5061ca1db541d5 Mon Sep 17 00:00:00 2001
From: Lukas Malte Monnerjahn <lukasmalte.monnerjahn@dataport.de>
Date: Wed, 19 Mar 2025 11:06:33 +0100
Subject: [PATCH] use constructor injection and MockitoBean

---
 .../afm/AfmAntragstellerMapper.java            |  9 +++++----
 .../enginebased/afm/AfmEngineBasedAdapter.java | 16 ++++++++--------
 .../enginebased/afm/AfmHeaderMapper.java       |  6 +++---
 .../afm/AfmZustaendigeStelleMapper.java        |  6 +++---
 .../afm/ZustaendigeStelleMetadataMapper.java   | 10 +++++-----
 .../afm/intelliform/JsonService.java           |  9 ++++-----
 .../afm/intelliform/XmlToJavaMapsMapper.java   | 15 +++++++--------
 .../afm/AfmAntragstellerMapperTest.java        |  6 +++---
 .../afm/AfmEmpfangeneStelleMapperTest.java     |  4 +---
 .../afm/AfmEngineBasedAdapterTest.java         |  2 +-
 .../afm/AfmErklaerungenMapperTest.java         |  4 +---
 .../enginebased/afm/AfmHeaderMapperTest.java   |  6 +++---
 .../afm/AfmZustaendigeStelleMapperTest.java    |  4 ++--
 .../ZustaendigeStelleMetadataMapperITCase.java |  5 ++++-
 .../ZustaendigeStelleMetadataMapperTest.java   | 15 +++------------
 .../afm/intelliform/JsonServiceTest.java       | 18 +++++++++---------
 .../intelliform/XmlToJavaMapsMapperTest.java   |  5 ++---
 .../mantelantrag/MantelantragITCase.java       | 18 +++++++++---------
 18 files changed, 73 insertions(+), 85 deletions(-)

diff --git a/src/main/java/de/ozgcloud/eingang/semantik/enginebased/afm/AfmAntragstellerMapper.java b/src/main/java/de/ozgcloud/eingang/semantik/enginebased/afm/AfmAntragstellerMapper.java
index 52365312..12fa3531 100644
--- a/src/main/java/de/ozgcloud/eingang/semantik/enginebased/afm/AfmAntragstellerMapper.java
+++ b/src/main/java/de/ozgcloud/eingang/semantik/enginebased/afm/AfmAntragstellerMapper.java
@@ -23,7 +23,8 @@
  */
 package de.ozgcloud.eingang.semantik.enginebased.afm;
 
-import static java.util.Objects.*;
+import static java.util.Objects.isNull;
+import static java.util.Objects.nonNull;
 
 import java.util.Collections;
 import java.util.LinkedHashMap;
@@ -32,14 +33,15 @@ import java.util.Optional;
 import java.util.Set;
 import java.util.stream.Collectors;
 
+import lombok.RequiredArgsConstructor;
 import org.apache.commons.collections.MapUtils;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
 import de.ozgcloud.eingang.common.formdata.Antragsteller;
 import de.ozgcloud.eingang.common.formdata.FormData;
 
 @Component
+@RequiredArgsConstructor
 class AfmAntragstellerMapper implements AfmEngineBasedMapper {
 
 	static final String POSTFACH_ID = "nameid";
@@ -68,8 +70,7 @@ class AfmAntragstellerMapper implements AfmEngineBasedMapper {
 	static final String FIELD_ANSPRECHPARTNER_VORNAME = "firma_ansprechpartner_vorname";
 	static final String FIELD_ANSPRECHPARTNER_NACHNAME = "firma_ansprechpartner_nachname";
 
-	@Autowired
-	private AfmAntragstellerHeaderMapper antragstellerHeaderMapper;
+	private final AfmAntragstellerHeaderMapper antragstellerHeaderMapper;
 
 	@Override
 	public FormData parseFormData(FormData formData) {
diff --git a/src/main/java/de/ozgcloud/eingang/semantik/enginebased/afm/AfmEngineBasedAdapter.java b/src/main/java/de/ozgcloud/eingang/semantik/enginebased/afm/AfmEngineBasedAdapter.java
index 36a9a187..c25ae97f 100644
--- a/src/main/java/de/ozgcloud/eingang/semantik/enginebased/afm/AfmEngineBasedAdapter.java
+++ b/src/main/java/de/ozgcloud/eingang/semantik/enginebased/afm/AfmEngineBasedAdapter.java
@@ -23,23 +23,23 @@
  */
 package de.ozgcloud.eingang.semantik.enginebased.afm;
 
+import java.util.List;
+
+import lombok.RequiredArgsConstructor;
+import org.springframework.stereotype.Component;
+
 import de.ozgcloud.eingang.common.formdata.FormData;
 import de.ozgcloud.eingang.common.formdata.FormDataUtils;
 import de.ozgcloud.eingang.semantik.enginebased.EngineBasedSemantikAdapter;
 import de.ozgcloud.eingang.semantik.enginebased.afm.intelliform.IntelliFormRepresentationAdapter;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-
-import java.util.List;
 
 @Component
+@RequiredArgsConstructor
 public class AfmEngineBasedAdapter implements EngineBasedSemantikAdapter {
 
-	@Autowired
-	private IntelliFormRepresentationAdapter intelliFormRepresentationAdapter;
+	private final IntelliFormRepresentationAdapter intelliFormRepresentationAdapter;
 
-	@Autowired
-	private List<AfmEngineBasedMapper> mappers;
+	private final List<AfmEngineBasedMapper> mappers;
 
 	@Override
 	public FormData parseFormData(FormData formData) {
diff --git a/src/main/java/de/ozgcloud/eingang/semantik/enginebased/afm/AfmHeaderMapper.java b/src/main/java/de/ozgcloud/eingang/semantik/enginebased/afm/AfmHeaderMapper.java
index 42222ec8..52800bc4 100644
--- a/src/main/java/de/ozgcloud/eingang/semantik/enginebased/afm/AfmHeaderMapper.java
+++ b/src/main/java/de/ozgcloud/eingang/semantik/enginebased/afm/AfmHeaderMapper.java
@@ -28,7 +28,7 @@ import java.time.format.DateTimeFormatter;
 import java.util.Map;
 import java.util.Optional;
 
-import org.springframework.beans.factory.annotation.Autowired;
+import lombok.RequiredArgsConstructor;
 import org.springframework.stereotype.Component;
 
 import de.ozgcloud.eingang.common.formdata.FormData;
@@ -38,6 +38,7 @@ import de.ozgcloud.eingang.common.formdata.ServiceKonto;
 import de.ozgcloud.eingang.semantik.common.ServiceKontoFactory;
 
 @Component
+@RequiredArgsConstructor
 class AfmHeaderMapper implements AfmEngineBasedMapper {
 
 	static final String AFM_FORMENGINE_NAME = "AFM";
@@ -52,8 +53,7 @@ class AfmHeaderMapper implements AfmEngineBasedMapper {
 	static final String FORM = "t:form";
 	static final String SENDER = "t:sender";
 
-	@Autowired
-	private ServiceKontoFactory serviceKontoFactory;
+	private final ServiceKontoFactory serviceKontoFactory;
 
 	@Override
 	public FormData parseFormData(FormData formData) {
diff --git a/src/main/java/de/ozgcloud/eingang/semantik/enginebased/afm/AfmZustaendigeStelleMapper.java b/src/main/java/de/ozgcloud/eingang/semantik/enginebased/afm/AfmZustaendigeStelleMapper.java
index 8ecd3a9d..12e23d21 100644
--- a/src/main/java/de/ozgcloud/eingang/semantik/enginebased/afm/AfmZustaendigeStelleMapper.java
+++ b/src/main/java/de/ozgcloud/eingang/semantik/enginebased/afm/AfmZustaendigeStelleMapper.java
@@ -29,7 +29,7 @@ import java.util.Map;
 import java.util.Objects;
 import java.util.Optional;
 
-import org.springframework.beans.factory.annotation.Autowired;
+import lombok.RequiredArgsConstructor;
 import org.springframework.stereotype.Component;
 
 import de.ozgcloud.eingang.common.formdata.FormData;
@@ -37,6 +37,7 @@ import de.ozgcloud.eingang.common.formdata.FormData.FormDataControl;
 import de.ozgcloud.eingang.common.formdata.ZustaendigeStelle;
 
 @Component
+@RequiredArgsConstructor
 class AfmZustaendigeStelleMapper implements AfmEngineBasedMapper {
 
 	public static final String ZUSTAENDIGESTELLE = "zustaendigestelle";
@@ -47,8 +48,7 @@ class AfmZustaendigeStelleMapper implements AfmEngineBasedMapper {
 	public static final String ORGANISATIONSEINHEITEN_ID_PARAMETER = "CUSTOMPARAMETER_ORGANISATIONSEINHEITID";
 	public static final String TAG_BEZEICHNUNG = "OrganisationseinheitenBEZEICHNUNG";
 
-	@Autowired
-	private ZustaendigeStelleMetadataMapper zustaendigeStelleMetadataMapper;
+	private final ZustaendigeStelleMetadataMapper zustaendigeStelleMetadataMapper;
 
 	@Override
 	public FormData parseFormData(FormData formData) {
diff --git a/src/main/java/de/ozgcloud/eingang/semantik/enginebased/afm/ZustaendigeStelleMetadataMapper.java b/src/main/java/de/ozgcloud/eingang/semantik/enginebased/afm/ZustaendigeStelleMetadataMapper.java
index 38d995ee..aed797cb 100644
--- a/src/main/java/de/ozgcloud/eingang/semantik/enginebased/afm/ZustaendigeStelleMetadataMapper.java
+++ b/src/main/java/de/ozgcloud/eingang/semantik/enginebased/afm/ZustaendigeStelleMetadataMapper.java
@@ -23,7 +23,7 @@
  */
 package de.ozgcloud.eingang.semantik.enginebased.afm;
 
-import static java.util.Objects.*;
+import static java.util.Objects.nonNull;
 
 import java.io.IOException;
 import java.util.Collections;
@@ -33,18 +33,19 @@ import java.util.Optional;
 import java.util.function.Predicate;
 import java.util.stream.Collectors;
 
+import lombok.RequiredArgsConstructor;
+import lombok.extern.log4j.Log4j2;
 import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
 import de.ozgcloud.common.errorhandling.TechnicalException;
 import de.ozgcloud.eingang.common.formdata.FormData;
 import de.ozgcloud.eingang.common.formdata.IncomingFile;
 import de.ozgcloud.eingang.common.formdata.ZustaendigeStelle;
-import lombok.extern.log4j.Log4j2;
 
 @Log4j2
 @Component
+@RequiredArgsConstructor
 public class ZustaendigeStelleMetadataMapper {
 
 	static final String BEHOERDE_METADATA_FILE_NAME = "behoerde_metadata.xml";
@@ -61,8 +62,7 @@ public class ZustaendigeStelleMetadataMapper {
 	static final String KEY_BEHOERDE_HAUSANSCHRIFT_PLZ = "behoerde_hausanschrift_plz";
 	static final String KEY_BEHOERDE_TELEFON = "behoerde_telefon";
 
-	@Autowired
-	private XmlMapperSupplier xmlMapperSupplier;
+	private final XmlMapperSupplier xmlMapperSupplier;
 
 	public FormData parseZustaendigeStelleData(FormData formData) {
 		return formData.getRepresentations().stream().filter(IS_BEHOERDE_METADATA).findAny()
diff --git a/src/main/java/de/ozgcloud/eingang/semantik/enginebased/afm/intelliform/JsonService.java b/src/main/java/de/ozgcloud/eingang/semantik/enginebased/afm/intelliform/JsonService.java
index 539fafc7..53cfe9ee 100644
--- a/src/main/java/de/ozgcloud/eingang/semantik/enginebased/afm/intelliform/JsonService.java
+++ b/src/main/java/de/ozgcloud/eingang/semantik/enginebased/afm/intelliform/JsonService.java
@@ -26,23 +26,22 @@ package de.ozgcloud.eingang.semantik.enginebased.afm.intelliform;
 import java.util.List;
 import java.util.Map;
 
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.core.type.TypeReference;
 import com.fasterxml.jackson.databind.ObjectMapper;
+import lombok.RequiredArgsConstructor;
+import org.springframework.stereotype.Component;
 
 import de.ozgcloud.common.errorhandling.TechnicalException;
 
 @Component
+@RequiredArgsConstructor
 class JsonService {
 
 	static final TypeReference<List<Map<String, Object>>> VALUE_TYPE_REF = new TypeReference<List<Map<String, Object>>>() {
 	};
 
-	@Autowired
-	private ObjectMapper objectMapper;
+	private final ObjectMapper objectMapper;
 
 	public List<Map<String, Object>> readAsListMap(String json) {
 		return readValueSafety(json, VALUE_TYPE_REF);
diff --git a/src/main/java/de/ozgcloud/eingang/semantik/enginebased/afm/intelliform/XmlToJavaMapsMapper.java b/src/main/java/de/ozgcloud/eingang/semantik/enginebased/afm/intelliform/XmlToJavaMapsMapper.java
index 75409a60..62cd4492 100644
--- a/src/main/java/de/ozgcloud/eingang/semantik/enginebased/afm/intelliform/XmlToJavaMapsMapper.java
+++ b/src/main/java/de/ozgcloud/eingang/semantik/enginebased/afm/intelliform/XmlToJavaMapsMapper.java
@@ -23,6 +23,9 @@
  */
 package de.ozgcloud.eingang.semantik.enginebased.afm.intelliform;
 
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
 import java.io.IOException;
 import java.io.InputStream;
 import java.util.ArrayList;
@@ -32,11 +35,8 @@ import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
 
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-
-import org.springframework.beans.factory.annotation.Autowired;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.log4j.Log4j2;
 import org.springframework.stereotype.Component;
 import org.w3c.dom.Document;
 import org.w3c.dom.Node;
@@ -44,17 +44,16 @@ import org.w3c.dom.NodeList;
 import org.xml.sax.SAXException;
 
 import de.ozgcloud.eingang.common.errorhandling.TechnicalException;
-import lombok.extern.log4j.Log4j2;
 
 @Log4j2
 @Component
+@RequiredArgsConstructor
 class XmlToJavaMapsMapper {
 
 	static final String REST_RESPONSE_NAME = "rest_response_name";
 	static final String FILE = "file";
 
-	@Autowired
-	private JsonService jsonService;
+	private final JsonService jsonService;
 
 	public Document parseAsW3cDocument(InputStream xmlDatenInputStream) {
 		try {
diff --git a/src/test/java/de/ozgcloud/eingang/semantik/enginebased/afm/AfmAntragstellerMapperTest.java b/src/test/java/de/ozgcloud/eingang/semantik/enginebased/afm/AfmAntragstellerMapperTest.java
index f68df9df..c936413f 100644
--- a/src/test/java/de/ozgcloud/eingang/semantik/enginebased/afm/AfmAntragstellerMapperTest.java
+++ b/src/test/java/de/ozgcloud/eingang/semantik/enginebased/afm/AfmAntragstellerMapperTest.java
@@ -68,11 +68,11 @@ class AfmAntragstellerMapperTest {
 
 		@Test
 		void shouldDoNothingOnNullAntragstaller() {
-			var formData = FormData.builder().formData(new HashMap<>()).build();
+			var emptyFormData = FormData.builder().formData(new HashMap<>()).build();
 
-			var parsedFormData = parseFormData(formData);
+			var parsedFormData = parseFormData(emptyFormData);
 
-			assertThat(parsedFormData).usingRecursiveComparison().ignoringFields(AfmAntragstellerMapper.ANTRAGSTELLER).isEqualTo(formData);
+			assertThat(parsedFormData).usingRecursiveComparison().ignoringFields(AfmAntragstellerMapper.ANTRAGSTELLER).isEqualTo(emptyFormData);
 		}
 
 		@Test
diff --git a/src/test/java/de/ozgcloud/eingang/semantik/enginebased/afm/AfmEmpfangeneStelleMapperTest.java b/src/test/java/de/ozgcloud/eingang/semantik/enginebased/afm/AfmEmpfangeneStelleMapperTest.java
index e2debc76..ec308076 100644
--- a/src/test/java/de/ozgcloud/eingang/semantik/enginebased/afm/AfmEmpfangeneStelleMapperTest.java
+++ b/src/test/java/de/ozgcloud/eingang/semantik/enginebased/afm/AfmEmpfangeneStelleMapperTest.java
@@ -23,7 +23,7 @@
  */
 package de.ozgcloud.eingang.semantik.enginebased.afm;
 
-import static org.assertj.core.api.Assertions.*;
+import static org.assertj.core.api.Assertions.assertThat;
 
 import java.util.Collections;
 import java.util.HashMap;
@@ -35,8 +35,6 @@ import org.mockito.InjectMocks;
 
 import de.ozgcloud.eingang.common.formdata.FormData;
 import de.ozgcloud.eingang.common.formdata.FormDataTestFactory;
-import de.ozgcloud.eingang.semantik.enginebased.afm.AfmEmpfangeneStelleMapper;
-import de.ozgcloud.eingang.semantik.enginebased.afm.AfmEngineBasedMapper;
 
 class AfmEmpfangeneStelleMapperTest {
 
diff --git a/src/test/java/de/ozgcloud/eingang/semantik/enginebased/afm/AfmEngineBasedAdapterTest.java b/src/test/java/de/ozgcloud/eingang/semantik/enginebased/afm/AfmEngineBasedAdapterTest.java
index a99b6739..1fb230e0 100644
--- a/src/test/java/de/ozgcloud/eingang/semantik/enginebased/afm/AfmEngineBasedAdapterTest.java
+++ b/src/test/java/de/ozgcloud/eingang/semantik/enginebased/afm/AfmEngineBasedAdapterTest.java
@@ -56,7 +56,7 @@ class AfmEngineBasedAdapterTest {
 	@DisplayName("Parse form data")
 	@Nested
 	class TestParseFromData {
-		private final String VORGANG_NUMMER = "AAAA-1234";
+		private static final String VORGANG_NUMMER = "AAAA-1234";
 
 		private final Map<String, Object> formDataMap = Map.of(AfmAntragstellerMapper.POSTFACH_ID, "postfachIdValue");
 		private final FormData formData = FormData.builder()
diff --git a/src/test/java/de/ozgcloud/eingang/semantik/enginebased/afm/AfmErklaerungenMapperTest.java b/src/test/java/de/ozgcloud/eingang/semantik/enginebased/afm/AfmErklaerungenMapperTest.java
index 88f90c2f..7c7da2c5 100644
--- a/src/test/java/de/ozgcloud/eingang/semantik/enginebased/afm/AfmErklaerungenMapperTest.java
+++ b/src/test/java/de/ozgcloud/eingang/semantik/enginebased/afm/AfmErklaerungenMapperTest.java
@@ -23,7 +23,7 @@
  */
 package de.ozgcloud.eingang.semantik.enginebased.afm;
 
-import static org.assertj.core.api.Assertions.*;
+import static org.assertj.core.api.Assertions.assertThat;
 
 import java.util.Collections;
 import java.util.HashMap;
@@ -35,8 +35,6 @@ import org.mockito.InjectMocks;
 
 import de.ozgcloud.eingang.common.formdata.FormData;
 import de.ozgcloud.eingang.common.formdata.FormDataTestFactory;
-import de.ozgcloud.eingang.semantik.enginebased.afm.AfmEngineBasedMapper;
-import de.ozgcloud.eingang.semantik.enginebased.afm.AfmErklaerungenMapper;
 
 class AfmErklaerungenMapperTest {
 
diff --git a/src/test/java/de/ozgcloud/eingang/semantik/enginebased/afm/AfmHeaderMapperTest.java b/src/test/java/de/ozgcloud/eingang/semantik/enginebased/afm/AfmHeaderMapperTest.java
index 80a0e966..6459eb19 100644
--- a/src/test/java/de/ozgcloud/eingang/semantik/enginebased/afm/AfmHeaderMapperTest.java
+++ b/src/test/java/de/ozgcloud/eingang/semantik/enginebased/afm/AfmHeaderMapperTest.java
@@ -152,11 +152,11 @@ class AfmHeaderMapperTest {
 
 						@Test
 						void shouldCallCreateBayernIdServiceKonto() {
-							var formData = FormData.builder().formData(AfmHeaderTestFactory.createFormDataMapWithExtendedHeaders()).build();
+							var extendedHeaderformData = FormData.builder().formData(AfmHeaderTestFactory.createFormDataMapWithExtendedHeaders()).build();
 
-							mapper.parseFormData(formData);
+							mapper.parseFormData(extendedHeaderformData);
 
-							verify(mapper).createBayernIdServiceKonto(formData);
+							verify(mapper).createBayernIdServiceKonto(extendedHeaderformData);
 						}
 
 						@Test
diff --git a/src/test/java/de/ozgcloud/eingang/semantik/enginebased/afm/AfmZustaendigeStelleMapperTest.java b/src/test/java/de/ozgcloud/eingang/semantik/enginebased/afm/AfmZustaendigeStelleMapperTest.java
index 9e727282..f5d662c6 100644
--- a/src/test/java/de/ozgcloud/eingang/semantik/enginebased/afm/AfmZustaendigeStelleMapperTest.java
+++ b/src/test/java/de/ozgcloud/eingang/semantik/enginebased/afm/AfmZustaendigeStelleMapperTest.java
@@ -216,9 +216,9 @@ class AfmZustaendigeStelleMapperTest {
 			void shouldDoNothingIfNoZustaendigeStelle() {
 				var formDataMap = AfmZustaendigeStelleTestFactory.createFormDataMap();
 				formDataMap.remove(AfmZustaendigeStelleMapper.ZUSTAENDIGESTELLE);
-				var formData = FormDataTestFactory.createBuilder().formData(formDataMap).build();
+				var formDataWithoutZustaendigeStelle = FormDataTestFactory.createBuilder().formData(formDataMap).build();
 
-				var edited = mapper.addMetaDataFlag(formData);
+				var edited = mapper.addMetaDataFlag(formDataWithoutZustaendigeStelle);
 
 				assertThat(edited).doesNotContainKey(AfmZustaendigeStelleMapper.ZUSTAENDIGESTELLE);
 			}
diff --git a/src/test/java/de/ozgcloud/eingang/semantik/enginebased/afm/ZustaendigeStelleMetadataMapperITCase.java b/src/test/java/de/ozgcloud/eingang/semantik/enginebased/afm/ZustaendigeStelleMetadataMapperITCase.java
index 1c203e4f..7953e115 100644
--- a/src/test/java/de/ozgcloud/eingang/semantik/enginebased/afm/ZustaendigeStelleMetadataMapperITCase.java
+++ b/src/test/java/de/ozgcloud/eingang/semantik/enginebased/afm/ZustaendigeStelleMetadataMapperITCase.java
@@ -28,6 +28,7 @@ import static org.assertj.core.api.Assertions.*;
 
 import java.io.File;
 
+import org.assertj.core.api.InstanceOfAssertFactories;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -59,7 +60,9 @@ class ZustaendigeStelleMetadataMapperITCase {
 	void shouldReadXmlNodes() {
 		var metadata = mapper.readXmlContent(behoerdeMetadataXml);
 
-		assertThat(metadata).get().extracting("fields").asList().usingRecursiveFieldByFieldElementComparator()
+		assertThat(metadata).get().extracting("fields")
+				.asInstanceOf(InstanceOfAssertFactories.LIST)
+				.usingRecursiveFieldByFieldElementComparator()
 				.containsAll(ZustaendigeStelleDataTestFactory.ZUSTAENDIGE_STELLE_DATA_FIELDS);
 	}
 
diff --git a/src/test/java/de/ozgcloud/eingang/semantik/enginebased/afm/ZustaendigeStelleMetadataMapperTest.java b/src/test/java/de/ozgcloud/eingang/semantik/enginebased/afm/ZustaendigeStelleMetadataMapperTest.java
index 24680c44..72cfd530 100644
--- a/src/test/java/de/ozgcloud/eingang/semantik/enginebased/afm/ZustaendigeStelleMetadataMapperTest.java
+++ b/src/test/java/de/ozgcloud/eingang/semantik/enginebased/afm/ZustaendigeStelleMetadataMapperTest.java
@@ -23,12 +23,13 @@
  */
 package de.ozgcloud.eingang.semantik.enginebased.afm;
 
-import static org.assertj.core.api.Assertions.*;
+import static org.assertj.core.api.Assertions.assertThat;
 import static org.mockito.Mockito.*;
 
-import java.io.File;
 import java.util.Map;
 
+import com.fasterxml.jackson.dataformat.xml.XmlMapper;
+import lombok.SneakyThrows;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Nested;
 import org.junit.jupiter.api.Test;
@@ -36,15 +37,12 @@ import org.mockito.InjectMocks;
 import org.mockito.Mock;
 import org.mockito.Spy;
 
-import com.fasterxml.jackson.dataformat.xml.XmlMapper;
-
 import de.ozgcloud.eingang.common.formdata.FormData;
 import de.ozgcloud.eingang.common.formdata.FormDataTestFactory;
 import de.ozgcloud.eingang.common.formdata.IncomingFile;
 import de.ozgcloud.eingang.common.formdata.IncomingFileTestFactory;
 import de.ozgcloud.eingang.common.formdata.ZustaendigeStelle;
 import de.ozgcloud.eingang.common.formdata.ZustaendigeStelleTestFactory;
-import lombok.SneakyThrows;
 
 class ZustaendigeStelleMetadataMapperTest {
 
@@ -103,13 +101,6 @@ class ZustaendigeStelleMetadataMapperTest {
 		}
 	}
 
-	@Nested
-	class TestReadBehoerdeMetadata {
-
-		private File brokenFile;
-
-	}
-
 	@Nested
 	class TestMapZuestaendigeStelle {
 
diff --git a/src/test/java/de/ozgcloud/eingang/semantik/enginebased/afm/intelliform/JsonServiceTest.java b/src/test/java/de/ozgcloud/eingang/semantik/enginebased/afm/intelliform/JsonServiceTest.java
index ac5f6f83..11ddcb70 100644
--- a/src/test/java/de/ozgcloud/eingang/semantik/enginebased/afm/intelliform/JsonServiceTest.java
+++ b/src/test/java/de/ozgcloud/eingang/semantik/enginebased/afm/intelliform/JsonServiceTest.java
@@ -23,14 +23,20 @@
  */
 package de.ozgcloud.eingang.semantik.enginebased.afm.intelliform;
 
-import static org.assertj.core.api.Assertions.*;
-import static org.mockito.ArgumentMatchers.*;
-import static org.mockito.Mockito.*;
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.assertj.core.api.Assertions.assertThatThrownBy;
+import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
 
 import java.util.Collections;
 import java.util.List;
 import java.util.Map;
 
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.core.type.TypeReference;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import lombok.SneakyThrows;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.DisplayName;
 import org.junit.jupiter.api.Nested;
@@ -39,13 +45,7 @@ import org.mockito.InjectMocks;
 import org.mockito.Mock;
 import org.mockito.Mockito;
 
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.core.type.TypeReference;
-import com.fasterxml.jackson.databind.ObjectMapper;
-
 import de.ozgcloud.common.errorhandling.TechnicalException;
-import de.ozgcloud.eingang.semantik.enginebased.afm.intelliform.JsonService;
-import lombok.SneakyThrows;
 
 class JsonServiceTest {
 
diff --git a/src/test/java/de/ozgcloud/eingang/semantik/enginebased/afm/intelliform/XmlToJavaMapsMapperTest.java b/src/test/java/de/ozgcloud/eingang/semantik/enginebased/afm/intelliform/XmlToJavaMapsMapperTest.java
index 37df5097..071749b0 100644
--- a/src/test/java/de/ozgcloud/eingang/semantik/enginebased/afm/intelliform/XmlToJavaMapsMapperTest.java
+++ b/src/test/java/de/ozgcloud/eingang/semantik/enginebased/afm/intelliform/XmlToJavaMapsMapperTest.java
@@ -45,7 +45,7 @@ import de.ozgcloud.common.errorhandling.TechnicalException;
 class XmlToJavaMapsMapperTest {
 
 	@InjectMocks
-	private XmlToJavaMapsMapper mapper = new XmlToJavaMapsMapper();
+	private XmlToJavaMapsMapper mapper;
 	@Mock
 	private JsonService jsonService;
 
@@ -196,8 +196,7 @@ class XmlToJavaMapsMapperTest {
 
 		private List<Object> getNestedList(Map<String, Object> formData) {
 			Map<String, Object> mainNode = (Map<String, Object>) formData.get(MAIN_NODE_NAME);
-			List<Object> nestedList = (List<Object>) mainNode.get(NESTED_NODE_NAME);
-			return nestedList;
+			return (List<Object>) mainNode.get(NESTED_NODE_NAME);
 		}
 	}
 
diff --git a/src/test/java/de/ozgcloud/eingang/semantik/formbased/mantelantrag/MantelantragITCase.java b/src/test/java/de/ozgcloud/eingang/semantik/formbased/mantelantrag/MantelantragITCase.java
index c3d6f531..75358f6d 100644
--- a/src/test/java/de/ozgcloud/eingang/semantik/formbased/mantelantrag/MantelantragITCase.java
+++ b/src/test/java/de/ozgcloud/eingang/semantik/formbased/mantelantrag/MantelantragITCase.java
@@ -23,9 +23,9 @@
  */
 package de.ozgcloud.eingang.semantik.formbased.mantelantrag;
 
-import static de.ozgcloud.eingang.common.formdata.FormDataTestFactory.*;
-import static org.assertj.core.api.Assertions.*;
-import static org.mockito.ArgumentMatchers.*;
+import static de.ozgcloud.eingang.common.formdata.FormDataTestFactory.VORGANG_ID;
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.*;
 
 import java.io.File;
@@ -35,6 +35,7 @@ import java.util.Collections;
 import java.util.List;
 import java.util.Optional;
 
+import lombok.SneakyThrows;
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.DisplayName;
@@ -44,11 +45,11 @@ import org.mockito.ArgumentCaptor;
 import org.mockito.Captor;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.boot.test.mock.mockito.MockBean;
-import org.springframework.boot.test.mock.mockito.SpyBean;
 import org.springframework.test.context.ActiveProfiles;
 import org.springframework.test.context.DynamicPropertyRegistry;
 import org.springframework.test.context.DynamicPropertySource;
+import org.springframework.test.context.bean.override.mockito.MockitoBean;
+import org.springframework.test.context.bean.override.mockito.MockitoSpyBean;
 
 import de.ozgcloud.common.binaryfile.TempFileUtils;
 import de.ozgcloud.common.test.TestUtils;
@@ -57,19 +58,18 @@ import de.ozgcloud.eingang.common.formdata.FormData;
 import de.ozgcloud.eingang.common.formdata.IncomingFileTestFactory;
 import de.ozgcloud.eingang.router.VorgangRemoteService;
 import de.ozgcloud.eingang.semantik.SemantikAdapter;
-import lombok.SneakyThrows;
 
 @ActiveProfiles({ "local", "itcase" })
 @SpringBootTest(classes = Application.class)
-public class MantelantragITCase {
+class MantelantragITCase {
 
 	private static final String FILE_NAME_XDOMEA = "mantelantrag/4620-EH6C_b3c9168a-6ae9-4361-8b2f-6837bb341021_Geschaeftsgang.Geschaeftsgang.0201.xml";
 	private static final String FILE_NAME_MANTELANTRAG = "mantelantrag/4620-EH6C_7d703670-15b6-42b2-8cd1-88a7e4c494b9_Antrag_Max_Mustermann_SGBXII.xml";
 
-	@MockBean
+	@MockitoBean
 	VorgangRemoteService vorgangRemoteService;
 
-	@SpyBean
+	@MockitoSpyBean
 	SemantikAdapter semantikAdapter;
 
 	@Captor
-- 
GitLab