X-Git-Url: https://juplo.de/gitweb/?a=blobdiff_plain;f=src%2Ftest%2Fjava%2Fde%2Fjuplo%2Fkafka%2Fchat%2Fbackend%2FAbstractConfigurationIT.java;h=241972d8503542d378500a2cea61b3d246319299;hb=41c89e8f76917cbab07923b85691c4cf7cfaa0ff;hp=00734f2698183181e32bfd802170b80bba0b0f90;hpb=24e2917e5580e2ac2f5f9268082aa6b540b2268e;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 00734f26..241972d8 100644 --- a/src/test/java/de/juplo/kafka/chat/backend/AbstractConfigurationIT.java +++ b/src/test/java/de/juplo/kafka/chat/backend/AbstractConfigurationIT.java @@ -1,5 +1,6 @@ package de.juplo.kafka.chat.backend; +import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; @@ -15,18 +16,18 @@ import static org.hamcrest.Matchers.endsWith; public abstract class AbstractConfigurationIT { + final static String EXISTING_CHATROOM = "5c73531c-6fc4-426c-adcb-afc5c140a0f7"; + + @LocalServerPort int port; @Autowired WebTestClient webTestClient; - @Test - @DisplayName("The app starts, the data is restored and accessible") - void testAppStartsDataIsRestoredAndAccessible() + @BeforeEach + void waitForApp() { - String chatRoomId = "5c73531c-6fc4-426c-adcb-afc5c140a0f7"; - Awaitility .await() .atMost(Duration.ofSeconds(15)) @@ -40,6 +41,18 @@ public abstract class AbstractConfigurationIT .exchange() .expectStatus().isOk() .expectBody().jsonPath("$.status").isEqualTo("UP"); + }); + } + + @Test + @DisplayName("Restored chat-rooms can be listed") + void testRestoredChatRoomsCanBeListed() + { + Awaitility + .await() + .atMost(Duration.ofSeconds(15)) + .untilAsserted(() -> + { webTestClient .get() .uri( @@ -51,32 +64,68 @@ public abstract class AbstractConfigurationIT .expectBody() .jsonPath("$.length()").isEqualTo(1) .jsonPath("$[0].name").isEqualTo("FOO"); + }); + } + + @Test + @DisplayName("Details as expected for restored chat-room") + void testRestoredChatRoomHasExpectedDetails() + { + Awaitility + .await() + .atMost(Duration.ofSeconds(15)) + .untilAsserted(() -> + { webTestClient .get() .uri( "http://localhost:{port}/{chatRoomId}", port, - chatRoomId) + EXISTING_CHATROOM) .accept(MediaType.APPLICATION_JSON) .exchange() .expectStatus().isOk() .expectBody().jsonPath("$.name").isEqualTo("FOO"); + }); + } + + @Test + @DisplayName("Restored message from Ute has expected Text") + void testRestoredMessageForUteHasExpectedText() + { + Awaitility + .await() + .atMost(Duration.ofSeconds(15)) + .untilAsserted(() -> + { webTestClient .get() .uri( "http://localhost:{port}/{chatRoomId}/ute/1", port, - chatRoomId) + EXISTING_CHATROOM) .accept(MediaType.APPLICATION_JSON) .exchange() .expectStatus().isOk() .expectBody().jsonPath("$.text").isEqualTo("Ich bin Ute..."); + }); + } + + @Test + @DisplayName("Restored message from Peter has expected Text") + void testRestoredMessageForPeterHasExpectedText() + { + Awaitility + .await() + .atMost(Duration.ofSeconds(15)) + .untilAsserted(() -> + { webTestClient .get() .uri( "http://localhost:{port}/{chatRoomId}/peter/1", port, - chatRoomId) + EXISTING_CHATROOM) .accept(MediaType.APPLICATION_JSON) .exchange() .expectStatus().isOk()