Add convenient request/response accessors on MvcTestResult

Closes gh-32846
This commit is contained in:
Stéphane Nicoll 2024-05-20 11:19:12 +02:00
parent 268043a28c
commit 4bbfd4c5e7
3 changed files with 18 additions and 12 deletions

View File

@ -18,8 +18,6 @@ package org.springframework.test.web.servlet.assertj;
import org.springframework.http.converter.GenericHttpMessageConverter;
import org.springframework.lang.Nullable;
import org.springframework.mock.web.MockHttpServletRequest;
import org.springframework.mock.web.MockHttpServletResponse;
import org.springframework.test.web.servlet.MvcResult;
/**
@ -64,14 +62,6 @@ final class DefaultMvcTestResult implements MvcTestResult {
return this.unresolvedException;
}
public MockHttpServletRequest getRequest() {
return getMvcResult().getRequest();
}
public MockHttpServletResponse getResponse() {
return getMvcResult().getResponse();
}
@Nullable
public Exception getResolvedException() {
return getMvcResult().getResolvedException();

View File

@ -19,6 +19,8 @@ package org.springframework.test.web.servlet.assertj;
import org.assertj.core.api.AssertProvider;
import org.springframework.lang.Nullable;
import org.springframework.mock.web.MockHttpServletRequest;
import org.springframework.mock.web.MockHttpServletResponse;
import org.springframework.test.web.servlet.MvcResult;
/**
@ -53,6 +55,21 @@ public interface MvcTestResult extends AssertProvider<MvcTestResultAssert> {
*/
MvcResult getMvcResult();
/**
* Return the performed {@linkplain MockHttpServletRequest request}.
*/
default MockHttpServletRequest getRequest() {
return getMvcResult().getRequest();
}
/**
* Return the resulting {@linkplain MockHttpServletResponse response}.
*/
default MockHttpServletResponse getResponse() {
return getMvcResult().getResponse();
}
/**
* Return the exception that was thrown unexpectedly while processing the
* request, if any.

View File

@ -55,8 +55,7 @@ public class MvcTestResultAssert extends AbstractMockHttpServletResponseAssert<M
@Override
protected MockHttpServletResponse getResponse() {
getMvcResult();
return this.actual.getMvcResult().getResponse();
return getMvcResult().getResponse();
}
/**