From b4fa878245788dd469b1bbaab3d7bdb5f86ef49c Mon Sep 17 00:00:00 2001 From: Jan Zickermann <jan.zickermann@dataport.de> Date: Mon, 31 Mar 2025 13:39:32 +0200 Subject: [PATCH 1/3] KOP-3126 Fix RemoteITCase --- pom.xml | 6 ------ .../xta/client/XtaClientRemoteITCase.java | 10 ++++++++-- .../XtaServerSetupExtensionTestUtil.java | 19 +++++++++++++++---- 3 files changed, 23 insertions(+), 12 deletions(-) diff --git a/pom.xml b/pom.xml index f6c7cd1..a2bd7bb 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 8878a3f..319613b 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 6d2731a..4718256 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!"); -- GitLab From bba8694e300a5e3d6f62553b3ed28e432efcba1d Mon Sep 17 00:00:00 2001 From: Jan Zickermann <jan.zickermann@dataport.de> Date: Mon, 31 Mar 2025 13:45:39 +0200 Subject: [PATCH 2/3] KOP-3126 Fix ClientITCase --- src/test/java/de/ozgcloud/xta/client/XtaClientITCase.java | 8 ++++---- .../client/extension/XtaServerSetupExtensionTestUtil.java | 8 +++++--- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/src/test/java/de/ozgcloud/xta/client/XtaClientITCase.java b/src/test/java/de/ozgcloud/xta/client/XtaClientITCase.java index 0a244ea..9f535b8 100644 --- a/src/test/java/de/ozgcloud/xta/client/XtaClientITCase.java +++ b/src/test/java/de/ozgcloud/xta/client/XtaClientITCase.java @@ -44,10 +44,10 @@ class XtaClientITCase { @BeforeEach @SneakyThrows void setup() { - processMessageDummy = (message) -> { + processMessageDummy = message -> { }; supportCheckedMetadataItems = new ArrayList<>(); - isSupportedDummy = (metaData) -> true; + isSupportedDummy = metaData -> true; processedMessages = new ArrayList<>(); silentTestClient = XTA_TEST_SERVER_SETUP_EXTENSION.getSilentTestClient(); @@ -99,7 +99,7 @@ class XtaClientITCase { void shouldThrowExceptionOnConnectionFailure() { setupClientWithoutTrustStore(); - assertThatThrownBy(() -> testClient.fetchMessages((message) -> fail("Should not process any message!"))) + assertThatThrownBy(() -> testClient.fetchMessages(message -> fail("Should not process any message!"))) .isInstanceOf(XtaClientException.class); } @@ -303,7 +303,7 @@ class XtaClientITCase { @SneakyThrows private List<XtaTransportReport> fetchMessages() { - return testClient.fetchMessages((message) -> { + return testClient.fetchMessages(message -> { processedMessages.add(message); processMessageDummy.accept(message); }); 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 4718256..4af1313 100644 --- a/src/test/java/de/ozgcloud/xta/client/extension/XtaServerSetupExtensionTestUtil.java +++ b/src/test/java/de/ozgcloud/xta/client/extension/XtaServerSetupExtensionTestUtil.java @@ -153,9 +153,11 @@ public class XtaServerSetupExtensionTestUtil { .build(); } - public static XtaMessageMetaData withoutMessageSize(XtaMessageMetaData metaData) { + public static XtaMessageMetaData withoutMessageSizeAndDelivery(XtaMessageMetaData metaData) { return metaData.toBuilder() .messageSize(null) + .deliveryAttributesDelivery(null) + .deliveryAttributesOrigin(null) .build(); } @@ -325,10 +327,10 @@ public class XtaServerSetupExtensionTestUtil { // ignoring size since it may be null for transport report (due to message closed?) assertThat(transportReports) .extracting(XtaTransportReport::metaData) - .extracting(XtaServerSetupExtensionTestUtil::withoutMessageSize) + .extracting(XtaServerSetupExtensionTestUtil::withoutMessageSizeAndDelivery) .containsExactlyElementsOf(processedMessages.stream() .map(XtaMessage::metaData) - .map(XtaServerSetupExtensionTestUtil::withoutMessageSize) + .map(XtaServerSetupExtensionTestUtil::withoutMessageSizeAndDelivery) .toList()); } -- GitLab From 83f21774333d15e1ae93065da4ab24a42183ba97 Mon Sep 17 00:00:00 2001 From: Jan Zickermann <jan.zickermann@dataport.de> Date: Mon, 31 Mar 2025 13:51:54 +0200 Subject: [PATCH 3/3] KOP-3126 pipeline: Add docker credentials --- .gitlab-ci.yml | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index edbc971..ad6c905 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -12,6 +12,29 @@ variables: services: - docker:dind +before_script: + - mkdir -p $HOME/.docker + - | + cat << EOF > $HOME/.docker/config.json + { + "auths": { + "docker.ozg-sh.de": { + "username": "$NEXUS_USER", + "password": "$NEXUS_PASSWORD" + } + }, + "proxies": { + "default": { + "httpProxy": "$HTTP_PROXY", + "httpsProxy": "$HTTPS_PROXY", + "noProxy": "$NO_PROXY" + } + } + } + EOF + - cat ~/.docker/config.json + + cache: paths: - .m2/repository/ -- GitLab