Skip to content

Commit f84552a

Browse files
committed
Polishing contribution
Closes gh-35102
1 parent 8d6117e commit f84552a

File tree

1 file changed

+26
-21
lines changed

1 file changed

+26
-21
lines changed

spring-web/src/test/java/org/springframework/web/client/RestClientIntegrationTests.java

Lines changed: 26 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@
4343
import org.springframework.http.HttpStatusCode;
4444
import org.springframework.http.MediaType;
4545
import org.springframework.http.ResponseEntity;
46+
import org.springframework.http.StreamingHttpOutputMessage;
4647
import org.springframework.http.client.ClientHttpRequestFactory;
4748
import org.springframework.http.client.ClientHttpRequestInterceptor;
4849
import org.springframework.http.client.ClientHttpResponse;
@@ -52,6 +53,7 @@
5253
import org.springframework.http.client.ReactorClientHttpRequestFactory;
5354
import org.springframework.http.client.SimpleClientHttpRequestFactory;
5455
import org.springframework.util.CollectionUtils;
56+
import org.springframework.util.FastByteArrayOutputStream;
5557
import org.springframework.util.LinkedMultiValueMap;
5658
import org.springframework.util.MultiValueMap;
5759
import org.springframework.web.testfixture.xml.Pojo;
@@ -530,27 +532,6 @@ void postPojoAsJson(ClientHttpRequestFactory requestFactory) {
530532
});
531533
}
532534

533-
@ParameterizedRestClientTest
534-
void postStreamingMessageBody(ClientHttpRequestFactory requestFactory) {
535-
startServer(requestFactory);
536-
537-
prepareResponse(response -> response.setResponseCode(200));
538-
539-
ResponseEntity<Void> result = this.restClient.post()
540-
.uri("/streaming/body")
541-
.body(new ByteArrayInputStream("test-data".getBytes(UTF_8))::transferTo)
542-
.retrieve()
543-
.toBodilessEntity();
544-
545-
assertThat(result.getStatusCode()).isEqualTo(HttpStatus.OK);
546-
547-
expectRequestCount(1);
548-
expectRequest(request -> {
549-
assertThat(request.getPath()).isEqualTo("/streaming/body");
550-
assertThat(request.getBody().readUtf8()).isEqualTo("test-data");
551-
});
552-
}
553-
554535
@ParameterizedRestClientTest // gh-31361
555536
public void postForm(ClientHttpRequestFactory requestFactory) {
556537
startServer(requestFactory);
@@ -594,6 +575,30 @@ public void postForm(ClientHttpRequestFactory requestFactory) {
594575
});
595576
}
596577

578+
@ParameterizedRestClientTest // gh-35102
579+
void postStreamingBody(ClientHttpRequestFactory requestFactory) {
580+
startServer(requestFactory);
581+
prepareResponse(response -> response.setResponseCode(200));
582+
583+
StreamingHttpOutputMessage.Body testBody = out -> {
584+
assertThat(out).as("Not a streaming response").isNotInstanceOf(FastByteArrayOutputStream.class);
585+
new ByteArrayInputStream("test-data".getBytes(UTF_8)).transferTo(out);
586+
};
587+
588+
ResponseEntity<Void> result = this.restClient.post()
589+
.uri("/streaming/body")
590+
.body(testBody)
591+
.retrieve()
592+
.toBodilessEntity();
593+
594+
assertThat(result.getStatusCode()).isEqualTo(HttpStatus.OK);
595+
596+
expectRequestCount(1);
597+
expectRequest(request -> {
598+
assertThat(request.getPath()).isEqualTo("/streaming/body");
599+
assertThat(request.getBody().readUtf8()).isEqualTo("test-data");
600+
});
601+
}
597602

598603
@ParameterizedRestClientTest
599604
void statusHandler(ClientHttpRequestFactory requestFactory) {

0 commit comments

Comments
 (0)