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 7146153c20..8413c934dd 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 @@ -94,8 +94,8 @@ public class WireMockHttpServerStub implements HttpServerStub { @Override public HttpServerStub start() { if (isRunning()) { - if (log.isDebugEnabled()) { - log.debug("The server is already running at port [" + port() + "]"); + if (log.isTraceEnabled()) { + log.trace("The server is already running at port [" + port() + "]"); } return this; } @@ -113,8 +113,8 @@ public class WireMockHttpServerStub implements HttpServerStub { @Override public HttpServerStub stop() { if (!isRunning()) { - if (log.isDebugEnabled()) { - log.debug("Trying to stop a non started server!"); + if (log.isTraceEnabled()) { + log.trace("Trying to stop a non started server!"); } return this; } diff --git a/spring-cloud-contract-stub-runner/src/test/resources/m2repo/repository/org/springframework/cloud/contract/verifier/stubs/producerWithMultipleConsumers/0.0.1-SNAPSHOT/producerWithMultipleConsumers-0.0.1-SNAPSHOT-stubs.jar b/spring-cloud-contract-stub-runner/src/test/resources/m2repo/repository/org/springframework/cloud/contract/verifier/stubs/producerWithMultipleConsumers/0.0.1-SNAPSHOT/producerWithMultipleConsumers-0.0.1-SNAPSHOT-stubs.jar index 73554a760b..b5a09c6c90 100644 Binary files a/spring-cloud-contract-stub-runner/src/test/resources/m2repo/repository/org/springframework/cloud/contract/verifier/stubs/producerWithMultipleConsumers/0.0.1-SNAPSHOT/producerWithMultipleConsumers-0.0.1-SNAPSHOT-stubs.jar and b/spring-cloud-contract-stub-runner/src/test/resources/m2repo/repository/org/springframework/cloud/contract/verifier/stubs/producerWithMultipleConsumers/0.0.1-SNAPSHOT/producerWithMultipleConsumers-0.0.1-SNAPSHOT-stubs.jar differ diff --git a/spring-cloud-contract-verifier/src/main/groovy/org/springframework/cloud/contract/verifier/dsl/wiremock/BaseWireMockStubStrategy.groovy b/spring-cloud-contract-verifier/src/main/groovy/org/springframework/cloud/contract/verifier/dsl/wiremock/BaseWireMockStubStrategy.groovy index d7aecf5570..aaa49b7261 100755 --- a/spring-cloud-contract-verifier/src/main/groovy/org/springframework/cloud/contract/verifier/dsl/wiremock/BaseWireMockStubStrategy.groovy +++ b/spring-cloud-contract-verifier/src/main/groovy/org/springframework/cloud/contract/verifier/dsl/wiremock/BaseWireMockStubStrategy.groovy @@ -96,9 +96,7 @@ abstract class BaseWireMockStubStrategy { */ String parseBody(Map map, ContentType contentType) { def transformedMap = MapConverter.getStubSideValues(map) - String responseSideBody = toJson(MapConverter.getTestSideValues(contract.request.body)) - DocumentContext context = JsonPath.parse(responseSideBody) - transformedMap = processEntriesForTemplating(transformedMap, context) + transformedMap = transformMapIfRequestPresent(transformedMap) String json = toJson(transformedMap) // the space is important cause at the end of the json body you also have a } // you can't have 4 } next to each other @@ -106,6 +104,17 @@ abstract class BaseWireMockStubStrategy { return parseBody(unquotedJson, contentType) } + private Object transformMapIfRequestPresent(Object transformedMap) { + def requestBody = contract.request.body + if (requestBody == null) { + return transformedMap + } + String testSideBody = toJson( + MapConverter.getTestSideValues(requestBody)) + DocumentContext context = JsonPath.parse(testSideBody) + return processEntriesForTemplating(transformedMap, context) + } + private Object processEntriesForTemplating(transformedMap, DocumentContext context) { return transformValues(transformedMap, { if (it instanceof String && processor.containsJsonPathTemplateEntry(it)) {