Replace constant exceptions with inlined ones

Issue: SRP-17475
This commit is contained in:
Rossen Stoyanchev
2018-11-13 14:49:23 -05:00
parent 75b1396768
commit 9f857c1f16
4 changed files with 31 additions and 12 deletions

View File

@@ -19,6 +19,7 @@ package org.springframework.web.reactive;
import java.time.Duration;
import java.util.Collections;
import java.util.List;
import java.util.concurrent.atomic.AtomicReference;
import org.junit.Before;
import org.junit.Test;
@@ -81,15 +82,19 @@ public class DispatcherHandlerErrorTests {
@Test
public void noHandler() {
MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("/does-not-exist"));
Mono<Void> publisher = this.dispatcherHandler.handle(exchange);
Mono<Void> mono = this.dispatcherHandler.handle(exchange);
StepVerifier.create(publisher)
.consumeErrorWith(error -> {
assertThat(error, instanceOf(ResponseStatusException.class));
assertThat(error.getMessage(),
is("404 NOT_FOUND \"No matching handler\""));
StepVerifier.create(mono)
.consumeErrorWith(ex -> {
assertThat(ex, instanceOf(ResponseStatusException.class));
assertThat(ex.getMessage(), is("404 NOT_FOUND \"No matching handler\""));
})
.verify();
// SPR-17475
AtomicReference<Throwable> exceptionRef = new AtomicReference<>();
StepVerifier.create(mono).consumeErrorWith(exceptionRef::set).verify();
StepVerifier.create(mono).consumeErrorWith(ex -> assertNotSame(exceptionRef.get(), ex)).verify();
}
@Test

View File

@@ -24,6 +24,7 @@ import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicReference;
import org.junit.Before;
import org.junit.Test;
@@ -274,6 +275,7 @@ public class ResourceWebHandlerTests {
private void testInvalidPath(String requestPath, ResourceWebHandler handler) {
ServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get(""));
setPathWithinHandlerMapping(exchange, requestPath);
StepVerifier.create(handler.handle(exchange))
.expectErrorSatisfies(err -> {
assertThat(err, instanceOf(ResponseStatusException.class));
@@ -468,11 +470,18 @@ public class ResourceWebHandlerTests {
MockServerHttpRequest request = MockServerHttpRequest.method(httpMethod, "").build();
MockServerWebExchange exchange = MockServerWebExchange.from(request);
setPathWithinHandlerMapping(exchange, "not-there.css");
StepVerifier.create(this.handler.handle(exchange))
Mono<Void> mono = this.handler.handle(exchange);
StepVerifier.create(mono)
.expectErrorSatisfies(err -> {
assertThat(err, instanceOf(ResponseStatusException.class));
assertEquals(HttpStatus.NOT_FOUND, ((ResponseStatusException) err).getStatus());
}).verify(TIMEOUT);
// SPR-17475
AtomicReference<Throwable> exceptionRef = new AtomicReference<>();
StepVerifier.create(mono).consumeErrorWith(exceptionRef::set).verify();
StepVerifier.create(mono).consumeErrorWith(ex -> assertNotSame(exceptionRef.get(), ex)).verify();
}
@Test