Select Git revision
test-setup.ts
XtaClientRemoteITCase.java 5.54 KiB
package de.ozgcloud.xta.client;
import static de.ozgcloud.xta.client.extension.XtaServerSetupExtensionTestUtil.*;
import static org.assertj.core.api.Assertions.*;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Nested;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.condition.EnabledIfEnvironmentVariable;
import org.junit.jupiter.api.extension.RegisterExtension;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.ValueSource;
import de.ozgcloud.xta.client.extension.XtaMessageExampleLoader;
import de.ozgcloud.xta.client.extension.XtaRemoteServerSetupExtension;
import de.ozgcloud.xta.client.model.XtaFile;
import de.ozgcloud.xta.client.model.XtaMessage;
import de.ozgcloud.xta.client.model.XtaMessageStatus;
import de.ozgcloud.xta.client.xdomea.XdomeaXtaMessageCreatorFactory;
import genv3.de.xoev.transport.xta.x211.InvalidMessageIDException;
import genv3.de.xoev.transport.xta.x211.MessageSchemaViolationException;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
@Slf4j
@EnabledIfEnvironmentVariable(
named = "KOP_SH_KIEL_DEV_PATH",
matches = ".+",
disabledReason =
"This test requires the path KOP_SH_KIEL_{DEV,TEST}_PATH and password KOP_SH_KIEL_{DEV,TEST}_PASSWORD of KOP_SH_KIEL_DEV.p12 and OZG-CLOUD_SH_KIEL_TEST.pfx. "
+ "Additionally, the endpoint of the DEV-xta-server at li33-0005.dp.dsecurecloud.de must be reachable."
)
class XtaClientRemoteITCase {
@RegisterExtension
static final XtaRemoteServerSetupExtension XTA_DEV_SERVER_SETUP_EXTENSION = new XtaRemoteServerSetupExtension();
private XtaClient authorClient;
private XtaClient readerClient;
@BeforeEach
@SneakyThrows
void setup() {
authorClient = XTA_DEV_SERVER_SETUP_EXTENSION.getAuthorClient();
readerClient = XTA_DEV_SERVER_SETUP_EXTENSION.getReaderClient();
}
@DisplayName("get messages metadata")
@Nested
class TestGetMessagesMetadata {
@DisplayName("with no messages")
@Nested
class TestWithNoMessages {
@DisplayName("should return zero pending messages")
@Test
@SneakyThrows
void shouldReturnZeroPendingMessages() {
var result = readerClient.getMessagesMetadata(READER_CLIENT_IDENTIFIER1.value());
assertThat(result.pendingMessageCount()).isZero();
}
}
@DisplayName("with one message")
@Nested
class TestWithOneMessage {