From fd04629f8fd8a086372a9a1e33a3141c61047aa7 Mon Sep 17 00:00:00 2001 From: Dave Syer Date: Wed, 22 Mar 2017 12:05:16 +0000 Subject: [PATCH] Extend range of HTTP request methods in Wiremock REST docs Fixes gh-249 --- .../wiremock/restdocs/WireMockSnippet.java | 20 +++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/spring-cloud-contract-wiremock/src/main/java/org/springframework/cloud/contract/wiremock/restdocs/WireMockSnippet.java b/spring-cloud-contract-wiremock/src/main/java/org/springframework/cloud/contract/wiremock/restdocs/WireMockSnippet.java index f509eb7830..556d92e851 100644 --- a/spring-cloud-contract-wiremock/src/main/java/org/springframework/cloud/contract/wiremock/restdocs/WireMockSnippet.java +++ b/spring-cloud-contract-wiremock/src/main/java/org/springframework/cloud/contract/wiremock/restdocs/WireMockSnippet.java @@ -47,6 +47,10 @@ import static com.github.tomakehurst.wiremock.client.WireMock.equalToJson; import static com.github.tomakehurst.wiremock.client.WireMock.get; import static com.github.tomakehurst.wiremock.client.WireMock.matching; import static com.github.tomakehurst.wiremock.client.WireMock.matchingJsonPath; +import static com.github.tomakehurst.wiremock.client.WireMock.patch; +import static com.github.tomakehurst.wiremock.client.WireMock.head; +import static com.github.tomakehurst.wiremock.client.WireMock.options; +import static com.github.tomakehurst.wiremock.client.WireMock.trace; import static com.github.tomakehurst.wiremock.client.WireMock.post; import static com.github.tomakehurst.wiremock.client.WireMock.put; import static com.github.tomakehurst.wiremock.client.WireMock.urlEqualTo; @@ -103,7 +107,7 @@ public class WireMockSnippet implements Snippet { private boolean hasJsonContentType(Operation operation) { return operation.getRequest().getHeaders().getContentType() != null && (operation.getRequest().getHeaders().getContentType() - .isCompatibleWith(MediaType.APPLICATION_JSON)); + .isCompatibleWith(MediaType.APPLICATION_JSON)); } private ResponseDefinitionBuilder response(Operation operation) { @@ -146,8 +150,20 @@ public class WireMockSnippet implements Snippet { case PUT: return bodyPattern(put(requestPattern(operation)), operation.getRequest().getContentAsString()); - default: + case PATCH: + return bodyPattern(patch(requestPattern(operation)), + operation.getRequest().getContentAsString()); + case GET: return get(requestPattern(operation)); + case HEAD: + return head(requestPattern(operation)); + case OPTIONS: + return options(requestPattern(operation)); + case TRACE: + return trace(requestPattern(operation)); + default: + throw new UnsupportedOperationException( + "Unsupported method type: " + operation.getRequest().getMethod()); } }