From 0097b6db6eac274391b2322740ea1c5c8254a3d3 Mon Sep 17 00:00:00 2001 From: Marcin Grzejszczak Date: Mon, 13 Nov 2017 10:16:29 +0100 Subject: [PATCH] Filters headers from response for Groovy DSL creation from rest docs; fixes #455 --- .../cloud/contract/wiremock/restdocs/ContractDslSnippet.java | 5 +++-- .../contract/wiremock/restdocs/ContractDslSnippetTests.java | 2 ++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/spring-cloud-contract-wiremock/src/main/java/org/springframework/cloud/contract/wiremock/restdocs/ContractDslSnippet.java b/spring-cloud-contract-wiremock/src/main/java/org/springframework/cloud/contract/wiremock/restdocs/ContractDslSnippet.java index c0a4036841..f9fee052f8 100644 --- a/spring-cloud-contract-wiremock/src/main/java/org/springframework/cloud/contract/wiremock/restdocs/ContractDslSnippet.java +++ b/spring-cloud-contract-wiremock/src/main/java/org/springframework/cloud/contract/wiremock/restdocs/ContractDslSnippet.java @@ -73,9 +73,10 @@ public class ContractDslSnippet extends TemplatedSnippet { model.put("response_status", response.getStatus().value()); model.put("response_body_present", response.getContent().length > 0); model.put("response_body", response.getContentAsString()); - HttpHeaders headers = response.getHeaders(); + Map headers = response.getHeaders().toSingleValueMap(); + filterHeaders(headers); model.put("response_headers_present", !headers.isEmpty()); - model.put("response_headers", headers.toSingleValueMap().entrySet()); + model.put("response_headers", headers.entrySet()); @SuppressWarnings("unchecked") Set jsonPaths = (Set) operation.getAttributes() .get("contract.jsonPaths"); model.put("response_json_paths_present", jsonPaths != null && !jsonPaths.isEmpty()); diff --git a/spring-cloud-contract-wiremock/src/test/java/org/springframework/cloud/contract/wiremock/restdocs/ContractDslSnippetTests.java b/spring-cloud-contract-wiremock/src/test/java/org/springframework/cloud/contract/wiremock/restdocs/ContractDslSnippetTests.java index 0006f6c5b5..1f223f94bd 100644 --- a/spring-cloud-contract-wiremock/src/test/java/org/springframework/cloud/contract/wiremock/restdocs/ContractDslSnippetTests.java +++ b/spring-cloud-contract-wiremock/src/test/java/org/springframework/cloud/contract/wiremock/restdocs/ContractDslSnippetTests.java @@ -87,6 +87,8 @@ public class ContractDslSnippetTests { then(parsedContract.getRequest().getHeaders().getEntries()).isNotNull(); then(headerNames(parsedContract.getRequest().getHeaders().getEntries())).doesNotContain (HttpHeaders.HOST, HttpHeaders.CONTENT_LENGTH); + then(headerNames(parsedContract.getResponse().getHeaders().getEntries())).doesNotContain + (HttpHeaders.HOST, HttpHeaders.CONTENT_LENGTH); then(parsedContract.getRequest().getMethod().getClientValue()).isNotNull(); then(parsedContract.getRequest().getUrl().getClientValue()).isNotNull(); then(parsedContract.getRequest().getUrl().getClientValue().toString()).startsWith("/");