Merge branch 'master' into 2.0.x
This commit is contained in:
@@ -126,11 +126,7 @@ abstract class JUnitMethodBodyBuilder extends RequestProcessingMethodBodyBuilder
|
||||
|
||||
@Override
|
||||
protected String getInputString(Request request) {
|
||||
def inputString = "${returnedResponseType()} response = given().spec(request)"
|
||||
if (response.async){
|
||||
inputString = inputString + '.when().async()'
|
||||
}
|
||||
return inputString
|
||||
return "${returnedResponseType()} response = given().spec(request)"
|
||||
}
|
||||
|
||||
protected String returnedResponseType() {
|
||||
|
||||
@@ -114,11 +114,18 @@ abstract class RequestProcessingMethodBodyBuilder extends MethodBodyBuilder {
|
||||
|
||||
Url url = getUrl(request)
|
||||
addQueryParameters(url, bb)
|
||||
addAsyncIfRequired(bb)
|
||||
addUrl(url, bb)
|
||||
addColonIfRequired(bb)
|
||||
bb.unindent()
|
||||
}
|
||||
|
||||
private void addAsyncIfRequired(BlockBuilder bb) {
|
||||
if (response.async) {
|
||||
bb.addLine('.when().async()')
|
||||
}
|
||||
}
|
||||
|
||||
@TypeChecked(TypeCheckingMode.SKIP)
|
||||
protected addQueryParameters(Url buildUrl, BlockBuilder bb) {
|
||||
if(hasQueryParams(buildUrl)){
|
||||
|
||||
@@ -109,11 +109,7 @@ abstract class SpockMethodRequestProcessingBodyBuilder extends RequestProcessing
|
||||
|
||||
@Override
|
||||
protected String getInputString(Request request) {
|
||||
def inputString = 'def response = given().spec(request)'
|
||||
if (response.async){
|
||||
inputString = inputString + '.when().async()'
|
||||
}
|
||||
return inputString
|
||||
return 'def response = given().spec(request)'
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -1531,6 +1531,41 @@ World.'''"""
|
||||
"MockMvcJUnitMethodBuilder" | { Contract dsl -> new MockMvcJUnitMethodBodyBuilder(dsl, properties) } | '.when().async()'
|
||||
}
|
||||
|
||||
@Issue('372')
|
||||
def "should generate async body after queryParams when async flag set in response and queryParams set in request"() {
|
||||
given:
|
||||
Contract contractDsl = Contract.make {
|
||||
request {
|
||||
method 'GET'
|
||||
url('/test') {
|
||||
queryParameters {
|
||||
parameter("param", "value")
|
||||
}
|
||||
}
|
||||
}
|
||||
response {
|
||||
status 200
|
||||
async()
|
||||
}
|
||||
}
|
||||
MethodBodyBuilder builder = methodBuilder(contractDsl)
|
||||
BlockBuilder blockBuilder = new BlockBuilder(" ")
|
||||
when:
|
||||
builder.appendTo(blockBuilder)
|
||||
def test = blockBuilder.toString()
|
||||
def strippedTest = test.replace('\n', '').replace(' ', '').stripIndent().stripMargin()
|
||||
then:
|
||||
strippedTest.contains('.queryParam("param","value").when().async().get("/test")')
|
||||
and:
|
||||
stubMappingIsValidWireMockStub(contractDsl)
|
||||
and:
|
||||
SyntaxChecker.tryToCompile(methodBuilderName, blockBuilder.toString())
|
||||
where:
|
||||
methodBuilderName | methodBuilder
|
||||
"MockMvcSpockMethodBuilder" | { Contract dsl -> new MockMvcSpockMethodRequestProcessingBodyBuilder(dsl, properties) }
|
||||
"MockMvcJUnitMethodBuilder" | { Contract dsl -> new MockMvcJUnitMethodBodyBuilder(dsl, properties) }
|
||||
}
|
||||
|
||||
def "should generate proper test code with array of primitives using #methodBuilderName"() {
|
||||
given:
|
||||
Contract contractDsl = Contract.make {
|
||||
|
||||
Reference in New Issue
Block a user