Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,14 @@
import static org.junit.jupiter.api.Assertions.assertTrue;

import java.io.File;
import java.io.FileWriter;
import java.lang.reflect.Field;
import java.nio.file.Files;
import java.sql.DriverManager;
import java.util.Properties;

import org.apache.maven.project.MavenProject;
import org.hibernate.tool.api.metadata.MetadataDescriptor;
import org.hibernate.tool.api.metadata.MetadataDescriptorFactory;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
Expand All @@ -32,7 +34,6 @@ public class GenerateJavaMojoTest {
@BeforeEach
public void beforeEach() throws Exception {
createDatabase();
createPropertiesFile();
createOutputDirectory();
createGenerateJavaMojo();
}
Expand All @@ -48,7 +49,7 @@ public void testGenerateAnnotatedJava() throws Exception {
// Person.java should not exist
assertFalse(personJavaFile.exists());
// Execute mojo with default value of 'ejb3' field which is 'true'
generateJavaMojo.execute();
generateJavaMojo.executeExporter(createMetadataDescriptor());
// Person.java should exist
assertTrue(personJavaFile.exists());
// Person.java should be an annotated entity
Expand All @@ -65,7 +66,7 @@ public void testGenerateNonAnnotatedJava() throws Exception {
Field ejb3Field = GenerateJavaMojo.class.getDeclaredField("ejb3");
ejb3Field.setAccessible(true);
ejb3Field.set(generateJavaMojo, false);
generateJavaMojo.execute();
generateJavaMojo.executeExporter(createMetadataDescriptor());
// Person.java should exist
assertTrue(personJavaFile.exists());
// Person.java should be an annotated entity
Expand All @@ -87,15 +88,6 @@ private void dropDatabase() throws Exception {
.execute(DROP_PERSON_TABLE);
}

private void createPropertiesFile() throws Exception {
File propertiesFile = new File(tempDir, "hibernate.properties");
try (FileWriter fileWriter = new FileWriter(propertiesFile)) {
fileWriter.write("hibernate.connection.url=" + JDBC_CONNECTION + '\n');
fileWriter.write("hibernate.default_catalog=TEST\n");
fileWriter.write("hibernate.default_schema=PUBLIC\n");
}
}

private void createGenerateJavaMojo() throws Exception {
generateJavaMojo = new GenerateJavaMojo();
Field projectField = AbstractGenerationMojo.class.getDeclaredField("project");
Expand All @@ -114,5 +106,18 @@ private void createOutputDirectory() {
outputDirectory.mkdir();
}

private MetadataDescriptor createMetadataDescriptor() {
return MetadataDescriptorFactory.createReverseEngineeringDescriptor(
null,
createProperties());
}

private Properties createProperties() {
Properties result = new Properties();
result.put("hibernate.connection.url", JDBC_CONNECTION);
result.put("hibernate.default_catalog", "TEST");
result.put("hibernate.default_schema", "PUBLIC");
return result;
}

}