package io.smallrye.health.checks; import static org.junit.Assert.assertEquals; import java.net.HttpURLConnection; import org.eclipse.microprofile.health.HealthCheck; import org.eclipse.microprofile.health.HealthCheckResponse; import org.junit.Test; public class UrlHealthCheckTest { @Test public void testUrlCheck() { final UrlHealthCheck urlHealthCheck = new UrlHealthCheck("http://www.google.com"); final HealthCheckResponse healthCheckResponse = urlHealthCheck.call(); assertEquals(UrlHealthCheck.DEFAULT_NAME, healthCheckResponse.getName()); assertEquals("GET http://www.google.com", healthCheckResponse.getData().get().get("host")); assertEquals(HealthCheckResponse.State.UP, healthCheckResponse.getState()); } @Test public void testUrlCheckIncorrectStatusCode() { final HealthCheck urlHealthCheck = new UrlHealthCheck("http://www.google.com") .statusCode(HttpURLConnection.HTTP_CREATED); final HealthCheckResponse healthCheckResponse = urlHealthCheck.call(); assertEquals(HealthCheckResponse.State.DOWN, healthCheckResponse.getState()); assertEquals("Expected response code 201 but actual is 200", healthCheckResponse.getData().get().get("error")); } @Test public void testUrlCheckNoneExistingUrl() { final UrlHealthCheck urlHealthCheck = new UrlHealthCheck("http://www.fdghreer.invalid"); final HealthCheckResponse healthCheckResponse = urlHealthCheck.call(); assertEquals(HealthCheckResponse.State.DOWN, healthCheckResponse.getState()); assertEquals("java.net.UnknownHostException: www.fdghreer.invalid", healthCheckResponse.getData().get().get("error")); } }