X-Git-Url: http://juplo.de/gitweb/?a=blobdiff_plain;f=src%2Ftest%2Fjava%2Fde%2Fjuplo%2Fkafka%2Fchat%2Fbackend%2FAbstractConfigurationIT.java;fp=src%2Ftest%2Fjava%2Fde%2Fjuplo%2Fkafka%2Fchat%2Fbackend%2FAbstractConfigurationIT.java;h=3f25cedfb314f0ec50657225fe09fcb2ac967d2f;hb=ad2750e7cc30a885119c2ef3396374d81c3806ed;hp=21605bc1d38b8c7475a3b2f3bb77d4218df323f2;hpb=b2d60ed2df0394f62dce00992e53d0786921b4db;p=demos%2Fkafka%2Fchat diff --git a/src/test/java/de/juplo/kafka/chat/backend/AbstractConfigurationIT.java b/src/test/java/de/juplo/kafka/chat/backend/AbstractConfigurationIT.java index 21605bc1..3f25cedf 100644 --- a/src/test/java/de/juplo/kafka/chat/backend/AbstractConfigurationIT.java +++ b/src/test/java/de/juplo/kafka/chat/backend/AbstractConfigurationIT.java @@ -3,6 +3,8 @@ package de.juplo.kafka.chat.backend; import com.fasterxml.jackson.databind.ObjectMapper; import de.juplo.kafka.chat.backend.api.ChatRoomInfoTo; import lombok.extern.slf4j.Slf4j; +import org.hamcrest.BaseMatcher; +import org.hamcrest.Description; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; @@ -193,6 +195,9 @@ public abstract class AbstractConfigurationIT .atMost(Duration.ofSeconds(15)) .untilAsserted(() -> { + // The first request creates a new chat-room + // It must be repeated, until a chat-room was created, + // that is owned by the instance byte[] result = webTestClient .post() .uri("http://localhost:{port}/create", port) @@ -204,8 +209,21 @@ public abstract class AbstractConfigurationIT .expectBody() .jsonPath("$.id").exists() .jsonPath("$.name").isEqualTo("bar") - // The hard must not be asserted, because not all implementations ar aware of it - // .jsonPath("$.shard").isEqualTo(Integer.valueOf(2)) + .jsonPath("$.shard").value(new BaseMatcher() { + @Override + public boolean matches(Object actual) + { + return actual == null + ? true + : actual.equals(Integer.valueOf(2)); + } + + @Override + public void describeTo(Description description) + { + description.appendText("shard has expected value 2, or is empty"); + } + }) .returnResult() .getResponseBody(); ChatRoomInfoTo chatRoomInfo = objectMapper.readValue(result, ChatRoomInfoTo.class);