1 package de.dlr.shepard.integrationtests;
2
3 import static io.restassured.RestAssured.given;
4 import static org.junit.jupiter.api.Assertions.assertEquals;
5 import static org.junit.jupiter.api.Assertions.assertNotNull;
6 import static org.junit.jupiter.api.Assertions.assertTrue;
7
8 import de.dlr.shepard.common.util.Constants;
9 import io.quarkus.test.junit.QuarkusIntegrationTest;
10 import java.util.List;
11 import org.eclipse.microprofile.health.HealthCheckResponse;
12 import org.junit.jupiter.api.Test;
13
14 @QuarkusIntegrationTest
15 public class HealthzIT extends BaseTestCaseIT {
16
17 private static String healthURL = "/" + Constants.HEALTHZ;
18
19 @Test
20 public void getHealthz() {
21 List<String> expectedServices = List.of("Neo4J", "MongoDB", "TimescaleDB");
22
23 assertNotNull(expectedServices);
24
25 var expected = HealthzIO.createInstanceWithCheckedServices(HealthCheckResponse.Status.UP, expectedServices);
26 var actual = given().when().get(healthURL).then().statusCode(200).extract().as(HealthzIO.class);
27 assertEquals(expected.getStatus(), actual.getStatus());
28 assertTrue(actual.getChecks().containsAll(expected.getChecks()));
29 assertTrue(expected.getChecks().containsAll(actual.getChecks()));
30 }
31 }