From c45e46599cd0036efe1bebbacc46799d0c2c58ef Mon Sep 17 00:00:00 2001 From: Olga MaciaszekSharma Date: Fri, 12 Jan 2024 13:03:47 +0100 Subject: [PATCH] Add tests for @LoadBalanced clients defined in autoconfigurations. --- ...actLoadBalancerAutoConfigurationTests.java | 39 ++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) diff --git a/spring-cloud-commons/src/test/java/org/springframework/cloud/client/loadbalancer/AbstractLoadBalancerAutoConfigurationTests.java b/spring-cloud-commons/src/test/java/org/springframework/cloud/client/loadbalancer/AbstractLoadBalancerAutoConfigurationTests.java index c81c40b4..eb1e8f21 100644 --- a/spring-cloud-commons/src/test/java/org/springframework/cloud/client/loadbalancer/AbstractLoadBalancerAutoConfigurationTests.java +++ b/spring-cloud-commons/src/test/java/org/springframework/cloud/client/loadbalancer/AbstractLoadBalancerAutoConfigurationTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2020 the original author or authors. + * Copyright 2012-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -101,6 +101,7 @@ public abstract class AbstractLoadBalancerAutoConfigurationTests { void multipleRestClientBuilders() { applicationContextRunner.withUserConfiguration(TwoRestTemplatesAndTwoRestClientBuilders.class).run(context -> { final Map restClientBuilders = context.getBeansOfType(RestClient.Builder.class); + final Map restTemplates = context.getBeansOfType(RestTemplate.class); assertThat(restClientBuilders).isNotNull(); assertThat(restClientBuilders.values()).hasSize(2); @@ -114,9 +115,45 @@ public abstract class AbstractLoadBalancerAutoConfigurationTests { assertThat(two.nonLoadBalancedRestClientBuilder).isNotNull(); two.nonLoadBalancedRestClientBuilder .requestInterceptors(interceptors -> assertThat(interceptors).isEmpty()); + + assertThat(restTemplates).isNotNull(); + Collection templates = restTemplates.values(); + assertThat(templates).hasSize(2); + + TwoRestTemplatesAndTwoRestClientBuilders.Two twoRestTemplate = context + .getBean(TwoRestTemplatesAndTwoRestClientBuilders.Two.class); + + assertThat(twoRestTemplate.loadBalanced).isNotNull(); + assertLoadBalanced(twoRestTemplate.loadBalanced); + + assertThat(twoRestTemplate.nonLoadBalanced).isNotNull(); + assertThat(twoRestTemplate.nonLoadBalanced.getInterceptors()).isEmpty(); }); } + @Test + void restTemplatesAndRestClientsFromUsersAutoConfiguration() { + applicationContextRunner + .withConfiguration(AutoConfigurations.of(TwoRestTemplatesAndTwoRestClientBuilders.class)) + .run(context -> { + final Map restClientBuilders = context + .getBeansOfType(RestClient.Builder.class); + + assertThat(restClientBuilders).isNotNull(); + assertThat(restClientBuilders.values()).hasSize(2); + + TwoRestTemplatesAndTwoRestClientBuilders.Two two = context + .getBean(TwoRestTemplatesAndTwoRestClientBuilders.Two.class); + + assertThat(two.loadBalancedRestClientBuilder).isNotNull(); + assertLoadBalanced(two.loadBalancedRestClientBuilder); + + assertThat(two.nonLoadBalancedRestClientBuilder).isNotNull(); + two.nonLoadBalancedRestClientBuilder + .requestInterceptors(interceptors -> assertThat(interceptors).isEmpty()); + }); + } + protected abstract void assertLoadBalanced(RestClient.Builder restClientBuilder); protected abstract void assertLoadBalanced(RestTemplate restTemplate);