From ee192e1d0ab2edbc1e51bdac99e4e2dafded3ae4 Mon Sep 17 00:00:00 2001 From: Felix Reichenbach <felix.reichenbach@mgm-tp.com> Date: Mon, 17 Mar 2025 11:10:34 +0100 Subject: [PATCH] OZG-7573 implement IncomingFileGroupMapper and clean up TestFactory --- .../IncomingFileGroupTestFactory.java | 21 ++++---------- .../formdata/IncomingFileTestFactory.java | 2 +- .../FormCycleFormDataTestFactory.java | 3 +- .../formcycle/FormDataControllerITCase.java | 13 ++++----- .../formcycle/FormDataControllerTest.java | 2 +- .../forwarder/IncomingFileGroupMapper.java | 7 ++++- .../IncomingFileGroupMapperTest.java | 29 +++++++++++++++++++ 7 files changed, 50 insertions(+), 27 deletions(-) create mode 100644 forwarder/src/test/java/de/ozgcloud/eingang/forwarder/IncomingFileGroupMapperTest.java diff --git a/common/src/test/java/de/ozgcloud/eingang/common/formdata/IncomingFileGroupTestFactory.java b/common/src/test/java/de/ozgcloud/eingang/common/formdata/IncomingFileGroupTestFactory.java index ebabd58ef..62d245773 100644 --- a/common/src/test/java/de/ozgcloud/eingang/common/formdata/IncomingFileGroupTestFactory.java +++ b/common/src/test/java/de/ozgcloud/eingang/common/formdata/IncomingFileGroupTestFactory.java @@ -25,23 +25,12 @@ package de.ozgcloud.eingang.common.formdata; import java.util.List; -public class IncomingFileGroupTestFactory { - public static final String XDOMEA_XML_NAME = "xdomea.xml"; - public static final String REPR_XML_NAME = "repr.xml"; - public static final String REPR_PDF_NAME = "repr.pdf"; - public static final String ATTATCHMENT_XML_NAME = "att.xml"; - public static final String ATTATCHMENT_PNG_NAME = "att.png"; - public static final String ATTATCHMENT_PDF_NAME = "att.pdf"; - - public static final String INCOMING_FILE_ID = "xxx"; - public static final String ID = "id"; - public static final String FILE_REF1 = "FileRef1"; - public static final String VENDOR_ID_XXX = "vendorId:xxx"; +import com.thedeanda.lorem.LoremIpsum; - public static final String NAME = "Ausweis"; +public class IncomingFileGroupTestFactory { - public static final IncomingFile INCOMING_FILE = IncomingFile.builder().id(INCOMING_FILE_ID).vendorId(VENDOR_ID_XXX).build(); - public static final List<IncomingFileGroup> FILE_GROUPS = List.of(IncomingFileGroup.builder().files(List.of(INCOMING_FILE)).build()); + public static final String NAME = LoremIpsum.getInstance().getWords(1); + public static final List<IncomingFile> INCOMING_FILES = List.of(IncomingFileTestFactory.create()); public static IncomingFileGroup create() { return createBuilder().build(); @@ -50,7 +39,7 @@ public class IncomingFileGroupTestFactory { public static IncomingFileGroup.IncomingFileGroupBuilder createBuilder() { return IncomingFileGroup.builder() .name(NAME) - .files(List.of(IncomingFileTestFactory.create())); + .files(INCOMING_FILES); } } diff --git a/common/src/test/java/de/ozgcloud/eingang/common/formdata/IncomingFileTestFactory.java b/common/src/test/java/de/ozgcloud/eingang/common/formdata/IncomingFileTestFactory.java index 03fd99127..f377a61cd 100644 --- a/common/src/test/java/de/ozgcloud/eingang/common/formdata/IncomingFileTestFactory.java +++ b/common/src/test/java/de/ozgcloud/eingang/common/formdata/IncomingFileTestFactory.java @@ -35,7 +35,7 @@ import lombok.SneakyThrows; public class IncomingFileTestFactory { public static final String ID = UUID.randomUUID().toString(); - public static final String VENDOR_ID = IncomingFileGroupTestFactory.VENDOR_ID_XXX; + public static final String VENDOR_ID = "vendorId:xxx"; public static final String NAME = "XML-Daten.xml"; public static final String CONTENT_TYPE = "application/xml"; public static final String PDF_CONTENT_TYPE = MediaType.APPLICATION_PDF_VALUE; diff --git a/formcycle-adapter/formcycle-adapter-impl/src/test/java/de/ozgcloud/eingang/formcycle/FormCycleFormDataTestFactory.java b/formcycle-adapter/formcycle-adapter-impl/src/test/java/de/ozgcloud/eingang/formcycle/FormCycleFormDataTestFactory.java index 066b77ac5..edff3cd6c 100644 --- a/formcycle-adapter/formcycle-adapter-impl/src/test/java/de/ozgcloud/eingang/formcycle/FormCycleFormDataTestFactory.java +++ b/formcycle-adapter/formcycle-adapter-impl/src/test/java/de/ozgcloud/eingang/formcycle/FormCycleFormDataTestFactory.java @@ -24,6 +24,7 @@ package de.ozgcloud.eingang.formcycle; import de.ozgcloud.eingang.common.formdata.IncomingFileGroupTestFactory; +import de.ozgcloud.eingang.common.formdata.IncomingFileTestFactory; import de.ozgcloud.eingang.formcycle.FormCycleFormData.Builder; import de.ozgcloud.vorgang.common.grpc.GrpcFormDataTestFactory; import de.ozgcloud.vorgang.vorgang.GrpcFormData; @@ -43,7 +44,7 @@ public class FormCycleFormDataTestFactory { .setFormData(GrpcFormDataTestFactory.create()) .addAttachmentGroup(FormCycleAttachmentGroup.newBuilder() .setName(IncomingFileGroupTestFactory.NAME) - .addFileId(IncomingFileGroupTestFactory.VENDOR_ID_XXX) + .addFileId(IncomingFileTestFactory.VENDOR_ID) .build()); } diff --git a/formcycle-adapter/formcycle-adapter-impl/src/test/java/de/ozgcloud/eingang/formcycle/FormDataControllerITCase.java b/formcycle-adapter/formcycle-adapter-impl/src/test/java/de/ozgcloud/eingang/formcycle/FormDataControllerITCase.java index f63d7df6e..61daa9f4a 100644 --- a/formcycle-adapter/formcycle-adapter-impl/src/test/java/de/ozgcloud/eingang/formcycle/FormDataControllerITCase.java +++ b/formcycle-adapter/formcycle-adapter-impl/src/test/java/de/ozgcloud/eingang/formcycle/FormDataControllerITCase.java @@ -37,7 +37,6 @@ import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.ResultActions; import de.ozgcloud.common.test.ITCase; -import de.ozgcloud.eingang.common.formdata.IncomingFileGroupTestFactory; import de.ozgcloud.eingang.common.formdata.IncomingFileTestFactory; import de.ozgcloud.eingang.semantik.SemantikAdapter; import de.ozgcloud.vorgang.common.grpc.GrpcFormDataTestFactory; @@ -46,11 +45,11 @@ import de.ozgcloud.vorgang.vorgang.GrpcSubForm; import lombok.SneakyThrows; @ITCase -//@SpringBootTest(properties = { -// "grpc.client.vorgang-manager-local.address=static://127.0.0.1:9090", -// "grpc.client.vorgang-manager-local.negotiationType=PLAINTEXT" -//}) -//@ActiveProfiles("itcase") +// @SpringBootTest(properties = { +// "grpc.client.vorgang-manager-local.address=static://127.0.0.1:9090", +// "grpc.client.vorgang-manager-local.negotiationType=PLAINTEXT" +// }) +// @ActiveProfiles("itcase") @AutoConfigureMockMvc class FormDataControllerITCase { @@ -76,7 +75,7 @@ class FormDataControllerITCase { .file(new MockMultipartFile("formData", null, FormDataController.HTTP_TYPE_PROTOBUF, buildTestFormData())) .file(IncomingFileTestFactory.asMultipartFile("representations")) .file(asMultipartFile("attachments", - createBuilder().name(IncomingFileGroupTestFactory.VENDOR_ID_XXX + "__" + NAME).build()))); + createBuilder().name(IncomingFileTestFactory.VENDOR_ID + "__" + NAME).build()))); } } diff --git a/formcycle-adapter/formcycle-adapter-impl/src/test/java/de/ozgcloud/eingang/formcycle/FormDataControllerTest.java b/formcycle-adapter/formcycle-adapter-impl/src/test/java/de/ozgcloud/eingang/formcycle/FormDataControllerTest.java index af16a675d..e9fdd387f 100644 --- a/formcycle-adapter/formcycle-adapter-impl/src/test/java/de/ozgcloud/eingang/formcycle/FormDataControllerTest.java +++ b/formcycle-adapter/formcycle-adapter-impl/src/test/java/de/ozgcloud/eingang/formcycle/FormDataControllerTest.java @@ -239,7 +239,7 @@ class FormDataControllerTest { .file(new MockMultipartFile("formData", null, FormDataController.HTTP_TYPE_PROTOBUF, buildTestFormData())) .file(IncomingFileTestFactory.asMultipartFile("representations")) .file(asMultipartFile("attachments", - createBuilder().name(IncomingFileGroupTestFactory.VENDOR_ID_XXX).build()))); + createBuilder().name(IncomingFileTestFactory.VENDOR_ID).build()))); } } diff --git a/forwarder/src/main/java/de/ozgcloud/eingang/forwarder/IncomingFileGroupMapper.java b/forwarder/src/main/java/de/ozgcloud/eingang/forwarder/IncomingFileGroupMapper.java index 7f35ef41d..024d2c03e 100644 --- a/forwarder/src/main/java/de/ozgcloud/eingang/forwarder/IncomingFileGroupMapper.java +++ b/forwarder/src/main/java/de/ozgcloud/eingang/forwarder/IncomingFileGroupMapper.java @@ -11,5 +11,10 @@ import de.ozgcloud.eingang.common.formdata.IncomingFileGroup; @Mapper public interface IncomingFileGroupMapper { - IncomingFileGroup fromMapEntry(Map.Entry<String, List<IncomingFile>> entry); // TODO: Implement this method + default IncomingFileGroup fromMapEntry(Map.Entry<String, List<IncomingFile>> entry) { + return IncomingFileGroup.builder() + .name(entry.getKey()) + .files(entry.getValue()) + .build(); + } } diff --git a/forwarder/src/test/java/de/ozgcloud/eingang/forwarder/IncomingFileGroupMapperTest.java b/forwarder/src/test/java/de/ozgcloud/eingang/forwarder/IncomingFileGroupMapperTest.java new file mode 100644 index 000000000..acdc39b91 --- /dev/null +++ b/forwarder/src/test/java/de/ozgcloud/eingang/forwarder/IncomingFileGroupMapperTest.java @@ -0,0 +1,29 @@ +package de.ozgcloud.eingang.forwarder; + +import static org.assertj.core.api.Assertions.*; + +import java.util.Map; + +import org.junit.jupiter.api.Nested; +import org.junit.jupiter.api.Test; +import org.mapstruct.factory.Mappers; + +import de.ozgcloud.eingang.common.formdata.IncomingFileGroupTestFactory; + +class IncomingFileGroupMapperTest { + + private final IncomingFileGroupMapper mapper = Mappers.getMapper(IncomingFileGroupMapper.class); + + @Nested + class TestFromMapEntry { + + @Test + void shouldMapToIncomingFileGroup() { + var entry = Map.entry(IncomingFileGroupTestFactory.NAME, IncomingFileGroupTestFactory.INCOMING_FILES); + + var incomingFileGroup = mapper.fromMapEntry(entry); + + assertThat(incomingFileGroup).usingRecursiveComparison().isEqualTo(IncomingFileGroupTestFactory.create()); + } + } +} -- GitLab