diff --git a/spring-cloud-consul-discovery/src/main/java/org/springframework/cloud/consul/discovery/ConsulDiscoveryProperties.java b/spring-cloud-consul-discovery/src/main/java/org/springframework/cloud/consul/discovery/ConsulDiscoveryProperties.java index 2889dbfc..1dacbaae 100644 --- a/spring-cloud-consul-discovery/src/main/java/org/springframework/cloud/consul/discovery/ConsulDiscoveryProperties.java +++ b/spring-cloud-consul-discovery/src/main/java/org/springframework/cloud/consul/discovery/ConsulDiscoveryProperties.java @@ -257,6 +257,22 @@ public class ConsulDiscoveryProperties { this.tags = tags; } + public boolean isEnableTagOverride() { + return enableTagOverride; + } + + public void setEnableTagOverride(boolean enableTagOverride) { + this.enableTagOverride = enableTagOverride; + } + + public Map getMetadata() { + return metadata; + } + + public void setMetadata(Map metadata) { + this.metadata = metadata; + } + public boolean isEnabled() { return this.enabled; } @@ -584,7 +600,8 @@ public class ConsulDiscoveryProperties { public String toString() { return new ToStringCreator(this).append("hostInfo", this.hostInfo) .append("aclToken", this.aclToken).append("tags", this.tags) - .append("enabled", this.enabled) + .append("enableTagOverride", this.enableTagOverride) + .append("metadata", this.metadata).append("enabled", this.enabled) .append("managementTags", this.managementTags) .append("healthCheckPath", this.healthCheckPath) .append("healthCheckUrl", this.healthCheckUrl) diff --git a/spring-cloud-consul-discovery/src/test/java/org/springframework/cloud/consul/serviceregistry/ConsulAutoServiceRegistrationCustomizedPropsTests.java b/spring-cloud-consul-discovery/src/test/java/org/springframework/cloud/consul/serviceregistry/ConsulAutoServiceRegistrationCustomizedPropsTests.java index c6a70d9d..bc980d08 100644 --- a/spring-cloud-consul-discovery/src/test/java/org/springframework/cloud/consul/serviceregistry/ConsulAutoServiceRegistrationCustomizedPropsTests.java +++ b/spring-cloud-consul-discovery/src/test/java/org/springframework/cloud/consul/serviceregistry/ConsulAutoServiceRegistrationCustomizedPropsTests.java @@ -54,7 +54,10 @@ import static org.springframework.boot.test.context.SpringBootTest.WebEnvironmen "spring.cloud.consul.discovery.hostname=myhost", "spring.cloud.consul.discovery.ipAddress=10.0.0.1", "spring.cloud.consul.discovery.registerHealthCheck=false", - "spring.cloud.consul.discovery.failFast=false" }, + "spring.cloud.consul.discovery.failFast=false", + "spring.cloud.consul.discovery.enableTagOverride=true", + "spring.cloud.consul.discovery.metadata.key1=value1", + "spring.cloud.consul.discovery.metadata.key2=value2" }, webEnvironment = RANDOM_PORT) public class ConsulAutoServiceRegistrationCustomizedPropsTests { @@ -82,6 +85,12 @@ public class ConsulAutoServiceRegistrationCustomizedPropsTests { .isEqualTo(this.properties.getIpAddress()); assertThat("myhost").as("service address was wrong") .isEqualTo(service.getAddress()); + assertThat(service.getEnableTagOverride()) + .as("property enableTagOverride was wrong").isTrue(); + assertThat(service.getMeta()).as("property metadata contains the wrong keys") + .containsOnlyKeys("key1", "key2"); + assertThat(service.getMeta()).as("property metadata contains the wrong values") + .containsEntry("key1", "value1").containsEntry("key2", "value2"); Response> checkResponse = this.consul.getHealthChecksForService( "myTestService-B", HealthChecksForServiceRequest.newBuilder()