diff --git a/src/test/java/de/ozgcloud/xta/client/XtaClientRemoteITCase.java b/src/test/java/de/ozgcloud/xta/client/XtaClientRemoteITCase.java index 0ceac4857e86725204502ed1d2828a864c891ce7..253afbf6df2c82a3fd4957bb57885ad2142aeeb2 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 0432d3445846171a7908c47377e0d1b32baa48be..cdd531f78bf541920f2d62089efe29bd83b62f36 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); }