diff --git a/spring-cloud-kubernetes-fabric8-discovery/src/main/java/org/springframework/cloud/kubernetes/fabric8/discovery/KubernetesDiscoveryClient.java b/spring-cloud-kubernetes-fabric8-discovery/src/main/java/org/springframework/cloud/kubernetes/fabric8/discovery/KubernetesDiscoveryClient.java index 00751474..78c5557a 100644 --- a/spring-cloud-kubernetes-fabric8-discovery/src/main/java/org/springframework/cloud/kubernetes/fabric8/discovery/KubernetesDiscoveryClient.java +++ b/spring-cloud-kubernetes-fabric8-discovery/src/main/java/org/springframework/cloud/kubernetes/fabric8/discovery/KubernetesDiscoveryClient.java @@ -162,13 +162,13 @@ public class KubernetesDiscoveryClient implements DiscoveryClient, EnvironmentAw @Override public List getServices() { - return adapter.apply(client).stream().map(s -> s.getMetadata().getName()).toList(); + return adapter.apply(client).stream().map(s -> s.getMetadata().getName()).distinct().toList(); } @Deprecated(forRemoval = true) public List getServices(Predicate filter) { return new Fabric8DiscoveryServicesAdapter(kubernetesClientServicesFunction, properties, filter).apply(client) - .stream().map(s -> s.getMetadata().getName()).toList(); + .stream().map(s -> s.getMetadata().getName()).distinct().toList(); } @Override diff --git a/spring-cloud-kubernetes-fabric8-discovery/src/test/java/org/springframework/cloud/kubernetes/fabric8/discovery/KubernetesDiscoveryClientTests.java b/spring-cloud-kubernetes-fabric8-discovery/src/test/java/org/springframework/cloud/kubernetes/fabric8/discovery/KubernetesDiscoveryClientTests.java index b6f4d32a..9287ef91 100644 --- a/spring-cloud-kubernetes-fabric8-discovery/src/test/java/org/springframework/cloud/kubernetes/fabric8/discovery/KubernetesDiscoveryClientTests.java +++ b/spring-cloud-kubernetes-fabric8-discovery/src/test/java/org/springframework/cloud/kubernetes/fabric8/discovery/KubernetesDiscoveryClientTests.java @@ -497,10 +497,8 @@ class KubernetesDiscoveryClientTests { KubernetesDiscoveryClient discoveryClient = new KubernetesDiscoveryClient(client, properties, null, null, null); List result = discoveryClient.getServices(); - Assertions.assertEquals(result.size(), 2); - // this looks weird at the moment, but there is an issue that will fix this + Assertions.assertEquals(result.size(), 1); Assertions.assertEquals(result.get(0), "blue-service"); - Assertions.assertEquals(result.get(1), "blue-service"); } @Test