Skip to content

Commit b6d73cf

Browse files
committed
fix test
Signed-off-by: wind57 <[email protected]>
1 parent 54d0785 commit b6d73cf

File tree

4 files changed

+29
-8
lines changed

4 files changed

+29
-8
lines changed

spring-cloud-kubernetes-client-discovery/src/main/java/org/springframework/cloud/kubernetes/client/discovery/KubernetesClientInformerReactiveDiscoveryClientAutoConfiguration.java

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -62,16 +62,23 @@ final class KubernetesClientInformerReactiveDiscoveryClientAutoConfiguration {
6262
private static final LogAccessor LOG = new LogAccessor(
6363
LogFactory.getLog(KubernetesClientInformerReactiveDiscoveryClientAutoConfiguration.class));
6464

65+
// in case blocking is disabled
6566
@Bean
6667
@ConditionalOnMissingBean
67-
KubernetesClientInformerReactiveDiscoveryClient kubernetesClientReactiveDiscoveryClient(
68+
KubernetesClientInformerDiscoveryClient kubernetesClientInformerDiscoveryClientForReactiveImplementation(
6869
List<SharedInformerFactory> sharedInformerFactories, List<Lister<V1Service>> serviceListers,
6970
List<Lister<V1Endpoints>> endpointsListers, List<SharedInformer<V1Service>> serviceInformers,
7071
List<SharedInformer<V1Endpoints>> endpointsInformers, KubernetesDiscoveryProperties properties,
7172
CoreV1Api coreV1Api, Predicate<V1Service> predicate) {
72-
KubernetesClientInformerDiscoveryClient kubernetesClientInformerDiscoveryClient = new KubernetesClientInformerDiscoveryClient(
73-
sharedInformerFactories, serviceListers, endpointsListers, serviceInformers, endpointsInformers,
74-
properties, coreV1Api, predicate);
73+
74+
return new KubernetesClientInformerDiscoveryClient(sharedInformerFactories, serviceListers, endpointsListers,
75+
serviceInformers, endpointsInformers, properties, coreV1Api, predicate);
76+
}
77+
78+
@Bean
79+
@ConditionalOnMissingBean
80+
KubernetesClientInformerReactiveDiscoveryClient kubernetesClientReactiveDiscoveryClient(
81+
KubernetesClientInformerDiscoveryClient kubernetesClientInformerDiscoveryClient) {
7582
return new KubernetesClientInformerReactiveDiscoveryClient(kubernetesClientInformerDiscoveryClient);
7683
}
7784

spring-cloud-kubernetes-client-discovery/src/test/java/org/springframework/cloud/kubernetes/client/discovery/KubernetesClientInformerDiscoveryClientAutoConfigurationApplicationContextTests.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -280,7 +280,9 @@ void kubernetesDiscoveryBlockingDisabled() {
280280
setup("spring.main.cloud-platform=KUBERNETES", "spring.cloud.config.enabled=false",
281281
"spring.cloud.discovery.blocking.enabled=false", "spring.cloud.kubernetes.client.namespace=default");
282282
applicationContextRunner.run(context -> {
283-
assertThat(context).doesNotHaveBean(KubernetesClientInformerDiscoveryClient.class);
283+
assertThat(context).hasSingleBean(KubernetesClientInformerDiscoveryClient.class);
284+
// only the implementation for the reactive
285+
assertThat(context).hasBean("kubernetesClientInformerDiscoveryClientForReactiveImplementation");
284286
assertThat(context).hasSingleBean(KubernetesClientInformerReactiveDiscoveryClient.class);
285287

286288
assertThat(context).hasSingleBean(KubernetesDiscoveryClientHealthIndicatorInitializer.class);
@@ -299,7 +301,9 @@ void kubernetesDiscoveryBlockingDisabledWithSelectiveNamespaces() {
299301
setup("spring.main.cloud-platform=KUBERNETES", "spring.cloud.config.enabled=false",
300302
"spring.cloud.discovery.blocking.enabled=false", "spring.cloud.kubernetes.discovery.namespaces=a,b");
301303
applicationContextRunner.run(context -> {
302-
assertThat(context).doesNotHaveBean(KubernetesClientInformerDiscoveryClient.class);
304+
assertThat(context).hasSingleBean(KubernetesClientInformerDiscoveryClient.class);
305+
// only the implementation for the reactive
306+
assertThat(context).hasBean("kubernetesClientInformerDiscoveryClientForReactiveImplementation");
303307
assertThat(context).hasSingleBean(KubernetesClientInformerReactiveDiscoveryClient.class);
304308

305309
assertThat(context).hasSingleBean(KubernetesDiscoveryClientHealthIndicatorInitializer.class);

spring-cloud-kubernetes-client-discovery/src/test/java/org/springframework/cloud/kubernetes/client/discovery/KubernetesClientInformerReactiveDiscoveryClientAutoConfigurationApplicationContextTests.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -289,7 +289,9 @@ void blockingDisabled() {
289289
setup("spring.main.cloud-platform=KUBERNETES", "spring.cloud.config.enabled=false",
290290
"spring.cloud.discovery.blocking.enabled=false", "spring.cloud.kubernetes.client.namespace=default");
291291
applicationContextRunner.run(context -> {
292-
assertThat(context).doesNotHaveBean(KubernetesClientInformerDiscoveryClient.class);
292+
assertThat(context).hasSingleBean(KubernetesClientInformerDiscoveryClient.class);
293+
// only the implementation for the reactive
294+
assertThat(context).hasBean("kubernetesClientInformerDiscoveryClientForReactiveImplementation");
293295
assertThat(context).hasSingleBean(KubernetesClientInformerReactiveDiscoveryClient.class);
294296

295297
// simple from commons and ours
@@ -308,7 +310,9 @@ void blockingDisabledWithSelectiveNamespaces() {
308310
setup("spring.main.cloud-platform=KUBERNETES", "spring.cloud.config.enabled=false",
309311
"spring.cloud.discovery.blocking.enabled=false", "spring.cloud.kubernetes.discovery.namespaces=a,b");
310312
applicationContextRunner.run(context -> {
311-
assertThat(context).doesNotHaveBean(KubernetesClientInformerDiscoveryClient.class);
313+
assertThat(context).hasSingleBean(KubernetesClientInformerDiscoveryClient.class);
314+
// only the implementation for the reactive
315+
assertThat(context).hasBean("kubernetesClientInformerDiscoveryClientForReactiveImplementation");
312316
assertThat(context).hasSingleBean(KubernetesClientInformerReactiveDiscoveryClient.class);
313317

314318
// simple from commons and ours

spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-discovery/src/test/java/org/springframework/cloud/kubernetes/k8s/client/discovery/KubernetesClientReactiveIT.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
import org.springframework.boot.test.system.CapturedOutput;
3030
import org.springframework.boot.web.server.test.LocalManagementPort;
3131
import org.springframework.cloud.client.discovery.ReactiveDiscoveryClient;
32+
import org.springframework.cloud.client.discovery.composite.reactive.ReactiveCompositeDiscoveryClient;
3233
import org.springframework.cloud.kubernetes.commons.discovery.KubernetesDiscoveryProperties;
3334
import org.springframework.cloud.kubernetes.integration.tests.commons.Images;
3435
import org.springframework.cloud.kubernetes.integration.tests.commons.Phase;
@@ -79,6 +80,11 @@ void afterEach() {
7980
*/
8081
@Test
8182
void test(CapturedOutput output) {
83+
84+
ReactiveCompositeDiscoveryClient compositeDiscoveryClient = (ReactiveCompositeDiscoveryClient) discoveryClient;
85+
86+
compositeDiscoveryClient.getDiscoveryClients().get(0).getServices().blockFirst();
87+
8288
assertReactiveConfiguration(output, port);
8389
assertPodMetadata(discoveryClient);
8490
}

0 commit comments

Comments
 (0)