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

OZG-6891 KOP-2733 Use messageIds from sendMessage

parent eabf450e
No related branches found
No related tags found
No related merge requests found
......@@ -17,7 +17,6 @@ import org.junit.jupiter.api.Nested;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.RegisterExtension;
import de.ozgcloud.common.errorhandling.TechnicalException;
import de.ozgcloud.xta.client.extension.StaticStringListAppender;
import de.ozgcloud.xta.client.extension.XtaMessageExampleLoader;
import de.ozgcloud.xta.client.extension.XtaTestServerSetupExtension;
......@@ -57,8 +56,9 @@ class XtaClientITCase {
}
private void closeMessagesForAllReaders() {
Stream.of(READER_CLIENT_IDENTIFIER1, READER_CLIENT_IDENTIFIER2, READER_CLIENT_IDENTIFIER3)
.forEach(clientId -> closeAllMessages(setupClient, clientId));
closeAllMessages(setupClient, READER_CLIENT_IDENTIFIER1);
closeAllMessages(setupClient, READER_CLIENT_IDENTIFIER2);
closeAllMessages(setupClient, READER_CLIENT_IDENTIFIER3);
}
......@@ -67,6 +67,7 @@ class XtaClientITCase {
class TestFetchMessages {
private List<XtaMessage> sendMessages;
private List<String> sendMessageIds;
@BeforeEach
void setup() {
......@@ -78,7 +79,9 @@ class XtaClientITCase {
createMessage("versammlungsanzeige", AUTHOR_CLIENT_IDENTIFIER2, READER_CLIENT_IDENTIFIER3),
createMessage("versammlungsanzeige", AUTHOR_CLIENT_IDENTIFIER3, READER_CLIENT_IDENTIFIER3)
);
sendMessages.forEach(message -> sendTestMessage(setupClient, message));
sendMessageIds = sendMessages.stream()
.map(message -> sendTestMessage(setupClient, message))
.toList();
}
private XtaMessage createMessage(String messageLabel, XtaIdentifier author, XtaIdentifier reader) {
......@@ -346,18 +349,7 @@ class XtaClientITCase {
}
private String messageIdBySendIndex(int sendIndex) {
var expectedMessageMetadata = withoutMessageIdAndSize(sendMessages.get(sendIndex).metaData());
var messageIds = processedMessages.stream()
.map(XtaMessage::metaData)
.filter(metaData -> withoutMessageIdAndSize(metaData).equals(expectedMessageMetadata))
.map(XtaMessageMetaData::messageId)
.toList();
if (messageIds.size() != 1) {
throw new TechnicalException(
"Expected exactly one message id for send index %d, but found %d!".formatted(sendIndex, messageIds.size())
+ "Ensure that all test messages have unique metadata!");
}
return messageIds.getFirst();
return sendMessageIds.get(sendIndex);
}
private List<XtaTransportReport> fetchMessages() {
......
......@@ -13,7 +13,6 @@ import java.util.stream.Stream;
import org.junit.Ignore;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Nested;
......@@ -53,27 +52,16 @@ class XtaClientRemoteITCase {
private static final XdomeaXtaMessageCreator XDOMEA_XTA_MESSAGE_CREATOR = XdomeaXtaMessageCreator.createInstance();
private static XtaClient testClient;
private static XtaClient silentTestClient;
private static XtaClient devClient;
private static XtaClient silentDevClient;
private XtaClient testClient;
private XtaClient silentTestClient;
private XtaClient devClient;
private XtaClient silentDevClient;
private List<XtaMessageMetaData> supportCheckedMetadataItems;
private List<XtaMessage> processedMessages;
private Consumer<XtaMessage> processMessageDummy;
private Predicate<XtaMessageMetaData> isSupportedDummy;
@BeforeAll
static void checkNoMessagePending() {
testClient = XTA_REMOTE_SERVER_SETUP_EXTENSION.getTestClient();
silentTestClient = XTA_REMOTE_SERVER_SETUP_EXTENSION.getSilentTestClient();
devClient = XTA_REMOTE_SERVER_SETUP_EXTENSION.getDevClient();
silentDevClient = XTA_REMOTE_SERVER_SETUP_EXTENSION.getSilentDevClient();
throwIfAnyMessagePending(silentDevClient, DEV_READER_CLIENT_IDENTIFIER);
throwIfAnyMessagePending(silentTestClient, TEST_READER_CLIENT_IDENTIFIER);
}
@BeforeEach
@SneakyThrows
void setup() {
......@@ -82,6 +70,16 @@ class XtaClientRemoteITCase {
supportCheckedMetadataItems = new ArrayList<>();
isSupportedDummy = (metaData) -> true;
processedMessages = new ArrayList<>();
testClient = XTA_REMOTE_SERVER_SETUP_EXTENSION.getTestClient();
silentTestClient = XTA_REMOTE_SERVER_SETUP_EXTENSION.getSilentTestClient();
devClient = XTA_REMOTE_SERVER_SETUP_EXTENSION.getDevClient();
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);
StaticStringListAppender.clearLogLines();
}
......
......@@ -69,8 +69,6 @@ public class XtaServerSetupExtensionTestUtil {
.name("Kreisordnungsbehörde Dithmarschen")
.build();
public static XtaClientConfig.XtaClientConfigBuilder createClientConfigBuilder() {
return XtaClientConfig.builder()
.clientIdentifiers(emptyList())
......@@ -110,11 +108,12 @@ public class XtaServerSetupExtensionTestUtil {
}
@SneakyThrows
public static void throwIfAnyMessagePending(XtaClient client, XtaIdentifier clientId) {
public static void failIfAnyMessagePending(XtaClient client, XtaIdentifier clientId) {
var wrappedService = getWrappedService(client);
var result = wrappedService.getStatusList(clientId, 1);
if (!result.messages().isEmpty()) {
fail("Expect no pending xta-messages for reader %s!".formatted(clientId.value()));
fail("Expect no pending xta-messages for reader %s! Ensure that the mailbox is empty before running this test.".formatted(
clientId.value()));
}
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment