diff --git a/spring-cloud-contract-dependencies/pom.xml b/spring-cloud-contract-dependencies/pom.xml
index ca92d2161a..bdcf63646a 100644
--- a/spring-cloud-contract-dependencies/pom.xml
+++ b/spring-cloud-contract-dependencies/pom.xml
@@ -15,7 +15,7 @@
spring-cloud-contract-dependencies
Spring Cloud Contract Dependencies
- 2.29.1
+ 2.30.1
0.6.1
diff --git a/spring-cloud-contract-stub-runner/src/main/java/org/springframework/cloud/contract/stubrunner/provider/wiremock/WireMockHttpServerStub.java b/spring-cloud-contract-stub-runner/src/main/java/org/springframework/cloud/contract/stubrunner/provider/wiremock/WireMockHttpServerStub.java
index 9170dce2d9..6ef55142eb 100644
--- a/spring-cloud-contract-stub-runner/src/main/java/org/springframework/cloud/contract/stubrunner/provider/wiremock/WireMockHttpServerStub.java
+++ b/spring-cloud-contract-stub-runner/src/main/java/org/springframework/cloud/contract/stubrunner/provider/wiremock/WireMockHttpServerStub.java
@@ -99,8 +99,8 @@ public class WireMockHttpServerStub implements HttpServerStub {
return extensions.toArray(new Extension[extensions.size()]);
}
- private Map helpers() {
- Map helpers = new HashMap<>();
+ private Map> helpers() {
+ Map> helpers = new HashMap<>();
helpers.put(HandlebarsJsonPathHelper.NAME, new HandlebarsJsonPathHelper());
helpers.put(HandlebarsEscapeHelper.NAME, new HandlebarsEscapeHelper());
return helpers;
diff --git a/spring-cloud-contract-tools/spring-cloud-contract-converters/src/main/java/org/springframework/cloud/contract/verifier/wiremock/DefaultWireMockStubPostProcessor.java b/spring-cloud-contract-tools/spring-cloud-contract-converters/src/main/java/org/springframework/cloud/contract/verifier/wiremock/DefaultWireMockStubPostProcessor.java
index cf19c020bc..6126e7fcf0 100644
--- a/spring-cloud-contract-tools/spring-cloud-contract-converters/src/main/java/org/springframework/cloud/contract/verifier/wiremock/DefaultWireMockStubPostProcessor.java
+++ b/spring-cloud-contract-tools/spring-cloud-contract-converters/src/main/java/org/springframework/cloud/contract/verifier/wiremock/DefaultWireMockStubPostProcessor.java
@@ -16,7 +16,7 @@
package org.springframework.cloud.contract.verifier.wiremock;
-import java.util.HashMap;
+import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@@ -24,6 +24,7 @@ import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.github.tomakehurst.wiremock.common.Metadata;
import com.github.tomakehurst.wiremock.extension.Parameters;
+import com.github.tomakehurst.wiremock.extension.PostServeActionDefinition;
import com.github.tomakehurst.wiremock.http.ChunkedDribbleDelay;
import com.github.tomakehurst.wiremock.http.DelayDistribution;
import com.github.tomakehurst.wiremock.http.Fault;
@@ -51,9 +52,9 @@ class DefaultWireMockStubPostProcessor implements WireMockStubPostProcessor {
}
public void setPostServeActions(StubMapping stubMapping, StubMapping stubMappingFromMetadata) {
- Map postServeActions = stubMapping.getPostServeActions();
- postServeActions = postServeActions != null ? postServeActions : new HashMap<>();
- postServeActions.putAll(stubMappingFromMetadata.getPostServeActions());
+ List postServeActions = stubMapping.getPostServeActions();
+ postServeActions = postServeActions != null ? postServeActions : new ArrayList<>();
+ postServeActions.addAll(stubMappingFromMetadata.getPostServeActions());
stubMapping.setPostServeActions(postServeActions);
}
diff --git a/spring-cloud-contract-tools/spring-cloud-contract-converters/src/test/java/org/springframework/cloud/contract/verifier/wiremock/DefaultWireMockStubPostProcessorTests.java b/spring-cloud-contract-tools/spring-cloud-contract-converters/src/test/java/org/springframework/cloud/contract/verifier/wiremock/DefaultWireMockStubPostProcessorTests.java
index e231f2305a..cbf006e6e2 100644
--- a/spring-cloud-contract-tools/spring-cloud-contract-converters/src/test/java/org/springframework/cloud/contract/verifier/wiremock/DefaultWireMockStubPostProcessorTests.java
+++ b/spring-cloud-contract-tools/spring-cloud-contract-converters/src/test/java/org/springframework/cloud/contract/verifier/wiremock/DefaultWireMockStubPostProcessorTests.java
@@ -18,10 +18,11 @@ package org.springframework.cloud.contract.verifier.wiremock;
import java.util.HashMap;
import java.util.Map;
+import java.util.stream.Collectors;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
-import com.github.tomakehurst.wiremock.extension.Parameters;
+import com.github.tomakehurst.wiremock.extension.PostServeActionDefinition;
import com.github.tomakehurst.wiremock.stubbing.StubMapping;
import org.junit.jupiter.api.Test;
@@ -151,9 +152,12 @@ class DefaultWireMockStubPostProcessorTests {
then(result.getRequest().getMethod().getName()).isEqualTo("GET");
then(result.getResponse().getStatus()).isEqualTo(200);
then(result.getResponse().getBody()).isEqualTo("pong");
- then(result.getPostServeActions()).containsKey("webhook");
- Parameters webhook = result.getPostServeActions().get("webhook");
- then(webhook.getString("method")).isEqualTo("POST");
+ then(result.getPostServeActions().stream().map(a -> a.getName()).collect(Collectors.toList()))
+ .contains("webhook");
+ PostServeActionDefinition definition = result.getPostServeActions().stream()
+ .filter(a -> a.getName().equals("webhook")).findFirst()
+ .orElseThrow(() -> new AssertionError("No webhook action found"));
+ then(definition.getParameters().getString("method")).isEqualTo("POST");
}
}
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 45f374a605..e59b82baa7 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.29.1
+wiremockVersion=2.30.1
jsonAssertVersion=0.6.1
verifierVersion=3.0.4-SNAPSHOT
groovyVersion=2.4.17
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 9f63a02fbe..1b29b682ee 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.29.1
+wiremockVersion=2.30.1
jsonAssertVersion=0.6.1
verifierVersion=3.0.4-SNAPSHOT
bootVersion=2.4.7
diff --git a/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/test/resources/functionalTest/scenarioProjectKotlin/gradle.properties b/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/test/resources/functionalTest/scenarioProjectKotlin/gradle.properties
index 9f63a02fbe..1b29b682ee 100644
--- a/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/test/resources/functionalTest/scenarioProjectKotlin/gradle.properties
+++ b/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/test/resources/functionalTest/scenarioProjectKotlin/gradle.properties
@@ -13,7 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#
-wiremockVersion=2.29.1
+wiremockVersion=2.30.1
jsonAssertVersion=0.6.1
verifierVersion=3.0.4-SNAPSHOT
bootVersion=2.4.7
diff --git a/spring-cloud-contract-verifier/src/main/java/org/springframework/cloud/contract/verifier/dsl/wiremock/DefaultResponseTransformer.java b/spring-cloud-contract-verifier/src/main/java/org/springframework/cloud/contract/verifier/dsl/wiremock/DefaultResponseTransformer.java
index 49fc8369d3..aa2b81a6d6 100644
--- a/spring-cloud-contract-verifier/src/main/java/org/springframework/cloud/contract/verifier/dsl/wiremock/DefaultResponseTransformer.java
+++ b/spring-cloud-contract-verifier/src/main/java/org/springframework/cloud/contract/verifier/dsl/wiremock/DefaultResponseTransformer.java
@@ -42,16 +42,16 @@ public class DefaultResponseTransformer extends ResponseTemplateTransformer {
super(global);
}
- public DefaultResponseTransformer(boolean global, String helperName, Helper helper) {
+ public DefaultResponseTransformer(boolean global, String helperName, Helper> helper) {
super(global, helperName, helper);
}
- public DefaultResponseTransformer(boolean global, Map helpers) {
+ public DefaultResponseTransformer(boolean global, Map> helpers) {
super(global, helpers);
}
- private static Map defaultHelpers() {
- Map helpers = new HashMap<>();
+ private static Map> defaultHelpers() {
+ Map> helpers = new HashMap<>();
helpers.put(HandlebarsJsonPathHelper.NAME, new HandlebarsJsonPathHelper());
helpers.put(HandlebarsEscapeHelper.NAME, new HandlebarsEscapeHelper());
return helpers;