diff --git a/spring-cloud-contract-dependencies/pom.xml b/spring-cloud-contract-dependencies/pom.xml index a7d8b5b7e1..7bcf6c486d 100644 --- a/spring-cloud-contract-dependencies/pom.xml +++ b/spring-cloud-contract-dependencies/pom.xml @@ -15,7 +15,7 @@ Spring Cloud Contract Dependencies 2.8.0 - 0.4.9 + 0.4.10 1.0.2.v20150114 diff --git a/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/complex-configuration/pom.xml b/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/complex-configuration/pom.xml index cd2b7b92c7..a678e7e0f9 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/complex-configuration/pom.xml +++ b/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/complex-configuration/pom.xml @@ -63,7 +63,7 @@ com.toomuchcoding.jsonassert jsonassert - 0.4.9 + 0.4.10 test diff --git a/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/different-module-configuration/module/pom.xml b/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/different-module-configuration/module/pom.xml index 170806a7d3..9c19e123c6 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/different-module-configuration/module/pom.xml +++ b/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/different-module-configuration/module/pom.xml @@ -62,7 +62,7 @@ com.toomuchcoding.jsonassert jsonassert - 0.4.9 + 0.4.10 test diff --git a/spring-cloud-contract-verifier/src/test/groovy/org/springframework/cloud/contract/verifier/dsl/WireMockGroovyDslSpec.groovy b/spring-cloud-contract-verifier/src/test/groovy/org/springframework/cloud/contract/verifier/dsl/WireMockGroovyDslSpec.groovy index 1b9217256b..7c0c338845 100755 --- a/spring-cloud-contract-verifier/src/test/groovy/org/springframework/cloud/contract/verifier/dsl/WireMockGroovyDslSpec.groovy +++ b/spring-cloud-contract-verifier/src/test/groovy/org/springframework/cloud/contract/verifier/dsl/WireMockGroovyDslSpec.groovy @@ -1880,7 +1880,69 @@ class WireMockGroovyDslSpec extends Specification implements WireMockStubVerifie ''', wireMockStub) and: stubMappingIsValidWireMockStub(wireMockStub) + } + @Issue('#427') + def "should not fail to generate a stub when arrays are there in the request"() { + given: + Contract groovyDsl = Contract.make { + request { + method "POST" + urlPath('/batch/persons') + body(""" + [{ + "fruitsILike": [ + "apple" + ] + }, + { + "fruitsILike": [ + ] + }, + { + "fruitsILike": [ + "orange" + ] + }] + """) + } + response { + status 201 + headers { + contentType(applicationJsonUtf8()) + } + body("""{ + "id": "foo" + }" + """) + } + } + when: + String wireMockStub = new WireMockStubStrategy("Test", new ContractMetadata(null, false, 0, null, groovyDsl), groovyDsl).toWireMockClientStub() + then: + AssertionUtil.assertThatJsonsAreEqual(''' + { + "request" : { + "urlPath" : "/batch/persons", + "method" : "POST", + "bodyPatterns" : [ { + "matchesJsonPath" : "$[*].['fruitsILike'][?(@ == 'orange')]" + }, { + "matchesJsonPath" : "$[*].['fruitsILike'][?(@ == 'apple')]" + } ] + }, + "response" : { + "status" : 201, + "body" : "{\\"id\\":\\"foo\\"}", + "headers" : { + "Content-Type" : "application/json;charset=UTF-8" + }, + "transformers" : [ "response-template" ] + } + } + ''', wireMockStub) + and: + stubMappingIsValidWireMockStub(wireMockStub) } @Issue('#385')