diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index edbc9719340957a185bba1acb4476ee79860d612..ad6c9052374e4c653552efdcf216bd73d11e0aa3 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/ 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/XtaClientITCase.java b/src/test/java/de/ozgcloud/xta/client/XtaClientITCase.java index 0a244ea890e783196ba7be4f7c85ccbd06d93689..9f535b87aeb16b0d664b3f089c6d944f1c06d7c2 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/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..4af13131f1b7ff95280a40c6163f9f11e8087523 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,16 +144,20 @@ 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(); } - public static XtaMessageMetaData withoutMessageSize(XtaMessageMetaData metaData) { + public static XtaMessageMetaData withoutMessageSizeAndDelivery(XtaMessageMetaData metaData) { return metaData.toBuilder() .messageSize(null) + .deliveryAttributesDelivery(null) + .deliveryAttributesOrigin(null) .build(); } @@ -268,9 +281,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!"); @@ -314,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()); }