From e7619a11176c02fde7bd0ade055ace590aedfa92 Mon Sep 17 00:00:00 2001 From: Marcin Grzejszczak Date: Mon, 5 Dec 2016 15:52:36 +0100 Subject: [PATCH] Polish --- .../verifier/converter/SingleFileConverter.groovy | 8 ++++---- .../wiremock/DslToWireMockClientConverter.groovy | 5 +++-- .../verifier/wiremock/DslToWireMockConverter.groovy | 10 +++++++++- .../verifier/wiremock/RecursiveFilesConverter.groovy | 3 +-- 4 files changed, 17 insertions(+), 9 deletions(-) diff --git a/spring-cloud-contract-tools/spring-cloud-contract-converters/src/main/groovy/org/springframework/cloud/contract/verifier/converter/SingleFileConverter.groovy b/spring-cloud-contract-tools/spring-cloud-contract-converters/src/main/groovy/org/springframework/cloud/contract/verifier/converter/SingleFileConverter.groovy index f63f8adfc1..9fd8269d07 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-converters/src/main/groovy/org/springframework/cloud/contract/verifier/converter/SingleFileConverter.groovy +++ b/spring-cloud-contract-tools/spring-cloud-contract-converters/src/main/groovy/org/springframework/cloud/contract/verifier/converter/SingleFileConverter.groovy @@ -20,7 +20,7 @@ import groovy.transform.CompileStatic import org.springframework.cloud.contract.verifier.file.ContractMetadata /** - * Converts contracts into their stub representation + * Converts contracts into their stub representation. * * @since 1.0.0 */ @@ -28,17 +28,17 @@ import org.springframework.cloud.contract.verifier.file.ContractMetadata interface SingleFileConverter { /** - * Returns {@code true} if the converter can handle the file. + * Returns {@code true} if the converter can handle the file to convert it into a stub. */ boolean canHandleFileName(String fileName) /** - * Returns the content of the converted file + * Returns the content of the converted file. The content will be the stub. */ String convertContent(String rootName, ContractMetadata content) /** - * Returns the name of the converted file + * Returns the name of the converted stub file. */ String generateOutputFileNameForInput(String inputFileName) } \ No newline at end of file diff --git a/spring-cloud-contract-tools/spring-cloud-contract-converters/src/main/groovy/org/springframework/cloud/contract/verifier/wiremock/DslToWireMockClientConverter.groovy b/spring-cloud-contract-tools/spring-cloud-contract-converters/src/main/groovy/org/springframework/cloud/contract/verifier/wiremock/DslToWireMockClientConverter.groovy index cae1b34b86..6c2f6788de 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-converters/src/main/groovy/org/springframework/cloud/contract/verifier/wiremock/DslToWireMockClientConverter.groovy +++ b/spring-cloud-contract-tools/spring-cloud-contract-converters/src/main/groovy/org/springframework/cloud/contract/verifier/wiremock/DslToWireMockClientConverter.groovy @@ -21,6 +21,7 @@ import org.springframework.cloud.contract.verifier.dsl.wiremock.WireMockStubStra import org.springframework.cloud.contract.verifier.file.ContractMetadata import java.nio.charset.StandardCharsets + /** * Converts DSLs to WireMock stubs * @@ -31,8 +32,8 @@ class DslToWireMockClientConverter extends DslToWireMockConverter { @Override String convertContent(String rootName, ContractMetadata contract) { - String dslContent = contract.path.getText(StandardCharsets.UTF_8.toString()) return new WireMockStubStrategy(rootName, contract, - createGroovyDSLFromStringContent(dslContent)).toWireMockClientStub() + contract.convertedContract ?: createGroovyDSLFromStringContent(contract.path.getText(StandardCharsets.UTF_8.toString())) + ).toWireMockClientStub() } } diff --git a/spring-cloud-contract-tools/spring-cloud-contract-converters/src/main/groovy/org/springframework/cloud/contract/verifier/wiremock/DslToWireMockConverter.groovy b/spring-cloud-contract-tools/spring-cloud-contract-converters/src/main/groovy/org/springframework/cloud/contract/verifier/wiremock/DslToWireMockConverter.groovy index 7cb8172674..2d16614559 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-converters/src/main/groovy/org/springframework/cloud/contract/verifier/wiremock/DslToWireMockConverter.groovy +++ b/spring-cloud-contract-tools/spring-cloud-contract-converters/src/main/groovy/org/springframework/cloud/contract/verifier/wiremock/DslToWireMockConverter.groovy @@ -36,7 +36,15 @@ abstract class DslToWireMockConverter implements SingleFileConverter { @Override String generateOutputFileNameForInput(String inputFileName) { - return inputFileName.replaceAll('.groovy', '.json') + return inputFileName.replaceAll(extension(inputFileName), 'json') + } + + private String extension(String inputFileName) { + int i = inputFileName.lastIndexOf('.') + if (i > 0) { + return inputFileName.substring(i + 1) + } + return "" } protected Contract createGroovyDSLFromStringContent(String groovyDslAsString) { diff --git a/spring-cloud-contract-tools/spring-cloud-contract-converters/src/main/groovy/org/springframework/cloud/contract/verifier/wiremock/RecursiveFilesConverter.groovy b/spring-cloud-contract-tools/spring-cloud-contract-converters/src/main/groovy/org/springframework/cloud/contract/verifier/wiremock/RecursiveFilesConverter.groovy index cbf7302392..1a5f55fb0e 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-converters/src/main/groovy/org/springframework/cloud/contract/verifier/wiremock/RecursiveFilesConverter.groovy +++ b/spring-cloud-contract-tools/spring-cloud-contract-converters/src/main/groovy/org/springframework/cloud/contract/verifier/wiremock/RecursiveFilesConverter.groovy @@ -56,7 +56,6 @@ class RecursiveFilesConverter { this.holder = holder ?: new SingleFileConvertersHolder() } - @Deprecated RecursiveFilesConverter(SingleFileConverter singleFileConverter, ContractVerifierConfigProperties properties) { this.properties = properties @@ -83,7 +82,7 @@ class RecursiveFilesConverter { File sourceFile = contract.path.toFile() SingleFileConverter singleFileConverter = holder.converterForName(sourceFile.name); try { - if (!contract.convertedContract && !singleFileConverter.canHandleFileName(sourceFile.name)) { + if (!contract.convertedContract && !singleFileConverter) { return } String convertedContent = singleFileConverter.convertContent(entry.key.last().toString(), contract)