@Override
    public void start() throws Exception {
        validateConfiguration(configs, registry.getNames());
    }
@Test
    void startValidationsShouldSucceedButLogWhenNotAllHealthChecksAreConfigured() throws Exception {
        // given
        ArgumentCaptor<LoggingEvent> captor = ArgumentCaptor.forClass(LoggingEvent.class);
        HealthCheckConfiguration check1 = new HealthCheckConfiguration();
        check1.setName("check-1");
        List<HealthCheckConfiguration> configs = singletonList(check1);
        HealthCheckRegistry registry = new HealthCheckRegistry();
        registry.register("check-1", mock(HealthCheck.class));
        registry.register("check-2", mock(HealthCheck.class));
        registry.register("check-3", mock(HealthCheck.class));

        // when
        HealthCheckConfigValidator validator = new HealthCheckConfigValidator(configs, registry);
        validator.start();

        // then
        verify(mockLogAppender).doAppend(captor.capture());
        LoggingEvent logEvent = captor.getValue();
        assertThat(logEvent.getLevel()).isEqualTo(Level.INFO);
        assertThat(logEvent.getFormattedMessage())
            .doesNotContain("  * check-1");
        assertThat(logEvent.getFormattedMessage())
            .contains("  * check-2");
        assertThat(logEvent.getFormattedMessage())
            .contains("  * check-3");
    }