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);

Reply via email to