1717 */
1818package org .hibernate .tool .gradle ;
1919
20+ import static org .junit .jupiter .api .Assertions .assertEquals ;
21+ import static org .junit .jupiter .api .Assertions .assertFalse ;
2022import static org .junit .jupiter .api .Assertions .assertTrue ;
2123
2224import java .io .File ;
23- import java .io .IOException ;
2425import java .nio .file .Files ;
2526
26- import org .gradle .testkit .runner .BuildResult ;
27- import org .hibernate .tool .gradle .test .func .utils .FuncTestConstants ;
28- import org .hibernate .tool .gradle .test .func .utils .FuncTestTemplate ;
2927import org .hibernate .tool .it .gradle .TestTemplate ;
28+ import org .junit .jupiter .api .BeforeEach ;
3029import org .junit .jupiter .api .Test ;
3130
3231class GenerateJavaTest extends TestTemplate {
3332
34- @ Test
35- public void testPackageName () throws Exception {
33+ @ BeforeEach
34+ public void beforeEach () {
35+ setGradleCommandToExecute ("generateJava" );
3636 setDatabaseCreationScript (new String [] {
3737 "create table PERSON (ID int not null, NAME varchar(20), primary key (ID))"
3838 });
39+ }
40+
41+ @ Test
42+ public void testJpaDefault () throws Exception {
43+ createProjectAndExecuteGradleCommand ();
44+ File generatedOutputFolder = new File (getProjectDir (), "app/generated-sources" );
45+ assertTrue (generatedOutputFolder .exists ());
46+ assertTrue (generatedOutputFolder .isDirectory ());
47+ assertEquals (1 , generatedOutputFolder .list ().length );
48+ File generatedPersonJavaFile = new File (generatedOutputFolder , "Person.java" );
49+ assertTrue (generatedPersonJavaFile .exists ());
50+ assertTrue (generatedPersonJavaFile .isFile ());
51+ String generatedPersonJavaFileContents = new String (
52+ Files .readAllBytes (generatedPersonJavaFile .toPath ()));
53+ assertTrue (generatedPersonJavaFileContents .contains ("import jakarta.persistence.Entity;" ));
54+ assertTrue (generatedPersonJavaFileContents .contains ("public class Person " ));
55+ }
56+
57+ @ Test
58+ public void testNoAnnotations () throws Exception {
59+ setHibernateToolsExtensionSection (
60+ "hibernateTools { \n " +
61+ " generateAnnotations=false \n " +
62+ "}"
63+ );
64+ createProjectAndExecuteGradleCommand ();
65+ File generatedOutputFolder = new File (getProjectDir (), "app/generated-sources" );
66+ assertTrue (generatedOutputFolder .exists ());
67+ assertTrue (generatedOutputFolder .isDirectory ());
68+ assertEquals (1 , generatedOutputFolder .list ().length );
69+ File generatedPersonJavaFile = new File (generatedOutputFolder , "Person.java" );
70+ assertTrue (generatedPersonJavaFile .exists ());
71+ assertTrue (generatedPersonJavaFile .isFile ());
72+ String generatedPersonJavaFileContents = new String (
73+ Files .readAllBytes (generatedPersonJavaFile .toPath ()));
74+ assertFalse (generatedPersonJavaFileContents .contains ("import jakarta.persistence.Entity;" ));
75+ assertTrue (generatedPersonJavaFileContents .contains ("public class Person " ));
76+ }
77+
78+ @ Test
79+ public void testNoGenerics () throws Exception {
80+ setDatabaseCreationScript (new String [] {
81+ "create table PERSON (ID int not null, NAME varchar(20), primary key (ID))" ,
82+ "create table ITEM (ID int not null, NAME varchar(20), OWNER_ID int not null, " +
83+ " primary key (ID), foreign key (OWNER_ID) references PERSON(ID))"
84+ });
85+ setHibernateToolsExtensionSection (
86+ "hibernateTools { \n " +
87+ " useGenerics=false \n " +
88+ "}"
89+ );
90+ createProjectAndExecuteGradleCommand ();
91+ executeGradleCommand ("generateJava" );
92+ File generatedOutputFolder = new File (getProjectDir (), "app/generated-sources" );
93+ assertTrue (generatedOutputFolder .exists ());
94+ assertTrue (generatedOutputFolder .isDirectory ());
95+ assertEquals (2 , generatedOutputFolder .list ().length );
96+ File generatedPersonJavaFile = new File (generatedOutputFolder , "Person.java" );
97+ assertTrue (generatedPersonJavaFile .exists ());
98+ assertTrue (generatedPersonJavaFile .isFile ());
99+ String generatedPersonJavaFileContents = new String (
100+ Files .readAllBytes (generatedPersonJavaFile .toPath ()));
101+ assertTrue (generatedPersonJavaFileContents .contains ("public class Person " ));
102+ assertFalse (generatedPersonJavaFileContents .contains ("Set<Item>" ));
103+ File generatedItemJavaFile = new File (generatedOutputFolder , "Item.java" );
104+ assertTrue (generatedItemJavaFile .exists ());
105+ assertTrue (generatedItemJavaFile .isFile ());
106+ String generatedItemJavaFileContents = new String (
107+ Files .readAllBytes (generatedItemJavaFile .toPath ()));
108+ assertTrue (generatedItemJavaFileContents .contains ("public class Item " ));
109+ }
110+
111+ @ Test
112+ public void testUseGenerics () throws Exception {
113+ setDatabaseCreationScript (new String [] {
114+ "create table PERSON (ID int not null, NAME varchar(20), primary key (ID))" ,
115+ "create table ITEM (ID int not null, NAME varchar(20), OWNER_ID int not null, " +
116+ " primary key (ID), foreign key (OWNER_ID) references PERSON(ID))"
117+ });
118+ createProjectAndExecuteGradleCommand ();
119+ executeGradleCommand ("generateJava" );
120+ File generatedOutputFolder = new File (getProjectDir (), "app/generated-sources" );
121+ assertTrue (generatedOutputFolder .exists ());
122+ assertTrue (generatedOutputFolder .isDirectory ());
123+ assertEquals (2 , generatedOutputFolder .list ().length );
124+ File generatedPersonJavaFile = new File (generatedOutputFolder , "Person.java" );
125+ assertTrue (generatedPersonJavaFile .exists ());
126+ assertTrue (generatedPersonJavaFile .isFile ());
127+ String generatedPersonJavaFileContents = new String (
128+ Files .readAllBytes (generatedPersonJavaFile .toPath ()));
129+ assertTrue (generatedPersonJavaFileContents .contains ("public class Person " ));
130+ assertTrue (generatedPersonJavaFileContents .contains ("Set<Item>" ));
131+ File generatedItemJavaFile = new File (generatedOutputFolder , "Item.java" );
132+ assertTrue (generatedItemJavaFile .exists ());
133+ assertTrue (generatedItemJavaFile .isFile ());
134+ String generatedItemJavaFileContents = new String (
135+ Files .readAllBytes (generatedItemJavaFile .toPath ()));
136+ assertTrue (generatedItemJavaFileContents .contains ("public class Item " ));
137+ }
138+
139+ @ Test
140+ public void testPackageName () throws Exception {
39141 setHibernateToolsExtensionSection (
40142 "hibernateTools { \n " +
41143 " packageName = 'foo.model' \n " +
42144 "}"
43145 );
44- createProject ();
45- executeGradleCommand ("generateJava" );
146+ createProjectAndExecuteGradleCommand ();
46147 File generatedSourcesFolder = new File (getProjectDir (), "app/generated-sources" );
47148 assertTrue (generatedSourcesFolder .exists ());
48149 assertTrue (generatedSourcesFolder .isDirectory ());
@@ -51,5 +152,4 @@ public void testPackageName() throws Exception {
51152 assertTrue (fooFile .isFile ());
52153 }
53154
54-
55155}
0 commit comments