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

OZG-6891 Cleanup

parent 7ee6abbb
Branches
No related tags found
No related merge requests found
......@@ -33,7 +33,7 @@ class XtaClientITCase {
static final XtaTestServerSetupExtension XTA_TEST_SERVER_SETUP_EXTENSION = new XtaTestServerSetupExtension();
static final int TWO_MAX_LIST_ITEMS = 2;
private XtaClient setupClient;
private XtaClient silentTestClient;
private XtaClient testClient;
private List<XtaMessageMetaData> supportCheckedMetadataItems;
......@@ -49,16 +49,17 @@ class XtaClientITCase {
supportCheckedMetadataItems = new ArrayList<>();
isSupportedDummy = (metaData) -> true;
processedMessages = new ArrayList<>();
setupClient = XTA_TEST_SERVER_SETUP_EXTENSION.getSetupClient();
silentTestClient = XTA_TEST_SERVER_SETUP_EXTENSION.getSilentTestClient();
StaticStringListAppender.clearLogLines();
closeMessagesForAllReaders();
}
private void closeMessagesForAllReaders() {
closeAllMessages(setupClient, READER_CLIENT_IDENTIFIER1);
closeAllMessages(setupClient, READER_CLIENT_IDENTIFIER2);
closeAllMessages(setupClient, READER_CLIENT_IDENTIFIER3);
var silentTestClientConfig = XTA_TEST_SERVER_SETUP_EXTENSION.getSilentTestClientConfig();
closeAllMessages(silentTestClientConfig, READER_CLIENT_IDENTIFIER1);
closeAllMessages(silentTestClientConfig, READER_CLIENT_IDENTIFIER2);
closeAllMessages(silentTestClientConfig, READER_CLIENT_IDENTIFIER3);
}
@DisplayName("fetch messages")
......@@ -79,7 +80,7 @@ class XtaClientITCase {
createMessage("versammlungsanzeige", AUTHOR_CLIENT_IDENTIFIER3, READER_CLIENT_IDENTIFIER3)
);
sendMessageIds = sendMessages.stream()
.map(message -> sendTestMessage(setupClient, message))
.map(message -> sendTestMessage(silentTestClient, message))
.toList();
}
......@@ -138,7 +139,7 @@ class XtaClientITCase {
assertThatMessages(processedMessages).containExactlyInAnyOrder(sendMessages.getFirst());
assertThatTransportReports(transportReports)
.reportExactlyFor(processedMessages)
.haveExactlyGreenStatusFor(messageIdBySendIndex(0));
.haveExactlyClosedStatusFor(messageIdBySendIndex(0));
}
@DisplayName("should fetch messages from second reader")
......@@ -152,7 +153,7 @@ class XtaClientITCase {
assertThatMessages(processedMessages).containExactlyInAnyOrder(sendMessages.get(1), sendMessages.get(2), sendMessages.get(3));
assertThatTransportReports(transportReports)
.reportExactlyFor(processedMessages)
.haveExactlyGreenStatusFor(messageIdBySendIndex(1), messageIdBySendIndex(2), messageIdBySendIndex(3));
.haveExactlyClosedStatusFor(messageIdBySendIndex(1), messageIdBySendIndex(2), messageIdBySendIndex(3));
}
@DisplayName("should fetch messages from first and second reader")
......@@ -169,7 +170,7 @@ class XtaClientITCase {
);
assertThatTransportReports(transportReports)
.reportExactlyFor(processedMessages)
.haveExactlyGreenStatusFor(
.haveExactlyClosedStatusFor(
messageIdBySendIndex(0),
messageIdBySendIndex(1), messageIdBySendIndex(2), messageIdBySendIndex(3)
);
......@@ -190,7 +191,7 @@ class XtaClientITCase {
);
assertThatTransportReports(transportReports)
.reportExactlyFor(processedMessages)
.haveExactlyGreenStatusFor(
.haveExactlyClosedStatusFor(
messageIdBySendIndex(0),
messageIdBySendIndex(1), messageIdBySendIndex(2), messageIdBySendIndex(3),
messageIdBySendIndex(4), messageIdBySendIndex(5)
......@@ -214,7 +215,7 @@ class XtaClientITCase {
);
assertThatTransportReports(transportReports)
.reportExactlyFor(processedMessages)
.haveExactlyGreenStatusFor(
.haveExactlyClosedStatusFor(
messageIdBySendIndex(0),
messageIdBySendIndex(1), messageIdBySendIndex(2)
);
......@@ -237,7 +238,7 @@ class XtaClientITCase {
);
assertThatTransportReports(transportReports)
.reportExactlyFor(processedMessages)
.haveExactlyGreenStatusFor(
.haveExactlyClosedStatusFor(
messageIdBySendIndex(5)
);
}
......@@ -263,7 +264,7 @@ class XtaClientITCase {
assertThatMessages(processedMessages).containExactlyInAnyOrder(sendMessages.get(0), sendMessages.get(1), sendMessages.get(2));
assertThatTransportReports(transportReports)
.reportExactlyFor(processedMessages)
.haveExactlyGreenStatusFor(messageIdBySendIndex(0), messageIdBySendIndex(1), messageIdBySendIndex(2));
.haveExactlyClosedStatusFor(messageIdBySendIndex(0), messageIdBySendIndex(1), messageIdBySendIndex(2));
}
@DisplayName("should process messages only if supported, with support for author3")
......@@ -279,7 +280,7 @@ class XtaClientITCase {
assertThatMessages(processedMessages).containExactlyInAnyOrder(sendMessages.get(5));
assertThatTransportReports(transportReports)
.reportExactlyFor(processedMessages)
.haveExactlyGreenStatusFor(messageIdBySendIndex(5));
.haveExactlyClosedStatusFor(messageIdBySendIndex(5));
}
@SneakyThrows
......@@ -339,7 +340,7 @@ class XtaClientITCase {
@Test
@SneakyThrows
void shouldReturnTransportReportWithOpenStatus() {
var transportReport = setupClient.sendMessage(message);
var transportReport = silentTestClient.sendMessage(message);
assertThat(transportReport.status()).isEqualTo(XtaMessageStatus.OPEN);
}
......
......@@ -77,8 +77,8 @@ class XtaClientRemoteITCase {
silentDevClient = XTA_REMOTE_SERVER_SETUP_EXTENSION.getSilentDevClient();
// Fail if any message pending, to ensure that we do not clear existing messages in the DEV environment
failIfAnyMessagePending(silentDevClient, DEV_READER_CLIENT_IDENTIFIER);
failIfAnyMessagePending(silentTestClient, TEST_READER_CLIENT_IDENTIFIER);
failIfAnyMessagePending(XTA_REMOTE_SERVER_SETUP_EXTENSION.getSilentDevClientConfig(), DEV_READER_CLIENT_IDENTIFIER);
failIfAnyMessagePending(XTA_REMOTE_SERVER_SETUP_EXTENSION.getSilentTestClientConfig(), TEST_READER_CLIENT_IDENTIFIER);
StaticStringListAppender.clearLogLines();
}
......@@ -89,8 +89,8 @@ class XtaClientRemoteITCase {
}
private void closeMessagesForAllReaders() {
closeAllMessages(silentDevClient, DEV_READER_CLIENT_IDENTIFIER);
closeAllMessages(silentTestClient, TEST_READER_CLIENT_IDENTIFIER);
closeAllMessages(XTA_REMOTE_SERVER_SETUP_EXTENSION.getSilentDevClientConfig(), DEV_READER_CLIENT_IDENTIFIER);
closeAllMessages(XTA_REMOTE_SERVER_SETUP_EXTENSION.getSilentTestClientConfig(), TEST_READER_CLIENT_IDENTIFIER);
}
@DisplayName("fetch messages")
......@@ -153,7 +153,7 @@ class XtaClientRemoteITCase {
assertThatMessages(processedMessages).containExactlyInAnyOrder(sendMessages.getFirst());
assertThatTransportReports(transportReports)
.reportExactlyFor(processedMessages)
.haveExactlyGreenStatusFor(messageIdBySendIndex(0));
.haveExactlyClosedStatusFor(messageIdBySendIndex(0));
}
@DisplayName("should fetch messages from second reader")
......@@ -167,7 +167,7 @@ class XtaClientRemoteITCase {
assertThatMessages(processedMessages).containExactlyInAnyOrder(sendMessages.get(1), sendMessages.get(2), sendMessages.get(3));
assertThatTransportReports(transportReports)
.reportExactlyFor(processedMessages)
.haveExactlyGreenStatusFor(messageIdBySendIndex(1), messageIdBySendIndex(2), messageIdBySendIndex(3));
.haveExactlyClosedStatusFor(messageIdBySendIndex(1), messageIdBySendIndex(2), messageIdBySendIndex(3));
}
@DisplayName("should fetch messages from first and second reader")
......@@ -184,7 +184,7 @@ class XtaClientRemoteITCase {
);
assertThatTransportReports(transportReports)
.reportExactlyFor(processedMessages)
.haveExactlyGreenStatusFor(
.haveExactlyClosedStatusFor(
messageIdBySendIndex(0),
messageIdBySendIndex(1), messageIdBySendIndex(2), messageIdBySendIndex(3)
);
......@@ -194,11 +194,11 @@ class XtaClientRemoteITCase {
private void setupClientsWithIdentifiers(List<XtaIdentifier> identifiers) {
devClient = createClientWithIdentifiersAndClientCert(
identifiers,
XTA_REMOTE_SERVER_SETUP_EXTENSION.getDevClientCertKeyStore()
XTA_REMOTE_SERVER_SETUP_EXTENSION.getDevClientConfig().getClientCertKeystore()
);
testClient = createClientWithIdentifiersAndClientCert(
identifiers,
XTA_REMOTE_SERVER_SETUP_EXTENSION.getTestClientCertKeyStore()
XTA_REMOTE_SERVER_SETUP_EXTENSION.getTestClientConfig().getClientCertKeystore()
);
}
......
......@@ -14,7 +14,6 @@ import de.ozgcloud.xta.client.XtaClient;
import de.ozgcloud.xta.client.XtaClientFactory;
import de.ozgcloud.xta.client.config.XtaClientConfig;
import de.ozgcloud.xta.client.core.WrappedXtaService;
import lombok.Getter;
import lombok.Setter;
import lombok.SneakyThrows;
......@@ -26,11 +25,13 @@ import lombok.extern.slf4j.Slf4j;
public class XtaRemoteServerSetupExtension implements BeforeAllCallback {
private XtaClient testClient;
private XtaClientConfig testClientConfig;
private XtaClient silentTestClient;
private XtaClientConfig.KeyStore testClientCertKeyStore;
private XtaClientConfig silentTestClientConfig;
private XtaClient devClient;
private XtaClientConfig devClientConfig;
private XtaClient silentDevClient;
private XtaClientConfig.KeyStore devClientCertKeyStore;
private XtaClientConfig silentDevClientConfig;
private WrappedXtaService service;
private XtaClientFactory clientFactory;
......@@ -40,12 +41,23 @@ public class XtaRemoteServerSetupExtension implements BeforeAllCallback {
@Override
@SneakyThrows
public void beforeAll(ExtensionContext context) {
testClientCertKeyStore = createClientCertKeyStore(getEnvVar("KOP_SH_KIEL_TEST_PATH"), getEnvVar("KOP_SH_KIEL_TEST_PASSWORD"));
testClient = setupClient(testClientCertKeyStore, true);
silentTestClient = setupClient(testClientCertKeyStore, false);
devClientCertKeyStore = createClientCertKeyStore(getEnvVar("KOP_SH_KIEL_DEV_PATH"), getEnvVar("KOP_SH_KIEL_DEV_PASSWORD"));
devClient = setupClient(devClientCertKeyStore, true);
silentDevClient = setupClient(devClientCertKeyStore, false);
testClientConfig = createClientConfig(
createClientCertKeyStore(getEnvVar("KOP_SH_KIEL_TEST_PATH"), getEnvVar("KOP_SH_KIEL_TEST_PASSWORD")),
true);
testClient = XtaClient.from(testClientConfig);
silentTestClientConfig = createClientConfig(
testClientConfig.getClientCertKeystore(),
false);
silentTestClient = XtaClient.from(silentTestClientConfig);
devClientConfig = createClientConfig(
createClientCertKeyStore(getEnvVar("KOP_SH_KIEL_DEV_PATH"), getEnvVar("KOP_SH_KIEL_DEV_PASSWORD")),
true);
silentDevClientConfig = createClientConfig(
devClientConfig.getClientCertKeystore(),
false);
devClient = XtaClient.from(devClientConfig);
silentDevClient = XtaClient.from(silentDevClientConfig);
}
private XtaClientConfig.KeyStore createClientCertKeyStore(String clientCertKeystorePath, String clientCertKeystorePassword) {
......@@ -57,19 +69,18 @@ public class XtaRemoteServerSetupExtension implements BeforeAllCallback {
}
@SneakyThrows
XtaClient setupClient(XtaClientConfig.KeyStore clientCertKeyStore, boolean verbose) {
return XtaClient.from(createSpecificClientConfigBuilder()
XtaClientConfig createClientConfig(XtaClientConfig.KeyStore clientCertKeyStore, boolean verbose) {
return createSpecificClientConfigBuilder()
.logSoapRequests(verbose)
.logSoapResponses(verbose)
.clientCertKeystore(clientCertKeyStore)
.build());
.build();
}
private String getEnvVar(String name) {
return Objects.requireNonNull(System.getenv(name), "Environment variable " + name + " is required!");
}
@SneakyThrows
private static byte[] readBytesFromFile(String path) {
return Files.toByteArray(new File(path));
......
......@@ -5,15 +5,15 @@ import static org.assertj.core.api.Assertions.*;
import java.util.Arrays;
import java.util.List;
import java.util.Set;
import java.util.function.Function;
import java.util.function.UnaryOperator;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
import de.ozgcloud.xta.client.XtaClient;
import de.ozgcloud.xta.client.config.XtaClientConfig;
import de.ozgcloud.xta.client.core.WrappedXtaService;
import de.ozgcloud.xta.client.core.XtaClientService;
import de.ozgcloud.xta.client.core.WrappedXtaServiceFactory;
import de.ozgcloud.xta.client.exception.XtaClientRuntimeException;
import de.ozgcloud.xta.client.model.XtaFile;
import de.ozgcloud.xta.client.model.XtaIdentifier;
......@@ -76,12 +76,6 @@ public class XtaServerSetupExtensionTestUtil {
.logSoapResponses(true);
}
@SneakyThrows
public static String sendTestMessage(XtaClient client, XtaMessageExampleLoader.MessageExampleConfig messageExampleConfig) {
var message = XtaMessageExampleLoader.load(messageExampleConfig);
return sendTestMessage(client, message);
}
@SneakyThrows
public static String sendTestMessage(XtaClient client, XtaMessage message) {
try {
......@@ -108,8 +102,8 @@ public class XtaServerSetupExtensionTestUtil {
}
@SneakyThrows
public static void failIfAnyMessagePending(XtaClient client, XtaIdentifier clientId) {
var wrappedService = getWrappedService(client);
public static void failIfAnyMessagePending(XtaClientConfig config, XtaIdentifier clientId) {
var wrappedService = createWrappedService(config);
var result = wrappedService.getStatusList(clientId, 1);
if (!result.messages().isEmpty()) {
fail("Expect no pending xta-messages for reader %s! Ensure that the mailbox is empty before running this test.".formatted(
......@@ -118,8 +112,8 @@ public class XtaServerSetupExtensionTestUtil {
}
@SneakyThrows
public static void closeAllMessages(XtaClient client, XtaIdentifier clientId) {
var wrappedService = getWrappedService(client);
public static void closeAllMessages(XtaClientConfig config, XtaIdentifier clientId) {
var wrappedService = createWrappedService(config);
var result = wrappedService.getStatusList(clientId, 100);
var messageIds = result.messages().stream()
......@@ -130,17 +124,9 @@ public class XtaServerSetupExtensionTestUtil {
}
}
private static WrappedXtaService getWrappedService(XtaClient client) {
XtaClientService clientService = getPrivateFieldValue(client, "service");
return getPrivateFieldValue(clientService, "service");
}
@SuppressWarnings("unchecked")
@SneakyThrows
private static <T> T getPrivateFieldValue(Object object, String fieldName) {
var field = object.getClass().getDeclaredField(fieldName);
field.setAccessible(true);
return (T) field.get(object);
private static WrappedXtaService createWrappedService(XtaClientConfig config) {
return WrappedXtaServiceFactory.from(config).create();
}
public static XtaMessageMetaData withoutMessageIdAndSize(XtaMessageMetaData metaData) {
......@@ -157,35 +143,64 @@ public class XtaServerSetupExtensionTestUtil {
}
public record MessagesAssert(List<XtaMessage> processedMessages) {
public MessagesAssert containExactlyInAnyOrder(XtaMessage... messages) {
try {
containMetaDataExactlyInAnyOrder(Arrays.stream(messages)
containExactlyInAnyOrderRaw(messages);
} catch (AssertionError | RuntimeException e) {
log.error("Messages do not exactly contain excepted messages!");
throw e;
}
return this;
}
private void containExactlyInAnyOrderRaw(XtaMessage... messages) {
var messageMetaData = Arrays.stream(messages)
.map(XtaMessage::metaData)
.toArray(XtaMessageMetaData[]::new)
);
.toArray(XtaMessageMetaData[]::new);
containMetaDataExactlyInAnyOrder(messageMetaData);
// Assert equal message file and attachment files without content (ignoring size since it may be null before sending)
UnaryOperator<XtaFile> withoutContentAndSize = xtaFile -> xtaFile.toBuilder()
.content(null)
.size(null)
.build();
assertEqualMessageFileWithoutContent(messages);
assertEqualAttachmentFilesWithoutContent(messages);
assertEqualContentOfMessageFile(messages);
assertEqualContentOfAttachmentFiles(messages);
}
private void assertEqualMessageFileWithoutContent(XtaMessage... messages) {
// ignoring size since it may be null before sending
assertThat(processedMessages)
.extracting(XtaMessage::messageFile)
.extracting(withoutContentAndSize)
.extracting(this::withoutContentAndSize)
.containsExactlyInAnyOrderElementsOf(Arrays.stream(messages)
.map(XtaMessage::messageFile)
.map(withoutContentAndSize)
.map(this::withoutContentAndSize)
.toList());
UnaryOperator<List<XtaFile>> filesWithoutContentAndSize = fileList -> fileList.stream().map(withoutContentAndSize).toList();
}
private void assertEqualAttachmentFilesWithoutContent(XtaMessage... messages) {
// ignoring size since it may be null before sending
assertThat(processedMessages)
.extracting(XtaMessage::attachmentFiles)
.extracting(filesWithoutContentAndSize)
.extracting(this::filesWithoutContentAndSize)
.containsExactlyInAnyOrderElementsOf(Arrays.stream(messages)
.map(XtaMessage::attachmentFiles)
.map(filesWithoutContentAndSize)
.map(this::filesWithoutContentAndSize)
.toList());
}
// Assert equal content of message file
private List<XtaFile> filesWithoutContentAndSize(List<XtaFile> fileList) {
return fileList.stream().map(this::withoutContentAndSize).toList();
}
private XtaFile withoutContentAndSize(XtaFile xtaFile) {
return xtaFile.toBuilder()
.content(null)
.size(null)
.build();
}
private void assertEqualContentOfMessageFile(XtaMessage... messages) {
var listOfMessageFileContents = processedMessages.stream()
.map(XtaMessage::messageFile)
.map(XtaServerSetupExtensionTestUtil::readBytesOfXtaFile)
......@@ -194,13 +209,13 @@ public class XtaServerSetupExtensionTestUtil {
.map(XtaMessage::messageFile)
.map(XtaServerSetupExtensionTestUtil::readBytesOfXtaFile)
.toList();
Function<byte[], Integer> contentLength = b -> b.length;
assertThat(listOfMessageFileContents)
.extracting(contentLength)
.containsExactlyInAnyOrderElementsOf(exceptedListOfMessageFileContents.stream().map(contentLength).toList());
.extracting(b -> b.length)
.containsExactlyInAnyOrderElementsOf(exceptedListOfMessageFileContents.stream().map(b -> b.length).toList());
assertThat(listOfMessageFileContents).containsExactlyInAnyOrderElementsOf(exceptedListOfMessageFileContents);
}
// Assert equal content of attachment files
private void assertEqualContentOfAttachmentFiles(XtaMessage... messages) {
var attachmentFileContents = processedMessages.stream()
.map(XtaMessage::attachmentFiles)
.map(XtaServerSetupExtensionTestUtil::readBytesOfXtaFiles)
......@@ -209,13 +224,26 @@ public class XtaServerSetupExtensionTestUtil {
.map(XtaMessage::attachmentFiles)
.map(XtaServerSetupExtensionTestUtil::readBytesOfXtaFiles)
.toList();
Function<List<byte[]>, List<Integer>> contentLengths = contentList -> contentList.stream().map(contentLength).toList();
assertEqualLengthOfAttachmentFiles(attachmentFileContents, exceptedAttachmentFileContents);
assertEqualRawContentOfAttachmentFiles(attachmentFileContents, exceptedAttachmentFileContents);
}
private void assertEqualLengthOfAttachmentFiles(List<List<byte[]>> attachmentFileContents,
List<List<byte[]>> exceptedAttachmentFileContents) {
Function<List<byte[]>, List<Integer>> contentLengths = contentList -> contentList.stream().map(b -> b.length).toList();
assertThat(attachmentFileContents)
.extracting(contentLengths)
.containsExactlyInAnyOrderElementsOf(exceptedAttachmentFileContents.stream().map(contentLengths).toList());
}
private void assertEqualRawContentOfAttachmentFiles(List<List<byte[]>> attachmentFileContents,
List<List<byte[]>> exceptedAttachmentFileContents) {
assertThat(attachmentFileContents)
.usingElementComparator((a, b) -> {
.usingElementComparator(this::compareAttachmentFiles)
.containsExactlyInAnyOrderElementsOf(exceptedAttachmentFileContents);
}
private int compareAttachmentFiles(List<byte[]> a, List<byte[]> b) {
var sizeComparison = Integer.compare(a.size(), b.size());
return sizeComparison != 0
? sizeComparison
......@@ -224,14 +252,6 @@ public class XtaServerSetupExtensionTestUtil {
.filter(i -> i != 0)
.findFirst()
.orElse(0);
})
.containsExactlyInAnyOrderElementsOf(exceptedAttachmentFileContents);
} catch (AssertionError | RuntimeException e) {
log.error("Messages do not exactly contain excepted messages!");
throw e;
}
return this;
}
public void containMetaDataExactlyInAnyOrder(XtaMessageMetaData... messageMetaDataItems) {
......@@ -260,8 +280,21 @@ public class XtaServerSetupExtensionTestUtil {
public record TransportReportsAssert(List<XtaTransportReport> transportReports) {
public TransportReportsAssert reportExactlyFor(List<XtaMessage> processedMessages) {
try {
reportExactlyForRaw(processedMessages);
} catch (AssertionError | RuntimeException e) {
log.error("TransportReports do not exactly match messages metadata!");
throw e;
}
return this;
}
private void reportExactlyForRaw(List<XtaMessage> processedMessages) {
assertThat(transportReports).hasSize(processedMessages.size());
// Compare message ids
assertEqualMessageId(processedMessages);
assertEqualMessageMetadata(processedMessages);
}
private void assertEqualMessageId(List<XtaMessage> processedMessages) {
assertThat(transportReports)
.extracting(XtaTransportReport::metaData)
.extracting(XtaMessageMetaData::messageId)
......@@ -269,7 +302,10 @@ public class XtaServerSetupExtensionTestUtil {
.map(XtaMessage::metaData)
.map(XtaMessageMetaData::messageId)
.toList());
// Compare message metadata (ignoring size since it may be null for transport report (due to message closed?))
}
private void assertEqualMessageMetadata(List<XtaMessage> processedMessages) {
// ignoring size since it may be null for transport report (due to message closed?)
assertThat(transportReports)
.extracting(XtaTransportReport::metaData)
.extracting(XtaServerSetupExtensionTestUtil::withoutMessageSize)
......@@ -277,27 +313,34 @@ public class XtaServerSetupExtensionTestUtil {
.map(XtaMessage::metaData)
.map(XtaServerSetupExtensionTestUtil::withoutMessageSize)
.toList());
}
public TransportReportsAssert haveExactlyClosedStatusFor(String... messageIds) {
try {
haveExactlyClosedStatusForRaw(messageIds);
} catch (AssertionError | RuntimeException e) {
log.error("TransportReports do not exactly match messages metadata!");
log.error("TransportReports do not have excepted green status for messageIds!");
throw e;
}
return this;
}
public TransportReportsAssert haveExactlyGreenStatusFor(String... messageIds) {
try {
private void haveExactlyClosedStatusForRaw(String... messageIds) {
var setOfMessageIds = Arrays.stream(messageIds).collect(Collectors.toSet());
assertThat(transportReports)
.allMatch(transportReport ->
transportReport.status().equals(XtaMessageStatus.GREEN) == setOfMessageIds
.contains(transportReport.metaData().messageId())
isClosed(transportReport) == expectIsClosed(transportReport, setOfMessageIds)
);
} catch (AssertionError | RuntimeException e) {
log.error("TransportReports do not have excepted green status for messageIds!");
throw e;
}
return this;
private boolean expectIsClosed(XtaTransportReport transportReport, Set<String> messageIds) {
return messageIds.contains(transportReport.metaData().messageId());
}
private boolean isClosed(XtaTransportReport transportReport) {
return !transportReport.status().equals(XtaMessageStatus.OPEN);
}
}
......
......@@ -32,7 +32,8 @@ public class XtaTestServerSetupExtension implements BeforeAllCallback, AfterAllC
private static final String XTA_TEST_SERVER_TRUSTSTORE_PATH = "store/xta-test-server-truststore.jks";
private static final String XTA_TEST_SERVER_TRUSTSTORE_PASSWORD = "password";
private XtaClient setupClient;
private XtaClient silentTestClient;
private XtaClientConfig silentTestClientConfig;
private XtaClientFactory clientFactory;
private XtaTestServerContainer xtaServerContainer;
private XtaClientConfig.KeyStore clientCertKeyStore;
......@@ -60,10 +61,11 @@ public class XtaTestServerSetupExtension implements BeforeAllCallback, AfterAllC
.type("JKS")
.password(XTA_TEST_SERVER_TRUSTSTORE_PASSWORD.toCharArray())
.build();
setupClient = XtaClient.from(createSpecificClientConfigBuilder()
silentTestClientConfig = createSpecificClientConfigBuilder()
.logSoapRequests(false)
.logSoapResponses(false)
.build());
.build();
silentTestClient = XtaClient.from(silentTestClientConfig);
}
private void setupServer() {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment