Merge branch 'master' into 2.0.x

This commit is contained in:
Marcin Grzejszczak
2017-08-30 13:40:20 +02:00
3 changed files with 35 additions and 3 deletions

View File

@@ -34,8 +34,7 @@ import org.springframework.cloud.contract.stubrunner.BatchStubRunner;
import org.springframework.cloud.contract.stubrunner.StubRunner;
import org.springframework.cloud.contract.stubrunner.StubRunnerOptions;
import org.springframework.cloud.contract.stubrunner.StubRunnerOptionsBuilder;
import static wiremock.com.google.common.base.Strings.isNullOrEmpty;
import org.springframework.util.StringUtils;
/**
*
@@ -122,7 +121,7 @@ public class RunMojo extends AbstractMojo {
BatchStubRunner batchStubRunner = null;
StubRunnerOptionsBuilder optionsBuilder = new StubRunnerOptionsBuilder()
.withStubsClassifier(this.stubsClassifier);
if (isNullOrEmpty(this.stubs)) {
if (StringUtils.isEmpty(this.stubs)) {
StubRunnerOptions options = optionsBuilder
.withMinMaxPort(this.httpPort, this.httpPort)
.build();

View File

@@ -124,6 +124,9 @@ abstract class RequestProcessingMethodBodyBuilder extends MethodBodyBuilder {
if (response.async) {
bb.addLine('.when().async()')
}
if (response.delay) {
bb.addLine(".timeout(${response.delay.serverValue})")
}
}
@TypeChecked(TypeCheckingMode.SKIP)

View File

@@ -315,4 +315,34 @@ DocumentContext parsedJson = JsonPath.parse(json);
"JaxRsClientJUnitMethodBodyBuilder" | { Contract dsl -> new JaxRsClientJUnitMethodBodyBuilder(dsl, properties) }
}
def "should use fixed delay milliseconds in the generated test [#methodBuilderName]"() {
given:
Contract contractDsl = Contract.make {
request {
method GET()
url "test"
}
response {
status 200
async()
fixedDelayMilliseconds(10000)
body(a: 'foo')
}
}
MethodBodyBuilder builder = methodBuilder(contractDsl)
BlockBuilder blockBuilder = new BlockBuilder(" ")
when:
builder.appendTo(blockBuilder)
then:
blockBuilder.toString().contains(""".timeout(10000)""")
and:
SyntaxChecker.tryToCompile(methodBuilderName, blockBuilder.toString())
and:
stubMappingIsValidWireMockStub(contractDsl)
where:
methodBuilderName | methodBuilder
"MockMvcSpockMethodBuilder" | { Contract dsl -> new MockMvcSpockMethodRequestProcessingBodyBuilder(dsl, properties) }
"MockMvcJUnitMethodBuilder" | { Contract dsl -> new MockMvcJUnitMethodBodyBuilder(dsl, properties) }
}
}