Fix failures in PrintingResultHandlerTests
This commit is contained in:
parent
8afcf717e2
commit
f8bf577eff
|
@ -73,6 +73,8 @@ import org.springframework.web.util.UriUtils;
|
|||
*/
|
||||
public class MockHttpServletRequestBuilder implements RequestBuilder, Mergeable {
|
||||
|
||||
static final boolean servlet3Present = ClassUtils.hasMethod(ServletRequest.class, "startAsync");
|
||||
|
||||
private final UriComponents uriComponents;
|
||||
|
||||
private final HttpMethod method;
|
||||
|
@ -647,8 +649,7 @@ public class MockHttpServletRequestBuilder implements RequestBuilder, Mergeable
|
|||
* {@link ServletContext}. Can be overridden in sub-classes.
|
||||
*/
|
||||
protected MockHttpServletRequest createServletRequest(ServletContext servletContext) {
|
||||
return ClassUtils.hasMethod(ServletRequest.class, "startAsync") ?
|
||||
createServlet3Request(servletContext) : new MockHttpServletRequest(servletContext);
|
||||
return servlet3Present ? createServlet3Request(servletContext) : new MockHttpServletRequest(servletContext);
|
||||
}
|
||||
|
||||
private MockHttpServletRequest createServlet3Request(ServletContext servletContext) {
|
||||
|
|
|
@ -21,7 +21,6 @@ import java.util.ArrayList;
|
|||
import java.util.List;
|
||||
|
||||
import javax.servlet.ServletContext;
|
||||
import javax.servlet.ServletRequest;
|
||||
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.http.HttpMethod;
|
||||
|
@ -99,9 +98,8 @@ public class MockMultipartHttpServletRequestBuilder extends MockHttpServletReque
|
|||
|
||||
@Override
|
||||
protected final MockHttpServletRequest createServletRequest(ServletContext servletContext) {
|
||||
MockMultipartHttpServletRequest request = ClassUtils.hasMethod(ServletRequest.class, "startAsync") ?
|
||||
MockMultipartHttpServletRequest request = servlet3Present ?
|
||||
createServlet3Request() : new MockMultipartHttpServletRequest();
|
||||
|
||||
for (MockMultipartFile file : this.files) {
|
||||
request.addFile(file);
|
||||
}
|
||||
|
|
|
@ -48,6 +48,8 @@ import org.springframework.web.servlet.support.RequestContextUtils;
|
|||
*/
|
||||
public class PrintingResultHandler implements ResultHandler {
|
||||
|
||||
private static final boolean servlet3Present = ClassUtils.hasMethod(ServletRequest.class, "startAsync");
|
||||
|
||||
private final ResultValuePrinter printer;
|
||||
|
||||
|
||||
|
@ -77,7 +79,7 @@ public class PrintingResultHandler implements ResultHandler {
|
|||
this.printer.printHeading("Handler");
|
||||
printHandler(result.getHandler(), result.getInterceptors());
|
||||
|
||||
if (ClassUtils.hasMethod(ServletRequest.class, "startAsync")) {
|
||||
if (servlet3Present) {
|
||||
this.printer.printHeading("Async");
|
||||
printAsyncResult(result);
|
||||
}
|
||||
|
@ -130,9 +132,11 @@ public class PrintingResultHandler implements ResultHandler {
|
|||
}
|
||||
|
||||
protected void printAsyncResult(MvcResult result) throws Exception {
|
||||
HttpServletRequest request = result.getRequest();
|
||||
this.printer.printValue("Was async started", request.isAsyncStarted());
|
||||
this.printer.printValue("Async result", result.getAsyncResult(0));
|
||||
if (servlet3Present) {
|
||||
HttpServletRequest request = result.getRequest();
|
||||
this.printer.printValue("Was async started", request.isAsyncStarted());
|
||||
this.printer.printValue("Async result", result.getAsyncResult(0));
|
||||
}
|
||||
}
|
||||
|
||||
/** Print the handler */
|
||||
|
|
|
@ -34,6 +34,8 @@ import org.springframework.mock.web.MockHttpServletResponse;
|
|||
import org.springframework.test.web.servlet.StubMvcResult;
|
||||
import org.springframework.test.web.servlet.result.PrintingResultHandler;
|
||||
import org.springframework.util.Assert;
|
||||
import org.springframework.util.LinkedMultiValueMap;
|
||||
import org.springframework.util.MultiValueMap;
|
||||
import org.springframework.validation.BindException;
|
||||
import org.springframework.validation.BindingResult;
|
||||
import org.springframework.web.method.HandlerMethod;
|
||||
|
@ -60,7 +62,11 @@ public class PrintingResultHandlerTests {
|
|||
@Before
|
||||
public void setup() {
|
||||
this.handler = new TestPrintingResultHandler();
|
||||
this.request = new MockHttpServletRequest("GET", "/");
|
||||
this.request = new MockHttpServletRequest("GET", "/") {
|
||||
public boolean isAsyncStarted() {
|
||||
return false;
|
||||
}
|
||||
};
|
||||
this.response = new MockHttpServletResponse();
|
||||
this.mvcResult = new StubMvcResult(this.request, null, null, null, null, null, this.response);
|
||||
}
|
||||
|
@ -75,9 +81,12 @@ public class PrintingResultHandlerTests {
|
|||
HttpHeaders headers = new HttpHeaders();
|
||||
headers.set("header", "headerValue");
|
||||
|
||||
MultiValueMap<String, String> params = new LinkedMultiValueMap<String, String>();
|
||||
params.add("param", "paramValue");
|
||||
|
||||
assertValue("MockHttpServletRequest", "HTTP Method", this.request.getMethod());
|
||||
assertValue("MockHttpServletRequest", "Request URI", this.request.getRequestURI());
|
||||
assertValue("MockHttpServletRequest", "Parameters", this.request.getParameterMap());
|
||||
assertValue("MockHttpServletRequest", "Parameters", params);
|
||||
assertValue("MockHttpServletRequest", "Headers", headers);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue