diff --git a/xta-adapter/src/main/java/de/ozgcloud/eingang/fim/FimXtaMessageHandler.java b/xta-adapter/src/main/java/de/ozgcloud/eingang/fim/FimXtaMessageHandler.java index a47b8743b4dc40e4a365cb3482f66990d657c10d..7920a1fbd58b8a0cef02e7099365ecc88afa2ab4 100644 --- a/xta-adapter/src/main/java/de/ozgcloud/eingang/fim/FimXtaMessageHandler.java +++ b/xta-adapter/src/main/java/de/ozgcloud/eingang/fim/FimXtaMessageHandler.java @@ -10,6 +10,7 @@ import org.springframework.stereotype.Component; 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.common.vorgang.VorgangNummerSupplier; import de.ozgcloud.eingang.xta.RepresentationsAttachmentsPair; import de.ozgcloud.eingang.xta.XtaMessageHandler; @@ -20,6 +21,8 @@ import de.ozgcloud.eingang.xta.XtaMessageMetaData; public class FimXtaMessageHandler implements XtaMessageHandler { static final String ALL_FIM_MESSAGES_PREFIX = "fim."; + static final String FIM_FILE_GROUP_NAME = "fim_files"; + @Autowired private XtaMessageMapper xtaMessageMapper; @@ -37,8 +40,11 @@ public class FimXtaMessageHandler implements XtaMessageHandler { RepresentationsAttachmentsPair getRepresentationsAttachmentsPair(List<IncomingFile> incomingFiles) { return RepresentationsAttachmentsPair.builder() - .representations(incomingFiles) - .attachments(emptyList()) + .representations(emptyList()) + .attachment(IncomingFileGroup.builder() + .name(FIM_FILE_GROUP_NAME) + .files(incomingFiles) + .build()) .build(); } diff --git a/xta-adapter/src/main/java/de/ozgcloud/eingang/xta/RepresentationsAttachmentsPair.java b/xta-adapter/src/main/java/de/ozgcloud/eingang/xta/RepresentationsAttachmentsPair.java index 0639e78e5439c4811ba1cd3c57d6f780fb7b7cbe..6236d705cee01f0a501c0e7841cc8c2b3ad13ca4 100644 --- a/xta-adapter/src/main/java/de/ozgcloud/eingang/xta/RepresentationsAttachmentsPair.java +++ b/xta-adapter/src/main/java/de/ozgcloud/eingang/xta/RepresentationsAttachmentsPair.java @@ -5,10 +5,11 @@ import java.util.List; import de.ozgcloud.eingang.common.formdata.IncomingFile; import de.ozgcloud.eingang.common.formdata.IncomingFileGroup; import lombok.Builder; +import lombok.Singular; @Builder public record RepresentationsAttachmentsPair( List<IncomingFile> representations, - List<IncomingFileGroup> attachments + @Singular List<IncomingFileGroup> attachments ) { } diff --git a/xta-adapter/src/test/java/de/ozgcloud/eingang/fim/FimXtaMessageHandlerTest.java b/xta-adapter/src/test/java/de/ozgcloud/eingang/fim/FimXtaMessageHandlerTest.java index c7c68852d0cea38a07d64e69f3d638679e339624..7884dc8da54c034d58ed469c6df53f79582c11e2 100644 --- a/xta-adapter/src/test/java/de/ozgcloud/eingang/fim/FimXtaMessageHandlerTest.java +++ b/xta-adapter/src/test/java/de/ozgcloud/eingang/fim/FimXtaMessageHandlerTest.java @@ -1,5 +1,6 @@ package de.ozgcloud.eingang.fim; +import static de.ozgcloud.eingang.fim.FimXtaMessageHandler.*; import static org.assertj.core.api.Assertions.*; import static org.mockito.Mockito.*; @@ -15,6 +16,7 @@ import org.mockito.Spy; 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.common.vorgang.VorgangNummerSupplier; import de.ozgcloud.eingang.xta.RepresentationsAttachmentsPair; import de.ozgcloud.eingang.xta.XtaMessageMapper; @@ -77,20 +79,41 @@ class FimXtaMessageHandlerTest { incomingFiles = List.of(incomingFile1, incomingFile2); } - @DisplayName("should return representations") + @DisplayName("should return empty representations") @Test void shouldReturnRepresentations() { var result = handler.getRepresentationsAttachmentsPair(incomingFiles); - assertThat(result.representations()).containsExactly(incomingFile1, incomingFile2); + assertThat(result.representations()).isEmpty(); } - @DisplayName("should return empty attachments") + @DisplayName("should return one attachment group") @Test void shouldReturnEmptyAttachments() { var result = handler.getRepresentationsAttachmentsPair(incomingFiles); - assertThat(result.attachments()).isEmpty(); + assertThat(result.attachments()).hasSize(1); + } + + @DisplayName("should have name") + @Test + void shouldHaveName() { + var group = firstGroup(); + + assertThat(group.getName()).isEqualTo(FIM_FILE_GROUP_NAME); + } + + @DisplayName("should have attachment files") + @Test + void shouldHaveAttachmentFiles() { + var result = firstGroup(); + + assertThat(result.getFiles()).containsExactly(incomingFile1, incomingFile2); + } + + private IncomingFileGroup firstGroup() { + var result = handler.getRepresentationsAttachmentsPair(incomingFiles); + return result.attachments().getFirst(); } } diff --git a/xta-adapter/src/test/java/de/ozgcloud/eingang/xta/XtaITCase.java b/xta-adapter/src/test/java/de/ozgcloud/eingang/xta/XtaITCase.java index fc8db014a8c5666b8719e977cd0b1c804ac3d22e..b328ff52c7582f227619af14515ee999ae17c5ba 100644 --- a/xta-adapter/src/test/java/de/ozgcloud/eingang/xta/XtaITCase.java +++ b/xta-adapter/src/test/java/de/ozgcloud/eingang/xta/XtaITCase.java @@ -178,15 +178,15 @@ class XtaITCase { assertThat(vorgangNummer).hasSize(9); } - @DisplayName("should have one representation for FIM") + @DisplayName("should have one attachment for FIM") @Test - void shouldHaveOneRepresentationForFim() { + void shouldHaveOneAttachmentForFim() { mockNachrichtenBroker("versammlungsanzeige.xml"); runner.runGetXtaMessages(); var eingang = captureEingang(); - assertThat(eingang.getNumberOfRepresentations()).isEqualTo(1); + assertThat(eingang.getNumberOfAttachments()).isEqualTo(1); } private GrpcEingang captureEingang() {