diff --git a/spring-restdocs-core/src/main/java/org/springframework/restdocs/operation/preprocess/UriModifyingOperationPreprocessor.java b/spring-restdocs-core/src/main/java/org/springframework/restdocs/operation/preprocess/UriModifyingOperationPreprocessor.java index ae28056f..accb345d 100644 --- a/spring-restdocs-core/src/main/java/org/springframework/restdocs/operation/preprocess/UriModifyingOperationPreprocessor.java +++ b/spring-restdocs-core/src/main/java/org/springframework/restdocs/operation/preprocess/UriModifyingOperationPreprocessor.java @@ -138,10 +138,10 @@ public class UriModifyingOperationPreprocessor implements OperationPreprocessor HttpHeaders modifiedHeaders = modify(request.getHeaders()); modifiedHeaders.set(HttpHeaders.HOST, modifiedUri.getHost() + (modifiedUri.getPort() == -1 ? "" : ":" + modifiedUri.getPort())); - return this.contentModifyingDelegate.preprocess( - new OperationRequestFactory().create(uriBuilder.build(true).toUri(), - request.getMethod(), request.getContent(), modifiedHeaders, - request.getParameters(), modify(request.getParts()))); + return this.contentModifyingDelegate.preprocess(new OperationRequestFactory() + .create(uriBuilder.build(true).toUri(), request.getMethod(), + request.getContent(), modifiedHeaders, request.getParameters(), + modify(request.getParts()), request.getCookies())); } @Override diff --git a/spring-restdocs-core/src/test/java/org/springframework/restdocs/operation/preprocess/UriModifyingOperationPreprocessorTests.java b/spring-restdocs-core/src/test/java/org/springframework/restdocs/operation/preprocess/UriModifyingOperationPreprocessorTests.java index 27278eb5..1907cf49 100644 --- a/spring-restdocs-core/src/test/java/org/springframework/restdocs/operation/preprocess/UriModifyingOperationPreprocessorTests.java +++ b/spring-restdocs-core/src/test/java/org/springframework/restdocs/operation/preprocess/UriModifyingOperationPreprocessorTests.java @@ -19,6 +19,7 @@ package org.springframework.restdocs.operation.preprocess; import java.net.URI; import java.util.Arrays; import java.util.Collections; +import java.util.List; import org.junit.Test; @@ -32,6 +33,7 @@ import org.springframework.restdocs.operation.OperationRequestPartFactory; import org.springframework.restdocs.operation.OperationResponse; import org.springframework.restdocs.operation.OperationResponseFactory; import org.springframework.restdocs.operation.Parameters; +import org.springframework.restdocs.operation.RequestCookie; import static org.hamcrest.CoreMatchers.equalTo; import static org.hamcrest.CoreMatchers.is; @@ -323,6 +325,17 @@ public class UriModifyingOperationPreprocessorTests { } + @Test + public void resultingRequestHasCookiesFromOriginalRequst() { + List cookies = Arrays.asList(new RequestCookie("a", "alpha")); + OperationRequest request = this.requestFactory.create( + URI.create("http://localhost:12345"), HttpMethod.GET, new byte[0], + new HttpHeaders(), new Parameters(), + Collections.emptyList(), cookies); + OperationRequest processed = this.preprocessor.preprocess(request); + assertThat(processed.getCookies().size(), is(equalTo(1))); + } + private OperationRequest createRequestWithUri(String uri) { return this.requestFactory.create(URI.create(uri), HttpMethod.GET, new byte[0], new HttpHeaders(), new Parameters(), diff --git a/spring-restdocs-restassured/src/test/java/org/springframework/restdocs/restassured3/operation/preprocess/UriModifyingOperationPreprocessorTests.java b/spring-restdocs-restassured/src/test/java/org/springframework/restdocs/restassured3/operation/preprocess/UriModifyingOperationPreprocessorTests.java index fb34f816..3f21b9ad 100644 --- a/spring-restdocs-restassured/src/test/java/org/springframework/restdocs/restassured3/operation/preprocess/UriModifyingOperationPreprocessorTests.java +++ b/spring-restdocs-restassured/src/test/java/org/springframework/restdocs/restassured3/operation/preprocess/UriModifyingOperationPreprocessorTests.java @@ -19,6 +19,7 @@ package org.springframework.restdocs.restassured3.operation.preprocess; import java.net.URI; import java.util.Arrays; import java.util.Collections; +import java.util.List; import org.junit.Test; @@ -32,6 +33,7 @@ import org.springframework.restdocs.operation.OperationRequestPartFactory; import org.springframework.restdocs.operation.OperationResponse; import org.springframework.restdocs.operation.OperationResponseFactory; import org.springframework.restdocs.operation.Parameters; +import org.springframework.restdocs.operation.RequestCookie; import static org.hamcrest.CoreMatchers.equalTo; import static org.hamcrest.CoreMatchers.is; @@ -324,6 +326,17 @@ public class UriModifyingOperationPreprocessorTests { } + @Test + public void resultingRequestHasCookiesFromOriginalRequst() { + List cookies = Arrays.asList(new RequestCookie("a", "alpha")); + OperationRequest request = this.requestFactory.create( + URI.create("http://localhost:12345"), HttpMethod.GET, new byte[0], + new HttpHeaders(), new Parameters(), + Collections.emptyList(), cookies); + OperationRequest processed = this.preprocessor.preprocess(request); + assertThat(processed.getCookies().size(), is(equalTo(1))); + } + private OperationRequest createRequestWithUri(String uri) { return this.requestFactory.create(URI.create(uri), HttpMethod.GET, new byte[0], new HttpHeaders(), new Parameters(),