[#171] Added upercase method for JaxRs, fixes #171

This commit is contained in:
Marcin Grzejszczak
2015-11-13 17:58:21 +01:00
parent ba42a63430
commit f6b716bad5
2 changed files with 33 additions and 4 deletions

View File

@@ -66,9 +66,9 @@ class JaxRsClientSpockMethodBodyBuilder extends SpockMethodBodyBuilder {
String method = request.method.serverValue.toString().toLowerCase()
if (request.body) {
String contentType = getHeader('Content-Type') ?: getRequestContentType().mimeType
bb.addLine(".method('$method', entity('$bodyAsString', '$contentType'))")
bb.addLine(".method('${method.toUpperCase()}', entity('$bodyAsString', '$contentType'))")
} else {
bb.addLine(".method('$method')")
bb.addLine(".method('${method.toUpperCase()}')")
}
}

View File

@@ -450,16 +450,45 @@ class JaxRsClientSpockMethodBuilderSpec extends Specification implements WireMoc
body "test"
}
}
MockMvcSpockMethodBodyBuilder builder = new MockMvcSpockMethodBodyBuilder(contractDsl)
JaxRsClientSpockMethodBodyBuilder builder = new JaxRsClientSpockMethodBodyBuilder(contractDsl)
BlockBuilder blockBuilder = new BlockBuilder(" ")
when:
builder.appendTo(blockBuilder)
def spockTest = blockBuilder.toString()
then:
spockTest.contains('def responseBody = (response.body.asString())')
spockTest.contains('String responseAsString = response.readEntity(String)')
spockTest.contains('responseBody == "test"')
and:
stubMappingIsValidWireMockStub(new WireMockStubStrategy(contractDsl).toWireMockClientStub())
}
@Issue('#171')
def "should generate test with uppercase method name"() {
given:
GroovyDsl contractDsl = GroovyDsl.make {
request {
method "get"
url "/v1/some_cool_requests/e86df6f693de4b35ae648464c5b0dc08"
}
response {
status 200
headers {
header('Content-Type': 'application/json;charset=UTF-8')
}
body """
{"id":"789fgh","other_data":1268}
"""
}
}
JaxRsClientSpockMethodBodyBuilder builder = new JaxRsClientSpockMethodBodyBuilder(contractDsl)
BlockBuilder blockBuilder = new BlockBuilder(" ")
when:
builder.appendTo(blockBuilder)
def spockTest = blockBuilder.toString()
then:
spockTest.contains(".method('GET')")
and:
stubMappingIsValidWireMockStub(new WireMockStubStrategy(contractDsl).toWireMockClientStub())
}
}