Exception response for MockRestServiceServer
Closes gh-1954
This commit is contained in:
parent
f638bfc6a9
commit
cfb7777a07
|
@ -16,6 +16,7 @@
|
||||||
|
|
||||||
package org.springframework.test.web.client.response;
|
package org.springframework.test.web.client.response;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
import java.net.URI;
|
import java.net.URI;
|
||||||
|
|
||||||
import org.springframework.core.io.Resource;
|
import org.springframework.core.io.Resource;
|
||||||
|
@ -116,4 +117,15 @@ public abstract class MockRestResponseCreators {
|
||||||
return new DefaultResponseCreator(status);
|
return new DefaultResponseCreator(status);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@code ResponseCreator} with an internal application {@code IOException}. For example,
|
||||||
|
* one could use this to simulate a {@code SocketTimeoutException}.
|
||||||
|
* @param e the {@code Exception} to be thrown at HTTP call time.
|
||||||
|
*/
|
||||||
|
public static ResponseCreator withException(IOException e) {
|
||||||
|
return request -> {
|
||||||
|
throw e;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,6 +16,7 @@
|
||||||
|
|
||||||
package org.springframework.test.web.client.response;
|
package org.springframework.test.web.client.response;
|
||||||
|
|
||||||
|
import java.net.SocketTimeoutException;
|
||||||
import java.net.URI;
|
import java.net.URI;
|
||||||
|
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
|
@ -23,6 +24,7 @@ import org.junit.jupiter.api.Test;
|
||||||
import org.springframework.http.HttpStatus;
|
import org.springframework.http.HttpStatus;
|
||||||
import org.springframework.http.MediaType;
|
import org.springframework.http.MediaType;
|
||||||
import org.springframework.mock.http.client.MockClientHttpResponse;
|
import org.springframework.mock.http.client.MockClientHttpResponse;
|
||||||
|
import org.springframework.test.web.client.ResponseCreator;
|
||||||
import org.springframework.util.StreamUtils;
|
import org.springframework.util.StreamUtils;
|
||||||
|
|
||||||
import static org.assertj.core.api.Assertions.assertThat;
|
import static org.assertj.core.api.Assertions.assertThat;
|
||||||
|
@ -124,4 +126,10 @@ public class ResponseCreatorsTests {
|
||||||
assertThat(StreamUtils.copyToByteArray(response.getBody()).length).isEqualTo(0);
|
assertThat(StreamUtils.copyToByteArray(response.getBody()).length).isEqualTo(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test(expected = SocketTimeoutException.class)
|
||||||
|
public void withException() throws Exception {
|
||||||
|
ResponseCreator responseCreator = MockRestResponseCreators.withException(new SocketTimeoutException());
|
||||||
|
responseCreator.createResponse(null);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue