From 7daae9d689c571928ee613efd61488ae7f3db4a9 Mon Sep 17 00:00:00 2001 From: Koen Aers Date: Thu, 4 Sep 2025 14:13:52 +0200 Subject: [PATCH] HBX-3080: Refactor the Gradle integration tests to factor out common code - Make 'GenerateDaoTest' extend 'TestTemplate' - Rewrite 'GenerateDaoTest#testGenerateDao()' to account for new superclass Signed-off-by: Koen Aers --- .../tool/gradle/GenerateDaoTest.java | 60 ++++++++----------- .../tool/gradle/GenerateHbmTest.java | 1 - 2 files changed, 26 insertions(+), 35 deletions(-) diff --git a/gradle/plugin/src/functionalTest/java/org/hibernate/tool/gradle/GenerateDaoTest.java b/gradle/plugin/src/functionalTest/java/org/hibernate/tool/gradle/GenerateDaoTest.java index 7d7225dc9e..9e57526165 100644 --- a/gradle/plugin/src/functionalTest/java/org/hibernate/tool/gradle/GenerateDaoTest.java +++ b/gradle/plugin/src/functionalTest/java/org/hibernate/tool/gradle/GenerateDaoTest.java @@ -20,44 +20,36 @@ import static org.junit.jupiter.api.Assertions.assertTrue; import java.io.File; -import java.io.IOException; -import org.gradle.testkit.runner.BuildResult; -import org.hibernate.tool.gradle.test.func.utils.FuncTestConstants; -import org.hibernate.tool.gradle.test.func.utils.FuncTestTemplate; +import org.hibernate.tool.it.gradle.TestTemplate; +import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; -class GenerateDaoTest extends FuncTestTemplate implements FuncTestConstants { +class GenerateDaoTest extends TestTemplate { - private static final String BUILD_FILE_HIBERNATE_TOOLS_SECTION = - "hibernateTools {\n" + - " packageName = 'foo.model'\n" + - "}\n"; + @BeforeEach + public void beforeEach() { + setGradleTaskToPerform("generateDao"); + setDatabaseCreationScript(new String[] { + "create table FOO (ID int not null, BAR varchar(20), primary key (ID))" + }); + } - @Override - public String getBuildFileHibernateToolsSection() { - return BUILD_FILE_HIBERNATE_TOOLS_SECTION; + @Test + void testGenerateDao() throws Exception { + setHibernateToolsExtensionSection( + "hibernateTools { \n" + + " packageName = 'foo.model'\n" + + "}" + ); + createProjectAndExecuteGradleCommand(); + File generatedSourcesFolder = new File(getProjectDir(), "app/generated-sources"); + assertTrue(getBuildResult().getOutput().contains("Starting DAO export to directory: ")); + assertTrue(generatedSourcesFolder.exists()); + assertTrue(generatedSourcesFolder.isDirectory()); + File fooFile = new File(generatedSourcesFolder, "foo/model/FooHome.java"); + assertTrue(fooFile.exists()); + assertTrue(fooFile.isFile()); } - @Test - void testGenerateJava() throws IOException { - performTask("generateDao", true); - } - - @Override - protected void verifyBuild(BuildResult buildResult) { - try { - File generatedSourcesFolder = new File(projectDir, "generated-sources"); - assertTrue(buildResult.getOutput().contains( - "Starting DAO export to directory: " + generatedSourcesFolder.getCanonicalPath())); - assertTrue(generatedSourcesFolder.exists()); - assertTrue(generatedSourcesFolder.isDirectory()); - File fooFile = new File(generatedSourcesFolder, "foo/model/FooHome.java"); - assertTrue(fooFile.exists()); - assertTrue(fooFile.isFile()); - } catch (Exception e) { - throw new RuntimeException(e); - } - } - - } +} diff --git a/gradle/plugin/src/functionalTest/java/org/hibernate/tool/gradle/GenerateHbmTest.java b/gradle/plugin/src/functionalTest/java/org/hibernate/tool/gradle/GenerateHbmTest.java index 54ef6f8ef6..4fa9b4f9bd 100644 --- a/gradle/plugin/src/functionalTest/java/org/hibernate/tool/gradle/GenerateHbmTest.java +++ b/gradle/plugin/src/functionalTest/java/org/hibernate/tool/gradle/GenerateHbmTest.java @@ -20,7 +20,6 @@ import static org.junit.jupiter.api.Assertions.assertTrue; import java.io.File; -import java.io.IOException; import org.hibernate.tool.it.gradle.TestTemplate; import org.junit.jupiter.api.BeforeEach;