diff --git a/docs/src/main/asciidoc/verifier_setup.adoc b/docs/src/main/asciidoc/verifier_setup.adoc index 6c03ad4af8..39bd52b2a1 100644 --- a/docs/src/main/asciidoc/verifier_setup.adoc +++ b/docs/src/main/asciidoc/verifier_setup.adoc @@ -245,7 +245,7 @@ from the Groovy DSL should be placed. By default its value is `$buildDir/generated-test-sources/contractVerifier`. * *stubsOutputDir*: Specifies the directory where the generated WireMock stubs from the Groovy DSL should be placed. -* *targetFramework*: Specifies the target test framework to be used. Currently, Spock, JUnit 4 (`TestFramework.JUNIT` and +* *testFramework*: Specifies the target test framework to be used. Currently, Spock, JUnit 4 (`TestFramework.JUNIT` and JUnit 5 are supported with JUnit 4 being the default framework. * *contractsProperties*: a map containing properties to be passed to Spring Cloud Contract components. Those properties might be used by e.g. inbuilt or custom Stub Downloaders. diff --git a/spring-cloud-contract-verifier/src/main/groovy/org/springframework/cloud/contract/verifier/TestGenerator.groovy b/spring-cloud-contract-verifier/src/main/groovy/org/springframework/cloud/contract/verifier/TestGenerator.groovy index 1d503e3513..daa492d536 100755 --- a/spring-cloud-contract-verifier/src/main/groovy/org/springframework/cloud/contract/verifier/TestGenerator.groovy +++ b/spring-cloud-contract-verifier/src/main/groovy/org/springframework/cloud/contract/verifier/TestGenerator.groovy @@ -135,7 +135,7 @@ class TestGenerator { } private String resolveNameSuffix() { - return configProperties.nameSuffixForTests ?: configProperties.targetFramework.classNameSuffix + return configProperties.nameSuffixForTests ?: configProperties.testFramework.classNameSuffix } protected static String buildPackage(final String packageNameForClass, final String includedDirectoryRelativePath) { diff --git a/spring-cloud-contract-verifier/src/main/groovy/org/springframework/cloud/contract/verifier/builder/ClassBuilder.groovy b/spring-cloud-contract-verifier/src/main/groovy/org/springframework/cloud/contract/verifier/builder/ClassBuilder.groovy index 5b6b5cb61b..45590ffcf0 100644 --- a/spring-cloud-contract-verifier/src/main/groovy/org/springframework/cloud/contract/verifier/builder/ClassBuilder.groovy +++ b/spring-cloud-contract-verifier/src/main/groovy/org/springframework/cloud/contract/verifier/builder/ClassBuilder.groovy @@ -67,13 +67,13 @@ class ClassBuilder { static ClassBuilder createClass(String className, String classPackage, ContractVerifierConfigProperties properties, String includedDirectoryRelativePath) { String baseClassForTests - if (properties.targetFramework == TestFramework.SPOCK && !properties.baseClassForTests + if (properties.testFramework == TestFramework.SPOCK && !properties.baseClassForTests && !properties.packageWithBaseClasses && !properties.baseClassMappings) { baseClassForTests = 'spock.lang.Specification' } else { baseClassForTests = retrieveBaseClass(properties, includedDirectoryRelativePath) } - return new ClassBuilder(className, classPackage, baseClassForTests, properties.targetFramework) + return new ClassBuilder(className, classPackage, baseClassForTests, properties.testFramework) } protected static String retrieveBaseClass(ContractVerifierConfigProperties properties, String includedDirectoryRelativePath) { diff --git a/spring-cloud-contract-verifier/src/main/groovy/org/springframework/cloud/contract/verifier/builder/JavaTestGenerator.groovy b/spring-cloud-contract-verifier/src/main/groovy/org/springframework/cloud/contract/verifier/builder/JavaTestGenerator.groovy index cee3ab8c52..a20e8d4107 100644 --- a/spring-cloud-contract-verifier/src/main/groovy/org/springframework/cloud/contract/verifier/builder/JavaTestGenerator.groovy +++ b/spring-cloud-contract-verifier/src/main/groovy/org/springframework/cloud/contract/verifier/builder/JavaTestGenerator.groovy @@ -64,8 +64,8 @@ class JavaTestGenerator implements SingleTestGenerator { } } if (isScenarioClass(listOfFiles)) { - clazz.addImports(configProperties.targetFramework.getOrderAnnotationImports()) - clazz.addClassLevelAnnotation(configProperties.targetFramework.getOrderAnnotation()) + clazz.addImports(configProperties.testFramework.getOrderAnnotationImports()) + clazz.addClassLevelAnnotation(configProperties.testFramework.getOrderAnnotation()) } addJsonPathRelatedImports(clazz) processContractFiles(listOfFiles, configProperties, clazz) @@ -79,8 +79,8 @@ class JavaTestGenerator implements SingleTestGenerator { boolean toIgnore = listOfFiles.ignored.find {it} contracts.each {ParsedDsl key, TestType value -> if (!conditionalImportsAdded) { - clazz.addImports(getImports(configProperties.targetFramework)) - clazz.addStaticImports(getStaticImports(configProperties.targetFramework)) + clazz.addImports(getImports(configProperties.testFramework)) + clazz.addStaticImports(getStaticImports(configProperties.testFramework)) if (contracts.values().contains(TestType.HTTP)) { addHttpRelatedEntries(clazz, configProperties) } @@ -97,14 +97,14 @@ class JavaTestGenerator implements SingleTestGenerator { } if (toIgnore) { - clazz.addImport(configProperties.targetFramework.getIgnoreClass()) + clazz.addImport(configProperties.testFramework.getIgnoreClass()) } } private void addRule(ContractVerifierConfigProperties configProperties, ClassBuilder clazz) { clazz.addImport(getRuleImport()) - if (configProperties.targetFramework.annotationLevelRules()) { - clazz.addClassLevelAnnotation(configProperties.targetFramework + if (configProperties.testFramework.annotationLevelRules()) { + clazz.addClassLevelAnnotation(configProperties.testFramework .getRuleAnnotation(configProperties.ruleClassForTests)) } else { clazz.addRule(configProperties.ruleClassForTests) @@ -113,8 +113,8 @@ class JavaTestGenerator implements SingleTestGenerator { private void addHttpRelatedEntries(ClassBuilder clazz, ContractVerifierConfigProperties configProperties) { HttpImportProvider httpImportProvider = new HttpImportProvider(getRestAssuredPackage()) - clazz.addImports(httpImportProvider.getImports(configProperties.targetFramework, configProperties.testMode)) - clazz.addStaticImports(httpImportProvider.getStaticImports(configProperties.targetFramework, configProperties.testMode)) + clazz.addImports(httpImportProvider.getImports(configProperties.testFramework, configProperties.testMode)) + clazz.addStaticImports(httpImportProvider.getStaticImports(configProperties.testFramework, configProperties.testMode)) } // TODO for 2.2: leave only RestAssured 3 @@ -129,7 +129,7 @@ class JavaTestGenerator implements SingleTestGenerator { @Override String fileExtension(ContractVerifierConfigProperties properties) { - return properties.targetFramework.classExtension + return properties.testFramework.classExtension } private Map mapContractsToTheirTestTypes(Collection listOfFiles) { diff --git a/spring-cloud-contract-verifier/src/main/groovy/org/springframework/cloud/contract/verifier/builder/MethodBuilder.groovy b/spring-cloud-contract-verifier/src/main/groovy/org/springframework/cloud/contract/verifier/builder/MethodBuilder.groovy index 267076832b..33961ad71f 100644 --- a/spring-cloud-contract-verifier/src/main/groovy/org/springframework/cloud/contract/verifier/builder/MethodBuilder.groovy +++ b/spring-cloud-contract-verifier/src/main/groovy/org/springframework/cloud/contract/verifier/builder/MethodBuilder.groovy @@ -98,9 +98,9 @@ class MethodBuilder { blockBuilder.addLine('@Test') } if (ignored) { - blockBuilder.addLine(configProperties.targetFramework.ignoreAnnotation) + blockBuilder.addLine(configProperties.testFramework.ignoreAnnotation) } - blockBuilder.addLine(configProperties.targetFramework.methodModifier + "validate_$methodName() throws Exception {") + blockBuilder.addLine(configProperties.testFramework.methodModifier + "validate_$methodName() throws Exception {") getMethodBodyBuilder().appendTo(blockBuilder) blockBuilder.addLine('}') } @@ -128,13 +128,13 @@ class MethodBuilder { } // in Groovy we're using def so we don't have to update the imports return new HttpSpockMethodRequestProcessingBodyBuilder(stubContent, configProperties) - } else if (configProperties.targetFramework == SPOCK) { + } else if (configProperties.testFramework == SPOCK) { return new HttpSpockMethodRequestProcessingBodyBuilder(stubContent, configProperties) } return new MockMvcJUnitMethodBodyBuilder(stubContent, configProperties) } private boolean isJUnitType() { - return JUNIT == configProperties.targetFramework || JUNIT5 == configProperties.targetFramework + return JUNIT == configProperties.testFramework || JUNIT5 == configProperties.testFramework } } diff --git a/spring-cloud-contract-verifier/src/main/groovy/org/springframework/cloud/contract/verifier/config/ContractVerifierConfigProperties.groovy b/spring-cloud-contract-verifier/src/main/groovy/org/springframework/cloud/contract/verifier/config/ContractVerifierConfigProperties.groovy index 8ee00d9a33..c215ef730d 100644 --- a/spring-cloud-contract-verifier/src/main/groovy/org/springframework/cloud/contract/verifier/config/ContractVerifierConfigProperties.groovy +++ b/spring-cloud-contract-verifier/src/main/groovy/org/springframework/cloud/contract/verifier/config/ContractVerifierConfigProperties.groovy @@ -39,7 +39,7 @@ class ContractVerifierConfigProperties { @Deprecated void setTargetFramework(TestFramework targetFramework) { - log.warn("Please use the [testFramework] field. This one is deprecated") + log.warn("Please use the [testFramework] field. [targetFramework] is deprecated") setTestFramework(targetFramework) } diff --git a/spring-cloud-contract-verifier/src/test/groovy/org/springframework/cloud/contract/verifier/GeneratorScannerSpec.groovy b/spring-cloud-contract-verifier/src/test/groovy/org/springframework/cloud/contract/verifier/GeneratorScannerSpec.groovy index 597a89953e..99c5967c3c 100644 --- a/spring-cloud-contract-verifier/src/test/groovy/org/springframework/cloud/contract/verifier/GeneratorScannerSpec.groovy +++ b/spring-cloud-contract-verifier/src/test/groovy/org/springframework/cloud/contract/verifier/GeneratorScannerSpec.groovy @@ -41,7 +41,7 @@ class GeneratorScannerSpec extends Specification { def "should create class with full package"() { given: - ContractVerifierConfigProperties properties = new ContractVerifierConfigProperties(targetFramework: SPOCK) + ContractVerifierConfigProperties properties = new ContractVerifierConfigProperties(testFramework: SPOCK) properties.contractsDslDir = new File(this.getClass().getResource("/directory/with/stubs/package").toURI()) TestGenerator testGenerator = new TestGenerator(properties, classGenerator, Stub(FileSaver)) when: diff --git a/spring-cloud-contract-verifier/src/test/groovy/org/springframework/cloud/contract/verifier/MainTest.groovy b/spring-cloud-contract-verifier/src/test/groovy/org/springframework/cloud/contract/verifier/MainTest.groovy index 06d9ec22dd..cd3fffaeeb 100644 --- a/spring-cloud-contract-verifier/src/test/groovy/org/springframework/cloud/contract/verifier/MainTest.groovy +++ b/spring-cloud-contract-verifier/src/test/groovy/org/springframework/cloud/contract/verifier/MainTest.groovy @@ -25,7 +25,7 @@ class MainTest { ContractVerifierConfigProperties properties = new ContractVerifierConfigProperties( contractsDslDir: new File('/some/path/dsl'), generatedTestSourcesDir: new File('/tmp/contracts'), - targetFramework: TestFramework.SPOCK, testMode: TestMode.MOCKMVC, basePackageForTests: 'io.test', + testFramework: TestFramework.SPOCK, testMode: TestMode.MOCKMVC, basePackageForTests: 'io.test', staticImports: ['com.package.Test.*'], imports: ['org.package.Test'], excludedFiles: ["**/other"]) println new TestGenerator(properties).generate() } diff --git a/spring-cloud-contract-verifier/src/test/groovy/org/springframework/cloud/contract/verifier/builder/SingleTestGeneratorSpec.groovy b/spring-cloud-contract-verifier/src/test/groovy/org/springframework/cloud/contract/verifier/builder/SingleTestGeneratorSpec.groovy index a6e5c76269..2b76359437 100644 --- a/spring-cloud-contract-verifier/src/test/groovy/org/springframework/cloud/contract/verifier/builder/SingleTestGeneratorSpec.groovy +++ b/spring-cloud-contract-verifier/src/test/groovy/org/springframework/cloud/contract/verifier/builder/SingleTestGeneratorSpec.groovy @@ -600,7 +600,7 @@ class SingleTestGeneratorSpec extends Specification { File temp = tmpFolder.newFolder() and: ContractVerifierConfigProperties properties = new ContractVerifierConfigProperties( - targetFramework: testFramework, contractsDslDir: contractLocation.parentFile, + testFramework: testFramework, contractsDslDir: contractLocation.parentFile, basePackageForTests: 'a.b', generatedTestSourcesDir: temp ) @@ -625,7 +625,7 @@ class SingleTestGeneratorSpec extends Specification { File temp = tmpFolder.newFolder() and: ContractVerifierConfigProperties properties = new ContractVerifierConfigProperties( - targetFramework: testFramework, contractsDslDir: contractLocation.parentFile, + testFramework: testFramework, contractsDslDir: contractLocation.parentFile, basePackageForTests: 'a.b', generatedTestSourcesDir: temp ) TestGenerator testGenerator = new TestGenerator(properties) @@ -649,7 +649,7 @@ class SingleTestGeneratorSpec extends Specification { File temp = tmpFolder.newFolder() and: ContractVerifierConfigProperties properties = new ContractVerifierConfigProperties( - targetFramework: testFramework, contractsDslDir: contractLocation.parentFile, + testFramework: testFramework, contractsDslDir: contractLocation.parentFile, baseClassForTests: 'a.b.SomeClass', generatedTestSourcesDir: temp ) TestGenerator testGenerator = new TestGenerator(properties) @@ -673,7 +673,7 @@ class SingleTestGeneratorSpec extends Specification { File temp = tmpFolder.newFolder() and: ContractVerifierConfigProperties properties = new ContractVerifierConfigProperties( - targetFramework: testFramework, contractsDslDir: contractLocation.parentFile, + testFramework: testFramework, contractsDslDir: contractLocation.parentFile, packageWithBaseClasses: 'a.b', generatedTestSourcesDir: temp ) TestGenerator testGenerator = new TestGenerator(properties) @@ -697,7 +697,7 @@ class SingleTestGeneratorSpec extends Specification { File temp = tmpFolder.newFolder() and: ContractVerifierConfigProperties properties = new ContractVerifierConfigProperties( - targetFramework: testFramework, contractsDslDir: contractLocation.parentFile, + testFramework: testFramework, contractsDslDir: contractLocation.parentFile, generatedTestSourcesDir: temp ) TestGenerator testGenerator = new TestGenerator(properties)