+ @Autowired
+ ObjectMapper objectMapper;
+
+
+ @BeforeEach
+ void waitForApp()
+ {
+ Awaitility
+ .await()
+ .atMost(Duration.ofSeconds(15))
+ .untilAsserted(() ->
+ 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...");
+ }