diff --git a/common/src/main/java/de/ozgcloud/eingang/common/formdata/BayernHeader.java b/intelliform-adapter/src/main/java/de/ozgcloud/eingang/intelliform/CustomHeaderReader.java similarity index 57% rename from common/src/main/java/de/ozgcloud/eingang/common/formdata/BayernHeader.java rename to intelliform-adapter/src/main/java/de/ozgcloud/eingang/intelliform/CustomHeaderReader.java index 2076e220a923cf2a2cd584bd7b8a07afb62831bd..318e5801a0471c98548b453d32674a26570a6a32 100644 --- a/common/src/main/java/de/ozgcloud/eingang/common/formdata/BayernHeader.java +++ b/intelliform-adapter/src/main/java/de/ozgcloud/eingang/intelliform/CustomHeaderReader.java @@ -21,14 +21,19 @@ * Die sprachspezifischen Genehmigungen und Beschränkungen * unter der Lizenz sind dem Lizenztext zu entnehmen. */ -package de.ozgcloud.eingang.common.formdata; +package de.ozgcloud.eingang.intelliform; -import static lombok.AccessLevel.*; +import java.util.HashMap; +import java.util.Map; +import java.util.Optional; +import java.util.function.Consumer; -import lombok.NoArgsConstructor; +import org.springframework.stereotype.Component; +import org.w3c.dom.Attr; +import org.w3c.dom.Document; -@NoArgsConstructor(access = PRIVATE) -public class BayernHeader { +@Component +public class CustomHeaderReader { public static final String HEADER_POSTFACH_ID = "u:saml_legacypostkorbhandle"; public static final String HEADER_VORNAME = "u:saml_givenname"; @@ -41,4 +46,22 @@ public class BayernHeader { public static final String HEADER_PLZ = "u:saml_postalcode"; public static final String HEADER_ORT = "u:saml_localityname"; -} + public Map<String, Object> getHeader(Document document) { + var map = new HashMap<String, Object>(); + Consumer<Attr> addHeader = attr -> map.put(attr.getName(), attr.getValue()); + getAttribute(document, HEADER_POSTFACH_ID).ifPresent(addHeader); + getAttribute(document, HEADER_VORNAME).ifPresent(addHeader); + getAttribute(document, HEADER_NACHNAME).ifPresent(addHeader); + getAttribute(document, HEADER_GEBURTSORT).ifPresent(addHeader); + getAttribute(document, HEADER_EMAIL).ifPresent(addHeader); + getAttribute(document, HEADER_TELEFON).ifPresent(addHeader); + getAttribute(document, HEADER_STRASSE).ifPresent(addHeader); + getAttribute(document, HEADER_PLZ).ifPresent(addHeader); + getAttribute(document, HEADER_ORT).ifPresent(addHeader); + return map; + } + + Optional<Attr> getAttribute(Document document, String name) { + return Optional.ofNullable(document.getDocumentElement().getAttributeNode(name)); + } +} \ No newline at end of file diff --git a/intelliform-adapter/src/main/java/de/ozgcloud/eingang/intelliform/SemantikFormDataMapper.java b/intelliform-adapter/src/main/java/de/ozgcloud/eingang/intelliform/SemantikFormDataMapper.java index 133f0e8a243d9fb6b479a9c6f8b5c11f4e980afd..f4796328f0f9469c17291a9f4dfda6655c1213cf 100644 --- a/intelliform-adapter/src/main/java/de/ozgcloud/eingang/intelliform/SemantikFormDataMapper.java +++ b/intelliform-adapter/src/main/java/de/ozgcloud/eingang/intelliform/SemantikFormDataMapper.java @@ -39,7 +39,6 @@ import org.w3c.dom.Document; import de.ozgcloud.eingang.common.formdata.FormData; import de.ozgcloud.eingang.common.formdata.IncomingFile; import de.ozgcloud.eingang.common.formdata.IncomingFileGroup; -import de.ozgcloud.eingang.intelliform.bayern.BayernHeaderReader; import de.ozgcloud.eingang.semantik.enginebased.FilesMapperHelper; import lombok.RequiredArgsConstructor; @@ -88,7 +87,7 @@ class SemantikFormDataMapper { private final AttachmentsContentAdder attachmentsContentAdder; @Autowired - private final BayernHeaderReader bayernHeaderReader; + private final CustomHeaderReader customHeaderReader; public FormData mapToFormData(Deposit depositData) { var xmlFormDataStream = getXmlFormData(depositData.getData()); @@ -160,7 +159,7 @@ class SemantikFormDataMapper { map.put(HEADER_CUSTOMER_ID, document.getDocumentElement().getAttribute(HEADER_CUSTOMER_ID)); map.put(HEADER_CLIENT, document.getDocumentElement().getAttribute(HEADER_CLIENT)); map.put(HEADER_CLIENT_ID, document.getDocumentElement().getAttribute(HEADER_CLIENT_ID)); - map.putAll(bayernHeaderReader.getHeader(document)); + map.putAll(customHeaderReader.getHeader(document)); return map; } } \ No newline at end of file diff --git a/intelliform-adapter/src/main/java/de/ozgcloud/eingang/intelliform/bayern/BayernHeaderReader.java b/intelliform-adapter/src/main/java/de/ozgcloud/eingang/intelliform/bayern/BayernHeaderReader.java deleted file mode 100644 index 323863278365c59e32be604e4f3e5f902a6c9be8..0000000000000000000000000000000000000000 --- a/intelliform-adapter/src/main/java/de/ozgcloud/eingang/intelliform/bayern/BayernHeaderReader.java +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright (C) 2022 Das Land Schleswig-Holstein vertreten durch den - * Ministerpräsidenten des Landes Schleswig-Holstein - * Staatskanzlei - * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung - * - * Lizenziert unter der EUPL, Version 1.2 oder - sobald - * diese von der Europäischen Kommission genehmigt wurden - - * Folgeversionen der EUPL ("Lizenz"); - * Sie dürfen dieses Werk ausschließlich gemäß - * dieser Lizenz nutzen. - * Eine Kopie der Lizenz finden Sie hier: - * - * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12 - * - * Sofern nicht durch anwendbare Rechtsvorschriften - * gefordert oder in schriftlicher Form vereinbart, wird - * die unter der Lizenz verbreitete Software "so wie sie - * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN - - * ausdrücklich oder stillschweigend - verbreitet. - * Die sprachspezifischen Genehmigungen und Beschränkungen - * unter der Lizenz sind dem Lizenztext zu entnehmen. - */ -package de.ozgcloud.eingang.intelliform.bayern; - -import static de.ozgcloud.eingang.common.formdata.BayernHeader.*; - -import java.util.HashMap; -import java.util.Map; - - -import org.springframework.stereotype.Component; -import org.w3c.dom.Document; - -@Component -public class BayernHeaderReader { - - public Map<String, Object> getHeader(Document document) { - var map = new HashMap<String, Object>(); - map.put(HEADER_POSTFACH_ID, document.getDocumentElement().getAttribute(HEADER_POSTFACH_ID)); - map.put(HEADER_VORNAME, document.getDocumentElement().getAttribute(HEADER_VORNAME)); - map.put(HEADER_NACHNAME, document.getDocumentElement().getAttribute(HEADER_NACHNAME)); - map.put(HEADER_GEBURTSORT, document.getDocumentElement().getAttribute(HEADER_GEBURTSORT)); - map.put(HEADER_EMAIL, document.getDocumentElement().getAttribute(HEADER_EMAIL)); - map.put(HEADER_TELEFON, document.getDocumentElement().getAttribute(HEADER_TELEFON)); - map.put(HEADER_STRASSE, document.getDocumentElement().getAttribute(HEADER_STRASSE)); - map.put(HEADER_PLZ, document.getDocumentElement().getAttribute(HEADER_PLZ)); - map.put(HEADER_ORT, document.getDocumentElement().getAttribute(HEADER_ORT)); - return map; - } -} \ No newline at end of file diff --git a/intelliform-adapter/src/test/java/de/ozgcloud/eingang/intelliform/CustomHeaderReaderTest.java b/intelliform-adapter/src/test/java/de/ozgcloud/eingang/intelliform/CustomHeaderReaderTest.java new file mode 100644 index 0000000000000000000000000000000000000000..93a7070b872ec2e0af8fa0ac30337b84ec5fd6fc --- /dev/null +++ b/intelliform-adapter/src/test/java/de/ozgcloud/eingang/intelliform/CustomHeaderReaderTest.java @@ -0,0 +1,161 @@ +/* + * Copyright (C) 2022 Das Land Schleswig-Holstein vertreten durch den + * Ministerpräsidenten des Landes Schleswig-Holstein + * Staatskanzlei + * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung + * + * Lizenziert unter der EUPL, Version 1.2 oder - sobald + * diese von der Europäischen Kommission genehmigt wurden - + * Folgeversionen der EUPL ("Lizenz"); + * Sie dürfen dieses Werk ausschließlich gemäß + * dieser Lizenz nutzen. + * Eine Kopie der Lizenz finden Sie hier: + * + * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12 + * + * Sofern nicht durch anwendbare Rechtsvorschriften + * gefordert oder in schriftlicher Form vereinbart, wird + * die unter der Lizenz verbreitete Software "so wie sie + * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN - + * ausdrücklich oder stillschweigend - verbreitet. + * Die sprachspezifischen Genehmigungen und Beschränkungen + * unter der Lizenz sind dem Lizenztext zu entnehmen. + */ +package de.ozgcloud.eingang.intelliform; + +import static org.assertj.core.api.Assertions.*; +import static org.mockito.Mockito.*; + +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Nested; +import org.junit.jupiter.api.Test; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.w3c.dom.Attr; +import org.w3c.dom.Document; +import org.w3c.dom.Element; + +class CustomHeaderReaderTest { + + @InjectMocks + private CustomHeaderReader reader; + + @Mock + private Document document; + @Mock + private Element element; + @Mock + private Attr attribute; + + @BeforeEach + void setup() { + when(document.getDocumentElement()).thenReturn(element); + } + + @Test + void shouldNotAddIfNotPresent() { + var formData = reader.getHeader(document); + + assertThat(formData).isEmpty(); + } + + @Nested + class TestHeaderAdded { + + @BeforeEach + void setup() { + when(element.getAttributeNode(any())).thenReturn(attribute); + } + + @Test + void shouldAddPostfachId() { + when(attribute.getName()).thenReturn(CustomHeaderReader.HEADER_POSTFACH_ID); + when(attribute.getValue()).thenReturn(CustomHeaderTestFactory.POSTFACH_ID); + + var formData = reader.getHeader(document); + + assertThat(formData).containsEntry(CustomHeaderReader.HEADER_POSTFACH_ID, CustomHeaderTestFactory.POSTFACH_ID); + } + + @Test + void shouldAddVorname() { + when(attribute.getName()).thenReturn(CustomHeaderReader.HEADER_VORNAME); + when(attribute.getValue()).thenReturn(CustomHeaderTestFactory.VORNAME); + + var formData = reader.getHeader(document); + + assertThat(formData).containsEntry(CustomHeaderReader.HEADER_VORNAME, CustomHeaderTestFactory.VORNAME); + } + + @Test + void shouldAddNachname() { + when(attribute.getName()).thenReturn(CustomHeaderReader.HEADER_NACHNAME); + when(attribute.getValue()).thenReturn(CustomHeaderTestFactory.NACHNAME); + + var formData = reader.getHeader(document); + + assertThat(formData).containsEntry(CustomHeaderReader.HEADER_NACHNAME, CustomHeaderTestFactory.NACHNAME); + } + + @Test + void shouldAddGeburtsort() { + when(attribute.getName()).thenReturn(CustomHeaderReader.HEADER_GEBURTSORT); + when(attribute.getValue()).thenReturn(CustomHeaderTestFactory.GEBURTSORT); + + var formData = reader.getHeader(document); + + assertThat(formData).containsEntry(CustomHeaderReader.HEADER_GEBURTSORT, CustomHeaderTestFactory.GEBURTSORT); + } + + @Test + void shouldAddEmail() { + when(attribute.getName()).thenReturn(CustomHeaderReader.HEADER_EMAIL); + when(attribute.getValue()).thenReturn(CustomHeaderTestFactory.EMAIL); + + var formData = reader.getHeader(document); + + assertThat(formData).containsEntry(CustomHeaderReader.HEADER_EMAIL, CustomHeaderTestFactory.EMAIL); + } + + @Test + void shouldAddTelefon() { + when(attribute.getName()).thenReturn(CustomHeaderReader.HEADER_TELEFON); + when(attribute.getValue()).thenReturn(CustomHeaderTestFactory.TELEFON); + + var formData = reader.getHeader(document); + + assertThat(formData).containsEntry(CustomHeaderReader.HEADER_TELEFON, CustomHeaderTestFactory.TELEFON); + } + + @Test + void shouldAddStrasse() { + when(attribute.getName()).thenReturn(CustomHeaderReader.HEADER_STRASSE); + when(attribute.getValue()).thenReturn(CustomHeaderTestFactory.STRASSE); + + var formData = reader.getHeader(document); + + assertThat(formData).containsEntry(CustomHeaderReader.HEADER_STRASSE, CustomHeaderTestFactory.STRASSE); + } + + @Test + void shouldAddPlz() { + when(attribute.getName()).thenReturn(CustomHeaderReader.HEADER_PLZ); + when(attribute.getValue()).thenReturn(CustomHeaderTestFactory.PLZ); + + var formData = reader.getHeader(document); + + assertThat(formData).containsEntry(CustomHeaderReader.HEADER_PLZ, CustomHeaderTestFactory.PLZ); + } + + @Test + void shouldAddOrt() { + when(attribute.getName()).thenReturn(CustomHeaderReader.HEADER_ORT); + when(attribute.getValue()).thenReturn(CustomHeaderTestFactory.ORT); + + var formData = reader.getHeader(document); + + assertThat(formData).containsEntry(CustomHeaderReader.HEADER_ORT, CustomHeaderTestFactory.ORT); + } + } + +} \ No newline at end of file diff --git a/intelliform-adapter/src/test/java/de/ozgcloud/eingang/intelliform/bayern/BayernHeaderTestFactory.java b/intelliform-adapter/src/test/java/de/ozgcloud/eingang/intelliform/CustomHeaderTestFactory.java similarity index 73% rename from intelliform-adapter/src/test/java/de/ozgcloud/eingang/intelliform/bayern/BayernHeaderTestFactory.java rename to intelliform-adapter/src/test/java/de/ozgcloud/eingang/intelliform/CustomHeaderTestFactory.java index a9449beab87935344282aed8fb7586fc7b700640..9d5393268d6e1321be5cfa7dde91fb3927a0cb88 100644 --- a/intelliform-adapter/src/test/java/de/ozgcloud/eingang/intelliform/bayern/BayernHeaderTestFactory.java +++ b/intelliform-adapter/src/test/java/de/ozgcloud/eingang/intelliform/CustomHeaderTestFactory.java @@ -21,14 +21,13 @@ * Die sprachspezifischen Genehmigungen und Beschränkungen * unter der Lizenz sind dem Lizenztext zu entnehmen. */ -package de.ozgcloud.eingang.intelliform.bayern; +package de.ozgcloud.eingang.intelliform; -import static de.ozgcloud.eingang.common.formdata.BayernHeader.*; import java.util.HashMap; import java.util.Map; -public class BayernHeaderTestFactory { +public class CustomHeaderTestFactory { public static final String POSTFACH_ID = "postfach_id"; public static final String VORNAME = "vorname"; @@ -42,15 +41,15 @@ public class BayernHeaderTestFactory { public static Map<String, Object> create() { var map = new HashMap<String, Object>(); - map.put(HEADER_POSTFACH_ID, POSTFACH_ID); - map.put(HEADER_VORNAME, VORNAME); - map.put(HEADER_NACHNAME, NACHNAME); - map.put(HEADER_GEBURTSORT, GEBURTSORT); - map.put(HEADER_EMAIL, EMAIL); - map.put(HEADER_TELEFON, TELEFON); - map.put(HEADER_STRASSE, STRASSE); - map.put(HEADER_PLZ, PLZ); - map.put(HEADER_ORT, ORT); + map.put(CustomHeaderReader.HEADER_POSTFACH_ID, POSTFACH_ID); + map.put(CustomHeaderReader.HEADER_VORNAME, VORNAME); + map.put(CustomHeaderReader.HEADER_NACHNAME, NACHNAME); + map.put(CustomHeaderReader.HEADER_GEBURTSORT, GEBURTSORT); + map.put(CustomHeaderReader.HEADER_EMAIL, EMAIL); + map.put(CustomHeaderReader.HEADER_TELEFON, TELEFON); + map.put(CustomHeaderReader.HEADER_STRASSE, STRASSE); + map.put(CustomHeaderReader.HEADER_PLZ, PLZ); + map.put(CustomHeaderReader.HEADER_ORT, ORT); return map; } diff --git a/intelliform-adapter/src/test/java/de/ozgcloud/eingang/intelliform/SemantikFormDataMapperTest.java b/intelliform-adapter/src/test/java/de/ozgcloud/eingang/intelliform/SemantikFormDataMapperTest.java index 5f6a00e5ae857a7dcaff5e796fcfc0fbced9f91b..3bf90315f3d0be4e23ea2de093908455ad32b18e 100644 --- a/intelliform-adapter/src/test/java/de/ozgcloud/eingang/intelliform/SemantikFormDataMapperTest.java +++ b/intelliform-adapter/src/test/java/de/ozgcloud/eingang/intelliform/SemantikFormDataMapperTest.java @@ -41,11 +41,8 @@ import org.junit.jupiter.api.Test; import org.mockito.Mock; import org.xml.sax.SAXException; -import de.ozgcloud.eingang.common.formdata.BayernHeader; import de.ozgcloud.eingang.common.formdata.FormData; import de.ozgcloud.eingang.common.formdata.IncomingFile; -import de.ozgcloud.eingang.intelliform.bayern.BayernHeaderReader; -import de.ozgcloud.eingang.intelliform.bayern.BayernHeaderTestFactory; import de.ozgcloud.eingang.semantik.enginebased.FilesMapperHelper; class SemantikFormDataMapperTest { @@ -53,12 +50,12 @@ class SemantikFormDataMapperTest { private SemantikFormDataMapper mapper; @Mock - private BayernHeaderReader bayernHeaderReader; + private CustomHeaderReader customHeaderReader; @BeforeEach void setup() { mapper = new SemantikFormDataMapper(new XmlToJavaMapsMapper(), new FormDataIncomingFileMapper(), - new RepresentationsCalculator(), new DepositRequestIncomingFileMapper(), new AttachmentsContentAdder(), bayernHeaderReader); + new RepresentationsCalculator(), new DepositRequestIncomingFileMapper(), new AttachmentsContentAdder(), customHeaderReader); } @Nested @@ -153,13 +150,13 @@ class SemantikFormDataMapperTest { @Test void shouldAddBayernHeader() { - Map<String, Object> bayernHeader = Map.of(BayernHeader.HEADER_POSTFACH_ID, BayernHeaderTestFactory.POSTFACH_ID); - when(bayernHeaderReader.getHeader(any())).thenReturn(bayernHeader); + Map<String, Object> bayernHeader = Map.of(CustomHeaderReader.HEADER_POSTFACH_ID, CustomHeaderTestFactory.POSTFACH_ID); + when(customHeaderReader.getHeader(any())).thenReturn(bayernHeader); var formData = mapToFormData(deposit); - verify(bayernHeaderReader).getHeader(any()); - assertThat(getHeader(formData)).containsEntry(BayernHeader.HEADER_POSTFACH_ID,BayernHeaderTestFactory.POSTFACH_ID); + verify(customHeaderReader).getHeader(any()); + assertThat(getHeader(formData)).containsEntry(CustomHeaderReader.HEADER_POSTFACH_ID, CustomHeaderTestFactory.POSTFACH_ID); } @SuppressWarnings("unchecked") diff --git a/intelliform-adapter/src/test/java/de/ozgcloud/eingang/intelliform/bayern/BayernHeaderReaderTest.java b/intelliform-adapter/src/test/java/de/ozgcloud/eingang/intelliform/bayern/BayernHeaderReaderTest.java deleted file mode 100644 index 09c60a8b353ea0e04f1550221767f842f6a5cf0d..0000000000000000000000000000000000000000 --- a/intelliform-adapter/src/test/java/de/ozgcloud/eingang/intelliform/bayern/BayernHeaderReaderTest.java +++ /dev/null @@ -1,132 +0,0 @@ -/* - * Copyright (C) 2022 Das Land Schleswig-Holstein vertreten durch den - * Ministerpräsidenten des Landes Schleswig-Holstein - * Staatskanzlei - * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung - * - * Lizenziert unter der EUPL, Version 1.2 oder - sobald - * diese von der Europäischen Kommission genehmigt wurden - - * Folgeversionen der EUPL ("Lizenz"); - * Sie dürfen dieses Werk ausschließlich gemäß - * dieser Lizenz nutzen. - * Eine Kopie der Lizenz finden Sie hier: - * - * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12 - * - * Sofern nicht durch anwendbare Rechtsvorschriften - * gefordert oder in schriftlicher Form vereinbart, wird - * die unter der Lizenz verbreitete Software "so wie sie - * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN - - * ausdrücklich oder stillschweigend - verbreitet. - * Die sprachspezifischen Genehmigungen und Beschränkungen - * unter der Lizenz sind dem Lizenztext zu entnehmen. - */ -package de.ozgcloud.eingang.intelliform.bayern; - -import static de.ozgcloud.eingang.common.formdata.BayernHeader.*; -import static org.assertj.core.api.Assertions.*; -import static org.mockito.Mockito.*; - -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Test; -import org.mockito.InjectMocks; -import org.mockito.Mock; -import org.w3c.dom.Document; -import org.w3c.dom.Element; - -class BayernHeaderReaderTest { - - @InjectMocks - private BayernHeaderReader reader; - - @Mock - private Document document; - @Mock - private Element element; - - @BeforeEach - void setup() { - when(document.getDocumentElement()).thenReturn(element); - } - - @Test - void shouldAddPostfachId() { - when(element.getAttribute(any())).thenReturn(BayernHeaderTestFactory.POSTFACH_ID); - - var formData = reader.getHeader(document); - - assertThat(formData).containsEntry(HEADER_POSTFACH_ID, BayernHeaderTestFactory.POSTFACH_ID); - } - - @Test - void shouldAddVorname() { - when(element.getAttribute(any())).thenReturn(BayernHeaderTestFactory.VORNAME); - - var formData = reader.getHeader(document); - - assertThat(formData).containsEntry(HEADER_VORNAME, BayernHeaderTestFactory.VORNAME); - } - - @Test - void shouldAddNachname() { - when(element.getAttribute(any())).thenReturn(BayernHeaderTestFactory.NACHNAME); - - var formData = reader.getHeader(document); - - assertThat(formData).containsEntry(HEADER_NACHNAME, BayernHeaderTestFactory.NACHNAME); - } - - @Test - void shouldAddGeburtsort() { - when(element.getAttribute(any())).thenReturn(BayernHeaderTestFactory.GEBURTSORT); - - var formData = reader.getHeader(document); - - assertThat(formData).containsEntry(HEADER_GEBURTSORT, BayernHeaderTestFactory.GEBURTSORT); - } - - @Test - void shouldAddEmail() { - when(element.getAttribute(any())).thenReturn(BayernHeaderTestFactory.EMAIL); - - var formData = reader.getHeader(document); - - assertThat(formData).containsEntry(HEADER_EMAIL, BayernHeaderTestFactory.EMAIL); - } - - @Test - void shouldAddTelefon() { - when(element.getAttribute(any())).thenReturn(BayernHeaderTestFactory.TELEFON); - - var formData = reader.getHeader(document); - - assertThat(formData).containsEntry(HEADER_TELEFON, BayernHeaderTestFactory.TELEFON); - } - - @Test - void shouldAddStrasse() { - when(element.getAttribute(any())).thenReturn(BayernHeaderTestFactory.STRASSE); - - var formData = reader.getHeader(document); - - assertThat(formData).containsEntry(HEADER_STRASSE, BayernHeaderTestFactory.STRASSE); - } - - @Test - void shouldAddPlz() { - when(element.getAttribute(any())).thenReturn(BayernHeaderTestFactory.PLZ); - - var formData = reader.getHeader(document); - - assertThat(formData).containsEntry(HEADER_PLZ, BayernHeaderTestFactory.PLZ); - } - - @Test - void shouldAddOrt() { - when(element.getAttribute(any())).thenReturn(BayernHeaderTestFactory.ORT); - - var formData = reader.getHeader(document); - - assertThat(formData).containsEntry(HEADER_ORT, BayernHeaderTestFactory.ORT); - } -} \ No newline at end of file