Skip to content
Snippets Groups Projects
Commit 727a3e41 authored by Jan Zickermann's avatar Jan Zickermann
Browse files

OZG-6711 KOP-2637 Try out sending Abgabe0401 to remote nachrichtenbroker

parent dadda746
Branches
Tags
No related merge requests found
......@@ -39,7 +39,7 @@ class XtaClientITCase {
@Test
@SneakyThrows
void shouldReturnZeroPendingMessages() {
var result = client.getMessagesMetadata(CLIENT_IDENTIFIER1.value());
var result = client.getMessagesMetadata(READER_CLIENT_IDENTIFIER1.value());
assertThat(result.pendingMessageCount()).isZero();
}
......@@ -58,7 +58,7 @@ class XtaClientITCase {
@Test
@SneakyThrows
void shouldReturnOnePendingMessageClient() {
var result = client.getMessagesMetadata(CLIENT_IDENTIFIER1.value());
var result = client.getMessagesMetadata(READER_CLIENT_IDENTIFIER1.value());
assertThat(result.pendingMessageCount()).isOne();
}
......@@ -67,7 +67,7 @@ class XtaClientITCase {
@Test
@SneakyThrows
void shouldReturnNoPendingMessageForAnotherClient() {
var result = client.getMessagesMetadata(CLIENT_IDENTIFIER2.value());
var result = client.getMessagesMetadata(READER_CLIENT_IDENTIFIER2.value());
assertThat(result.pendingMessageCount()).isZero();
}
......@@ -92,7 +92,7 @@ class XtaClientITCase {
@Test
@SneakyThrows
void shouldReturnMessageWithGreenStatus() {
var result = client.getMessage(CLIENT_IDENTIFIER1.value(), messageId);
var result = client.getMessage(READER_CLIENT_IDENTIFIER1.value(), messageId);
assertThat(result.message().metaData().messageId()).isEqualTo(messageId);
assertThat(result.transportReport().metaData().messageId()).isEqualTo(messageId);
......@@ -102,14 +102,14 @@ class XtaClientITCase {
@DisplayName("should throw invalid message id exception for modified message id")
@Test
void shouldThrowInvalidMessageIdExceptionForModifiedMessageId() {
assertThatThrownBy(() -> client.getMessage(CLIENT_IDENTIFIER1.value(), messageId + "1"))
assertThatThrownBy(() -> client.getMessage(READER_CLIENT_IDENTIFIER1.value(), messageId + "1"))
.isInstanceOf(InvalidMessageIDException.class);
}
@DisplayName("should throw invalid message id exception for other client")
@Test
void shouldThrowInvalidMessageIdExceptionForOtherClient() {
assertThatThrownBy(() -> client.getMessage(CLIENT_IDENTIFIER2.value(), messageId))
assertThatThrownBy(() -> client.getMessage(READER_CLIENT_IDENTIFIER2.value(), messageId))
.isInstanceOf(InvalidMessageIDException.class);
}
......
......@@ -9,18 +9,23 @@ 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.XtaIdentifier;
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 lombok.SneakyThrows;
@EnabledIfEnvironmentVariable(
named = "KOP_SH_KIEL_DEV_PATH",
matches = ".+",
disabledReason = "This test requires the path and password of KOP_SH_KIEL_DEV.p12. "
disabledReason = "This test requires the path and password of KOP_SH_KIEL_DEV.p12 and KOP_SH_KIEL_TEST.p12. "
+ "Additionally, the endpoint of the DEV-xta-server at li33-0005.dp.dsecurecloud.de must be reachable."
)
class XtaClientRemoteITCase {
......@@ -28,12 +33,14 @@ class XtaClientRemoteITCase {
@RegisterExtension
static final XtaRemoteServerSetupExtension XTA_DEV_SERVER_SETUP_EXTENSION = new XtaRemoteServerSetupExtension();
private XtaClient client;
private XtaClient authorClient;
private XtaClient readerClient;
@BeforeEach
@SneakyThrows
void setup() {
client = XTA_DEV_SERVER_SETUP_EXTENSION.getClient();
authorClient = XTA_DEV_SERVER_SETUP_EXTENSION.getAuthorClient();
readerClient = XTA_DEV_SERVER_SETUP_EXTENSION.getReaderClient();
}
@DisplayName("get messages metadata")
......@@ -48,7 +55,7 @@ class XtaClientRemoteITCase {
@Test
@SneakyThrows
void shouldReturnZeroPendingMessages() {
var result = client.getMessagesMetadata(CLIENT_IDENTIFIER1.value());
var result = readerClient.getMessagesMetadata(READER_CLIENT_IDENTIFIER1.value());
assertThat(result.pendingMessageCount()).isZero();
}
......@@ -67,7 +74,7 @@ class XtaClientRemoteITCase {
@Test
@SneakyThrows
void shouldReturnOnePendingMessageClient() {
var result = client.getMessagesMetadata(CLIENT_IDENTIFIER1.value());
var result = readerClient.getMessagesMetadata(READER_CLIENT_IDENTIFIER1.value());
assertThat(result.pendingMessageCount()).isOne();
}
......@@ -76,7 +83,7 @@ class XtaClientRemoteITCase {
@Test
@SneakyThrows
void shouldReturnNoPendingMessageForAnotherClient() {
var result = client.getMessagesMetadata(CLIENT_IDENTIFIER2.value());
var result = readerClient.getMessagesMetadata(READER_CLIENT_IDENTIFIER2.value());
assertThat(result.pendingMessageCount()).isZero();
}
......@@ -100,7 +107,7 @@ class XtaClientRemoteITCase {
@Test
@SneakyThrows
void shouldReturnMessageWithGreenStatus() {
var result = client.getMessage(CLIENT_IDENTIFIER1.value(), messageId);
var result = authorClient.getMessage(READER_CLIENT_IDENTIFIER1.value(), messageId);
assertThat(result.message().metaData().messageId()).isEqualTo(messageId);
assertThat(result.transportReport().metaData().messageId()).isEqualTo(messageId);
......@@ -110,14 +117,14 @@ class XtaClientRemoteITCase {
@DisplayName("should throw invalid message id exception for modified message id")
@Test
void shouldThrowInvalidMessageIdExceptionForModifiedMessageId() {
assertThatThrownBy(() -> client.getMessage(CLIENT_IDENTIFIER1.value(), messageId + "1"))
assertThatThrownBy(() -> authorClient.getMessage(READER_CLIENT_IDENTIFIER1.value(), messageId + "1"))
.isInstanceOf(InvalidMessageIDException.class);
}
@DisplayName("should throw invalid message id exception for other client")
@Test
void shouldThrowInvalidMessageIdExceptionForOtherClient() {
assertThatThrownBy(() -> client.getMessage(CLIENT_IDENTIFIER2.value(), messageId))
assertThatThrownBy(() -> authorClient.getMessage(READER_CLIENT_IDENTIFIER2.value(), messageId))
.isInstanceOf(InvalidMessageIDException.class);
}
......@@ -127,22 +134,36 @@ class XtaClientRemoteITCase {
@Nested
class TestSendMessage {
private final XtaMessage xtaMessage = XtaMessageExampleLoader.load(
XtaMessageExampleLoader.MessageExampleConfig.builder()
.messageLabel("dfoerdermittel")
.messageId(null)
.author(CLIENT_IDENTIFIER1)
.reader(CLIENT_IDENTIFIER1)
.build());
@DisplayName("should return with open status")
@Test
@SneakyThrows
void shouldReturn() {
var result = client.sendMessage(xtaMessage);
@ParameterizedTest
@ValueSource(strings = { "dfoerdermittel", "abgabe0401-kleiner-waffenschein" })
void shouldReturn(String messageLabel) {
XtaMessage xtaMessage = createXdomeaMessage(messageLabel);
var result = authorClient.sendMessage(xtaMessage);
assertThat(result.status()).isEqualTo(XtaMessageStatus.OPEN);
}
@SneakyThrows
private static XtaMessage createXdomeaMessage(
String messageLabel) {
var creator = XdomeaXtaMessageCreatorFactory
.createInstance()
.create();
return creator.createMessage(loadMessageFile(messageLabel));
}
private static XtaFile loadMessageFile(String messageLabel) {
var message = XtaMessageExampleLoader.load(XtaMessageExampleLoader.MessageExampleConfig.builder()
.messageLabel(messageLabel)
.author(AUTHOR_CLIENT_IDENTIFIER)
.reader(READER_CLIENT_IDENTIFIER1)
.build());
return message.messageFile();
}
}
}
......
......@@ -25,7 +25,8 @@ import lombok.extern.slf4j.Slf4j;
@Slf4j
public class XtaRemoteServerSetupExtension implements BeforeAllCallback, BeforeEachCallback {
private XtaClient client;
private XtaClient authorClient;
private XtaClient readerClient;
private WrappedXtaService service;
private XtaClientConfig config;
private XtaClientFactory clientFactory;
......@@ -35,14 +36,14 @@ public class XtaRemoteServerSetupExtension implements BeforeAllCallback, BeforeE
@Override
@SneakyThrows
public void beforeAll(ExtensionContext context) {
client = setupClient();
authorClient = setupClient(getEnvVar("KOP_SH_KIEL_DEV_PATH"), getEnvVar("KOP_SH_KIEL_DEV_PASSWORD"));
// TODO use test certificate
// authorClient = setupClient(getEnvVar("KOP_SH_KIEL_TEST_PATH"), getEnvVar("KOP_SH_KIEL_TEST_PASSWORD"));
readerClient = setupClient(getEnvVar("KOP_SH_KIEL_DEV_PATH"), getEnvVar("KOP_SH_KIEL_DEV_PASSWORD"));
}
@SneakyThrows
XtaClient setupClient() {
var clientCertKeystorePath = getEnvVar("KOP_SH_KIEL_DEV_PATH");
var clientCertKeystorePassword = getEnvVar("KOP_SH_KIEL_DEV_PASSWORD");
XtaClient setupClient(String clientCertKeystorePath, String clientCertKeystorePassword) {
var clientCertKeyStore = XtaClientConfig.KeyStore.builder()
.content(readBytesFromFile(clientCertKeystorePath))
.type("PKCS12")
......@@ -65,15 +66,15 @@ public class XtaRemoteServerSetupExtension implements BeforeAllCallback, BeforeE
@Override
@SneakyThrows
public void beforeEach(ExtensionContext context) {
XtaServerSetupExtensionTestUtil.closeAllMessages(client, CLIENT_IDENTIFIER1);
XtaServerSetupExtensionTestUtil.closeAllMessages(readerClient, READER_CLIENT_IDENTIFIER1);
}
@SneakyThrows
public String sendTestMessage() {
return XtaServerSetupExtensionTestUtil.sendTestMessage(client, XtaMessageExampleLoader.MessageExampleConfig.builder()
return XtaServerSetupExtensionTestUtil.sendTestMessage(authorClient, XtaMessageExampleLoader.MessageExampleConfig.builder()
.messageLabel("dfoerdermittel")
.reader(CLIENT_IDENTIFIER1)
.author(CLIENT_IDENTIFIER1)
.reader(READER_CLIENT_IDENTIFIER1)
.author(AUTHOR_CLIENT_IDENTIFIER)
.build());
}
......
......@@ -18,17 +18,17 @@ import lombok.extern.log4j.Log4j2;
@Log4j2
public class XtaServerSetupExtensionTestUtil {
public static final XtaIdentifier CLIENT_IDENTIFIER3 = XtaIdentifier.builder()
public static final XtaIdentifier AUTHOR_CLIENT_IDENTIFIER = XtaIdentifier.builder()
.value("gad:010103000000")
.category("DMS Schleswig-Holstein")
.name("Generischer Antragsdienst")
.build();
public static final XtaIdentifier CLIENT_IDENTIFIER2 = XtaIdentifier.builder()
public static final XtaIdentifier READER_CLIENT_IDENTIFIER2 = XtaIdentifier.builder()
.value("gae:test-environment@ozg-cloud.de")
.category("Generischer Antragsempfänger")
.name("OZG-Cloud Test")
.build();
public static final XtaIdentifier CLIENT_IDENTIFIER1 = XtaIdentifier.builder()
public static final XtaIdentifier READER_CLIENT_IDENTIFIER1 = XtaIdentifier.builder()
.value("gae:dev-environment@ozg-cloud.de")
.category("Generischer Antragsempfänger")
.name("OZG-Cloud Dev")
......@@ -36,7 +36,7 @@ public class XtaServerSetupExtensionTestUtil {
public static XtaClientConfig.XtaClientConfigBuilder createClientConfigBuilder() {
return XtaClientConfig.builder()
.clientIdentifiers(List.of(CLIENT_IDENTIFIER3, CLIENT_IDENTIFIER2, CLIENT_IDENTIFIER1))
.clientIdentifiers(List.of(AUTHOR_CLIENT_IDENTIFIER, READER_CLIENT_IDENTIFIER2, READER_CLIENT_IDENTIFIER1))
.logSoapRequests(true)
.logSoapResponses(true);
}
......
......@@ -93,15 +93,15 @@ public class XtaTestServerSetupExtension implements BeforeAllCallback, AfterAllC
@Override
@SneakyThrows
public void beforeEach(ExtensionContext context) {
closeAllMessages(client, CLIENT_IDENTIFIER1);
closeAllMessages(client, READER_CLIENT_IDENTIFIER1);
}
@SneakyThrows
public String sendTestMessage() {
return XtaServerSetupExtensionTestUtil.sendTestMessage(client, XtaMessageExampleLoader.MessageExampleConfig.builder()
.messageLabel("dfoerdermittel")
.reader(CLIENT_IDENTIFIER1)
.author(CLIENT_IDENTIFIER1)
.reader(READER_CLIENT_IDENTIFIER1)
.author(READER_CLIENT_IDENTIFIER1)
.build());
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment