From 092674ee8db3dbab3c0d5b56a311a16e02313644 Mon Sep 17 00:00:00 2001 From: Jan Zickermann <jan.zickermann@dataport.de> Date: Tue, 22 Oct 2024 15:07:33 +0200 Subject: [PATCH] OZG-6891 XtaClientRemoteITCase: Avoid closing messages in dev environment --- .../xta/client/XtaClientRemoteITCase.java | 23 +++++++++++++++---- .../XtaServerSetupExtensionTestUtil.java | 6 +++++ 2 files changed, 24 insertions(+), 5 deletions(-) diff --git a/src/test/java/de/ozgcloud/xta/client/XtaClientRemoteITCase.java b/src/test/java/de/ozgcloud/xta/client/XtaClientRemoteITCase.java index 0ceac48..253afbf 100644 --- a/src/test/java/de/ozgcloud/xta/client/XtaClientRemoteITCase.java +++ b/src/test/java/de/ozgcloud/xta/client/XtaClientRemoteITCase.java @@ -62,6 +62,8 @@ class XtaClientRemoteITCase { private Consumer<XtaMessage> processMessageDummy; private Predicate<XtaMessageMetaData> isSupportedDummy; + private List<String> sendMessageIds; + @BeforeEach @SneakyThrows void setup() { @@ -76,7 +78,6 @@ class XtaClientRemoteITCase { devClient = XTA_REMOTE_SERVER_SETUP_EXTENSION.getDevClient(); silentDevClient = XTA_REMOTE_SERVER_SETUP_EXTENSION.getSilentDevClient(); - // Fail if any message pending, to ensure that we do not clear existing messages in the DEV environment failIfAnyMessagePending(XTA_REMOTE_SERVER_SETUP_EXTENSION.getSilentDevClientConfig(), DEV_READER_CLIENT_IDENTIFIER); failIfAnyMessagePending(XTA_REMOTE_SERVER_SETUP_EXTENSION.getSilentTestClientConfig(), TEST_READER_CLIENT_IDENTIFIER); @@ -89,8 +90,8 @@ class XtaClientRemoteITCase { } private void closeMessagesForAllReaders() { - closeAllMessages(XTA_REMOTE_SERVER_SETUP_EXTENSION.getSilentDevClientConfig(), DEV_READER_CLIENT_IDENTIFIER); - closeAllMessages(XTA_REMOTE_SERVER_SETUP_EXTENSION.getSilentTestClientConfig(), TEST_READER_CLIENT_IDENTIFIER); + closeMessagesById(XTA_REMOTE_SERVER_SETUP_EXTENSION.getSilentDevClientConfig(), DEV_READER_CLIENT_IDENTIFIER, sendMessageIds); + closeMessagesById(XTA_REMOTE_SERVER_SETUP_EXTENSION.getSilentTestClientConfig(), TEST_READER_CLIENT_IDENTIFIER, sendMessageIds); } @DisplayName("fetch messages") @@ -98,7 +99,6 @@ class XtaClientRemoteITCase { class TestFetchMessages { private List<XtaMessage> sendMessages; - private List<String> sendMessageIds; @BeforeEach void setup() { @@ -258,10 +258,23 @@ class XtaClientRemoteITCase { void shouldReturn(String messageLabel) { XtaMessage xtaMessage = createXdomeaMessage(loadMessage(messageLabel).messageFile()); - var result = testClient.sendMessage(xtaMessage); + var result = sendMessage(xtaMessage); assertThat(result.status()).isEqualTo(XtaMessageStatus.OPEN); } + + @SneakyThrows + private XtaTransportReport sendMessage(XtaMessage xtaMessage) { + var report = testClient.sendMessage(xtaMessage); + recordMessageIdForCleanup(report); + return report; + } + + private void recordMessageIdForCleanup(XtaTransportReport report) { + var messageId = report.metaData().messageId(); + assertThat(messageId).isNotNull(); + sendMessageIds = List.of(messageId); + } } private XtaMessage createMessage(String messageLabel, XtaIdentifier author, XtaIdentifier reader) { diff --git a/src/test/java/de/ozgcloud/xta/client/extension/XtaServerSetupExtensionTestUtil.java b/src/test/java/de/ozgcloud/xta/client/extension/XtaServerSetupExtensionTestUtil.java index 0432d34..cdd531f 100644 --- a/src/test/java/de/ozgcloud/xta/client/extension/XtaServerSetupExtensionTestUtil.java +++ b/src/test/java/de/ozgcloud/xta/client/extension/XtaServerSetupExtensionTestUtil.java @@ -119,6 +119,12 @@ public class XtaServerSetupExtensionTestUtil { var messageIds = result.messages().stream() .map(XtaMessageMetaData::messageId) .toList(); + closeMessagesById(config, clientId, messageIds); + } + + @SneakyThrows + public static void closeMessagesById(XtaClientConfig config, XtaIdentifier clientId, List<String> messageIds) { + var wrappedService = createWrappedService(config); for (var messageId : messageIds) { wrappedService.close(messageId, clientId); } -- GitLab