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 c95f1c0d6b..fff0773842 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 @@ -164,7 +164,7 @@ abstract class BaseWireMockStubStrategy { Map convertedMap = MapConverter.transformValues(value) { it instanceof GString ? it.toString() : it } as Map - return new JSONObject(convertedMap).toString() + return new JSONObject(new JsonBuilder(convertedMap).toString()) } return new JsonBuilder(value).toString() } diff --git a/spring-cloud-contract-verifier/src/test/groovy/org/springframework/cloud/contract/verifier/dsl/wiremock/WireMockResponseStubStrategySpec.groovy b/spring-cloud-contract-verifier/src/test/groovy/org/springframework/cloud/contract/verifier/dsl/wiremock/WireMockResponseStubStrategySpec.groovy new file mode 100644 index 0000000000..3a047d25c3 --- /dev/null +++ b/spring-cloud-contract-verifier/src/test/groovy/org/springframework/cloud/contract/verifier/dsl/wiremock/WireMockResponseStubStrategySpec.groovy @@ -0,0 +1,26 @@ +package org.springframework.cloud.contract.verifier.dsl.wiremock + +import org.springframework.cloud.contract.spec.Contract +import spock.lang.Specification + +class WireMockResponseStubStrategySpec extends Specification { + def "should not quote floating point numbers"() { + given: + def irrelevantStatus = 200 + def contract = Contract.make { + request { + } + response { + status irrelevantStatus + body([ + value: 1.5 + ]) + } + } + when: + def subject = new WireMockResponseStubStrategy(contract) + def content = subject.buildClientResponseContent() + then: + '{"value":1.5}'.equals(content.body) + } +}