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

Merge pull request 'OZG-6753 API Test der xta-client-lib erweitern' (#9) from...

Merge pull request 'OZG-6753 API Test der xta-client-lib erweitern' (#9) from OZG-6753-api-test-xta-anbindung-erweitern into main

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


Reviewed-by: default avatarJan Zickermann <jan.zickermann@dataport.de>
parents 5d1a197e dece3a31
No related branches found
No related tags found
No related merge requests found
...@@ -156,7 +156,8 @@ ...@@ -156,7 +156,8 @@
<configuration> <configuration>
<includes> <includes>
<include>**/*Test.java</include> <include>**/*Test.java</include>
<include>**/*ITCase.java</include> <!--docker environment in der pipeline laeuft noch nicht-->
<!--include>**/*ITCase.java</include-->
</includes> </includes>
</configuration> </configuration>
</plugin> </plugin>
......
...@@ -9,7 +9,10 @@ import org.junit.jupiter.api.Nested; ...@@ -9,7 +9,10 @@ import org.junit.jupiter.api.Nested;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.RegisterExtension; import org.junit.jupiter.api.extension.RegisterExtension;
import de.ozgcloud.xta.client.extension.XtaMessageExampleLoader;
import de.ozgcloud.xta.client.extension.XtaServerSetupExtensionTestUtil;
import de.ozgcloud.xta.client.extension.XtaTestServerSetupExtension; import de.ozgcloud.xta.client.extension.XtaTestServerSetupExtension;
import de.ozgcloud.xta.client.model.XtaMessage;
import de.ozgcloud.xta.client.model.XtaMessageStatus; import de.ozgcloud.xta.client.model.XtaMessageStatus;
import genv3.de.xoev.transport.xta.x211.InvalidMessageIDException; import genv3.de.xoev.transport.xta.x211.InvalidMessageIDException;
import lombok.SneakyThrows; import lombok.SneakyThrows;
...@@ -81,11 +84,18 @@ class XtaClientITCase { ...@@ -81,11 +84,18 @@ class XtaClientITCase {
class TestGetMessage { class TestGetMessage {
private String messageId; private String messageId;
private XtaMessage message;
@BeforeEach @BeforeEach
@SneakyThrows @SneakyThrows
void setup() { void setup() {
messageId = XTA_TEST_SERVER_SETUP_EXTENSION.sendTestMessage(); var messageConfig = XtaMessageExampleLoader.MessageExampleConfig.builder()
.messageLabel("dfoerdermittel")
.reader(CLIENT_IDENTIFIER1)
.author(CLIENT_IDENTIFIER1)
.build();
message = XtaMessageExampleLoader.load(messageConfig);
messageId = XtaServerSetupExtensionTestUtil.sendTestMessage(client, message);
} }
@DisplayName("should return message with green status") @DisplayName("should return message with green status")
...@@ -99,6 +109,26 @@ class XtaClientITCase { ...@@ -99,6 +109,26 @@ class XtaClientITCase {
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 = client.getMessage(CLIENT_IDENTIFIER1.value(), messageId);
var resultContent = extractMessageFileContent(result.message());
assertThat(messageContent).isEqualTo(resultContent);
}
@DisplayName("should throw invalid message id exception for a closed message")
@Test
void shouldThrowInvalidMessageIdExceptionForClosedMessage() {
assertThatNoException().isThrownBy(() -> client.getMessage(CLIENT_IDENTIFIER1.value(), messageId));
assertThatThrownBy(() -> client.getMessage(CLIENT_IDENTIFIER1.value(), messageId))
.isInstanceOf(InvalidMessageIDException.class);
}
@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() {
...@@ -113,7 +143,37 @@ class XtaClientITCase { ...@@ -113,7 +143,37 @@ class XtaClientITCase {
.isInstanceOf(InvalidMessageIDException.class); .isInstanceOf(InvalidMessageIDException.class);
} }
@SneakyThrows
private byte[] extractMessageFileContent(XtaMessage xtaMessage) {
return xtaMessage.messageFile().content().getInputStream().readAllBytes();
}
}
@DisplayName("send message")
@Nested
class TestSendMessage {
private XtaMessage message;
@BeforeEach
void beforeEach() {
var messageConfig = XtaMessageExampleLoader.MessageExampleConfig.builder()
.messageLabel("dfoerdermittel")
.reader(CLIENT_IDENTIFIER1)
.author(CLIENT_IDENTIFIER1)
.build();
message = XtaMessageExampleLoader.load(messageConfig);
}
@DisplayName("should return transport report with open status")
@Test
@SneakyThrows
void shouldReturnTransportReportWithOpenStatus() {
var transportReport = client.sendMessage(message);
assertThat(transportReport.status()).isEqualTo(XtaMessageStatus.OPEN);
} }
} }
}
...@@ -6,6 +6,7 @@ import de.ozgcloud.xta.client.XtaClient; ...@@ -6,6 +6,7 @@ import de.ozgcloud.xta.client.XtaClient;
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.XtaIdentifier; import de.ozgcloud.xta.client.model.XtaIdentifier;
import de.ozgcloud.xta.client.model.XtaMessage;
import de.ozgcloud.xta.client.model.XtaMessageMetaData; import de.ozgcloud.xta.client.model.XtaMessageMetaData;
import genv3.de.xoev.transport.xta.x211.CodeFehlernummer; import genv3.de.xoev.transport.xta.x211.CodeFehlernummer;
import genv3.de.xoev.transport.xta.x211.MessageSchemaViolationException; import genv3.de.xoev.transport.xta.x211.MessageSchemaViolationException;
...@@ -44,6 +45,11 @@ public class XtaServerSetupExtensionTestUtil { ...@@ -44,6 +45,11 @@ public class XtaServerSetupExtensionTestUtil {
@SneakyThrows @SneakyThrows
public static String sendTestMessage(XtaClient client, XtaMessageExampleLoader.MessageExampleConfig messageExampleConfig) { public static String sendTestMessage(XtaClient client, XtaMessageExampleLoader.MessageExampleConfig messageExampleConfig) {
var message = XtaMessageExampleLoader.load(messageExampleConfig); var message = XtaMessageExampleLoader.load(messageExampleConfig);
return sendTestMessage(client, message);
}
@SneakyThrows
public static String sendTestMessage(XtaClient client, XtaMessage message) {
try { try {
log.info("Sending from author {} to reader {}.", message.metaData().authorIdentifier(), message.metaData().readerIdentifier()); log.info("Sending from author {} to reader {}.", message.metaData().authorIdentifier(), message.metaData().readerIdentifier());
var transportReport = client.sendMessage(message); var transportReport = client.sendMessage(message);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment