From 26474d5650a12971e52ecde3af21a77d6261f59f Mon Sep 17 00:00:00 2001 From: Lukas Malte Monnerjahn <lukasmalte.monnerjahn@dataport.de> Date: Wed, 5 Mar 2025 12:25:13 +0100 Subject: [PATCH] KOP-2694 KOP-3010 adjust XtaITCase --- .../de/ozgcloud/eingang/xta/XtaITCase.java | 13 ++++-- ...ava => XtaMessageMetaDataTestFactory.java} | 0 .../eingang/xta/XtaResponseTestFactory.java | 41 ++++++------------- .../ozgcloud/eingang/xta/XtaServiceTest.java | 3 +- ...ava => XtaTransportReportTestFactory.java} | 2 +- 5 files changed, 25 insertions(+), 34 deletions(-) rename src/test/java/de/ozgcloud/eingang/xta/{XtaMessageMetaDataFactory.java => XtaMessageMetaDataTestFactory.java} (100%) rename src/test/java/de/ozgcloud/eingang/xta/{XtaTransportReportFactory.java => XtaTransportReportTestFactory.java} (91%) diff --git a/src/test/java/de/ozgcloud/eingang/xta/XtaITCase.java b/src/test/java/de/ozgcloud/eingang/xta/XtaITCase.java index fd0e48cd..be203512 100644 --- a/src/test/java/de/ozgcloud/eingang/xta/XtaITCase.java +++ b/src/test/java/de/ozgcloud/eingang/xta/XtaITCase.java @@ -31,6 +31,8 @@ import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; +import java.util.List; +import java.util.function.Consumer; import lombok.SneakyThrows; import org.junit.jupiter.api.BeforeEach; @@ -56,6 +58,7 @@ import de.ozgcloud.vorgang.grpc.binaryFile.BinaryFileServiceGrpc.BinaryFileServi import de.ozgcloud.vorgang.vorgang.GrpcEingang; import de.ozgcloud.vorgang.vorgang.VorgangServiceGrpc.VorgangServiceBlockingStub; import de.ozgcloud.xta.client.XtaClient; +import de.ozgcloud.xta.client.model.XtaMessage; import io.grpc.Channel; import org.springframework.test.context.bean.override.mockito.MockitoBean; @@ -81,7 +84,6 @@ class XtaITCase { private ManagableStub<BinaryFileServiceStub> binaryFileManageableServiceStub; @Mock private BinaryFileServiceStub binaryFileServiceStub; - @Mock private Channel channel; @@ -90,7 +92,6 @@ class XtaITCase { @Captor private ArgumentCaptor<FormData> formDataArgumentCaptor; - @Captor private ArgumentCaptor<GrpcEingang> eingangArgumentCaptor; @@ -254,7 +255,13 @@ class XtaITCase { @SneakyThrows private void mockNachrichtenBroker(String zipFileName) { - // TODO + XtaMessage xtaMessage = XtaResponseTestFactory.createGetMessageResponse(zipFileName); + when(xtaClient.fetchMessages(any())).thenAnswer(invocation -> { + @SuppressWarnings("unchecked") + var processMessage = (Consumer<XtaMessage>) invocation.getArguments()[0]; + processMessage.accept(xtaMessage); + return List.of(XtaTransportReportTestFactory.create()); + }); } @Target({ ElementType.METHOD }) diff --git a/src/test/java/de/ozgcloud/eingang/xta/XtaMessageMetaDataFactory.java b/src/test/java/de/ozgcloud/eingang/xta/XtaMessageMetaDataTestFactory.java similarity index 100% rename from src/test/java/de/ozgcloud/eingang/xta/XtaMessageMetaDataFactory.java rename to src/test/java/de/ozgcloud/eingang/xta/XtaMessageMetaDataTestFactory.java diff --git a/src/test/java/de/ozgcloud/eingang/xta/XtaResponseTestFactory.java b/src/test/java/de/ozgcloud/eingang/xta/XtaResponseTestFactory.java index beee8d00..5eca0d33 100644 --- a/src/test/java/de/ozgcloud/eingang/xta/XtaResponseTestFactory.java +++ b/src/test/java/de/ozgcloud/eingang/xta/XtaResponseTestFactory.java @@ -34,7 +34,7 @@ import java.math.BigInteger; import java.nio.charset.StandardCharsets; import java.time.ZonedDateTime; import java.util.Arrays; -import java.util.List; +import java.util.Collections; import java.util.Map; import java.util.Objects; import java.util.UUID; @@ -50,6 +50,7 @@ import org.apache.commons.io.IOUtils; import de.ozgcloud.common.binaryfile.TempFileUtils; import de.ozgcloud.xta.client.model.XtaFile; import de.ozgcloud.xta.client.model.XtaMessage; +import de.ozgcloud.xta.client.model.XtaMessageMetaData; public class XtaResponseTestFactory { @@ -72,33 +73,6 @@ public class XtaResponseTestFactory { return "urn:de:xta:messageid:dataport_xta_210:%s".formatted(UUID.randomUUID().toString()); } - public static XtaMessageMetaDatasAndHeader createEmptyGetStatusListResponse() { - return XtaMessageMetaDatasAndHeader.builder() - .msgBoxRequestID("testid-empty") - .moreMessagesAvailable(false) - .messages(Stream.empty()) - .build(); - } - - public static XtaMessageMetaDatasAndHeader createGetStatusListResponse(List<String> xtaAttachmentFileNames) { - var messageMetaDataItems = xtaAttachmentFileNames.stream() - .map(name -> - XtaFormMetaData.builder() - .messageId(new XtaMessageId(MESSAGE_ID_BY_ATTACHMENT_FILENAME.get(name))) - .messageType(MESSAGE_TYPE_BY_ATTACHMENT_FILENAME.get(name)) - .origin(ZonedDateTime.now()) - .delivery(ZonedDateTime.now()) - .build() - ) - .toList(); - - return XtaMessageMetaDatasAndHeader.builder() - .msgBoxRequestID("testid-withattachment") - .moreMessagesAvailable(true) - .messages(messageMetaDataItems.stream()) - .build(); - } - public static XtaMessage createGetMessageResponse(String xtaAttachmentFileName) { File file; try (var inputStream = getAttachmentInputStream(xtaAttachmentFileName)) { @@ -111,12 +85,23 @@ public class XtaResponseTestFactory { DataHandler dataHandler = new DataHandler(dataSource); return XtaMessage.builder() + .metaData(createMessageMetaData(xtaAttachmentFileName)) .messageFile(XtaFile.builder() .contentType("application/zip") .name(xtaAttachmentFileName) .size(BigInteger.valueOf(file.length())) .content(dataHandler) .build()) + .attachmentFiles(Collections.emptyList()) + .build(); + } + + private static XtaMessageMetaData createMessageMetaData(String xtaAttachmentFileName) { + return XtaMessageMetaDataTestFactory.createBuilder() + .messageId(new XtaMessageId(MESSAGE_ID_BY_ATTACHMENT_FILENAME.get(xtaAttachmentFileName)).toString()) + .messageTypeCode(getMessageType(xtaAttachmentFileName)) + .deliveryAttributesOrigin(ZonedDateTime.now()) + .deliveryAttributesDelivery(ZonedDateTime.now()) .build(); } diff --git a/src/test/java/de/ozgcloud/eingang/xta/XtaServiceTest.java b/src/test/java/de/ozgcloud/eingang/xta/XtaServiceTest.java index 8e138936..a6283344 100644 --- a/src/test/java/de/ozgcloud/eingang/xta/XtaServiceTest.java +++ b/src/test/java/de/ozgcloud/eingang/xta/XtaServiceTest.java @@ -84,7 +84,7 @@ class XtaServiceTest { @Nested class TestFetchMessages { - private final XtaTransportReport transportReport = XtaTransportReportFactory.create(); + private final XtaTransportReport transportReport = XtaTransportReportTestFactory.create(); @BeforeEach @SneakyThrows @@ -97,7 +97,6 @@ class XtaServiceTest { void shouldCallXtaClient() { service.fetchMessages(); - // Can't test for passing the correct method when service is wrapped in a spy verify(xtaClient).fetchMessages(any()); } } diff --git a/src/test/java/de/ozgcloud/eingang/xta/XtaTransportReportFactory.java b/src/test/java/de/ozgcloud/eingang/xta/XtaTransportReportTestFactory.java similarity index 91% rename from src/test/java/de/ozgcloud/eingang/xta/XtaTransportReportFactory.java rename to src/test/java/de/ozgcloud/eingang/xta/XtaTransportReportTestFactory.java index 38d23653..e6131596 100644 --- a/src/test/java/de/ozgcloud/eingang/xta/XtaTransportReportFactory.java +++ b/src/test/java/de/ozgcloud/eingang/xta/XtaTransportReportTestFactory.java @@ -5,7 +5,7 @@ import java.time.ZonedDateTime; import de.ozgcloud.xta.client.model.XtaMessageStatus; import de.ozgcloud.xta.client.model.XtaTransportReport; -public class XtaTransportReportFactory { +public class XtaTransportReportTestFactory { public static XtaTransportReport create() { -- GitLab