From c8e351d47b11d9f87867c254fec8070811396b5d Mon Sep 17 00:00:00 2001 From: Michal Stehlik Date: Wed, 10 Mar 2021 13:29:57 +0100 Subject: [PATCH] StatusAssertion value methods fail when used with custom status code --- .../test/web/reactive/server/StatusAssertions.java | 4 ++-- .../test/web/reactive/server/StatusAssertionTests.java | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/spring-test/src/main/java/org/springframework/test/web/reactive/server/StatusAssertions.java b/spring-test/src/main/java/org/springframework/test/web/reactive/server/StatusAssertions.java index 497b5bace1ac..1b5e676ee263 100644 --- a/spring-test/src/main/java/org/springframework/test/web/reactive/server/StatusAssertions.java +++ b/spring-test/src/main/java/org/springframework/test/web/reactive/server/StatusAssertions.java @@ -205,7 +205,7 @@ public WebTestClient.ResponseSpec is5xxServerError() { * @since 5.1 */ public WebTestClient.ResponseSpec value(Matcher matcher) { - int value = this.exchangeResult.getStatus().value(); + int value = this.exchangeResult.getRawStatusCode(); this.exchangeResult.assertWithDiagnostics(() -> MatcherAssert.assertThat("Response status", value, matcher)); return this.responseSpec; } @@ -216,7 +216,7 @@ public WebTestClient.ResponseSpec value(Matcher matcher) { * @since 5.1 */ public WebTestClient.ResponseSpec value(Consumer consumer) { - int value = this.exchangeResult.getStatus().value(); + int value = this.exchangeResult.getRawStatusCode(); this.exchangeResult.assertWithDiagnostics(() -> consumer.accept(value)); return this.responseSpec; } diff --git a/spring-test/src/test/java/org/springframework/test/web/reactive/server/StatusAssertionTests.java b/spring-test/src/test/java/org/springframework/test/web/reactive/server/StatusAssertionTests.java index 7a301ad91619..6e4eacfb3a29 100644 --- a/spring-test/src/test/java/org/springframework/test/web/reactive/server/StatusAssertionTests.java +++ b/spring-test/src/test/java/org/springframework/test/web/reactive/server/StatusAssertionTests.java @@ -147,6 +147,10 @@ void matches() { assertions.value(equalTo(200))); } + @Test + void matchesWithCustomStatus() { + statusAssertions(600).value(equalTo(600)); + } private StatusAssertions statusAssertions(HttpStatus status) { return statusAssertions(status.value());