Skip to content

Commit 2183720

Browse files
committed
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 <[email protected]>
1 parent 9ec7d97 commit 2183720

File tree

7 files changed

+133
-221
lines changed

7 files changed

+133
-221
lines changed
Lines changed: 107 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,107 @@
1+
package org.hibernate.tool.ant;
2+
3+
import org.hibernate.tool.it.ant.TestTemplate;
4+
import org.junit.jupiter.api.Test;
5+
6+
import static org.junit.jupiter.api.Assertions.assertFalse;
7+
import static org.junit.jupiter.api.Assertions.assertTrue;
8+
9+
public class Hbm2JavaTestIT extends TestTemplate {
10+
11+
@Test
12+
public void testJpaDefault() throws Exception {
13+
setHibernateToolTaskXml(
14+
"""
15+
<hibernatetool destdir='generated'> \s
16+
<jdbcconfiguration propertyfile='hibernate.properties'/>\s
17+
<hbm2java/> \s
18+
</hibernatetool> \s
19+
"""
20+
);
21+
setDatabaseCreationScript(new String[] {
22+
"create table PERSON (ID int not null, NAME varchar(20), primary key (ID))"
23+
});
24+
createProjectAndBuild();
25+
assertFolderExists("generated", 1);
26+
assertFileExists("generated/Person.java");
27+
String generatedPersonJavaFileContents = getFileContents("generated/Person.java");
28+
assertTrue(generatedPersonJavaFileContents.contains("import jakarta.persistence.Entity;"));
29+
assertTrue(generatedPersonJavaFileContents.contains("public class Person "));
30+
}
31+
32+
@Test
33+
public void testNoAnnotations() throws Exception {
34+
setHibernateToolTaskXml(
35+
"""
36+
<hibernatetool destdir='generated'> \s
37+
<jdbcconfiguration propertyfile='hibernate.properties'/>\s
38+
<hbm2java ejb3='false'/> \s
39+
</hibernatetool> \s
40+
"""
41+
);
42+
setDatabaseCreationScript(new String[] {
43+
"create table PERSON (ID int not null, NAME varchar(20), primary key (ID))"
44+
});
45+
createProjectAndBuild();
46+
assertFolderExists("generated", 1);
47+
assertFileExists("generated/Person.java");
48+
String generatedPersonJavaFileContents = getFileContents("generated/Person.java");
49+
assertFalse(generatedPersonJavaFileContents.contains("import jakarta.persistence.Entity;"));
50+
assertTrue(generatedPersonJavaFileContents.contains("public class Person "));
51+
}
52+
53+
@Test
54+
public void testNoGenerics() throws Exception {
55+
setHibernateToolTaskXml(
56+
"""
57+
<hibernatetool destdir='generated'> \s
58+
<jdbcconfiguration propertyfile='hibernate.properties'/>\s
59+
<hbm2java jdk5='false'/> \s
60+
</hibernatetool> \s
61+
"""
62+
);
63+
setDatabaseCreationScript(new String[] {
64+
"create table PERSON (ID int not null, NAME varchar(20), " +
65+
"primary key (ID))",
66+
"create table ITEM (ID int not null, NAME varchar(20), OWNER_ID int not null, " +
67+
"primary key (ID), foreign key (OWNER_ID) references PERSON(ID))"
68+
});
69+
createProjectAndBuild();
70+
assertFolderExists("generated", 2);
71+
assertFileExists("generated/Person.java");
72+
String generatedPersonJavaFileContents = getFileContents("generated/Person.java");
73+
assertTrue(generatedPersonJavaFileContents.contains("public class Person "));
74+
assertFalse(generatedPersonJavaFileContents.contains("Set<Item>"));
75+
assertFileExists("generated/Item.java");
76+
String generatedItemJavaFileContents = getFileContents("generated/Item.java");
77+
assertTrue(generatedItemJavaFileContents.contains("public class Item "));
78+
}
79+
80+
@Test
81+
public void testUseGenerics() throws Exception {
82+
setHibernateToolTaskXml(
83+
"""
84+
<hibernatetool destdir='generated'> \s
85+
<jdbcconfiguration propertyfile='hibernate.properties'/>\s
86+
<hbm2java/> \s
87+
</hibernatetool> \s
88+
"""
89+
);
90+
setDatabaseCreationScript(new String[] {
91+
"create table PERSON (ID int not null, NAME varchar(20), " +
92+
"primary key (ID))",
93+
"create table ITEM (ID int not null, NAME varchar(20), OWNER_ID int not null, " +
94+
"primary key (ID), foreign key (OWNER_ID) references PERSON(ID))"
95+
});
96+
createProjectAndBuild();
97+
assertFolderExists("generated", 2);
98+
assertFileExists("generated/Person.java");
99+
String generatedPersonJavaFileContents = getFileContents("generated/Person.java");
100+
assertTrue(generatedPersonJavaFileContents.contains("public class Person "));
101+
assertTrue(generatedPersonJavaFileContents.contains("Set<Item>"));
102+
assertFileExists("generated/Item.java");
103+
String generatedItemJavaFileContents = getFileContents("generated/Item.java");
104+
assertTrue(generatedItemJavaFileContents.contains("public class Item "));
105+
}
106+
107+
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
package org.hibernate.tool.ant;
2+
3+
import org.hibernate.tool.it.ant.TestTemplate;
4+
import org.junit.jupiter.api.Test;
5+
6+
public class TutorialTestIT extends TestTemplate {
7+
8+
@Test
9+
public void testTutorial() throws Exception {
10+
setHibernateToolTaskXml(
11+
"""
12+
<hibernatetool destdir='generated-sources'> \s
13+
<jdbcconfiguration propertyfile='hibernate.properties'/>\s
14+
<hbm2java/> \s
15+
</hibernatetool> \s
16+
"""
17+
);
18+
setDatabaseCreationScript(new String[] {
19+
"create table PERSON (ID int not null, NAME varchar(20), primary key (ID))"
20+
});
21+
createProjectAndBuild();
22+
assertFolderExists("generated-sources", 1);
23+
assertFileExists("generated-sources/Person.java");
24+
}
25+
26+
}

ant/src/it/java/org/hibernate/tool/ant/hbm2java/JpaDefaultTestIT.java

Lines changed: 0 additions & 35 deletions
This file was deleted.

ant/src/it/java/org/hibernate/tool/ant/hbm2java/NoAnnotationsTestIT.java

Lines changed: 0 additions & 36 deletions
This file was deleted.

ant/src/it/java/org/hibernate/tool/ant/hbm2java/NoGenericsTestIT.java

Lines changed: 0 additions & 55 deletions
This file was deleted.

ant/src/it/java/org/hibernate/tool/ant/hbm2java/UseGenericsTestIT.java

Lines changed: 0 additions & 54 deletions
This file was deleted.

ant/src/it/java/org/hibernate/tool/ant/tutorial/TutorialTestIT.java

Lines changed: 0 additions & 41 deletions
This file was deleted.

0 commit comments

Comments
 (0)