From 218372048e92e6bd8e0b831fb4054fb460cce04d Mon Sep 17 00:00:00 2001 From: Koen Aers Date: Fri, 1 Aug 2025 12:35:16 +0300 Subject: [PATCH] HBX-3068: Refactor the Ant integration tests to factor out common code - Create new integration test class 'Hbm2JavaTestIT' - Move all the tests under 'hbm2java' into this new test class - Move TutorialTestIt one level up Signed-off-by: Koen Aers --- .../hibernate/tool/ant/Hbm2JavaTestIT.java | 107 ++++++++++++++++++ .../hibernate/tool/ant/TutorialTestIT.java | 26 +++++ .../tool/ant/hbm2java/JpaDefaultTestIT.java | 35 ------ .../ant/hbm2java/NoAnnotationsTestIT.java | 36 ------ .../tool/ant/hbm2java/NoGenericsTestIT.java | 55 --------- .../tool/ant/hbm2java/UseGenericsTestIT.java | 54 --------- .../tool/ant/tutorial/TutorialTestIT.java | 41 ------- 7 files changed, 133 insertions(+), 221 deletions(-) create mode 100644 ant/src/it/java/org/hibernate/tool/ant/Hbm2JavaTestIT.java create mode 100644 ant/src/it/java/org/hibernate/tool/ant/TutorialTestIT.java delete mode 100644 ant/src/it/java/org/hibernate/tool/ant/hbm2java/JpaDefaultTestIT.java delete mode 100644 ant/src/it/java/org/hibernate/tool/ant/hbm2java/NoAnnotationsTestIT.java delete mode 100644 ant/src/it/java/org/hibernate/tool/ant/hbm2java/NoGenericsTestIT.java delete mode 100644 ant/src/it/java/org/hibernate/tool/ant/hbm2java/UseGenericsTestIT.java delete mode 100644 ant/src/it/java/org/hibernate/tool/ant/tutorial/TutorialTestIT.java diff --git a/ant/src/it/java/org/hibernate/tool/ant/Hbm2JavaTestIT.java b/ant/src/it/java/org/hibernate/tool/ant/Hbm2JavaTestIT.java new file mode 100644 index 0000000000..d382dcd1ac --- /dev/null +++ b/ant/src/it/java/org/hibernate/tool/ant/Hbm2JavaTestIT.java @@ -0,0 +1,107 @@ +package org.hibernate.tool.ant; + +import org.hibernate.tool.it.ant.TestTemplate; +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; + +public class Hbm2JavaTestIT extends TestTemplate { + + @Test + public void testJpaDefault() throws Exception { + setHibernateToolTaskXml( + """ + \s + \s + \s + \s + """ + ); + setDatabaseCreationScript(new String[] { + "create table PERSON (ID int not null, NAME varchar(20), primary key (ID))" + }); + 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 ")); + } + + @Test + public void testNoAnnotations() throws Exception { + setHibernateToolTaskXml( + """ + \s + \s + \s + \s + """ + ); + setDatabaseCreationScript(new String[] { + "create table PERSON (ID int not null, NAME varchar(20), primary key (ID))" + }); + 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 ")); + } + + @Test + public void testNoGenerics() throws Exception { + setHibernateToolTaskXml( + """ + \s + \s + \s + \s + """ + ); + setDatabaseCreationScript(new String[] { + "create table PERSON (ID int not null, NAME varchar(20), " + + "primary key (ID))", + "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))" + }); + createProjectAndBuild(); + assertFolderExists("generated", 2); + assertFileExists("generated/Person.java"); + String generatedPersonJavaFileContents = getFileContents("generated/Person.java"); + assertTrue(generatedPersonJavaFileContents.contains("public class Person ")); + assertFalse(generatedPersonJavaFileContents.contains("Set")); + assertFileExists("generated/Item.java"); + String generatedItemJavaFileContents = getFileContents("generated/Item.java"); + assertTrue(generatedItemJavaFileContents.contains("public class Item ")); + } + + @Test + public void testUseGenerics() throws Exception { + setHibernateToolTaskXml( + """ + \s + \s + \s + \s + """ + ); + setDatabaseCreationScript(new String[] { + "create table PERSON (ID int not null, NAME varchar(20), " + + "primary key (ID))", + "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))" + }); + createProjectAndBuild(); + assertFolderExists("generated", 2); + assertFileExists("generated/Person.java"); + String generatedPersonJavaFileContents = getFileContents("generated/Person.java"); + assertTrue(generatedPersonJavaFileContents.contains("public class Person ")); + assertTrue(generatedPersonJavaFileContents.contains("Set")); + assertFileExists("generated/Item.java"); + String generatedItemJavaFileContents = getFileContents("generated/Item.java"); + assertTrue(generatedItemJavaFileContents.contains("public class Item ")); + } + +} diff --git a/ant/src/it/java/org/hibernate/tool/ant/TutorialTestIT.java b/ant/src/it/java/org/hibernate/tool/ant/TutorialTestIT.java new file mode 100644 index 0000000000..ed38efe869 --- /dev/null +++ b/ant/src/it/java/org/hibernate/tool/ant/TutorialTestIT.java @@ -0,0 +1,26 @@ +package org.hibernate.tool.ant; + +import org.hibernate.tool.it.ant.TestTemplate; +import org.junit.jupiter.api.Test; + +public class TutorialTestIT extends TestTemplate { + + @Test + public void testTutorial() throws Exception { + setHibernateToolTaskXml( + """ + \s + \s + \s + \s + """ + ); + setDatabaseCreationScript(new String[] { + "create table PERSON (ID int not null, NAME varchar(20), primary key (ID))" + }); + createProjectAndBuild(); + assertFolderExists("generated-sources", 1); + assertFileExists("generated-sources/Person.java"); + } + +} 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 deleted file mode 100644 index bbe420346f..0000000000 --- a/ant/src/it/java/org/hibernate/tool/ant/hbm2java/JpaDefaultTestIT.java +++ /dev/null @@ -1,35 +0,0 @@ -package org.hibernate.tool.ant.hbm2java; - -import static org.junit.jupiter.api.Assertions.assertTrue; -import static org.junit.jupiter.api.Assertions.assertEquals; - -import java.io.File; -import java.nio.file.Files; - -import org.hibernate.tool.it.ant.TestTemplate; -import org.junit.jupiter.api.Test; - -public class JpaDefaultTestIT extends TestTemplate { - - @Test - public void testJpaDefault() throws Exception { - setHibernateToolTaskXml( - """ - \s - \s - \s - \s - """ - ); - setDatabaseCreationScript(new String[] { - "create table PERSON (ID int not null, NAME varchar(20), primary key (ID))" - }); - 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 deleted file mode 100644 index 57228ec86b..0000000000 --- a/ant/src/it/java/org/hibernate/tool/ant/hbm2java/NoAnnotationsTestIT.java +++ /dev/null @@ -1,36 +0,0 @@ -package org.hibernate.tool.ant.hbm2java; - -import static org.junit.jupiter.api.Assertions.assertFalse; -import static org.junit.jupiter.api.Assertions.assertTrue; -import static org.junit.jupiter.api.Assertions.assertEquals; - -import java.io.File; -import java.nio.file.Files; - -import org.hibernate.tool.it.ant.TestTemplate; -import org.junit.jupiter.api.Test; - -public class NoAnnotationsTestIT extends TestTemplate { - - @Test - public void testNoAnnotations() throws Exception { - setHibernateToolTaskXml( - """ - \s - \s - \s - \s - """ - ); - setDatabaseCreationScript(new String[] { - "create table PERSON (ID int not null, NAME varchar(20), primary key (ID))" - }); - 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 deleted file mode 100644 index d451f77408..0000000000 --- a/ant/src/it/java/org/hibernate/tool/ant/hbm2java/NoGenericsTestIT.java +++ /dev/null @@ -1,55 +0,0 @@ -package org.hibernate.tool.ant.hbm2java; - -import static org.junit.jupiter.api.Assertions.assertFalse; -import static org.junit.jupiter.api.Assertions.assertTrue; -import static org.junit.jupiter.api.Assertions.assertEquals; - -import java.io.File; -import java.nio.file.Files; - -import org.hibernate.tool.it.ant.TestTemplate; -import org.junit.jupiter.api.Test; - -public class NoGenericsTestIT extends TestTemplate { - - @Test - public void testUseGenerics() throws Exception { - setHibernateToolTaskXml( - """ - \s - \s - \s - \s - """ - ); - setDatabaseCreationScript(new String[] { - "create table PERSON (ID int not null, NAME varchar(20), " + - "primary key (ID))", - "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))" - }); - createProjectAndBuild(); - verifyResult(); - } - - private void verifyResult() throws Exception { - File generatedOutputFolder = new File(getProjectDir(), "generated"); - assertTrue(generatedOutputFolder.exists()); - assertTrue(generatedOutputFolder.isDirectory()); - assertEquals(2, generatedOutputFolder.list().length); - File generatedPersonJavaFile = new File(generatedOutputFolder, "Person.java"); - assertTrue(generatedPersonJavaFile.exists()); - assertTrue(generatedPersonJavaFile.isFile()); - String generatedPersonJavaFileContents = new String( - Files.readAllBytes(generatedPersonJavaFile.toPath())); - assertTrue(generatedPersonJavaFileContents.contains("public class Person ")); - assertFalse(generatedPersonJavaFileContents.contains("Set")); - File generatedItemJavaFile = new File(generatedOutputFolder, "Item.java"); - assertTrue(generatedItemJavaFile.exists()); - assertTrue(generatedItemJavaFile.isFile()); - String generatedItemJavaFileContents = new String( - Files.readAllBytes(generatedItemJavaFile.toPath())); - assertTrue(generatedItemJavaFileContents.contains("public class Item ")); - } - -} 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 deleted file mode 100644 index e3ad0dcc09..0000000000 --- a/ant/src/it/java/org/hibernate/tool/ant/hbm2java/UseGenericsTestIT.java +++ /dev/null @@ -1,54 +0,0 @@ -package org.hibernate.tool.ant.hbm2java; - -import static org.junit.jupiter.api.Assertions.assertTrue; -import static org.junit.jupiter.api.Assertions.assertEquals; - -import java.io.File; -import java.nio.file.Files; - -import org.hibernate.tool.it.ant.TestTemplate; -import org.junit.jupiter.api.Test; - -public class UseGenericsTestIT extends TestTemplate { - - @Test - public void testUseGenerics() throws Exception { - setHibernateToolTaskXml( - """ - \s - \s - \s - \s - """ - ); - setDatabaseCreationScript(new String[] { - "create table PERSON (ID int not null, NAME varchar(20), " + - "primary key (ID))", - "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))" - }); - createProjectAndBuild(); - verifyResult(); - } - - private void verifyResult() throws Exception { - File generatedOutputFolder = new File(getProjectDir(), "generated"); - assertTrue(generatedOutputFolder.exists()); - assertTrue(generatedOutputFolder.isDirectory()); - assertEquals(2, generatedOutputFolder.list().length); - File generatedPersonJavaFile = new File(generatedOutputFolder, "Person.java"); - assertTrue(generatedPersonJavaFile.exists()); - assertTrue(generatedPersonJavaFile.isFile()); - String generatedPersonJavaFileContents = new String( - Files.readAllBytes(generatedPersonJavaFile.toPath())); - assertTrue(generatedPersonJavaFileContents.contains("public class Person ")); - assertTrue(generatedPersonJavaFileContents.contains("Set")); - File generatedItemJavaFile = new File(generatedOutputFolder, "Item.java"); - assertTrue(generatedItemJavaFile.exists()); - assertTrue(generatedItemJavaFile.isFile()); - String generatedItemJavaFileContents = new String( - Files.readAllBytes(generatedItemJavaFile.toPath())); - assertTrue(generatedItemJavaFileContents.contains("public class Item ")); - } - -} 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 deleted file mode 100644 index 5756cc9aee..0000000000 --- a/ant/src/it/java/org/hibernate/tool/ant/tutorial/TutorialTestIT.java +++ /dev/null @@ -1,41 +0,0 @@ -package org.hibernate.tool.ant.tutorial; - -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertTrue; - -import java.io.File; -import java.nio.file.Files; - -import org.hibernate.tool.it.ant.TestTemplate; -import org.junit.jupiter.api.Test; - -public class TutorialTestIT extends TestTemplate { - - @Test - public void testTutorial() throws Exception { - setHibernateToolTaskXml( - """ - \s - \s - \s - \s - """ - ); - setDatabaseCreationScript(new String[] { - "create table PERSON (ID int not null, NAME varchar(20), primary key (ID))" - }); - createProjectAndBuild(); - verifyResult(); - } - - private void verifyResult() { - 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()); - } - -}