Build and test against Spring Framework 5.0.1.RELEASE

Closes gh-443
This commit is contained in:
Andy Wilkinson
2017-10-30 10:20:25 +00:00
parent cfb1fbc85d
commit 1a858a2e1f
5 changed files with 13 additions and 9 deletions

View File

@@ -34,7 +34,7 @@ sonarqube {
}
ext {
springVersion = '5.0.0.RELEASE'
springVersion = '5.0.1.RELEASE'
javadocLinks = [
'http://docs.oracle.com/javase/8/docs/api/',
"http://docs.spring.io/spring-framework/docs/$springVersion/javadoc-api/",

View File

@@ -24,6 +24,7 @@ import org.springframework.http.MediaType;
import org.springframework.test.web.reactive.server.WebTestClient;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
import org.springframework.web.reactive.function.BodyInserters;
import static org.springframework.restdocs.payload.PayloadDocumentation.fieldWithPath;
import static org.springframework.restdocs.payload.PayloadDocumentation.requestPartBody;
@@ -49,7 +50,7 @@ public class RequestPartPayload {
};
multipartData.add("image", imageResource);
multipartData.add("metadata", Collections.singletonMap("version", "1.0"));
this.webTestClient.post().uri("/images").syncBody(multipartData)
this.webTestClient.post().uri("/images").body(BodyInserters.fromMultipartData(multipartData))
.accept(MediaType.APPLICATION_JSON).exchange()
.expectStatus().isOk().expectBody()
.consumeWith(document("image-upload",
@@ -72,7 +73,7 @@ public class RequestPartPayload {
multipartData.add("image", imageResource);
multipartData.add("metadata", Collections.singletonMap("version", "1.0"));
this.webTestClient.post().uri("/images").syncBody(multipartData)
this.webTestClient.post().uri("/images").body(BodyInserters.fromMultipartData(multipartData))
.accept(MediaType.APPLICATION_JSON).exchange()
.expectStatus().isOk().expectBody()
.consumeWith(document("image-upload",

View File

@@ -19,6 +19,7 @@ package com.example.webtestclient;
import org.springframework.test.web.reactive.server.WebTestClient;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
import org.springframework.web.reactive.function.BodyInserters;
import static org.springframework.restdocs.request.RequestDocumentation.partWithName;
import static org.springframework.restdocs.request.RequestDocumentation.requestParts;
@@ -34,7 +35,7 @@ public class RequestParts {
// tag::request-parts[]
MultiValueMap<String, Object> multipartData = new LinkedMultiValueMap<>();
multipartData.add("file", "example".getBytes());
this.webTestClient.post().uri("/upload").syncBody(multipartData) // <1>
this.webTestClient.post().uri("/upload").body(BodyInserters.fromMultipartData(multipartData)) // <1>
.exchange().expectStatus().isOk().expectBody()
.consumeWith(document("upload", requestParts( // <2>
partWithName("file").description("The file to upload")) // <3>

View File

@@ -155,8 +155,8 @@ public class WebTestClientRequestConverterTests {
req.body(BodyExtractors.toMultipartData()).block();
return null;
})).configureClient().baseUrl("http://localhost").build().post()
.uri("/foo").syncBody(multipartData).exchange().expectBody()
.returnResult();
.uri("/foo").body(BodyInserters.fromMultipartData(multipartData))
.exchange().expectBody().returnResult();
OperationRequest request = this.converter.convert(result);
assertThat(request.getUri(), is(URI.create("http://localhost/foo")));
assertThat(request.getMethod(), is(HttpMethod.POST));
@@ -187,8 +187,8 @@ public class WebTestClientRequestConverterTests {
req.body(BodyExtractors.toMultipartData()).block();
return null;
})).configureClient().baseUrl("http://localhost").build().post()
.uri("/foo").syncBody(multipartData).exchange().expectBody()
.returnResult();
.uri("/foo").body(BodyInserters.fromMultipartData(multipartData))
.exchange().expectBody().returnResult();
OperationRequest request = this.converter.convert(result);
assertThat(request.getUri(), is(URI.create("http://localhost/foo")));
assertThat(request.getMethod(), is(HttpMethod.POST));

View File

@@ -37,6 +37,7 @@ import org.springframework.util.FileSystemUtils;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
import org.springframework.web.reactive.function.BodyExtractors;
import org.springframework.web.reactive.function.BodyInserters;
import org.springframework.web.reactive.function.server.RequestPredicates;
import org.springframework.web.reactive.function.server.RouterFunction;
import org.springframework.web.reactive.function.server.RouterFunctions;
@@ -140,7 +141,8 @@ public class WebTestClientRestDocumentationIntegrationTests {
Consumer<EntityExchangeResult<byte[]>> documentation = document("multipart",
requestParts(partWithName("a").description("Part a"),
partWithName("b").description("Part b")));
this.webTestClient.post().uri("/upload").syncBody(multipartData).exchange()
this.webTestClient.post().uri("/upload")
.body(BodyInserters.fromMultipartData(multipartData)).exchange()
.expectStatus().isOk().expectBody().consumeWith(documentation);
assertThat(new File("build/generated-snippets/multipart/request-parts.adoc"),
is(snippet(asciidoctor())