diff --git a/module/spring-boot-ldap/src/main/java/org/springframework/boot/ldap/health/LdapHealthIndicator.java b/module/spring-boot-ldap/src/main/java/org/springframework/boot/ldap/health/LdapHealthIndicator.java index df021b8430b..e25e4f69652 100644 --- a/module/spring-boot-ldap/src/main/java/org/springframework/boot/ldap/health/LdapHealthIndicator.java +++ b/module/spring-boot-ldap/src/main/java/org/springframework/boot/ldap/health/LdapHealthIndicator.java @@ -50,8 +50,9 @@ public class LdapHealthIndicator extends AbstractHealthIndicator { @Override protected void doHealthCheck(Health.Builder builder) throws Exception { String version = this.ldapOperations.executeReadOnly(versionContextExecutor); + builder.up(); if (version != null) { - builder.up().withDetail("version", version); + builder.withDetail("version", version); } } diff --git a/module/spring-boot-ldap/src/test/java/org/springframework/boot/ldap/health/LdapHealthIndicatorTests.java b/module/spring-boot-ldap/src/test/java/org/springframework/boot/ldap/health/LdapHealthIndicatorTests.java index eef8eb4fa2a..a06feb358d0 100644 --- a/module/spring-boot-ldap/src/test/java/org/springframework/boot/ldap/health/LdapHealthIndicatorTests.java +++ b/module/spring-boot-ldap/src/test/java/org/springframework/boot/ldap/health/LdapHealthIndicatorTests.java @@ -49,6 +49,18 @@ class LdapHealthIndicatorTests { then(ldapTemplate).should().executeReadOnly((ContextExecutor) any()); } + @Test + @SuppressWarnings("unchecked") + void ldapIsUpWhenVersionIsUnavailable() { + LdapTemplate ldapTemplate = mock(LdapTemplate.class); + given(ldapTemplate.executeReadOnly((ContextExecutor) any())).willReturn(null); + LdapHealthIndicator healthIndicator = new LdapHealthIndicator(ldapTemplate); + Health health = healthIndicator.health(); + assertThat(health.getStatus()).isEqualTo(Status.UP); + assertThat(health.getDetails()).doesNotContainKey("version"); + then(ldapTemplate).should().executeReadOnly((ContextExecutor) any()); + } + @Test @SuppressWarnings("unchecked") void ldapIsDown() {