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')