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

OZG-7037 xta: Test send and fetch with by-enable-dev

parent f814d3db
Branches
Tags
No related merge requests found
...@@ -24,7 +24,7 @@ import de.ozgcloud.xta.client.exception.XtaClientInitializationException; ...@@ -24,7 +24,7 @@ import de.ozgcloud.xta.client.exception.XtaClientInitializationException;
class XtaConfiguration { class XtaConfiguration {
@Bean @Bean
@ConditionalOnProperty(prefix = XtaProperties.XTA_PROPERTIES_PREFIX, name = "enabled") @ConditionalOnProperty(prefix = XtaProperties.XTA_PROPERTIES_PREFIX, name = "enabled", havingValue = "true")
XtaClient xtaClient(XtaProperties xtaProperties) { XtaClient xtaClient(XtaProperties xtaProperties) {
try { try {
return XtaClient.from(buildXtaClientConfig(xtaProperties)); return XtaClient.from(buildXtaClientConfig(xtaProperties));
......
...@@ -42,7 +42,6 @@ import de.ozgcloud.apilib.user.UserProfileMapper; ...@@ -42,7 +42,6 @@ import de.ozgcloud.apilib.user.UserProfileMapper;
import de.ozgcloud.apilib.vorgang.OzgCloudVorgangIdMapper; import de.ozgcloud.apilib.vorgang.OzgCloudVorgangIdMapper;
import de.ozgcloud.apilib.vorgang.grpc.OzgCloudVorgangMapper; import de.ozgcloud.apilib.vorgang.grpc.OzgCloudVorgangMapper;
import de.ozgcloud.vorgang.vorgang.VorgangServiceGrpc; import de.ozgcloud.vorgang.vorgang.VorgangServiceGrpc;
import de.ozgcloud.xta.client.XtaClient;
@SpringBootApplication @SpringBootApplication
@ComponentScan({ "de.ozgcloud.*" }) @ComponentScan({ "de.ozgcloud.*" })
...@@ -61,8 +60,6 @@ public class ArchiveManagerTestApplication { ...@@ -61,8 +60,6 @@ public class ArchiveManagerTestApplication {
@MockBean @MockBean
private BuildProperties properties; private BuildProperties properties;
@MockBean @MockBean
private XtaClient xtaClient;
@MockBean
private OzgCloudClientAttributeMapper clientAttributeMapper; private OzgCloudClientAttributeMapper clientAttributeMapper;
public static void main(String[] args) { public static void main(String[] args) {
......
package de.ozgcloud.archive.common.xta; package de.ozgcloud.archive.common.xta;
import java.nio.file.Path; import static org.assertj.core.api.Assertions.*;
import java.util.List;
import java.util.Objects; import java.util.Objects;
import jakarta.activation.DataHandler; import jakarta.activation.DataHandler;
...@@ -14,18 +16,27 @@ import org.springframework.boot.test.context.SpringBootTest; ...@@ -14,18 +16,27 @@ import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.ActiveProfiles; import org.springframework.test.context.ActiveProfiles;
import org.springframework.test.context.DynamicPropertyRegistry; import org.springframework.test.context.DynamicPropertyRegistry;
import org.springframework.test.context.DynamicPropertySource; import org.springframework.test.context.DynamicPropertySource;
import org.springframework.util.ResourceUtils;
import com.google.gson.Gson;
import de.ozgcloud.archive.ArchiveManagerTestApplication;
import de.ozgcloud.xta.client.XtaClient;
import de.ozgcloud.xta.client.model.XtaFile; 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.XdomeaXtaMessageCreator;
import lombok.SneakyThrows;
@EnabledIfEnvironmentVariable( @EnabledIfEnvironmentVariable(
named = "OZG_CLOUD_DEV_XTA_CLIENT_KEYSTORE", named = "OZG_CLOUD_DEV_XTA_CLIENT_KEYSTORE",
matches = ".+", matches = ".+",
disabledReason = disabledReason =
"This test requires the path OZG_CLOUD_DEV_XTA_CLIENT_P12_KEYSTORE to the PKCS12 keystore and the path OZG_CLOUD_DEV_XTA_CLIENT_JKS_TRUSTSTORE to the JKS truststore (password must be 'password'). " "This test requires the path OZG_CLOUD_DEV_XTA_CLIENT_P12_KEYSTORE to the PKCS12 keystore and the path OZG_CLOUD_DEV_XTA_CLIENT_JKS_TRUSTSTORE to the JKS truststore (password must be 'password'). "
+ "Additionally, a path OZG_CLOUD_DEV_XDOMEA_ZIP_EXAMPLE to an example Xdomea ZIP file is required."
) )
@ActiveProfiles({ "itcase" }) @ActiveProfiles({ "itcase" })
@SpringBootTest @SpringBootTest(classes = { ArchiveManagerTestApplication.class })
class XtaServiceRemoteITCase { class XtaServiceRemoteITCase {
static final String BASE_URL = "https://xta-test-server-enable.dev.by.ozg-cloud.de/MB_XTA-WS/XTA210"; static final String BASE_URL = "https://xta-test-server-enable.dev.by.ozg-cloud.de/MB_XTA-WS/XTA210";
...@@ -43,22 +54,65 @@ class XtaServiceRemoteITCase { ...@@ -43,22 +54,65 @@ class XtaServiceRemoteITCase {
registry.add("ozgcloud.xta.truststore.file", () -> "file:" + getEnvVar("OZG_CLOUD_DEV_XTA_CLIENT_JKS_TRUSTSTORE")); registry.add("ozgcloud.xta.truststore.file", () -> "file:" + getEnvVar("OZG_CLOUD_DEV_XTA_CLIENT_JKS_TRUSTSTORE"));
registry.add("ozgcloud.xta.truststore.password", () -> "password"); registry.add("ozgcloud.xta.truststore.password", () -> "password");
registry.add("ozgcloud.xta.truststore.type", () -> "JKS"); registry.add("ozgcloud.xta.truststore.type", () -> "JKS");
registry.add("ozgcloud.xta.clientIdentifiers", () -> new Gson().toJson(
List.of(
XtaIdentifier.builder()
.category("Generischer Antragsempfänger")
.value("gae:dev-environment@ozg-cloud.de")
.name("OZG-Cloud Leser Dev")
.build(),
XtaIdentifier.builder()
.category("Generischer Antragsempfänger")
.value("gae:dataportdconnectorgovernance@dataport.de")
.name("DMS-Systeme (dConnector)")
.build()
)
));
} }
@Autowired @Autowired
public XtaService xtaService; public XtaClient xtaClient;
private final XdomeaXtaMessageCreator creator = XdomeaXtaMessageCreator.createInstance();
@DisplayName("should send xDomea file") @DisplayName("should send xDomea file")
@Test @Test
@SneakyThrows
void shouldSendXDomeaFile() { void shouldSendXDomeaFile() {
var xdomeaFilePath = getEnvVar("OZG_CLOUD_DEV_XDOMEA_ZIP_EXAMPLE"); var transportReport = xtaClient.sendMessage(createXdomeaMessage());
assertThat(transportReport.status()).isEqualTo(XtaMessageStatus.OPEN);
}
@DisplayName("should fetch messages")
@Test
@SneakyThrows
void shouldFetchMessages() {
xtaClient.sendMessage(createXdomeaMessage());
var transportReports = xtaClient.fetchMessages(message ->
System.out.println("Message: " + message)
);
assertThat(transportReports).hasSizeGreaterThanOrEqualTo(1)
.extracting("status")
.doesNotContain(XtaMessageStatus.OPEN);
}
@SneakyThrows
private XtaMessage createXdomeaMessage() {
var filename = "84be3140-e069-4d4a-80c7-889b5eec539e_Abgabe.Abgabe.0401.zip";
var xdomeaFile = XtaFile.builder() var xdomeaFile = XtaFile.builder()
.name(Path.of(xdomeaFilePath).getFileName().toString()) .name(filename)
.content(new DataHandler(new FileDataSource(xdomeaFilePath))) .content(createDataHandler("classpath:xta-messages/" + filename))
.contentType("application/zip") .contentType("application/zip")
.build(); .build();
return creator.createMessage(xdomeaFile);
}
xtaService.sendXdomeaFile(xdomeaFile); @SneakyThrows
private DataHandler createDataHandler(String resourceLink) {
return new DataHandler(new FileDataSource(ResourceUtils.getFile(resourceLink)));
} }
private static String getEnvVar(String name) { private static String getEnvVar(String name) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment