diff --git a/pom.xml b/pom.xml index f6c7cd198e6536ac85c8b5a4ba59908de6b17d12..a2bd7bb906b2a7569b8cac431354aaa708472f57 100644 --- a/pom.xml +++ b/pom.xml @@ -174,12 +174,6 @@ <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-failsafe-plugin</artifactId> - <configuration> - <excludes> - <!--docker environment in der pipeline laeuft noch nicht--> - <exclude>**/XtaClientITCase.java</exclude> - </excludes> - </configuration> <executions> <execution> <goals> diff --git a/src/test/java/de/ozgcloud/xta/client/XtaClientRemoteITCase.java b/src/test/java/de/ozgcloud/xta/client/XtaClientRemoteITCase.java index 8878a3f753dda96d394db1fc801f0462e33c3dad..319613bb2128ee6247b0ea3427b3a48f15aa9ed8 100644 --- a/src/test/java/de/ozgcloud/xta/client/XtaClientRemoteITCase.java +++ b/src/test/java/de/ozgcloud/xta/client/XtaClientRemoteITCase.java @@ -7,6 +7,7 @@ import static org.assertj.core.api.Assertions.*; import java.util.ArrayList; import java.util.List; +import java.util.Optional; import java.util.function.Consumer; import java.util.function.Predicate; import java.util.stream.Stream; @@ -65,10 +66,10 @@ class XtaClientRemoteITCase { @BeforeEach @SneakyThrows void setup() { - processMessageDummy = (message) -> { + processMessageDummy = message -> { }; supportCheckedMetadataItems = new ArrayList<>(); - isSupportedDummy = (metaData) -> true; + isSupportedDummy = metaData -> true; processedMessages = new ArrayList<>(); testClient = XTA_REMOTE_SERVER_SETUP_EXTENSION.getTestClient(); @@ -76,6 +77,11 @@ class XtaClientRemoteITCase { devClient = XTA_REMOTE_SERVER_SETUP_EXTENSION.getDevClient(); silentDevClient = XTA_REMOTE_SERVER_SETUP_EXTENSION.getSilentDevClient(); + if (Optional.ofNullable(System.getenv("CLEAR_ALL_MESSAGES")).map(d -> d.equals("yes")).orElse(false)) { + closeAllMessages(XTA_REMOTE_SERVER_SETUP_EXTENSION.getSilentDevClientConfig(), DEV_READER_CLIENT_IDENTIFIER); + closeAllMessages(XTA_REMOTE_SERVER_SETUP_EXTENSION.getSilentTestClientConfig(), TEST_READER_CLIENT_IDENTIFIER); + } + failIfAnyMessagePending(XTA_REMOTE_SERVER_SETUP_EXTENSION.getSilentDevClientConfig(), DEV_READER_CLIENT_IDENTIFIER); failIfAnyMessagePending(XTA_REMOTE_SERVER_SETUP_EXTENSION.getSilentTestClientConfig(), TEST_READER_CLIENT_IDENTIFIER); 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 6d2731a7186d3a3bf6f5fa75dfabeff5ebdee36b..4718256914515533376d7ab18642059aa0349d4e 100644 --- a/src/test/java/de/ozgcloud/xta/client/extension/XtaServerSetupExtensionTestUtil.java +++ b/src/test/java/de/ozgcloud/xta/client/extension/XtaServerSetupExtensionTestUtil.java @@ -16,6 +16,7 @@ import de.ozgcloud.xta.client.core.WrappedXtaService; import de.ozgcloud.xta.client.core.WrappedXtaServiceFactory; import de.ozgcloud.xta.client.exception.XtaClientRuntimeException; import de.ozgcloud.xta.client.gen.v3.de.xoev.transport.xta.x211.CodeFehlernummer; +import de.ozgcloud.xta.client.gen.v3.de.xoev.transport.xta.x211.InvalidMessageIDException; import de.ozgcloud.xta.client.gen.v3.de.xoev.transport.xta.x211.MessageSchemaViolationException; import de.ozgcloud.xta.client.gen.v3.de.xoev.transport.xta.x211.ParameterIsNotValidException; import de.ozgcloud.xta.client.gen.v3.de.xoev.transport.xta.x211.PermissionDeniedException; @@ -122,11 +123,19 @@ public class XtaServerSetupExtensionTestUtil { closeMessagesById(config, clientId, messageIds); } - @SneakyThrows public static void closeMessagesById(XtaClientConfig config, XtaIdentifier clientId, List<String> messageIds) { var wrappedService = createWrappedService(config); for (var messageId : messageIds) { + closeMessageById(wrappedService, messageId, clientId); + } + } + + @SneakyThrows + private static void closeMessageById(WrappedXtaService wrappedService, String messageId, XtaIdentifier clientId) { + try { wrappedService.close(messageId, clientId); + } catch (InvalidMessageIDException e) { + log.warn("Failed closing message, possibly it has already been closed! '{}' (reader: {})", messageId, clientId); } } @@ -135,10 +144,12 @@ public class XtaServerSetupExtensionTestUtil { return WrappedXtaServiceFactory.from(config).create(); } - public static XtaMessageMetaData withoutMessageIdAndSize(XtaMessageMetaData metaData) { + public static XtaMessageMetaData withoutMessageIdAndSizeAndDelivery(XtaMessageMetaData metaData) { return metaData.toBuilder() .messageId(null) .messageSize(null) + .deliveryAttributesDelivery(null) + .deliveryAttributesOrigin(null) .build(); } @@ -268,9 +279,9 @@ public class XtaServerSetupExtensionTestUtil { // Assert equal metadata (ignoring message id and size since they should be null before sending) assertThat(processedMessages) .extracting(XtaMessage::metaData) - .extracting(XtaServerSetupExtensionTestUtil::withoutMessageIdAndSize) + .extracting(XtaServerSetupExtensionTestUtil::withoutMessageIdAndSizeAndDelivery) .containsExactlyInAnyOrderElementsOf(Arrays.stream(messageMetaDataItems) - .map(XtaServerSetupExtensionTestUtil::withoutMessageIdAndSize) + .map(XtaServerSetupExtensionTestUtil::withoutMessageIdAndSizeAndDelivery) .toList()); } catch (AssertionError | RuntimeException e) { log.error("Messages do not exactly contain excepted metadata!");