diff --git a/ant/src/it/java/org/hibernate/tool/ant/hbm2java/JpaDefaultTestIT.java b/ant/src/it/java/org/hibernate/tool/ant/hbm2java/JpaDefaultTestIT.java index cbfe168ff5..bbe420346f 100644 --- a/ant/src/it/java/org/hibernate/tool/ant/hbm2java/JpaDefaultTestIT.java +++ b/ant/src/it/java/org/hibernate/tool/ant/hbm2java/JpaDefaultTestIT.java @@ -24,25 +24,12 @@ public void testJpaDefault() throws Exception { setDatabaseCreationScript(new String[] { "create table PERSON (ID int not null, NAME varchar(20), primary key (ID))" }); - createBuildXmlFile(); - createDatabase(); - createHibernatePropertiesFile(); - runAntBuild(); - verifyResult(); - } - - private void verifyResult() throws Exception { - File generatedOutputFolder = new File(getProjectDir(), "generated"); - assertTrue(generatedOutputFolder.exists()); - assertTrue(generatedOutputFolder.isDirectory()); - assertEquals(1, generatedOutputFolder.list().length); - File generatedPersonJavaFile = new File(generatedOutputFolder, "Person.java"); - assertTrue(generatedPersonJavaFile.exists()); - assertTrue(generatedPersonJavaFile.isFile()); - String generatedPersonJavaFileContents = new String( - Files.readAllBytes(generatedPersonJavaFile.toPath())); + createProjectAndBuild(); + assertFolderExists("generated", 1); + assertFileExists("generated/Person.java"); + String generatedPersonJavaFileContents = getFileContents("generated/Person.java"); assertTrue(generatedPersonJavaFileContents.contains("import jakarta.persistence.Entity;")); assertTrue(generatedPersonJavaFileContents.contains("public class Person ")); - } - + } + } diff --git a/ant/src/it/java/org/hibernate/tool/ant/hbm2java/NoAnnotationsTestIT.java b/ant/src/it/java/org/hibernate/tool/ant/hbm2java/NoAnnotationsTestIT.java index a3e4fee508..57228ec86b 100644 --- a/ant/src/it/java/org/hibernate/tool/ant/hbm2java/NoAnnotationsTestIT.java +++ b/ant/src/it/java/org/hibernate/tool/ant/hbm2java/NoAnnotationsTestIT.java @@ -25,25 +25,12 @@ public void testNoAnnotations() throws Exception { setDatabaseCreationScript(new String[] { "create table PERSON (ID int not null, NAME varchar(20), primary key (ID))" }); - createBuildXmlFile(); - createDatabase(); - createHibernatePropertiesFile(); - runAntBuild(); - verifyResult(); - } - - private void verifyResult() throws Exception { - File generatedOutputFolder = new File(getProjectDir(), "generated"); - assertTrue(generatedOutputFolder.exists()); - assertTrue(generatedOutputFolder.isDirectory()); - assertEquals(1, generatedOutputFolder.list().length); - File generatedPersonJavaFile = new File(generatedOutputFolder, "Person.java"); - assertTrue(generatedPersonJavaFile.exists()); - assertTrue(generatedPersonJavaFile.isFile()); - String generatedPersonJavaFileContents = new String( - Files.readAllBytes(generatedPersonJavaFile.toPath())); + createProjectAndBuild(); + assertFolderExists("generated", 1); + assertFileExists("generated/Person.java"); + String generatedPersonJavaFileContents = getFileContents("generated/Person.java"); assertFalse(generatedPersonJavaFileContents.contains("import jakarta.persistence.Entity;")); assertTrue(generatedPersonJavaFileContents.contains("public class Person ")); - } - + } + } diff --git a/ant/src/it/java/org/hibernate/tool/ant/hbm2java/NoGenericsTestIT.java b/ant/src/it/java/org/hibernate/tool/ant/hbm2java/NoGenericsTestIT.java index 49d69bd8c5..d451f77408 100644 --- a/ant/src/it/java/org/hibernate/tool/ant/hbm2java/NoGenericsTestIT.java +++ b/ant/src/it/java/org/hibernate/tool/ant/hbm2java/NoGenericsTestIT.java @@ -28,10 +28,7 @@ public void testUseGenerics() throws Exception { "create table ITEM (ID int not null, NAME varchar(20), OWNER_ID int not null, " + "primary key (ID), foreign key (OWNER_ID) references PERSON(ID))" }); - createBuildXmlFile(); - createDatabase(); - createHibernatePropertiesFile(); - runAntBuild(); + createProjectAndBuild(); verifyResult(); } diff --git a/ant/src/it/java/org/hibernate/tool/ant/hbm2java/UseGenericsTestIT.java b/ant/src/it/java/org/hibernate/tool/ant/hbm2java/UseGenericsTestIT.java index e96a08baed..e3ad0dcc09 100644 --- a/ant/src/it/java/org/hibernate/tool/ant/hbm2java/UseGenericsTestIT.java +++ b/ant/src/it/java/org/hibernate/tool/ant/hbm2java/UseGenericsTestIT.java @@ -27,10 +27,7 @@ public void testUseGenerics() throws Exception { "create table ITEM (ID int not null, NAME varchar(20), OWNER_ID int not null, " + "primary key (ID), foreign key (OWNER_ID) references PERSON(ID))" }); - createBuildXmlFile(); - createDatabase(); - createHibernatePropertiesFile(); - runAntBuild(); + createProjectAndBuild(); verifyResult(); } diff --git a/ant/src/it/java/org/hibernate/tool/ant/tutorial/TutorialTestIT.java b/ant/src/it/java/org/hibernate/tool/ant/tutorial/TutorialTestIT.java index 5704d995bc..5756cc9aee 100644 --- a/ant/src/it/java/org/hibernate/tool/ant/tutorial/TutorialTestIT.java +++ b/ant/src/it/java/org/hibernate/tool/ant/tutorial/TutorialTestIT.java @@ -24,10 +24,7 @@ public void testTutorial() throws Exception { setDatabaseCreationScript(new String[] { "create table PERSON (ID int not null, NAME varchar(20), primary key (ID))" }); - createBuildXmlFile(); - createDatabase(); - createHibernatePropertiesFile(); - runAntBuild(); + createProjectAndBuild(); verifyResult(); } diff --git a/ant/src/it/java/org/hibernate/tool/it/ant/TestTemplate.java b/ant/src/it/java/org/hibernate/tool/it/ant/TestTemplate.java index 0a2e43a0cf..021ce5f183 100644 --- a/ant/src/it/java/org/hibernate/tool/it/ant/TestTemplate.java +++ b/ant/src/it/java/org/hibernate/tool/it/ant/TestTemplate.java @@ -10,6 +10,7 @@ import java.sql.Connection; import java.sql.DriverManager; import java.sql.Statement; +import java.util.Objects; import static org.junit.jupiter.api.Assertions.*; @@ -38,7 +39,33 @@ protected String constructBuildXmlFileContents() { return buildXmlFileContents.replace("@hibernateToolTaskXml@", hibernateToolTaskXml); } - protected void runAntBuild() { + protected String getFileContents(String path) throws Exception { + return new String( + Files.readAllBytes( + new File(getProjectDir(), path).toPath())); + } + + protected void createProjectAndBuild() throws Exception { + createBuildXmlFile(); + createDatabase(); + createHibernatePropertiesFile(); + runAntBuild(); + } + + protected void assertFolderExists(String path, int amountOfChildren) { + File generatedOutputFolder = new File(getProjectDir(), path); + assertTrue(generatedOutputFolder.exists()); + assertTrue(generatedOutputFolder.isDirectory()); + assertEquals(amountOfChildren, Objects.requireNonNull(generatedOutputFolder.list()).length); + } + + protected void assertFileExists(String path) { + File generatedPersonJavaFile = new File(getProjectDir(), path); + assertTrue(generatedPersonJavaFile.exists()); + assertTrue(generatedPersonJavaFile.isFile()); + } + + private void runAntBuild() { File buildXmlFile = new File(getProjectDir(), "build.xml"); Project project = new Project(); project.setBaseDir(getProjectDir()); @@ -47,18 +74,18 @@ protected void runAntBuild() { project.executeTarget(project.getDefaultTarget()); } - protected void createBuildXmlFile() throws Exception { + private void createBuildXmlFile() throws Exception { File buildXmlFile = new File(getProjectDir(), "build.xml"); assertFalse(buildXmlFile.exists()); Files.writeString(buildXmlFile.toPath(), constructBuildXmlFileContents()); assertTrue(buildXmlFile.exists()); } - protected String constructJdbcConnectionString() { + private String constructJdbcConnectionString() { return "jdbc:h2:" + getProjectDir().getAbsolutePath() + "/database/test;AUTO_SERVER=TRUE"; } - protected void createDatabase() throws Exception { + private void createDatabase() throws Exception { File databaseFile = new File(getProjectDir(), "database/test.mv.db"); assertFalse(databaseFile.exists()); assertFalse(databaseFile.isFile()); @@ -73,7 +100,7 @@ protected void createDatabase() throws Exception { assertTrue(databaseFile.isFile()); } - protected void createHibernatePropertiesFile() throws Exception { + private void createHibernatePropertiesFile() throws Exception { File hibernatePropertiesFile = new File(getProjectDir(), "hibernate.properties"); String hibernatePropertiesFileContents = "hibernate.connection.driver_class=org.h2.Driver\n" +