Skip to content

Commit c317c94

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 433b247 commit c317c94

File tree

7 files changed

+125
-211
lines changed

7 files changed

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

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

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

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

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

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

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

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

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

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

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

0 commit comments

Comments
 (0)