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;
}