Fixing normalErrorPageWorks() test #4012
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fix HttpStatusTests.normalErrorPageWorks for error responses without message field
While running the Spring Cloud Gateway WebFlux tests on this commit, I ran into a failure in
HttpStatusTests.normalErrorPageWorks():In this environment, the default error response includes a requestId field, but does not include a message field. The existing assertion expected "message" to always be present in the error body, which caused normalErrorPageWorks to fail even though the response was otherwise correct (status 500, path, timestamp, etc.).
This PR relaxes the assertion to:
Summary of changes
spring-cloud-gateway-server-webflux/src/test/java/org/springframework/cloud/gateway/test/HttpStatusTests.java:
Before:
After:
Motivation
With the newer Spring Boot error handling defaults, the error JSON for /exception can legitimately omit
"message"while still including other helpful metadata such as"requestId". The previous assertion hard-coded the presence of"message", causing failures like the one above despite the behavior being otherwise correct.By asserting the stable core fields and then allowing either
"message"or"requestId"in the key set, the test: