From a7d9b80b920e4f3c39f7a08109add6c0b30f06e7 Mon Sep 17 00:00:00 2001 From: Jan Zickermann <jan.zickermann@dataport.de> Date: Mon, 7 Oct 2024 11:39:24 +0200 Subject: [PATCH] OZG-6748 Avoid use of clearZustaendigeStelles --- .../common/formdata/FormDataTestFactory.java | 1 - .../router/GrpcEingangMapperITCase.java | 31 +++++++++++++------ .../eingang/router/VorgangServiceTest.java | 1 + .../afm/AfmZustaendigeStelleMapper.java | 1 - .../afm/ZustaendigeStelleMetadataMapper.java | 1 - ...erdermittelEngineBasedSemantikAdapter.java | 10 +++--- .../FormSolutionsZustaendigeStelleMapper.java | 1 - .../MantelantragZustaendigeStelleMapper.java | 1 - .../ZustaendigeStelleMetadataMapperTest.java | 3 -- ...rmittelEngineBasedSemantikAdapterTest.java | 27 ++++------------ ...mSolutionsZustaendigeStelleMapperTest.java | 2 -- 11 files changed, 33 insertions(+), 46 deletions(-) diff --git a/common/src/test/java/de/ozgcloud/eingang/common/formdata/FormDataTestFactory.java b/common/src/test/java/de/ozgcloud/eingang/common/formdata/FormDataTestFactory.java index 8d23e2cb0..e496826bf 100644 --- a/common/src/test/java/de/ozgcloud/eingang/common/formdata/FormDataTestFactory.java +++ b/common/src/test/java/de/ozgcloud/eingang/common/formdata/FormDataTestFactory.java @@ -61,7 +61,6 @@ public class FormDataTestFactory { return FormData.builder() .header(FormHeaderTestFactory.create()) .antragsteller(AntragstellerTestFactory.create()) - .zustaendigeStelle(ZustaendigeStelleTestFactory.create()) .formData(Map.of( SIMPLE_VALUE_KEY, SIMPLE_VALUE, SUBFORM_KEY, SUBFORM_VALUE, diff --git a/router/src/test/java/de/ozgcloud/eingang/router/GrpcEingangMapperITCase.java b/router/src/test/java/de/ozgcloud/eingang/router/GrpcEingangMapperITCase.java index a85751ad5..fbb17f294 100644 --- a/router/src/test/java/de/ozgcloud/eingang/router/GrpcEingangMapperITCase.java +++ b/router/src/test/java/de/ozgcloud/eingang/router/GrpcEingangMapperITCase.java @@ -37,6 +37,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import de.ozgcloud.eingang.common.formdata.AntragstellerTestFactory; +import de.ozgcloud.eingang.common.formdata.FormData; import de.ozgcloud.eingang.common.formdata.FormDataTestFactory; import de.ozgcloud.eingang.common.formdata.IncomingFileTestFactory; import de.ozgcloud.eingang.common.formdata.ZustaendigeStelleTestFactory; @@ -49,6 +50,15 @@ class GrpcEingangMapperITCase { @Autowired private GrpcEingangMapper grpcEingangMapper; + private FormData inputFormData; + + @BeforeEach + void mock() { + inputFormData = FormDataTestFactory.createBuilder() + .zustaendigeStelle(ZustaendigeStelleTestFactory.create()) + .build(); + } + @DisplayName("Mapped GrpcEingang") @Nested class TestToEingang { @@ -59,8 +69,8 @@ class GrpcEingangMapperITCase { @Test void antragstellerShouldBeMapped() { - - var antragSteller = grpcEingangMapper.toEingang(FormDataTestFactory.create(), Optional.of(ZustaendigeStelleTestFactory.ORGANISATIONSEINHEIT_ID)).getAntragsteller(); + var antragSteller = grpcEingangMapper.toEingang(inputFormData, + Optional.of(ZustaendigeStelleTestFactory.ORGANISATIONSEINHEIT_ID)).getAntragsteller(); assertThat(antragSteller.getPostfachId()).isEqualTo(AntragstellerTestFactory.POSTFACH_ID); assertThat(antragSteller.getVorname()).isEqualTo(AntragstellerTestFactory.VORNAME); @@ -69,8 +79,8 @@ class GrpcEingangMapperITCase { @Test void dataShouldBeMapped() { - - var antragsteller = grpcEingangMapper.toEingang(FormDataTestFactory.create(), Optional.of(ZustaendigeStelleTestFactory.ORGANISATIONSEINHEIT_ID)).getAntragsteller(); + var antragsteller = grpcEingangMapper.toEingang(inputFormData, + Optional.of(ZustaendigeStelleTestFactory.ORGANISATIONSEINHEIT_ID)).getAntragsteller(); assertThat(antragsteller.getOtherData().getFieldList()).hasSize(1); assertThat(antragsteller.getOtherData().getField(0).getName()).isEqualTo(AntragstellerTestFactory.GEBIET_BEZEICHNUNG_KEY); @@ -83,7 +93,8 @@ class GrpcEingangMapperITCase { class TestZustaendigeStelle { @Test void eingangShouldHaveZustaendigeStelle() { - var zustaendigeStelle = grpcEingangMapper.toEingang(FormDataTestFactory.create(), Optional.of(ZustaendigeStelleTestFactory.ORGANISATIONSEINHEIT_ID)).getZustaendigeStelle(); + var zustaendigeStelle = grpcEingangMapper.toEingang(inputFormData, Optional.of(ZustaendigeStelleTestFactory.ORGANISATIONSEINHEIT_ID)) + .getZustaendigeStelle(); assertThat(zustaendigeStelle).isNotNull(); assertThat(zustaendigeStelle.getOrganisationseinheitenId()).isEqualTo(ZustaendigeStelleTestFactory.ORGANISATIONSEINHEIT_ID); @@ -93,7 +104,7 @@ class GrpcEingangMapperITCase { @DisplayName("should map empty organisationeinheitId if missing") @Test void shouldMapEmptyOrganisationeinheitIdIfMissing() { - var zustaendigeStelle = grpcEingangMapper.toEingang(FormDataTestFactory.create(), Optional.empty()).getZustaendigeStelle(); + var zustaendigeStelle = grpcEingangMapper.toEingang(inputFormData, Optional.empty()).getZustaendigeStelle(); assertThat(zustaendigeStelle).isNotNull(); assertThat(zustaendigeStelle.getOrganisationseinheitenId()).isEmpty(); @@ -109,7 +120,7 @@ class GrpcEingangMapperITCase { @BeforeEach void init() { - eingang = grpcEingangMapper.toEingang(FormDataTestFactory.create(), Optional.empty()); + eingang = grpcEingangMapper.toEingang(inputFormData, Optional.empty()); } @Test @@ -189,7 +200,8 @@ class GrpcEingangMapperITCase { void valueListShouldGenerateFields() { GrpcEingang eingang = grpcEingangMapper - .toEingang(FormDataTestFactory.createBuilder().formData(Map.of("key", List.of("value1", "value2"))).build(), Optional.empty()); + .toEingang(FormDataTestFactory.createBuilder().formData(Map.of("key", List.of("value1", "value2"))).build(), + Optional.empty()); assertThat(eingang.getFormData().getFieldCount()).isEqualTo(2); } @@ -199,7 +211,8 @@ class GrpcEingangMapperITCase { GrpcEingang eingang = grpcEingangMapper .toEingang(FormDataTestFactory.createBuilder() - .formData(Map.of("key-1", List.of(Map.of("sub_key", "value1"), Map.of("sub_key", "value2")))).build(), Optional.empty()); + .formData(Map.of("key-1", List.of(Map.of("sub_key", "value1"), Map.of("sub_key", "value2")))).build(), + Optional.empty()); assertThat(eingang.getFormData().getFormCount()).isEqualTo(2); assertThat(eingang.getFormData().getForm(0).getFieldCount()).isEqualTo(1); diff --git a/router/src/test/java/de/ozgcloud/eingang/router/VorgangServiceTest.java b/router/src/test/java/de/ozgcloud/eingang/router/VorgangServiceTest.java index e3b420185..bb1294f2b 100644 --- a/router/src/test/java/de/ozgcloud/eingang/router/VorgangServiceTest.java +++ b/router/src/test/java/de/ozgcloud/eingang/router/VorgangServiceTest.java @@ -234,6 +234,7 @@ class VorgangServiceTest { @BeforeEach void mock() { preservedFormData = FormDataTestFactory.createBuilder() + .zustaendigeStelle(ZustaendigeStelleTestFactory.create()) .zustaendigeStelle(ZustaendigeStelleTestFactory.createBuilder() .organisationseinheitenId(ORGANISATIONSEINHEIT_ID_2) .build()) diff --git a/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/enginebased/afm/AfmZustaendigeStelleMapper.java b/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/enginebased/afm/AfmZustaendigeStelleMapper.java index 46c379d15..4fff0ea90 100644 --- a/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/enginebased/afm/AfmZustaendigeStelleMapper.java +++ b/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/enginebased/afm/AfmZustaendigeStelleMapper.java @@ -74,7 +74,6 @@ class AfmZustaendigeStelleMapper implements AfmEngineBasedMapper { return formData.toBuilder() .formData(addMetaDataFlag(formData)) - .clearZustaendigeStelles() .zustaendigeStelle(zustaendigeStelle).build(); } diff --git a/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/enginebased/afm/ZustaendigeStelleMetadataMapper.java b/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/enginebased/afm/ZustaendigeStelleMetadataMapper.java index a140e306f..a99ae318b 100644 --- a/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/enginebased/afm/ZustaendigeStelleMetadataMapper.java +++ b/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/enginebased/afm/ZustaendigeStelleMetadataMapper.java @@ -46,7 +46,6 @@ public class ZustaendigeStelleMetadataMapper { .map(this::readZustaendigeStelleMetadata) .map(this::mapZustaendigeStelle) .map(zustaendigeStelle -> formData.toBuilder() - .clearZustaendigeStelles() .zustaendigeStelle(zustaendigeStelle).build()) .orElse(formData); } diff --git a/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/enginebased/dfoerdermittel/DFoerdermittelEngineBasedSemantikAdapter.java b/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/enginebased/dfoerdermittel/DFoerdermittelEngineBasedSemantikAdapter.java index bae3987d8..82d096707 100644 --- a/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/enginebased/dfoerdermittel/DFoerdermittelEngineBasedSemantikAdapter.java +++ b/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/enginebased/dfoerdermittel/DFoerdermittelEngineBasedSemantikAdapter.java @@ -103,7 +103,6 @@ public class DFoerdermittelEngineBasedSemantikAdapter implements EngineBasedSema return Optional.ofNullable((String) getFachnachricht(formData).get(KEY_ORGANISATIONS_EINHEIT_ID)) .map(orgaId -> addOrganisationsEinheitId(orgaId, formData.getZustaendigeStelles())) .map(zustStelle -> formData.toBuilder() - .clearZustaendigeStelles() .zustaendigeStelle(zustStelle) .build()) .orElse(formData); @@ -116,17 +115,16 @@ public class DFoerdermittelEngineBasedSemantikAdapter implements EngineBasedSema } else { var zustaendigeStellesIterator = zustaendigeStelles.iterator(); var zustaendigeStelle = zustaendigeStellesIterator.next(); - if (zustaendigeStellesIterator.hasNext()) { - logErrorForMoreThanOneZustaendigeStelle(); - } + logErrorForExistingZustaendigeStelle(); zustaendigeStelleBuilder = zustaendigeStelle.toBuilder(); } return zustaendigeStelleBuilder.organisationseinheitenId(orgaId).build(); } - void logErrorForMoreThanOneZustaendigeStelle() { - LOG.error("Expect at most one existing ZustaendigeStelle for DFoerdermittel. Continuing by using the first one."); + void logErrorForExistingZustaendigeStelle() { + LOG.error( + "Expect no existing ZustaendigeStelle for DFoerdermittel! Continuing with two ZustaendigeStelles, the original(s) and a copy of the first with overridden OrganisationsEinheitId."); } FormData addFormName(FormData formData) { diff --git a/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/enginebased/formsolutions/FormSolutionsZustaendigeStelleMapper.java b/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/enginebased/formsolutions/FormSolutionsZustaendigeStelleMapper.java index aa1f66b8d..e58650aca 100644 --- a/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/enginebased/formsolutions/FormSolutionsZustaendigeStelleMapper.java +++ b/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/enginebased/formsolutions/FormSolutionsZustaendigeStelleMapper.java @@ -40,7 +40,6 @@ class FormSolutionsZustaendigeStelleMapper implements FormSolutionsEngineBasedMa @Override public FormData parseFormData(FormData formData) { return formData.toBuilder() - .clearZustaendigeStelles() .zustaendigeStelle(buildZustaendigeStelle(formData)) .formData(removeProcessedData(formData)) .build(); diff --git a/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/formbased/mantelantrag/MantelantragZustaendigeStelleMapper.java b/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/formbased/mantelantrag/MantelantragZustaendigeStelleMapper.java index fb071fdce..29e2c0834 100644 --- a/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/formbased/mantelantrag/MantelantragZustaendigeStelleMapper.java +++ b/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/formbased/mantelantrag/MantelantragZustaendigeStelleMapper.java @@ -90,7 +90,6 @@ public class MantelantragZustaendigeStelleMapper implements FormBasedMapper { private FormData adaptFormDataWithValueGetter(FormData formData, UnaryOperator<String> getValueOrEmpty) { return formData.toBuilder() - .clearZustaendigeStelles() .zustaendigeStelle(ZustaendigeStelle.builder() .organisationseinheitenId(getOrganisationseinheitId(getValueOrEmpty)) .bezeichnung(getValueOrEmpty.apply(BEZEICHNUNG_FIELD)) diff --git a/semantik-adapter/src/test/java/de/ozgcloud/eingang/semantik/enginebased/afm/ZustaendigeStelleMetadataMapperTest.java b/semantik-adapter/src/test/java/de/ozgcloud/eingang/semantik/enginebased/afm/ZustaendigeStelleMetadataMapperTest.java index 78fec0362..d2b0412c8 100644 --- a/semantik-adapter/src/test/java/de/ozgcloud/eingang/semantik/enginebased/afm/ZustaendigeStelleMetadataMapperTest.java +++ b/semantik-adapter/src/test/java/de/ozgcloud/eingang/semantik/enginebased/afm/ZustaendigeStelleMetadataMapperTest.java @@ -1,6 +1,5 @@ package de.ozgcloud.eingang.semantik.enginebased.afm; -import static java.util.Collections.*; import static org.assertj.core.api.Assertions.*; import static org.mockito.Mockito.*; @@ -83,10 +82,8 @@ class ZustaendigeStelleMetadataMapperTest { @Nested class TestReadBehoerdeMetadata { - private File brokenFile; - } @Nested diff --git a/semantik-adapter/src/test/java/de/ozgcloud/eingang/semantik/enginebased/dfoerdermittel/DFoerdermittelEngineBasedSemantikAdapterTest.java b/semantik-adapter/src/test/java/de/ozgcloud/eingang/semantik/enginebased/dfoerdermittel/DFoerdermittelEngineBasedSemantikAdapterTest.java index 079902c9d..1d078b3f1 100644 --- a/semantik-adapter/src/test/java/de/ozgcloud/eingang/semantik/enginebased/dfoerdermittel/DFoerdermittelEngineBasedSemantikAdapterTest.java +++ b/semantik-adapter/src/test/java/de/ozgcloud/eingang/semantik/enginebased/dfoerdermittel/DFoerdermittelEngineBasedSemantikAdapterTest.java @@ -224,9 +224,7 @@ class DFoerdermittelEngineBasedSemantikAdapterTest { class TestWithNoExistingZustaendigeStelles { @Test void shouldHaveOrganisationsEinheitId() { - var inputFormData = DFoerdermittelFormDataTestFactory.createBuilder() - .clearZustaendigeStelles() - .build(); + var inputFormData = DFoerdermittelFormDataTestFactory.create(); var formData = adapter.addOrganisationsEinheitId(inputFormData); @@ -239,24 +237,11 @@ class DFoerdermittelEngineBasedSemantikAdapterTest { @DisplayName("with one existing zustaendige stelle") @Nested class TestWithOneExistingZustaendigeStelle { - @Test - void shouldHaveOrganisationsEinheitId() { - var formData = adapter.addOrganisationsEinheitId(DFoerdermittelFormDataTestFactory.create()); - - assertThat(formData.getZustaendigeStelles()) - .extracting(ZustaendigeStelle::getOrganisationseinheitenId) - .containsExactly(ORGANISATIONS_EINHEIT_ID); - } - } - - @DisplayName("with two existing zustaendige stelles") - @Nested - class TestWithTwoExistingZustaendigeStelles { private FormData inputFormData; @BeforeEach - void setup() { + void mock() { inputFormData = DFoerdermittelFormDataTestFactory.createBuilder() .zustaendigeStelle(ZustaendigeStelleTestFactory.create()) .build(); @@ -268,15 +253,15 @@ class DFoerdermittelEngineBasedSemantikAdapterTest { assertThat(formData.getZustaendigeStelles()) .extracting(ZustaendigeStelle::getOrganisationseinheitenId) - .containsExactly(ORGANISATIONS_EINHEIT_ID); + .containsExactly(ZustaendigeStelleTestFactory.ORGANISATIONSEINHEIT_ID, ORGANISATIONS_EINHEIT_ID); } - @DisplayName("should log error for more than one zustaendige stelle") + @DisplayName("should log error for existing zustaendige stelle") @Test - void shouldLogErrorForMoreThanOneZustaendigeStelle() { + void shouldLogErrorForExistingZustaendigeStelle() { adapter.addOrganisationsEinheitId(inputFormData); - verify(adapter).logErrorForMoreThanOneZustaendigeStelle(); + verify(adapter).logErrorForExistingZustaendigeStelle(); } } } diff --git a/semantik-adapter/src/test/java/de/ozgcloud/eingang/semantik/enginebased/formsolutions/FormSolutionsZustaendigeStelleMapperTest.java b/semantik-adapter/src/test/java/de/ozgcloud/eingang/semantik/enginebased/formsolutions/FormSolutionsZustaendigeStelleMapperTest.java index d5dc28713..bd31c4218 100644 --- a/semantik-adapter/src/test/java/de/ozgcloud/eingang/semantik/enginebased/formsolutions/FormSolutionsZustaendigeStelleMapperTest.java +++ b/semantik-adapter/src/test/java/de/ozgcloud/eingang/semantik/enginebased/formsolutions/FormSolutionsZustaendigeStelleMapperTest.java @@ -27,7 +27,6 @@ import static de.ozgcloud.eingang.common.formdata.ZustaendigeStelleTestFactory.* import static de.ozgcloud.eingang.semantik.enginebased.formsolutions.FormSolutionsZustaendigeStelleMapper.*; import static org.assertj.core.api.Assertions.*; -import java.util.Collections; import java.util.Map; import org.junit.jupiter.api.BeforeEach; @@ -53,7 +52,6 @@ class FormSolutionsZustaendigeStelleMapperTest { @BeforeEach void setup() { formData = FormDataTestFactory.createBuilder() - .zustaendigeStelles(Collections.emptyList()) .formData(Map.of( FormDataTestFactory.SIMPLE_VALUE_KEY, FormDataTestFactory.SIMPLE_VALUE, FormSolutionsZustaendigeStelleMapper.ZUSTAENDIGE_STELLE, ORGANISATIONSEINHEIT_ID)) -- GitLab