X-Git-Url: http://juplo.de/gitweb/?a=blobdiff_plain;f=src%2Ftest%2Fjava%2Fde%2Fjuplo%2Fkafka%2Fchat%2Fbackend%2FAbstractConfigurationIT.java;fp=src%2Ftest%2Fjava%2Fde%2Fjuplo%2Fkafka%2Fchat%2Fbackend%2FAbstractConfigurationIT.java;h=8c309b84698b82efd864e2e5a136d5ed50cdf791;hb=e70011c8379dfc67d359947ebb88c067801317da;hp=0000000000000000000000000000000000000000;hpb=fd45f7f9e3b3d7a312af9112cae79a0c40172316;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 new file mode 100644 index 00000000..8c309b84 --- /dev/null +++ b/src/test/java/de/juplo/kafka/chat/backend/AbstractConfigurationIT.java @@ -0,0 +1,59 @@ +package de.juplo.kafka.chat.backend; + +import org.junit.jupiter.api.DisplayName; +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.web.reactive.server.WebTestClient; +import org.testcontainers.shaded.org.awaitility.Awaitility; + +import java.time.Duration; + + +public abstract class AbstractConfigurationIT +{ + @LocalServerPort + int port; + @Autowired + WebTestClient webTestClient; + + @Test + @DisplayName("The app starts, the data is restored and accessible") + void test() + { + 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}/5c73531c-6fc4-426c-adcb-afc5c140a0f7", port) + .accept(MediaType.APPLICATION_JSON) + .exchange() + .expectStatus().isOk() + .expectBody().jsonPath("$.name").isEqualTo("FOO"); + webTestClient + .get() + .uri("http://localhost:{port}/5c73531c-6fc4-426c-adcb-afc5c140a0f7/ute/1", port) + .accept(MediaType.APPLICATION_JSON) + .exchange() + .expectStatus().isOk() + .expectBody().jsonPath("$.text").isEqualTo("Ich bin Ute..."); + webTestClient + .get() + .uri("http://localhost:{port}/5c73531c-6fc4-426c-adcb-afc5c140a0f7/peter/1", port) + .accept(MediaType.APPLICATION_JSON) + .exchange() + .expectStatus().isOk() + .expectBody().jsonPath("$.text").isEqualTo("Hallo, ich heiße Peter!"); + }); + } +}