Merge pull request #122 from adam-wojszczyk/issues/121-empty-list-as-a-value-of-a-field

Allow fields' values to be empty lists during searching for patterns
This commit is contained in:
Olga Maciaszek-Sharma
2015-08-17 17:20:57 +02:00
2 changed files with 37 additions and 1 deletions

View File

@@ -139,7 +139,7 @@ class WireMockRequestStubStrategy extends BaseWireMockStubStrategy {
}
private boolean containsPattern(Collection collection) {
return collection.collect(this.&containsPattern).inject { a, b -> a || b }
return collection.collect(this.&containsPattern).inject('') { a, b -> a || b }
}
private boolean containsPattern(Object[] objects) {

View File

@@ -1181,6 +1181,42 @@ class WireMockGroovyDslSpec extends WireMockSpec {
''')
}
@Issue("#121")
def 'should generate stub with empty list as a value of a field'() {
given:
GroovyDsl groovyDsl = GroovyDsl.make {
request {
method('POST')
body(
values: []
)
}
response {
status 200
}
}
when:
String wireMockStub = new WireMockStubStrategy(groovyDsl).toWireMockClientStub()
then:
new JsonSlurper().parseText(wireMockStub) == new JsonSlurper().parseText('''
{
"request": {
"method": "POST",
"bodyPatterns": [
{
"equalToJson": "{\\"values\\":[]}"
}
]
},
"response": {
"status": 200
}
}
''')
and:
stubMappingIsValidWireMockStub(wireMockStub)
}
String toJsonString(value) {
new JsonBuilder(value).toPrettyString()
}