Merge branch '3.1.x'

This commit is contained in:
Marcin Grzejszczak
2023-03-02 11:20:04 +01:00
2 changed files with 23 additions and 2 deletions

View File

@@ -275,13 +275,13 @@ class ContractsToYaml {
}
private void mapRequestHeaders(YamlContract.Request yamlContractRequest, Request request) {
yamlContractRequest.headers = request.getHeaders().asMap((headerName, prop) -> {
yamlContractRequest.headers = request.getHeaders() != null ? request.getHeaders().asMap((headerName, prop) -> {
Object testSideValue = MapConverter.getTestSideValues(prop);
if (testSideValue instanceof ExecutionProperty) {
return MapConverter.getStubSideValuesForNonBody(prop).toString();
}
return testSideValue.toString();
});
}) : null;
}
private void mapRequestMatchersQueryParameters(YamlContract.Request yamlContractRequest, Url requestUrl) {

View File

@@ -50,6 +50,27 @@ class DslToYamlContractConverterSpec extends Specification {
YamlContractConverter converter = new YamlContractConverter()
def "should convert rest DSL without request headers to YAML"() {
given:
List<Contract> contracts = [Contract.make {
request {
method 'GET'
urlPath '/get'
}
response {
status(OK())
}
}]
when:
Collection<YamlContract> yamlContracts = converter.convertTo(contracts)
then:
yamlContracts.size() == 1
YamlContract yamlContract = yamlContracts.first()
yamlContract.request.method == "GET"
yamlContract.request.urlPath == "/get"
yamlContract.request.headers == null
}
def "should convert rest DSL to YAML"() {
given:
List<Contract> contracts = [Contract.make {