|
21 | 21 | import org.apache.hc.client5.http.impl.classic.CloseableHttpClient; |
22 | 22 | import org.apache.hc.client5.http.impl.classic.HttpClientBuilder; |
23 | 23 | import org.apache.hc.client5.http.impl.io.PoolingHttpClientConnectionManager; |
| 24 | +import org.apache.hc.client5.http.impl.io.PoolingHttpClientConnectionManagerBuilder; |
24 | 25 | import org.apache.hc.client5.http.io.HttpClientConnectionManager; |
25 | 26 | import org.junit.jupiter.api.Test; |
26 | 27 | import org.mockito.Mockito; |
|
29 | 30 | import org.springframework.boot.WebApplicationType; |
30 | 31 | import org.springframework.boot.builder.SpringApplicationBuilder; |
31 | 32 | import org.springframework.cloud.openfeign.clientconfig.HttpClient5FeignConfiguration.HttpClientBuilderCustomizer; |
| 33 | +import org.springframework.cloud.openfeign.clientconfig.HttpClient5FeignConfiguration.HttpClientConnectionManagerBuilderCustomizer; |
32 | 34 | import org.springframework.context.ConfigurableApplicationContext; |
33 | 35 | import org.springframework.context.annotation.Bean; |
34 | 36 | import org.springframework.context.annotation.Configuration; |
@@ -99,14 +101,35 @@ void shouldInstantiateHttpClient5ByUsingHttpClientBuilderCustomizer() { |
99 | 101 | } |
100 | 102 | } |
101 | 103 |
|
| 104 | + @Test |
| 105 | + void shouldInstantiateHttpClientConnectionManager5ByUsingHttpClientConnectionManagerBuilderCustomizer() { |
| 106 | + ConfigurableApplicationContext context = new SpringApplicationBuilder().web(WebApplicationType.NONE) |
| 107 | + .sources(FeignAutoConfiguration.class, Config.class) |
| 108 | + .run(); |
| 109 | + |
| 110 | + HttpClientConnectionManager httpClientConnectionManager = context.getBean(HttpClientConnectionManager.class); |
| 111 | + assertThat(httpClientConnectionManager).isNotNull(); |
| 112 | + HttpClientConnectionManagerBuilderCustomizer customizer = context.getBean(HttpClientConnectionManagerBuilderCustomizer.class); |
| 113 | + verify(customizer).customize(any(PoolingHttpClientConnectionManagerBuilder.class)); |
| 114 | + |
| 115 | + if (context != null) { |
| 116 | + context.close(); |
| 117 | + } |
| 118 | + } |
| 119 | + |
102 | 120 | @Configuration |
103 | 121 | static class Config { |
104 | 122 |
|
105 | 123 | @Bean |
106 | | - HttpClientBuilderCustomizer customizer() { |
| 124 | + HttpClientBuilderCustomizer httpClientCustomizer() { |
107 | 125 | return Mockito.mock(HttpClientBuilderCustomizer.class); |
108 | 126 | } |
109 | 127 |
|
| 128 | + @Bean |
| 129 | + HttpClientConnectionManagerBuilderCustomizer httpClientConnectionManagerCustomizer() { |
| 130 | + return Mockito.mock(HttpClientConnectionManagerBuilderCustomizer.class); |
| 131 | + } |
| 132 | + |
110 | 133 | } |
111 | 134 |
|
112 | 135 | } |
0 commit comments