|
20 | 20 | import java.lang.reflect.Method;
|
21 | 21 | import java.lang.reflect.Modifier;
|
22 | 22 | import java.net.URI;
|
23 |
| -import java.util.List; |
24 | 23 |
|
25 | 24 | import org.apache.http.client.config.RequestConfig;
|
26 | 25 | import org.junit.jupiter.api.Test;
|
27 | 26 |
|
28 | 27 | import org.springframework.boot.test.web.client.TestRestTemplate.CustomHttpComponentsClientHttpRequestFactory;
|
29 | 28 | import org.springframework.boot.test.web.client.TestRestTemplate.HttpClientOption;
|
| 29 | +import org.springframework.boot.web.client.BasicAuthenticationClientHttpRequestFactory; |
30 | 30 | import org.springframework.boot.web.client.RestTemplateBuilder;
|
31 | 31 | import org.springframework.core.ParameterizedTypeReference;
|
32 | 32 | import org.springframework.http.HttpEntity;
|
|
35 | 35 | import org.springframework.http.RequestEntity;
|
36 | 36 | import org.springframework.http.client.ClientHttpRequest;
|
37 | 37 | import org.springframework.http.client.ClientHttpRequestFactory;
|
38 |
| -import org.springframework.http.client.ClientHttpRequestInterceptor; |
39 | 38 | import org.springframework.http.client.HttpComponentsClientHttpRequestFactory;
|
40 |
| -import org.springframework.http.client.InterceptingClientHttpRequestFactory; |
41 | 39 | import org.springframework.http.client.OkHttp3ClientHttpRequestFactory;
|
42 | 40 | import org.springframework.http.client.SimpleClientHttpRequestFactory;
|
43 |
| -import org.springframework.http.client.support.BasicAuthenticationInterceptor; |
44 | 41 | import org.springframework.mock.env.MockEnvironment;
|
45 | 42 | import org.springframework.mock.http.client.MockClientHttpRequest;
|
46 | 43 | import org.springframework.mock.http.client.MockClientHttpResponse;
|
@@ -150,7 +147,7 @@ public void getRootUriRootUriNotSet() {
|
150 | 147 | public void authenticated() {
|
151 | 148 | assertThat(new TestRestTemplate("user", "password").getRestTemplate()
|
152 | 149 | .getRequestFactory())
|
153 |
| - .isInstanceOf(InterceptingClientHttpRequestFactory.class); |
| 150 | + .isInstanceOf(BasicAuthenticationClientHttpRequestFactory.class); |
154 | 151 | }
|
155 | 152 |
|
156 | 153 | @Test
|
@@ -227,43 +224,42 @@ private Object mockArgument(Class<?> type) throws Exception {
|
227 | 224 | }
|
228 | 225 |
|
229 | 226 | @Test
|
230 |
| - public void withBasicAuthAddsBasicAuthInterceptorWhenNotAlreadyPresent() { |
| 227 | + public void withBasicAuthAddsBasicAuthClientFactoryWhenNotAlreadyPresent() { |
231 | 228 | TestRestTemplate originalTemplate = new TestRestTemplate();
|
232 | 229 | TestRestTemplate basicAuthTemplate = originalTemplate.withBasicAuth("user",
|
233 | 230 | "password");
|
234 | 231 | assertThat(basicAuthTemplate.getRestTemplate().getMessageConverters())
|
235 | 232 | .containsExactlyElementsOf(
|
236 | 233 | originalTemplate.getRestTemplate().getMessageConverters());
|
237 | 234 | assertThat(basicAuthTemplate.getRestTemplate().getRequestFactory())
|
238 |
| - .isInstanceOf(InterceptingClientHttpRequestFactory.class); |
| 235 | + .isInstanceOf(BasicAuthenticationClientHttpRequestFactory.class); |
239 | 236 | assertThat(ReflectionTestUtils.getField(
|
240 | 237 | basicAuthTemplate.getRestTemplate().getRequestFactory(),
|
241 | 238 | "requestFactory"))
|
242 | 239 | .isInstanceOf(CustomHttpComponentsClientHttpRequestFactory.class);
|
243 | 240 | assertThat(basicAuthTemplate.getRestTemplate().getUriTemplateHandler())
|
244 | 241 | .isSameAs(originalTemplate.getRestTemplate().getUriTemplateHandler());
|
245 |
| - assertThat(basicAuthTemplate.getRestTemplate().getInterceptors()).hasSize(1); |
246 |
| - assertBasicAuthorizationInterceptorCredentials(basicAuthTemplate, "user", |
247 |
| - "password"); |
| 242 | + assertThat(basicAuthTemplate.getRestTemplate().getInterceptors()).isEmpty(); |
| 243 | + assertBasicAuthorizationCredentials(basicAuthTemplate, "user", "password"); |
248 | 244 | }
|
249 | 245 |
|
250 | 246 | @Test
|
251 |
| - public void withBasicAuthReplacesBasicAuthInterceptorWhenAlreadyPresent() { |
| 247 | + public void withBasicAuthReplacesBasicAuthClientFactoryWhenAlreadyPresent() { |
252 | 248 | TestRestTemplate original = new TestRestTemplate("foo", "bar")
|
253 | 249 | .withBasicAuth("replace", "replace");
|
254 | 250 | TestRestTemplate basicAuth = original.withBasicAuth("user", "password");
|
255 | 251 | assertThat(basicAuth.getRestTemplate().getMessageConverters())
|
256 | 252 | .containsExactlyElementsOf(
|
257 | 253 | original.getRestTemplate().getMessageConverters());
|
258 | 254 | assertThat(basicAuth.getRestTemplate().getRequestFactory())
|
259 |
| - .isInstanceOf(InterceptingClientHttpRequestFactory.class); |
| 255 | + .isInstanceOf(BasicAuthenticationClientHttpRequestFactory.class); |
260 | 256 | assertThat(ReflectionTestUtils.getField(
|
261 | 257 | basicAuth.getRestTemplate().getRequestFactory(), "requestFactory"))
|
262 | 258 | .isInstanceOf(CustomHttpComponentsClientHttpRequestFactory.class);
|
263 | 259 | assertThat(basicAuth.getRestTemplate().getUriTemplateHandler())
|
264 | 260 | .isSameAs(original.getRestTemplate().getUriTemplateHandler());
|
265 |
| - assertThat(basicAuth.getRestTemplate().getInterceptors()).hasSize(1); |
266 |
| - assertBasicAuthorizationInterceptorCredentials(basicAuth, "user", "password"); |
| 261 | + assertThat(basicAuth.getRestTemplate().getInterceptors()).isEmpty(); |
| 262 | + assertBasicAuthorizationCredentials(basicAuth, "user", "password"); |
267 | 263 | }
|
268 | 264 |
|
269 | 265 | @Test
|
@@ -394,17 +390,14 @@ private void verifyRelativeUriHandling(TestRestTemplateCallback callback)
|
394 | 390 | verify(requestFactory).createRequest(eq(absoluteUri), any(HttpMethod.class));
|
395 | 391 | }
|
396 | 392 |
|
397 |
| - private void assertBasicAuthorizationInterceptorCredentials( |
398 |
| - TestRestTemplate testRestTemplate, String username, String password) { |
399 |
| - @SuppressWarnings("unchecked") |
400 |
| - List<ClientHttpRequestInterceptor> requestFactoryInterceptors = (List<ClientHttpRequestInterceptor>) ReflectionTestUtils |
401 |
| - .getField(testRestTemplate.getRestTemplate().getRequestFactory(), |
402 |
| - "interceptors"); |
403 |
| - assertThat(requestFactoryInterceptors).hasSize(1); |
404 |
| - ClientHttpRequestInterceptor interceptor = requestFactoryInterceptors.get(0); |
405 |
| - assertThat(interceptor).isInstanceOf(BasicAuthenticationInterceptor.class); |
406 |
| - assertThat(interceptor).hasFieldOrPropertyWithValue("username", username); |
407 |
| - assertThat(interceptor).hasFieldOrPropertyWithValue("password", password); |
| 393 | + private void assertBasicAuthorizationCredentials(TestRestTemplate testRestTemplate, |
| 394 | + String username, String password) { |
| 395 | + ClientHttpRequestFactory requestFactory = testRestTemplate.getRestTemplate() |
| 396 | + .getRequestFactory(); |
| 397 | + Object authentication = ReflectionTestUtils.getField(requestFactory, |
| 398 | + "authentication"); |
| 399 | + assertThat(authentication).hasFieldOrPropertyWithValue("username", username); |
| 400 | + assertThat(authentication).hasFieldOrPropertyWithValue("password", password); |
408 | 401 |
|
409 | 402 | }
|
410 | 403 |
|
|
0 commit comments