refactor: Splitted test in `AbstractConfigurationIT` into smaler pieces
authorKai Moritz <kai@juplo.de>
Fri, 15 Sep 2023 15:29:05 +0000 (17:29 +0200)
committerKai Moritz <kai@juplo.de>
Sat, 27 Jan 2024 15:04:40 +0000 (16:04 +0100)
src/test/java/de/juplo/kafka/chat/backend/AbstractConfigurationIT.java

index 1b4cf38..27ede41 100644 (file)
@@ -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,72 +16,95 @@ 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(
-                  "http://localhost:{port}/actuator/health",
-                  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!");
-        });
+            webTestClient
+                .get()
+                .uri(
+                    "http://localhost:{port}/actuator/health",
+                    port)
+                .exchange()
+                .expectStatus().isOk()
+                .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