View Javadoc
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  }