Merge branch '6.1.x'

This commit is contained in:
Brian Clozel
2024-04-17 22:47:44 +02:00
3 changed files with 17 additions and 7 deletions

View File

@@ -106,6 +106,10 @@ public abstract class AbstractMockWebServerTests {
assertThat(request.getMethod()).isEqualTo(expectedMethod);
return new MockResponse();
}
else if(request.getPath().startsWith("/header/")) {
String headerName = request.getPath().replace("/header/","");
return new MockResponse().setBody(headerName + ":" + request.getHeader(headerName)).setResponseCode(200);
}
return new MockResponse().setResponseCode(404);
}
catch (Throwable exc) {

View File

@@ -16,6 +16,7 @@
package org.springframework.http.client;
import java.io.InputStreamReader;
import java.net.URI;
import java.nio.charset.StandardCharsets;
import java.util.Arrays;
@@ -49,12 +50,7 @@ class BufferingClientHttpRequestFactoryTests extends AbstractHttpRequestFactoryT
FileCopyUtils.copy(body, request.getBody());
try (ClientHttpResponse response = request.execute()) {
assertThat(response.getStatusCode()).as("Invalid status code").isEqualTo(HttpStatus.OK);
assertThat(response.getStatusCode()).as("Invalid status code").isEqualTo(HttpStatus.OK);
assertThat(response.getHeaders().containsKey(headerName)).as("Header not found").isTrue();
assertThat(response.getHeaders().containsKey(headerName)).as("Header not found").isTrue();
assertThat(response.getHeaders().get(headerName)).as("Header value not found").isEqualTo(Arrays.asList(headerValue1, headerValue2));
assertThat(response.getHeaders().get(headerName)).as("Header value not found").isEqualTo(Arrays.asList(headerValue1, headerValue2));
byte[] result = FileCopyUtils.copyToByteArray(response.getBody());
@@ -64,4 +60,14 @@ class BufferingClientHttpRequestFactoryTests extends AbstractHttpRequestFactoryT
}
}
@Test
void shouldNotSetContentLengthWhenEmptyBody() throws Exception {
ClientHttpRequest request = factory.createRequest(URI.create(baseUrl + "/header/Content-Length"), HttpMethod.POST);
try (ClientHttpResponse response = request.execute()) {
assertThat(response.getStatusCode()).as("Invalid status code").isEqualTo(HttpStatus.OK);
String result = FileCopyUtils.copyToString(new InputStreamReader(response.getBody()));
assertThat(result).as("Invalid body").isEqualTo("Content-Length:null");
}
}
}