From: Kai Moritz Date: Fri, 15 Sep 2023 15:29:05 +0000 (+0200) Subject: refactor: Splitted test in `AbstractConfigurationIT` into smaler pieces X-Git-Tag: rebase--2024-01-27--15-46~11 X-Git-Url: https://juplo.de/gitweb/?a=commitdiff_plain;h=f49a7e1b208a8484e8feac7b79b68b1cf7958934;p=demos%2Fkafka%2Fchat refactor: Splitted test in `AbstractConfigurationIT` into smaler pieces --- 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 1b4cf38b..3c597f65 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,23 +16,22 @@ 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)) .untilAsserted(() -> - { webTestClient .get() .uri( @@ -39,48 +39,72 @@ public abstract class AbstractConfigurationIT port) .exchange() .expectStatus().isOk() - .expectBody().jsonPath("$.status").isEqualTo("UP"); - webTestClient - .get() - .uri( - "http://localhost:{port}/list", - port) - .accept(MediaType.APPLICATION_JSON) - .exchange() - .expectStatus().isOk() - .expectBody() - .jsonPath("$.length()").isEqualTo(1) - .jsonPath("$[0].name").isEqualTo("FOO"); - webTestClient - .get() - .uri("http://localhost:{port}/{chatRoomId}", - port, - chatRoomId) - .accept(MediaType.APPLICATION_JSON) - .exchange() - .expectStatus().isOk() - .expectBody().jsonPath("$.name").isEqualTo("FOO"); - webTestClient - .get() - .uri( - "http://localhost:{port}/{chatRoomId}/ute/1", - port, - chatRoomId) - .accept(MediaType.APPLICATION_JSON) - .exchange() - .expectStatus().isOk() - .expectBody().jsonPath("$.text").isEqualTo("Ich bin Ute..."); - webTestClient - .get() - .uri( - "http://localhost:{port}/{chatRoomId}/peter/1", - port, - chatRoomId) - .accept(MediaType.APPLICATION_JSON) - .exchange() - .expectStatus().isOk() - .expectBody().jsonPath("$.text").isEqualTo("Hallo, ich heiße Peter!"); - }); + .expectBody().jsonPath("$.status").isEqualTo("UP")); + } + + @Test + @DisplayName("Restored chat-rooms can be listed") + void testRestoredChatRoomsCanBeListed() + { + webTestClient + .get() + .uri( + "http://localhost:{port}/list", + port) + .accept(MediaType.APPLICATION_JSON) + .exchange() + .expectStatus().isOk() + .expectBody() + .jsonPath("$.length()").isEqualTo(1) + .jsonPath("$[0].name").isEqualTo("FOO"); + } + + @Test + @DisplayName("Details as expected for restored chat-room") + void testRestoredChatRoomHasExpectedDetails() + { + webTestClient + .get() + .uri( + "http://localhost:{port}/{chatRoomId}", + port, + 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() + { + webTestClient + .get() + .uri( + "http://localhost:{port}/{chatRoomId}/ute/1", + port, + 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() + { + webTestClient + .get() + .uri( + "http://localhost:{port}/{chatRoomId}/peter/1", + port, + EXISTING_CHATROOM) + .accept(MediaType.APPLICATION_JSON) + .exchange() + .expectStatus().isOk() + .expectBody().jsonPath("$.text").isEqualTo("Hallo, ich heiße Peter!"); } @Test