From e7fc5336c818e6ce9f81069df73c258d116acc9f Mon Sep 17 00:00:00 2001 From: Thibault Gagnaux Date: Tue, 29 Jun 2021 09:02:17 +0200 Subject: Switches from groovy's spock testing framework back to java --- .../FregePluginFunctionalTest.groovy | 18 -------- .../gradleplugins/FregePluginFunctionalTest.java | 54 ++++++++++++++++++++++ 2 files changed, 54 insertions(+), 18 deletions(-) delete mode 100644 src/test/groovy/ch.fhnw.thga.fregeplugin/FregePluginFunctionalTest.groovy create mode 100644 src/test/java/ch/fhnw/thga/gradleplugins/FregePluginFunctionalTest.java (limited to 'src/test') diff --git a/src/test/groovy/ch.fhnw.thga.fregeplugin/FregePluginFunctionalTest.groovy b/src/test/groovy/ch.fhnw.thga.fregeplugin/FregePluginFunctionalTest.groovy deleted file mode 100644 index 889f6f0..0000000 --- a/src/test/groovy/ch.fhnw.thga.fregeplugin/FregePluginFunctionalTest.groovy +++ /dev/null @@ -1,18 +0,0 @@ -package ch.fhnw.thga.fregeplugin - -import org.junit.jupiter.api.io.TempDir; -import spock.lang.Specification - -class FregePluginFunctionalTests extends Specification { - @TempDir File testProjectDir - File buildFile - - def setup() { - buildFile = newFile(testProjectDir, 'build.gradle') - buildFile << """ - plugins { - id 'ch.fhnw.thga.frege' - } - """ - } -} \ No newline at end of file diff --git a/src/test/java/ch/fhnw/thga/gradleplugins/FregePluginFunctionalTest.java b/src/test/java/ch/fhnw/thga/gradleplugins/FregePluginFunctionalTest.java new file mode 100644 index 0000000..b93ba65 --- /dev/null +++ b/src/test/java/ch/fhnw/thga/gradleplugins/FregePluginFunctionalTest.java @@ -0,0 +1,54 @@ +package ch.fhnw.thga.gradleplugins; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.gradle.testkit.runner.TaskOutcome.SUCCESS; + +import java.io.BufferedWriter; +import java.io.File; +import java.io.FileWriter; +import java.io.IOException; + +import org.gradle.api.Project; +import org.gradle.testfixtures.ProjectBuilder; +import org.gradle.testkit.runner.BuildResult; +import org.gradle.testkit.runner.GradleRunner; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.io.TempDir; + +public class FregePluginFunctionalTest { + @TempDir File testProjectDir; + private File buildFile; + + private void writeFile(File destination, String content) throws IOException { + BufferedWriter output = null; + try { + output = new BufferedWriter(new FileWriter(destination)); + output.write(content); + } finally { + if (output != null) { + output.close(); + } + } + } + + @BeforeEach + void setup() throws Exception { + buildFile = new File(testProjectDir, "build.gradle"); + String buildFileContent = "plugins {" + + "id 'ch.fhnw.thga.frege'" + + "}"; + writeFile(buildFile, buildFileContent); + } + + @Test + void given_frege_plugin_when_applying_then_latest_frege_compiler_is_downloaded_and_added_as_a_depenency() { + //Project project = ProjectBuilder.builder().withProjectDir(testProjectDir).build(); + //assertEquals(1, project.getConfigurations().getByName("fregeCompiler").getAllDependencies().size()); + BuildResult result = GradleRunner.create() + .withProjectDir(testProjectDir) + .build(); + assertEquals(SUCCESS, result.task("initFrege").getOutcome()); + } +} \ No newline at end of file -- cgit