Fix broken endpoint integration tests

Ensure that JSON response is returned when extracting data from the
error details.

See gh-12513
This commit is contained in:
Phillip Webb
2018-03-17 12:28:41 -07:00
parent 72e36eadae
commit 6e2ecb8a43
@@ -168,7 +168,8 @@ public abstract class AbstractWebEndpointIntegrationTests<T extends Configurable
public void readOperationWithMappingFailureProducesBadRequestResponse() { public void readOperationWithMappingFailureProducesBadRequestResponse() {
load(QueryEndpointConfiguration.class, (client) -> { load(QueryEndpointConfiguration.class, (client) -> {
WebTestClient.BodyContentSpec body = client.get().uri("/query?two=two") WebTestClient.BodyContentSpec body = client.get().uri("/query?two=two")
.exchange().expectStatus().isBadRequest().expectBody(); .accept(MediaType.APPLICATION_JSON).exchange().expectStatus()
.isBadRequest().expectBody();
validateErrorBody(body, HttpStatus.BAD_REQUEST, "/endpoints/query", validateErrorBody(body, HttpStatus.BAD_REQUEST, "/endpoints/query",
"Missing parameters: one"); "Missing parameters: one");
}); });
@@ -290,7 +291,8 @@ public abstract class AbstractWebEndpointIntegrationTests<T extends Configurable
public void readOperationWithMissingRequiredParametersReturnsBadRequestResponse() { public void readOperationWithMissingRequiredParametersReturnsBadRequestResponse() {
load(RequiredParameterEndpointConfiguration.class, (client) -> { load(RequiredParameterEndpointConfiguration.class, (client) -> {
WebTestClient.BodyContentSpec body = client.get().uri("/requiredparameters") WebTestClient.BodyContentSpec body = client.get().uri("/requiredparameters")
.exchange().expectStatus().isBadRequest().expectBody(); .accept(MediaType.APPLICATION_JSON).exchange().expectStatus()
.isBadRequest().expectBody();
validateErrorBody(body, HttpStatus.BAD_REQUEST, validateErrorBody(body, HttpStatus.BAD_REQUEST,
"/endpoints/requiredparameters", "Missing parameters: foo"); "/endpoints/requiredparameters", "Missing parameters: foo");
}); });