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 f118de2aec1ae4ca56c799bfb2241696b857e99f Author: Siegfried Goeschl <[email protected]> AuthorDate: Sat Jan 23 17:46:54 2021 +0100 FREEMARKER-156 [freemarker-generator] Migrate to Mockito --- .../data/mydir/invalid-json.json | 1 + .../maven/JsonPropertiesProviderTest.java | 71 +++++++++------------- 2 files changed, 31 insertions(+), 41 deletions(-) diff --git a/freemarker-generator-maven-plugin/src/test/data/generating-file-visitor/data/mydir/invalid-json.json b/freemarker-generator-maven-plugin/src/test/data/generating-file-visitor/data/mydir/invalid-json.json new file mode 100644 index 0000000..955d6bd --- /dev/null +++ b/freemarker-generator-maven-plugin/src/test/data/generating-file-visitor/data/mydir/invalid-json.json @@ -0,0 +1 @@ +This is not a valid JSON file \ No newline at end of file diff --git a/freemarker-generator-maven-plugin/src/test/java/org/apache/freemarker/generator/maven/JsonPropertiesProviderTest.java b/freemarker-generator-maven-plugin/src/test/java/org/apache/freemarker/generator/maven/JsonPropertiesProviderTest.java index 418fa46..78ead87 100644 --- a/freemarker-generator-maven-plugin/src/test/java/org/apache/freemarker/generator/maven/JsonPropertiesProviderTest.java +++ b/freemarker-generator-maven-plugin/src/test/java/org/apache/freemarker/generator/maven/JsonPropertiesProviderTest.java @@ -19,15 +19,10 @@ package org.apache.freemarker.generator.maven; -import com.google.gson.Gson; -import com.google.gson.stream.JsonReader; -import mockit.Expectations; -import mockit.Mocked; -import mockit.Verifications; -import org.testng.annotations.Test; +import org.apache.freemarker.generator.maven.OutputGenerator.OutputGeneratorBuilder; +import org.junit.Test; import java.io.File; -import java.lang.reflect.Type; import java.nio.file.Path; import java.util.HashMap; import java.util.Map; @@ -35,6 +30,7 @@ import java.util.Map; import static org.assertj.core.api.AssertionsForClassTypes.*; import static org.junit.Assert.assertArrayEquals; import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.*; public class JsonPropertiesProviderTest { private final File testDir = new File("src/test/data/generating-file-visitor"); @@ -43,7 +39,10 @@ public class JsonPropertiesProviderTest { private final File outputDir = new File("target/test-output/generating-file-visitor"); @Test - public void testSuccess(@Mocked OutputGenerator.OutputGeneratorBuilder builder) { + public void testSuccess() { + final OutputGeneratorBuilder builder = OutputGenerator.builder(); + builder.addPomLastModifiedTimestamp(10L); + builder.addGeneratorLocation(outputDir.toPath()); final Path path = dataDir.toPath().resolve("mydir/success-test.txt.json"); final Path expectedTemplateLocation = templateDir.toPath().resolve("test.ftl"); final Path expectedOutputLocation = outputDir.toPath().resolve("mydir/success-test.txt"); @@ -51,49 +50,37 @@ public class JsonPropertiesProviderTest { expectedMap.put("testVar", "test value"); final JsonPropertiesProvider toTest = JsonPropertiesProvider.create(dataDir, templateDir, outputDir); toTest.providePropertiesFromFile(path, builder); - new Verifications() {{ - Path templateLocation; - builder.addTemplateLocation(templateLocation = withCapture()); - Path outputLocation; - builder.addOutputLocation(outputLocation = withCapture()); - Map<String, Object> actualMap; - builder.addDataModel(actualMap = withCapture()); - - assertEquals(expectedTemplateLocation, templateLocation); - assertEquals(expectedOutputLocation, outputLocation); - assertArrayEquals(expectedMap.entrySet().toArray(), actualMap.entrySet().toArray()); - }}; + + final OutputGenerator outputGenerator = builder.create(); + + assertEquals(expectedTemplateLocation, outputGenerator.templateLocation); + assertEquals(expectedOutputLocation, outputGenerator.outputLocation); + assertArrayEquals(expectedMap.entrySet().toArray(), outputGenerator.dataModel.entrySet().toArray()); } @Test - public void testSuccessNoDataModel(@Mocked OutputGenerator.OutputGeneratorBuilder builder) { + public void testSuccessNoDataModel() { + final OutputGeneratorBuilder builder = OutputGenerator.builder(); + builder.addPomLastModifiedTimestamp(10L); + builder.addGeneratorLocation(outputDir.toPath()); final Path path = dataDir.toPath().resolve("mydir/success-test-2.txt.json"); final Path expectedTemplateLocation = templateDir.toPath().resolve("test-pom-only.ftl"); final Path expectedOutputLocation = outputDir.toPath().resolve("mydir/success-test-2.txt"); final Map<String, Object> expectedMap = new HashMap<>(4); final JsonPropertiesProvider toTest = JsonPropertiesProvider.create(dataDir, templateDir, outputDir); toTest.providePropertiesFromFile(path, builder); - new Verifications() {{ - Path templateLocation; - builder.addTemplateLocation(templateLocation = withCapture()); - Path outputLocation; - builder.addOutputLocation(outputLocation = withCapture()); - Map<String, Object> actualMap; - builder.addDataModel(actualMap = withCapture()); - - assertEquals(expectedTemplateLocation, templateLocation); - assertEquals(expectedOutputLocation, outputLocation); - assertArrayEquals(expectedMap.entrySet().toArray(), actualMap.entrySet().toArray()); - }}; + + final OutputGenerator outputGenerator = builder.create(); + + assertEquals(expectedTemplateLocation, outputGenerator.templateLocation); + assertEquals(expectedOutputLocation, outputGenerator.outputLocation); + assertArrayEquals(expectedMap.entrySet().toArray(), outputGenerator.dataModel.entrySet().toArray()); } @Test - public void testParsingException(@Mocked OutputGenerator.OutputGeneratorBuilder builder, @Mocked Gson gson) { - final Path path = dataDir.toPath().resolve("mydir/success-test.txt.json"); - new Expectations() {{ - gson.fromJson((JsonReader) any, (Type) any); - result = new RuntimeException("test exception"); - }}; + public void testParsingException() { + final OutputGeneratorBuilder builder = mock(OutputGeneratorBuilder.class); + final Path path = dataDir.toPath().resolve("mydir/invalid-json.json"); final JsonPropertiesProvider toTest = JsonPropertiesProvider.create(dataDir, templateDir, outputDir); assertThatExceptionOfType(RuntimeException.class) @@ -102,7 +89,8 @@ public class JsonPropertiesProviderTest { } @Test - public void testMissingTemplateName(@Mocked OutputGenerator.OutputGeneratorBuilder builder) { + public void testMissingTemplateName() { + final OutputGeneratorBuilder builder = mock(OutputGeneratorBuilder.class); final Path path = dataDir.toPath().resolve("mydir/missing-template-name.txt.json"); final JsonPropertiesProvider toTest = JsonPropertiesProvider.create(dataDir, templateDir, outputDir); @@ -112,7 +100,8 @@ public class JsonPropertiesProviderTest { } @Test - public void testBadPath(@Mocked OutputGenerator.OutputGeneratorBuilder builder) { + public void testBadPath() { + final OutputGeneratorBuilder builder = mock(OutputGeneratorBuilder.class); final Path path = testDir.toPath().resolve("badPath/success-test.txt.json"); final JsonPropertiesProvider toTest = JsonPropertiesProvider.create(dataDir, templateDir, outputDir); assertThatExceptionOfType(IllegalStateException.class)
