From 2bc9fea27609ccaa0f659058e3fc21bce3d7ee09 Mon Sep 17 00:00:00 2001 From: Mariusz Smykula Date: Sat, 2 Apr 2016 21:32:41 +0200 Subject: [PATCH] revert two goals to generate tests --- README.md | 2 +- .../AbstractGenerateVerificationCodeMojo.java | 62 ------------------- .../accurest/maven/GenerateSpecsMojo.java | 18 ------ .../accurest/maven/GenerateTestsMojo.java | 58 ++++++++++++++++- .../accurest/maven/PluginIntegrationTest.java | 8 ++- .../accurest/maven/PluginUnitTest.java | 2 +- .../test/projects/spring-boot-groovy/pom.xml | 3 +- 7 files changed, 64 insertions(+), 89 deletions(-) delete mode 100644 maven-plugin/src/main/java/io/codearte/accurest/maven/AbstractGenerateVerificationCodeMojo.java delete mode 100644 maven-plugin/src/main/java/io/codearte/accurest/maven/GenerateSpecsMojo.java diff --git a/README.md b/README.md index a853b5a6b0..313d75d4ad 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ Sample usage generateStubs - generateSpecs + generateTests diff --git a/maven-plugin/src/main/java/io/codearte/accurest/maven/AbstractGenerateVerificationCodeMojo.java b/maven-plugin/src/main/java/io/codearte/accurest/maven/AbstractGenerateVerificationCodeMojo.java deleted file mode 100644 index 02f59dc8b2..0000000000 --- a/maven-plugin/src/main/java/io/codearte/accurest/maven/AbstractGenerateVerificationCodeMojo.java +++ /dev/null @@ -1,62 +0,0 @@ -package io.codearte.accurest.maven; - -import static java.lang.String.format; - -import java.io.File; - -import org.apache.maven.plugin.AbstractMojo; -import org.apache.maven.plugin.MojoExecutionException; -import org.apache.maven.plugins.annotations.Parameter; - -import io.codearte.accurest.AccurestException; -import io.codearte.accurest.TestGenerator; -import io.codearte.accurest.config.AccurestConfigProperties; -import io.codearte.accurest.config.TestFramework; -import io.codearte.accurest.config.TestMode; - -public abstract class AbstractGenerateVerificationCodeMojo extends AbstractMojo { - - @Parameter(defaultValue = "${basedir}", readonly = true, required = true) - protected File baseDir; - - @Parameter(defaultValue = "${project.build.directory}", readonly = true, required = true) - protected File projectBuildDirectory; - - @Parameter(defaultValue = "/src/test/accurest") - protected String contractsDir; - - @Parameter(defaultValue = "/generated-test-sources/accurest") - protected String generatedTestSourcesDir; - - @Parameter(defaultValue = "io.codearte.accurest.tests") - protected String basePackageForTests; - - @Parameter - protected String baseClassForTests; - - @Parameter(defaultValue = "MOCKMVC") - protected TestMode testMode; - - protected void generateVerificationCode(TestFramework testFramework) throws MojoExecutionException { - - AccurestConfigProperties config = new AccurestConfigProperties(); - config.setContractsDslDir(new File(baseDir, contractsDir)); - config.setBasePackageForTests(basePackageForTests); - config.setGeneratedTestSourcesDir(new File(projectBuildDirectory, generatedTestSourcesDir)); - config.setBaseClassForTests(baseClassForTests); - config.setTargetFramework(testFramework); - config.setTestMode(testMode); - - getLog().info(format("Using %s as test source directory", config.getGeneratedTestSourcesDir())); - getLog().info(format("Using %s as base class for verification classes", config.getBaseClassForTests())); - - try { - TestGenerator generator = new TestGenerator(config); - int generatedClasses = generator.generate(); - getLog().info(format("Generated %s test classes.", generatedClasses)); - } catch (AccurestException e) { - throw new MojoExecutionException(format("Accurest Plugin exception: %s", e.getMessage()), e); - } - } - -} diff --git a/maven-plugin/src/main/java/io/codearte/accurest/maven/GenerateSpecsMojo.java b/maven-plugin/src/main/java/io/codearte/accurest/maven/GenerateSpecsMojo.java deleted file mode 100644 index 4f1844b49d..0000000000 --- a/maven-plugin/src/main/java/io/codearte/accurest/maven/GenerateSpecsMojo.java +++ /dev/null @@ -1,18 +0,0 @@ -package io.codearte.accurest.maven; - -import org.apache.maven.plugin.MojoExecutionException; -import org.apache.maven.plugin.MojoFailureException; -import org.apache.maven.plugins.annotations.LifecyclePhase; -import org.apache.maven.plugins.annotations.Mojo; - -import io.codearte.accurest.config.TestFramework; - -@Mojo(name = "generateSpecs", defaultPhase = LifecyclePhase.GENERATE_TEST_SOURCES) -public class GenerateSpecsMojo extends AbstractGenerateVerificationCodeMojo { - - public void execute() throws MojoExecutionException, MojoFailureException { - getLog().info("Generating Spock Specifications source code for Accurest contract verification"); - generateVerificationCode(TestFramework.SPOCK); - } - -} diff --git a/maven-plugin/src/main/java/io/codearte/accurest/maven/GenerateTestsMojo.java b/maven-plugin/src/main/java/io/codearte/accurest/maven/GenerateTestsMojo.java index 2b82877740..b074b06b66 100644 --- a/maven-plugin/src/main/java/io/codearte/accurest/maven/GenerateTestsMojo.java +++ b/maven-plugin/src/main/java/io/codearte/accurest/maven/GenerateTestsMojo.java @@ -1,18 +1,70 @@ package io.codearte.accurest.maven; +import static java.lang.String.format; + +import java.io.File; + +import org.apache.maven.plugin.AbstractMojo; import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugin.MojoFailureException; import org.apache.maven.plugins.annotations.LifecyclePhase; import org.apache.maven.plugins.annotations.Mojo; +import org.apache.maven.plugins.annotations.Parameter; +import io.codearte.accurest.AccurestException; +import io.codearte.accurest.TestGenerator; +import io.codearte.accurest.config.AccurestConfigProperties; import io.codearte.accurest.config.TestFramework; +import io.codearte.accurest.config.TestMode; @Mojo(name = "generateTests", defaultPhase = LifecyclePhase.GENERATE_TEST_SOURCES) -public class GenerateTestsMojo extends AbstractGenerateVerificationCodeMojo { +public class GenerateTestsMojo extends AbstractMojo { + + @Parameter(defaultValue = "${basedir}", readonly = true, required = true) + private File baseDir; + + @Parameter(defaultValue = "${project.build.directory}", readonly = true, required = true) + private File projectBuildDirectory; + + @Parameter(defaultValue = "/src/test/accurest") + private String contractsDir; + + @Parameter(defaultValue = "/generated-test-sources/accurest") + private String generatedTestSourcesDir; + + @Parameter(defaultValue = "io.codearte.accurest.tests") + private String basePackageForTests; + + @Parameter + private String baseClassForTests; + + @Parameter(defaultValue = "MOCKMVC") + private TestMode testMode; + + @Parameter(defaultValue = "JUNIT") + private TestFramework testFramework; public void execute() throws MojoExecutionException, MojoFailureException { - getLog().info("Generating JUnit Tests source code for Accurest contract verification"); - generateVerificationCode(TestFramework.JUNIT); + getLog().info("Generating server tests source code for Accurest contract verification"); + + AccurestConfigProperties config = new AccurestConfigProperties(); + config.setContractsDslDir(new File(baseDir, contractsDir)); + config.setBasePackageForTests(basePackageForTests); + config.setGeneratedTestSourcesDir(new File(projectBuildDirectory, generatedTestSourcesDir)); + config.setBaseClassForTests(baseClassForTests); + config.setTargetFramework(testFramework); + config.setTestMode(testMode); + + getLog().info(format("Using %s as test source directory", config.getGeneratedTestSourcesDir())); + getLog().info(format("Using %s as base class for test classes", config.getBaseClassForTests())); + + try { + TestGenerator generator = new TestGenerator(config); + int generatedClasses = generator.generate(); + getLog().info(format("Generated %s test classes.", generatedClasses)); + } catch (AccurestException e) { + throw new MojoExecutionException(format("Accurest Plugin exception: %s", e.getMessage()), e); + } } } diff --git a/maven-plugin/src/test/java/io/codearte/accurest/maven/PluginIntegrationTest.java b/maven-plugin/src/test/java/io/codearte/accurest/maven/PluginIntegrationTest.java index 6d7ed574e2..4ed2c79be2 100644 --- a/maven-plugin/src/test/java/io/codearte/accurest/maven/PluginIntegrationTest.java +++ b/maven-plugin/src/test/java/io/codearte/accurest/maven/PluginIntegrationTest.java @@ -33,19 +33,20 @@ public class PluginIntegrationTest { maven.forProject(basedir) .execute("package") .assertErrorFreeLog() - .assertLogText("Generating Spock Specifications source code for Accurest contract verification") + .assertLogText("Generating server tests source code for Accurest contract verification") .assertLogText("Generated 1 test classes.") .assertLogText("Accurest Plugin: Invoking GroovyDSL to WireMock client stubs conversion") .assertLogText("Creating new json") .assertErrorFreeLog(); } + @Test public void should_build_project_Spring_Boot_Java_with_Accurest() throws Exception { File basedir = resources.getBasedir("spring-boot-java"); maven.forProject(basedir) .execute("package") .assertErrorFreeLog() - .assertLogText("Generating JUnit Tests source code for Accurest contract verification") + .assertLogText("Generating server tests source code for Accurest contract verification") .assertLogText("Generated 1 test classes.") .assertLogText("Accurest Plugin: Invoking GroovyDSL to WireMock client stubs conversion") .assertLogText("Creating new json") @@ -58,7 +59,8 @@ public class PluginIntegrationTest { properties.getPluginVersion(); maven.forProject(basedir) .withCliOption("-X") - .execute(String.format("io.codearte.accurest:accurest-maven-plugin:%s:convert", properties.getPluginVersion())) + .execute(String.format("io.codearte.accurest:accurest-maven-plugin:%s:convert", + properties.getPluginVersion())) .assertLogText("Converting from accurest contracts written in GroovyDSL to WireMock stubs mappings") .assertLogText("Creating new json") .assertErrorFreeLog(); diff --git a/maven-plugin/src/test/java/io/codearte/accurest/maven/PluginUnitTest.java b/maven-plugin/src/test/java/io/codearte/accurest/maven/PluginUnitTest.java index 1d04aa339a..35ebfc472a 100644 --- a/maven-plugin/src/test/java/io/codearte/accurest/maven/PluginUnitTest.java +++ b/maven-plugin/src/test/java/io/codearte/accurest/maven/PluginUnitTest.java @@ -43,7 +43,7 @@ public class PluginUnitTest { @Test public void shouldGenerateContractSpecificationInDefaultLocation() throws Exception { File basedir = resources.getBasedir("basic"); - maven.executeMojo(basedir, "generateSpecs"); + maven.executeMojo(basedir, "generateTests", newParameter("testFramework", "SPOCK")); assertFilesPresent(basedir, "target/generated-test-sources/accurest/io/codearte/accurest/tests/AccurestSpec.groovy"); } diff --git a/maven-plugin/src/test/projects/spring-boot-groovy/pom.xml b/maven-plugin/src/test/projects/spring-boot-groovy/pom.xml index a51dd6f7cd..2bdf3e7d97 100644 --- a/maven-plugin/src/test/projects/spring-boot-groovy/pom.xml +++ b/maven-plugin/src/test/projects/spring-boot-groovy/pom.xml @@ -79,13 +79,14 @@ generateStubs - generateSpecs + generateTests com.ofg.twitter.place.BaseMockMvcSpec /src/test/resources/stubs + SPOCK