diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/config/ConfigServerHealthIndicator.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/config/ConfigServerHealthIndicator.java index 9c3590d3..416cf3b8 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/config/ConfigServerHealthIndicator.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/config/ConfigServerHealthIndicator.java @@ -48,7 +48,7 @@ public class ConfigServerHealthIndicator extends AbstractHealthIndicator { String profiles = repository.getProfiles(); try { - Environment environment = this.environmentRepository.findOne(application, profiles, null); + Environment environment = this.environmentRepository.findOne(application, profiles, repository.getLabel()); HashMap detail = new HashMap<>(); detail.put("name", environment.getName()); diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/config/ConfigServerHealthIndicatorTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/config/ConfigServerHealthIndicatorTests.java index 58ce602c..c08d3bdc 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/config/ConfigServerHealthIndicatorTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/config/ConfigServerHealthIndicatorTests.java @@ -1,8 +1,6 @@ package org.springframework.cloud.config.server.config; -import static org.junit.Assert.*; -import static org.mockito.Mockito.*; -import static org.mockito.MockitoAnnotations.initMocks; +import java.util.Collections; import org.junit.Before; import org.junit.Test; @@ -10,9 +8,14 @@ import org.mockito.Answers; import org.mockito.Mock; import org.springframework.boot.actuate.health.Status; import org.springframework.cloud.config.environment.Environment; -import org.springframework.cloud.config.server.config.ConfigServerHealthIndicator; +import org.springframework.cloud.config.server.config.ConfigServerHealthIndicator.Repository; import org.springframework.cloud.config.server.environment.EnvironmentRepository; +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.anyString; +import static org.mockito.Mockito.when; +import static org.mockito.MockitoAnnotations.initMocks; + /** * @author Spencer Gibb */ @@ -44,4 +47,15 @@ public class ConfigServerHealthIndicatorTests { when(repository.findOne(anyString(), anyString(), anyString())).thenThrow(new RuntimeException()); assertEquals("wrong exception status", Status.DOWN, indicator.health().getStatus()); } + + @Test + public void customLabelWorks() { + Repository repo = new Repository(); + repo.setName("myname"); + repo.setProfiles("myprofile"); + repo.setLabel("mylabel"); + this.indicator.setRepositories(Collections.singletonMap("myname", repo)); + when(repository.findOne("myname", "myprofile", "mylabel")).thenReturn(environment); + assertEquals("wrong default status", Status.UP, indicator.health().getStatus()); + } }