@Override
    protected Result check() throws IOException {
        final boolean isHealthy = tcpCheck(host, port);

        if (isHealthy) {
            LOGGER.debug("Health check against url={}:{} successful", host, port);
            return Result.healthy();
        }

        LOGGER.debug("Health check against url={}:{} failed", host, port);
        return Result.unhealthy("TCP health check against host=%s port=%s failed", host, port);
    }
@Test
    void tcpHealthCheckShouldReturnUnhealthyIfCannotConnect() throws IOException {
        serverSocket.close();
        assertThatThrownBy(() -> tcpHealthCheck.check()).isInstanceOfAny(ConnectException.class, SocketTimeoutException.class);
    }