Skip to content

Commit fbbf90c

Browse files
committed
HBX-3000: Maven GenerateJava Mojo should generate annotated entities by default
- Refactor 'org.hibernate.tool.maven.GenerateJavaMojoTest' not to write file 'hibernate.properties' - Directly use 'org.hibernate.tool.maven.GenerateJavaMojoTest#executeExporter(MetadataDescriptor)' in the tests Signed-off-by: Koen Aers <[email protected]>
1 parent 5e627a2 commit fbbf90c

File tree

1 file changed

+18
-13
lines changed

1 file changed

+18
-13
lines changed

maven/src/test/java/org/hibernate/tool/maven/GenerateJavaMojoTest.java

Lines changed: 18 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,14 @@
44
import static org.junit.jupiter.api.Assertions.assertTrue;
55

66
import java.io.File;
7-
import java.io.FileWriter;
87
import java.lang.reflect.Field;
98
import java.nio.file.Files;
109
import java.sql.DriverManager;
10+
import java.util.Properties;
1111

1212
import org.apache.maven.project.MavenProject;
13+
import org.hibernate.tool.api.metadata.MetadataDescriptor;
14+
import org.hibernate.tool.api.metadata.MetadataDescriptorFactory;
1315
import org.junit.jupiter.api.AfterEach;
1416
import org.junit.jupiter.api.BeforeEach;
1517
import org.junit.jupiter.api.Test;
@@ -32,7 +34,6 @@ public class GenerateJavaMojoTest {
3234
@BeforeEach
3335
public void beforeEach() throws Exception {
3436
createDatabase();
35-
createPropertiesFile();
3637
createOutputDirectory();
3738
createGenerateJavaMojo();
3839
}
@@ -48,7 +49,7 @@ public void testGenerateAnnotatedJava() throws Exception {
4849
// Person.java should not exist
4950
assertFalse(personJavaFile.exists());
5051
// Execute mojo with default value of 'ejb3' field which is 'true'
51-
generateJavaMojo.execute();
52+
generateJavaMojo.executeExporter(createMetadataDescriptor());
5253
// Person.java should exist
5354
assertTrue(personJavaFile.exists());
5455
// Person.java should be an annotated entity
@@ -65,7 +66,7 @@ public void testGenerateNonAnnotatedJava() throws Exception {
6566
Field ejb3Field = GenerateJavaMojo.class.getDeclaredField("ejb3");
6667
ejb3Field.setAccessible(true);
6768
ejb3Field.set(generateJavaMojo, false);
68-
generateJavaMojo.execute();
69+
generateJavaMojo.executeExporter(createMetadataDescriptor());
6970
// Person.java should exist
7071
assertTrue(personJavaFile.exists());
7172
// Person.java should be an annotated entity
@@ -87,15 +88,6 @@ private void dropDatabase() throws Exception {
8788
.execute(DROP_PERSON_TABLE);
8889
}
8990

90-
private void createPropertiesFile() throws Exception {
91-
File propertiesFile = new File(tempDir, "hibernate.properties");
92-
try (FileWriter fileWriter = new FileWriter(propertiesFile)) {
93-
fileWriter.write("hibernate.connection.url=" + JDBC_CONNECTION + '\n');
94-
fileWriter.write("hibernate.default_catalog=TEST\n");
95-
fileWriter.write("hibernate.default_schema=PUBLIC\n");
96-
}
97-
}
98-
9991
private void createGenerateJavaMojo() throws Exception {
10092
generateJavaMojo = new GenerateJavaMojo();
10193
Field projectField = AbstractGenerationMojo.class.getDeclaredField("project");
@@ -114,5 +106,18 @@ private void createOutputDirectory() {
114106
outputDirectory.mkdir();
115107
}
116108

109+
private MetadataDescriptor createMetadataDescriptor() {
110+
return MetadataDescriptorFactory.createReverseEngineeringDescriptor(
111+
null,
112+
createProperties());
113+
}
114+
115+
private Properties createProperties() {
116+
Properties result = new Properties();
117+
result.put("hibernate.connection.url", JDBC_CONNECTION);
118+
result.put("hibernate.default_catalog", "TEST");
119+
result.put("hibernate.default_schema", "PUBLIC");
120+
return result;
121+
}
117122

118123
}

0 commit comments

Comments
 (0)