From 6901fe03f5229211d90ddfbac3da27b136cb405d Mon Sep 17 00:00:00 2001 From: Marcin Grzejszczak Date: Mon, 24 Dec 2018 09:35:18 +0100 Subject: [PATCH] BUmped wiremock to 2.20.0; fixes gh-925 --- spring-cloud-contract-dependencies/pom.xml | 2 +- .../bootSimple/gradle.properties | 2 +- .../sampleJerseyProject/gradle.properties | 2 +- .../sampleProject/gradle.properties | 2 +- .../scenarioProject/gradle.properties | 2 +- .../restdocs/BasicMappingBuilder.java | 31 +++++++++++++++++-- 6 files changed, 33 insertions(+), 8 deletions(-) diff --git a/spring-cloud-contract-dependencies/pom.xml b/spring-cloud-contract-dependencies/pom.xml index e3fb970d8d..b66bb6de8b 100644 --- a/spring-cloud-contract-dependencies/pom.xml +++ b/spring-cloud-contract-dependencies/pom.xml @@ -14,7 +14,7 @@ spring-cloud-contract-dependencies Spring Cloud Contract Dependencies - 2.19.0 + 2.20.0 0.4.13 3.2.0 diff --git a/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/test/resources/functionalTest/bootSimple/gradle.properties b/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/test/resources/functionalTest/bootSimple/gradle.properties index e4c265c576..e7a4ea338c 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/test/resources/functionalTest/bootSimple/gradle.properties +++ b/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/test/resources/functionalTest/bootSimple/gradle.properties @@ -13,7 +13,7 @@ # See the License for the specific language governing permissions and # limitations under the License. # -wiremockVersion=2.19.0 +wiremockVersion=2.20.0 jsonAssertVersion=0.4.13 verifierVersion=2.1.0.BUILD-SNAPSHOT groovyVersion=2.4.15 \ No newline at end of file diff --git a/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/test/resources/functionalTest/sampleJerseyProject/gradle.properties b/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/test/resources/functionalTest/sampleJerseyProject/gradle.properties index 7af5ec5df2..92fc1efb04 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/test/resources/functionalTest/sampleJerseyProject/gradle.properties +++ b/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/test/resources/functionalTest/sampleJerseyProject/gradle.properties @@ -13,7 +13,7 @@ # See the License for the specific language governing permissions and # limitations under the License. # -wiremockVersion=2.19.0 +wiremockVersion=2.20.0 jsonAssertVersion=0.4.13 verifierVersion=2.1.0.BUILD-SNAPSHOT bootVersion=2.1.1.RELEASE diff --git a/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/test/resources/functionalTest/sampleProject/gradle.properties b/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/test/resources/functionalTest/sampleProject/gradle.properties index 7af5ec5df2..92fc1efb04 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/test/resources/functionalTest/sampleProject/gradle.properties +++ b/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/test/resources/functionalTest/sampleProject/gradle.properties @@ -13,7 +13,7 @@ # See the License for the specific language governing permissions and # limitations under the License. # -wiremockVersion=2.19.0 +wiremockVersion=2.20.0 jsonAssertVersion=0.4.13 verifierVersion=2.1.0.BUILD-SNAPSHOT bootVersion=2.1.1.RELEASE diff --git a/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/test/resources/functionalTest/scenarioProject/gradle.properties b/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/test/resources/functionalTest/scenarioProject/gradle.properties index e3087c9c39..efe560cf56 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/test/resources/functionalTest/scenarioProject/gradle.properties +++ b/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/test/resources/functionalTest/scenarioProject/gradle.properties @@ -13,7 +13,7 @@ # See the License for the specific language governing permissions and # limitations under the License. # -wiremockVersion=2.19.0 +wiremockVersion=2.20.0 jsonAssertVersion=0.4.13 verifierVersion=2.1.0.BUILD-SNAPSHOT bootVersion=2.1.1.RELEASE diff --git a/spring-cloud-contract-wiremock/src/main/java/org/springframework/cloud/contract/wiremock/restdocs/BasicMappingBuilder.java b/spring-cloud-contract-wiremock/src/main/java/org/springframework/cloud/contract/wiremock/restdocs/BasicMappingBuilder.java index 0a33819ecf..07c9f7afec 100644 --- a/spring-cloud-contract-wiremock/src/main/java/org/springframework/cloud/contract/wiremock/restdocs/BasicMappingBuilder.java +++ b/spring-cloud-contract-wiremock/src/main/java/org/springframework/cloud/contract/wiremock/restdocs/BasicMappingBuilder.java @@ -5,6 +5,7 @@ import java.util.Map; import java.util.UUID; import com.github.tomakehurst.wiremock.client.BasicCredentials; +import com.github.tomakehurst.wiremock.client.MappingBuilder; import com.github.tomakehurst.wiremock.client.ResponseDefinitionBuilder; import com.github.tomakehurst.wiremock.client.ScenarioMappingBuilder; import com.github.tomakehurst.wiremock.common.Metadata; @@ -45,6 +46,8 @@ class BasicMappingBuilder implements ScenarioMappingBuilder { private Map postServeActions = new LinkedHashMap<>(); + private Metadata metadata = new Metadata(); + BasicMappingBuilder(RequestMethod method, UrlPattern urlPattern) { this.requestPatternBuilder = new RequestPatternBuilder(method, urlPattern); } @@ -166,17 +169,38 @@ class BasicMappingBuilder implements ScenarioMappingBuilder { @Override public ScenarioMappingBuilder withMetadata(Map map) { - throw new UnsupportedOperationException("Metadata not supported"); + this.metadata = new Metadata(map); + return this; } @Override public ScenarioMappingBuilder withMetadata(Metadata metadata) { - throw new UnsupportedOperationException("Metadata not supported"); + this.metadata = metadata; + return this; } @Override public ScenarioMappingBuilder withMetadata(Metadata.Builder builder) { - throw new UnsupportedOperationException("Metadata not supported"); + this.metadata = builder.build(); + return this; + } + + @Override + public ScenarioMappingBuilder andMatching(ValueMatcher requestMatcher) { + this.requestPatternBuilder.andMatching(requestMatcher); + return this; + } + + @Override + public MappingBuilder andMatching(String customRequestMatcherName) { + this.requestPatternBuilder.andMatching(customRequestMatcherName); + return this; + } + + @Override + public MappingBuilder andMatching(String customRequestMatcherName, Parameters parameters) { + this.requestPatternBuilder.andMatching(customRequestMatcherName, parameters); + return this; } @Override @@ -199,6 +223,7 @@ class BasicMappingBuilder implements ScenarioMappingBuilder { mapping.setPersistent(this.isPersistent); mapping.setPostServeActions( this.postServeActions.isEmpty() ? null : this.postServeActions); + mapping.setMetadata(this.metadata); return mapping; }