X-Git-Url: http://juplo.de/gitweb/?a=blobdiff_plain;f=src%2Ftest%2Fjava%2Fde%2Fjuplo%2Fkafka%2Fchat%2Fbackend%2FAbstractConfigurationIT.java;h=c639f70a9f36f8e6c4457487d5772106fc8e5514;hb=3bde6637da603741a317b63c5e5d06959d53c804;hp=41618e56c488e440f1c0cf1e3955d5d9190f8f47;hpb=e2c3774ce9f781fc48f5bcc18c4342796728d450;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 41618e56..c639f70a 100644 --- a/src/test/java/de/juplo/kafka/chat/backend/AbstractConfigurationIT.java +++ b/src/test/java/de/juplo/kafka/chat/backend/AbstractConfigurationIT.java @@ -9,6 +9,7 @@ import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.web.server.LocalServerPort; import org.springframework.http.MediaType; +import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.web.reactive.server.WebTestClient; import org.testcontainers.shaded.org.awaitility.Awaitility; @@ -22,6 +23,7 @@ import static org.hamcrest.Matchers.endsWith; @Slf4j +@DirtiesContext public abstract class AbstractConfigurationIT { final static String EXISTING_CHATROOM = "5c73531c-6fc4-426c-adcb-afc5c140a0f7"; @@ -191,7 +193,8 @@ public abstract class AbstractConfigurationIT .atMost(Duration.ofSeconds(15)) .untilAsserted(() -> { - byte[] result = webTestClient + // The first request creates a new chat-room + ChatRoomInfoTo chatRoomInfo = webTestClient .post() .uri("http://localhost:{port}/create", port) .contentType(MediaType.TEXT_PLAIN) @@ -199,21 +202,20 @@ public abstract class AbstractConfigurationIT .accept(MediaType.APPLICATION_JSON) .exchange() .expectStatus().isOk() - .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)) - .returnResult() - .getResponseBody(); - ChatRoomInfoTo chatRoomInfo = objectMapper.readValue(result, ChatRoomInfoTo.class); - UUID chatRoomId = chatRoomInfo.getId(); + .returnResult(ChatRoomInfoTo.class) + .getResponseBody() + .blockFirst(); + + // It must be repeated, until a chat-room was created, + // that is owned by the instance + assertThat(chatRoomInfo.getShard()).isIn(2, null); + webTestClient .put() .uri( "http://localhost:{port}/{chatRoomId}/nerd/7", port, - chatRoomId) + chatRoomInfo.getId()) .contentType(MediaType.TEXT_PLAIN) .accept(MediaType.APPLICATION_JSON) .bodyValue("Hello world!")