From 96f8d2db5cdb6f5b56f8930e70876df696ee576a Mon Sep 17 00:00:00 2001 From: Marcin Grzejszczak Date: Tue, 18 Oct 2022 10:30:29 +0200 Subject: [PATCH] Fixed RestDocs setup --- samples/standalone/pom.xml | 3 +-- .../cloud/contract/wiremock/restdocs/ContractDslSnippet.java | 3 ++- .../contract/wiremock/restdocs/ContractExchangeHandler.java | 5 +++++ .../contract/wiremock/restdocs/ContractResultHandler.java | 5 +++++ 4 files changed, 13 insertions(+), 3 deletions(-) diff --git a/samples/standalone/pom.xml b/samples/standalone/pom.xml index 43d7999c0f..35d66ea2ed 100644 --- a/samples/standalone/pom.xml +++ b/samples/standalone/pom.xml @@ -24,8 +24,7 @@ contracts - - + restdocs dsl webclient 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 c6cb0ee32d..cccb74e069 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 @@ -33,6 +33,7 @@ import org.springframework.restdocs.RestDocumentationContext; import org.springframework.restdocs.operation.Operation; import org.springframework.restdocs.operation.OperationRequest; import org.springframework.restdocs.operation.OperationResponse; +import org.springframework.restdocs.operation.QueryParameters; import org.springframework.restdocs.snippet.RestDocumentationContextPlaceholderResolver; import org.springframework.restdocs.snippet.TemplatedSnippet; import org.springframework.restdocs.templates.TemplateEngine; @@ -121,7 +122,7 @@ public class ContractDslSnippet extends TemplatedSnippet { model.put("request_urlpath_present", urlPathPresent); if (urlPathPresent) { // TODO: Add support for multiple values - model.put("request_queryparams", request.getParameters().toSingleValueMap().entrySet()); + model.put("request_queryparams", QueryParameters.from(request).toSingleValueMap().entrySet()); } model.put("request_body_present", request.getContent().length > 0); model.put("request_body", request.getContentAsString()); diff --git a/spring-cloud-contract-wiremock/src/main/java/org/springframework/cloud/contract/wiremock/restdocs/ContractExchangeHandler.java b/spring-cloud-contract-wiremock/src/main/java/org/springframework/cloud/contract/wiremock/restdocs/ContractExchangeHandler.java index 40a83661ee..1df697b466 100644 --- a/spring-cloud-contract-wiremock/src/main/java/org/springframework/cloud/contract/wiremock/restdocs/ContractExchangeHandler.java +++ b/spring-cloud-contract-wiremock/src/main/java/org/springframework/cloud/contract/wiremock/restdocs/ContractExchangeHandler.java @@ -319,4 +319,9 @@ class WireMockHttpRequestAdapter implements Request { return Optional.absent(); } + @Override + public String getProtocol() { + return this.result.getUrl().getScheme(); + } + } diff --git a/spring-cloud-contract-wiremock/src/main/java/org/springframework/cloud/contract/wiremock/restdocs/ContractResultHandler.java b/spring-cloud-contract-wiremock/src/main/java/org/springframework/cloud/contract/wiremock/restdocs/ContractResultHandler.java index 314822e3ed..b8b5b5bfa1 100644 --- a/spring-cloud-contract-wiremock/src/main/java/org/springframework/cloud/contract/wiremock/restdocs/ContractResultHandler.java +++ b/spring-cloud-contract-wiremock/src/main/java/org/springframework/cloud/contract/wiremock/restdocs/ContractResultHandler.java @@ -272,6 +272,11 @@ public class ContractResultHandler extends WireMockVerifyHelper getOriginalRequest() { return Optional.absent(); } + + @Override + public String getProtocol() { + return result.getRequest().getProtocol(); + } }; }