Merge branch '6.1.x'
This commit is contained in:
commit
6fa340760d
|
|
@ -274,10 +274,11 @@ public class WebClientResponseException extends WebClientException {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getMessage() {
|
public String getMessage() {
|
||||||
|
String message = String.valueOf(super.getMessage());
|
||||||
if (shouldHintAtResponseFailure()) {
|
if (shouldHintAtResponseFailure()) {
|
||||||
return super.getMessage() + ", but response failed with cause: " + getCause();
|
return message + ", but response failed with cause: " + getCause();
|
||||||
}
|
}
|
||||||
return super.getMessage();
|
return message;
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean shouldHintAtResponseFailure() {
|
private boolean shouldHintAtResponseFailure() {
|
||||||
|
|
|
||||||
|
|
@ -20,6 +20,11 @@ import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
import static org.assertj.core.api.Assertions.assertThat;
|
import static org.assertj.core.api.Assertions.assertThat;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Tests for {@link WebClientResponseException}.
|
||||||
|
*
|
||||||
|
* @author Simon Baslé
|
||||||
|
*/
|
||||||
class WebClientResponseExceptionTests {
|
class WebClientResponseExceptionTests {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|
@ -31,34 +36,34 @@ class WebClientResponseExceptionTests {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void constructWith1xxStatusCodeAndCauseAdditionalMessage() {
|
void constructWith1xxStatusCodeAndCauseAdditionalMessage() {
|
||||||
final WebClientResponseException ex = new WebClientResponseException(100, "reasonPhrase", null, null, null);
|
WebClientResponseException ex = new WebClientResponseException(100, "reasonPhrase", null, null, null);
|
||||||
ex.initCause(new RuntimeException("example cause"));
|
ex.initCause(new RuntimeException("example cause"));
|
||||||
assertThat(ex).hasMessage("100 reasonPhrase, but response failed with cause: java.lang.RuntimeException: example cause");
|
assertThat(ex).hasMessage("100 reasonPhrase, but response failed with cause: java.lang.RuntimeException: example cause");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void constructWith2xxStatusCodeAndCauseAdditionalMessage() {
|
void constructWith2xxStatusCodeAndCauseAdditionalMessage() {
|
||||||
final WebClientResponseException ex = new WebClientResponseException(200, "reasonPhrase", null, null, null);
|
WebClientResponseException ex = new WebClientResponseException(200, "reasonPhrase", null, null, null);
|
||||||
ex.initCause(new RuntimeException("example cause"));
|
ex.initCause(new RuntimeException("example cause"));
|
||||||
assertThat(ex).hasMessage("200 reasonPhrase, but response failed with cause: java.lang.RuntimeException: example cause");
|
assertThat(ex).hasMessage("200 reasonPhrase, but response failed with cause: java.lang.RuntimeException: example cause");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void constructWith3xxStatusCodeAndCauseAdditionalMessage() {
|
void constructWith3xxStatusCodeAndCauseAdditionalMessage() {
|
||||||
final WebClientResponseException ex = new WebClientResponseException(300, "reasonPhrase", null, null, null);
|
WebClientResponseException ex = new WebClientResponseException(300, "reasonPhrase", null, null, null);
|
||||||
ex.initCause(new RuntimeException("example cause"));
|
ex.initCause(new RuntimeException("example cause"));
|
||||||
assertThat(ex).hasMessage("300 reasonPhrase, but response failed with cause: java.lang.RuntimeException: example cause");
|
assertThat(ex).hasMessage("300 reasonPhrase, but response failed with cause: java.lang.RuntimeException: example cause");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void constructWithExplicitMessageAndNotErrorCodeAdditionalMessage() {
|
void constructWithExplicitMessageAndNotErrorCodeAdditionalMessage() {
|
||||||
final WebClientResponseException ex = new WebClientResponseException("explicit message", 100, "reasonPhrase", null, null, null);
|
WebClientResponseException ex = new WebClientResponseException("explicit message", 100, "reasonPhrase", null, null, null);
|
||||||
assertThat(ex).hasMessage("explicit message, but response failed with cause: null");
|
assertThat(ex).hasMessage("explicit message, but response failed with cause: null");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void constructWithExplicitMessageAndNotErrorCodeAndCauseAdditionalMessage() {
|
void constructWithExplicitMessageAndNotErrorCodeAndCauseAdditionalMessage() {
|
||||||
final WebClientResponseException ex = new WebClientResponseException("explicit message", 100, "reasonPhrase", null, null, null);
|
WebClientResponseException ex = new WebClientResponseException("explicit message", 100, "reasonPhrase", null, null, null);
|
||||||
ex.initCause(new RuntimeException("example cause"));
|
ex.initCause(new RuntimeException("example cause"));
|
||||||
assertThat(ex).hasMessage("explicit message, but response failed with cause: java.lang.RuntimeException: example cause")
|
assertThat(ex).hasMessage("explicit message, but response failed with cause: java.lang.RuntimeException: example cause")
|
||||||
.hasRootCauseMessage("example cause");
|
.hasRootCauseMessage("example cause");
|
||||||
|
|
@ -66,22 +71,23 @@ class WebClientResponseExceptionTests {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void constructWithExplicitMessageAndErrorCodeAndCauseNoAdditionalMessage() {
|
void constructWithExplicitMessageAndErrorCodeAndCauseNoAdditionalMessage() {
|
||||||
final WebClientResponseException ex = new WebClientResponseException("explicit message", 404, "reasonPhrase", null, null, null);
|
WebClientResponseException ex = new WebClientResponseException("explicit message", 404, "reasonPhrase", null, null, null);
|
||||||
ex.initCause(new RuntimeException("example cause"));
|
ex.initCause(new RuntimeException("example cause"));
|
||||||
assertThat(ex).hasMessage("explicit message").hasRootCauseMessage("example cause");
|
assertThat(ex).hasMessage("explicit message").hasRootCauseMessage("example cause");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void constructWith4xxStatusCodeAndCauseNoAdditionalMessage() {
|
void constructWith4xxStatusCodeAndCauseNoAdditionalMessage() {
|
||||||
final WebClientResponseException ex = new WebClientResponseException(400, "reasonPhrase", null, null, null);
|
WebClientResponseException ex = new WebClientResponseException(400, "reasonPhrase", null, null, null);
|
||||||
ex.initCause(new RuntimeException("example cause"));
|
ex.initCause(new RuntimeException("example cause"));
|
||||||
assertThat(ex).hasMessage("400 reasonPhrase").hasRootCauseMessage("example cause");
|
assertThat(ex).hasMessage("400 reasonPhrase").hasRootCauseMessage("example cause");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void constructWith5xxStatusCodeAndCauseNoAdditionalMessage() {
|
void constructWith5xxStatusCodeAndCauseNoAdditionalMessage() {
|
||||||
final WebClientResponseException ex = new WebClientResponseException(500, "reasonPhrase", null, null, null);
|
WebClientResponseException ex = new WebClientResponseException(500, "reasonPhrase", null, null, null);
|
||||||
ex.initCause(new RuntimeException("example cause"));
|
ex.initCause(new RuntimeException("example cause"));
|
||||||
assertThat(ex).hasMessage("500 reasonPhrase").hasRootCauseMessage("example cause");
|
assertThat(ex).hasMessage("500 reasonPhrase").hasRootCauseMessage("example cause");
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue