This is an automated email from the ASF dual-hosted git repository. sgoeschl pushed a commit to branch FREEMARKER-156 in repository https://gitbox.apache.org/repos/asf/freemarker-generator.git
commit 3858ed0e009ff3a1c4912dc070b1f52e259455c5 Author: Siegfried Goeschl <[email protected]> AuthorDate: Mon Jan 25 22:09:58 2021 +0100 FREEMARKER-156 [freemarker-generator] Cleanup tests --- .../generator/maven/FreeMarkerMojoTest.java | 69 ++++++++++++++++------ 1 file changed, 50 insertions(+), 19 deletions(-) diff --git a/freemarker-generator-maven-plugin/src/test/java/org/apache/freemarker/generator/maven/FreeMarkerMojoTest.java b/freemarker-generator-maven-plugin/src/test/java/org/apache/freemarker/generator/maven/FreeMarkerMojoTest.java index 1fbe016..47faad7 100644 --- a/freemarker-generator-maven-plugin/src/test/java/org/apache/freemarker/generator/maven/FreeMarkerMojoTest.java +++ b/freemarker-generator-maven-plugin/src/test/java/org/apache/freemarker/generator/maven/FreeMarkerMojoTest.java @@ -47,6 +47,7 @@ import java.util.Map; import java.util.Properties; import static org.assertj.core.api.Assertions.*; +import static org.mockito.Mockito.*; public class FreeMarkerMojoTest extends Assert { @@ -76,16 +77,7 @@ public class FreeMarkerMojoTest extends Assert { final FreeMarkerMojo mojo = new FreeMarkerMojo(); - // Validate freeMarkerVersion is required. - assertThatExceptionOfType(MojoExecutionException.class) - .isThrownBy(mojo::execute) - .withMessage("freeMarkerVersion is required"); - FieldUtils.writeField(mojo, "freeMarkerVersion", "", true); - assertThatExceptionOfType(MojoExecutionException.class) - .isThrownBy(mojo::execute) - .withMessage("freeMarkerVersion is required"); - final File testCaseOutputDir = new File(TEST_OUTPUT_DIR, "executeTest"); FieldUtils.writeField(mojo, "freeMarkerVersion", FREEMARKER_VERSION, true); FieldUtils.writeField(mojo, "sourceDirectory", testCaseOutputDir, true); @@ -95,17 +87,7 @@ public class FreeMarkerMojoTest extends Assert { FieldUtils.writeField(mojo, "mojo", mojoExecution, true); FieldUtils.writeField(mojo, "session", session, true); - // Validate source directory. - assertThatExceptionOfType(MojoExecutionException.class) - .isThrownBy(mojo::execute) - .withMessageStartingWith("Required directory does not exist"); - FileUtils.forceMkdir(new File(testCaseOutputDir, "data")); - assertThatExceptionOfType(MojoExecutionException.class) - .isThrownBy(mojo::execute) - .withMessageStartingWith("Required directory does not exist"); - - FileUtils.forceMkdir(new File(testCaseOutputDir, "template")); // Validate minimum configuration. @@ -350,6 +332,55 @@ public class FreeMarkerMojoTest extends Assert { .withMessage(fixSeparators("Invalid setting(s) in src/test/data/freemarker-mojo/freemarker.properties")); } + @Test + public void execute_checkPluginParametersTest() + throws MojoExecutionException, IOException, IllegalAccessException { + + UnitTestHelper.deleteTestOutputDir(TEST_OUTPUT_DIR); + + final MavenSession session = mock(MavenSession.class); + final MojoExecution mojoExecution = mock(MojoExecution.class); + final FreeMarkerMojo mojo = new FreeMarkerMojo(); + + // Validate freeMarkerVersion is required. + + FieldUtils.writeField(mojo, "freeMarkerVersion", null, true); + assertThatExceptionOfType(MojoExecutionException.class) + .isThrownBy(mojo::execute) + .withMessage("freeMarkerVersion is required"); + + FieldUtils.writeField(mojo, "freeMarkerVersion", "", true); + assertThatExceptionOfType(MojoExecutionException.class) + .isThrownBy(mojo::execute) + .withMessage("freeMarkerVersion is required"); + + final File testCaseOutputDir = new File(TEST_OUTPUT_DIR, "executeTest"); + FieldUtils.writeField(mojo, "freeMarkerVersion", FREEMARKER_VERSION, true); + FieldUtils.writeField(mojo, "sourceDirectory", testCaseOutputDir, true); + FieldUtils.writeField(mojo, "templateDirectory", new File(testCaseOutputDir, "template"), true); + FieldUtils.writeField(mojo, "generatorDirectory", new File(testCaseOutputDir, "data"), true); + FieldUtils.writeField(mojo, "outputDirectory", new File(testCaseOutputDir, "generated-files"), true); + FieldUtils.writeField(mojo, "mojo", mojoExecution, true); + FieldUtils.writeField(mojo, "session", session, true); + + // Validate source directory. + + assertThatExceptionOfType(MojoExecutionException.class) + .isThrownBy(mojo::execute) + .withMessageStartingWith("Required directory does not exist"); + + FileUtils.forceMkdir(new File(testCaseOutputDir, "data")); + assertThatExceptionOfType(MojoExecutionException.class) + .isThrownBy(mojo::execute) + .withMessageStartingWith("Required directory does not exist"); + + FileUtils.forceMkdir(new File(testCaseOutputDir, "template")); + + // Validate minimum configuration. + + mojo.execute(); + } + private static String fixSeparators(String str) { if (OperatingSystem.isWindows()) { return FilenameUtils.separatorsToWindows(str);
