Skip to content
Snippets Groups Projects
Commit 97bf092d authored by Lukas Malte Monnerjahn's avatar Lukas Malte Monnerjahn
Browse files

Merge pull request 'OZG-6753 KOP-2725 Angleichen der Tests in XtaClientITCase...

Merge pull request 'OZG-6753 KOP-2725 Angleichen der Tests in XtaClientITCase und XtaClientRemoteITCase' (#13) from OZG-6753-api-test into main

Reviewed-on: https://git.ozg-sh.de/ozgcloud-lib/xta-client-lib/pulls/13


Reviewed-by: default avatarJörg Bolay <joerg.bolay@dataport.de>
parents 1f7b374b 0b17580b
Branches
Tags
No related merge requests found
...@@ -92,7 +92,7 @@ class XtaClientITCase { ...@@ -92,7 +92,7 @@ class XtaClientITCase {
var messageConfig = XtaMessageExampleLoader.MessageExampleConfig.builder() var messageConfig = XtaMessageExampleLoader.MessageExampleConfig.builder()
.messageLabel("dfoerdermittel") .messageLabel("dfoerdermittel")
.reader(READER_CLIENT_IDENTIFIER1) .reader(READER_CLIENT_IDENTIFIER1)
.author(READER_CLIENT_IDENTIFIER1) .author(AUTHOR_CLIENT_IDENTIFIER)
.build(); .build();
message = XtaMessageExampleLoader.load(messageConfig); message = XtaMessageExampleLoader.load(messageConfig);
messageId = XtaServerSetupExtensionTestUtil.sendTestMessage(client, message); messageId = XtaServerSetupExtensionTestUtil.sendTestMessage(client, message);
...@@ -121,12 +121,15 @@ class XtaClientITCase { ...@@ -121,12 +121,15 @@ class XtaClientITCase {
assertThat(messageContent).isEqualTo(resultContent); assertThat(messageContent).isEqualTo(resultContent);
} }
@DisplayName("should throw invalid message id exception for a closed message") @DisplayName("should not show message id for a closed message in status list")
@Test @Test
void shouldThrowInvalidMessageIdExceptionForClosedMessage() { @SneakyThrows
void shouldNotShowMessageIdForClosedMessageInStatusList() {
assertThatNoException().isThrownBy(() -> client.getMessage(READER_CLIENT_IDENTIFIER1.value(), messageId)); assertThatNoException().isThrownBy(() -> client.getMessage(READER_CLIENT_IDENTIFIER1.value(), messageId));
assertThatThrownBy(() -> client.getMessage(READER_CLIENT_IDENTIFIER1.value(), messageId)) var metadataResult = client.getMessagesMetadata(READER_CLIENT_IDENTIFIER1.value());
.isInstanceOf(InvalidMessageIDException.class); if (!metadataResult.messages().isEmpty()) {
assertThat(metadataResult.messages()).allMatch(metadata -> !messageId.equals(metadata.messageId()));
}
} }
@DisplayName("should throw invalid message id exception for modified message id") @DisplayName("should throw invalid message id exception for modified message id")
...@@ -142,11 +145,6 @@ class XtaClientITCase { ...@@ -142,11 +145,6 @@ class XtaClientITCase {
assertThatThrownBy(() -> client.getMessage(READER_CLIENT_IDENTIFIER2.value(), messageId)) assertThatThrownBy(() -> client.getMessage(READER_CLIENT_IDENTIFIER2.value(), messageId))
.isInstanceOf(InvalidMessageIDException.class); .isInstanceOf(InvalidMessageIDException.class);
} }
@SneakyThrows
private byte[] extractMessageFileContent(XtaMessage xtaMessage) {
return xtaMessage.messageFile().content().getInputStream().readAllBytes();
}
} }
@DisplayName("send message") @DisplayName("send message")
......
...@@ -3,6 +3,7 @@ package de.ozgcloud.xta.client; ...@@ -3,6 +3,7 @@ package de.ozgcloud.xta.client;
import static de.ozgcloud.xta.client.extension.XtaServerSetupExtensionTestUtil.*; import static de.ozgcloud.xta.client.extension.XtaServerSetupExtensionTestUtil.*;
import static org.assertj.core.api.Assertions.*; import static org.assertj.core.api.Assertions.*;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Nested; import org.junit.jupiter.api.Nested;
...@@ -99,11 +100,18 @@ class XtaClientRemoteITCase { ...@@ -99,11 +100,18 @@ class XtaClientRemoteITCase {
class TestGetMessage { class TestGetMessage {
private String messageId; private String messageId;
private XtaMessage message;
@BeforeEach @BeforeEach
@SneakyThrows @SneakyThrows
void setup() { void setup() {
messageId = XTA_REMOTE_SERVER_SETUP_EXTENSION.sendTestMessage(); var messageConfig = XtaMessageExampleLoader.MessageExampleConfig.builder()
.messageLabel("dfoerdermittel")
.reader(READER_CLIENT_IDENTIFIER1)
.author(AUTHOR_CLIENT_IDENTIFIER)
.build();
message = XtaMessageExampleLoader.load(messageConfig);
messageId = XTA_REMOTE_SERVER_SETUP_EXTENSION.sendTestMessage(message);
} }
@DisplayName("should return message with green status") @DisplayName("should return message with green status")
...@@ -117,6 +125,29 @@ class XtaClientRemoteITCase { ...@@ -117,6 +125,29 @@ class XtaClientRemoteITCase {
assertThat(result.transportReport().status()).isEqualTo(XtaMessageStatus.GREEN); assertThat(result.transportReport().status()).isEqualTo(XtaMessageStatus.GREEN);
} }
@DisplayName("should return message with correct message file content")
@Test
@SneakyThrows
void shouldReturnMessageWithCorrectMessageFileContent() {
var messageContent = extractMessageFileContent(message);
var result = readerClient.getMessage(READER_CLIENT_IDENTIFIER1.value(), messageId);
var resultContent = extractMessageFileContent(result.message());
assertThat(messageContent).isEqualTo(resultContent);
}
@DisplayName("should not show message id for a closed message in status list")
@Test
@SneakyThrows
void shouldNotShowMessageIdForClosedMessageInStatusList() {
assertThatNoException().isThrownBy(() -> readerClient.getMessage(READER_CLIENT_IDENTIFIER1.value(), messageId));
var metadataResult = readerClient.getMessagesMetadata(READER_CLIENT_IDENTIFIER1.value());
if (!metadataResult.messages().isEmpty()) {
assertThat(metadataResult.messages()).allMatch(metadata -> !messageId.equals(metadata.messageId()));
}
}
@DisplayName("should throw invalid message id exception for modified message id") @DisplayName("should throw invalid message id exception for modified message id")
@Test @Test
void shouldThrowInvalidMessageIdExceptionForModifiedMessageId() { void shouldThrowInvalidMessageIdExceptionForModifiedMessageId() {
...@@ -137,7 +168,13 @@ class XtaClientRemoteITCase { ...@@ -137,7 +168,13 @@ class XtaClientRemoteITCase {
@Nested @Nested
class TestSendMessage { class TestSendMessage {
@DisplayName("should return with open status") @AfterEach
@SneakyThrows
void afterEach() {
closeAllMessages(readerClient, READER_CLIENT_IDENTIFIER1);
}
@DisplayName("should return transport report with open status")
@SneakyThrows @SneakyThrows
@ParameterizedTest @ParameterizedTest
@ValueSource(strings = { "dfoerdermittel", "abgabe0401-kleiner-waffenschein" }) @ValueSource(strings = { "dfoerdermittel", "abgabe0401-kleiner-waffenschein" })
......
...@@ -15,6 +15,8 @@ import de.ozgcloud.xta.client.XtaClient; ...@@ -15,6 +15,8 @@ import de.ozgcloud.xta.client.XtaClient;
import de.ozgcloud.xta.client.XtaClientFactory; import de.ozgcloud.xta.client.XtaClientFactory;
import de.ozgcloud.xta.client.config.XtaClientConfig; import de.ozgcloud.xta.client.config.XtaClientConfig;
import de.ozgcloud.xta.client.core.WrappedXtaService; import de.ozgcloud.xta.client.core.WrappedXtaService;
import de.ozgcloud.xta.client.model.XtaMessage;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import lombok.SneakyThrows; import lombok.SneakyThrows;
...@@ -76,6 +78,11 @@ public class XtaRemoteServerSetupExtension implements BeforeAllCallback, BeforeE ...@@ -76,6 +78,11 @@ public class XtaRemoteServerSetupExtension implements BeforeAllCallback, BeforeE
.build()); .build());
} }
@SneakyThrows
public String sendTestMessage(XtaMessage message) {
return XtaServerSetupExtensionTestUtil.sendTestMessage(authorClient, message);
}
@SneakyThrows @SneakyThrows
private static byte[] readBytesFromFile(String path) { private static byte[] readBytesFromFile(String path) {
return Files.toByteArray(new File(path)); return Files.toByteArray(new File(path));
......
...@@ -88,4 +88,9 @@ public class XtaServerSetupExtensionTestUtil { ...@@ -88,4 +88,9 @@ public class XtaServerSetupExtensionTestUtil {
} }
} }
@SneakyThrows
public static byte[] extractMessageFileContent(XtaMessage xtaMessage) {
return xtaMessage.messageFile().content().getInputStream().readAllBytes();
}
} }
...@@ -25,7 +25,7 @@ import lombok.extern.slf4j.Slf4j; ...@@ -25,7 +25,7 @@ import lombok.extern.slf4j.Slf4j;
public class XtaTestServerSetupExtension implements BeforeAllCallback, AfterAllCallback, BeforeEachCallback { public class XtaTestServerSetupExtension implements BeforeAllCallback, AfterAllCallback, BeforeEachCallback {
private static final DockerImageName XTA_TEST_SERVER_IMAGE = DockerImageName.parse("docker.ozg-sh.de/xta-test-server") private static final DockerImageName XTA_TEST_SERVER_IMAGE = DockerImageName.parse("docker.ozg-sh.de/xta-test-server")
.withTag("1.4.1-SNAPSHOT"); .withTag("latest");
private static final String JOHN_SMITH_KEYSTORE_PATH = "store/john-smith-client-cert-keystore.p12"; private static final String JOHN_SMITH_KEYSTORE_PATH = "store/john-smith-client-cert-keystore.p12";
private static final String JOHN_SMITH_KEYSTORE_PASSWORD = "password"; private static final String JOHN_SMITH_KEYSTORE_PASSWORD = "password";
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment