Skip to content
Merged
Show file tree
Hide file tree
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 @@ -24,25 +24,12 @@ public void testJpaDefault() throws Exception {
setDatabaseCreationScript(new String[] {
"create table PERSON (ID int not null, NAME varchar(20), primary key (ID))"
});
createBuildXmlFile();
createDatabase();
createHibernatePropertiesFile();
runAntBuild();
verifyResult();
}

private void verifyResult() throws Exception {
File generatedOutputFolder = new File(getProjectDir(), "generated");
assertTrue(generatedOutputFolder.exists());
assertTrue(generatedOutputFolder.isDirectory());
assertEquals(1, generatedOutputFolder.list().length);
File generatedPersonJavaFile = new File(generatedOutputFolder, "Person.java");
assertTrue(generatedPersonJavaFile.exists());
assertTrue(generatedPersonJavaFile.isFile());
String generatedPersonJavaFileContents = new String(
Files.readAllBytes(generatedPersonJavaFile.toPath()));
createProjectAndBuild();
assertFolderExists("generated", 1);
assertFileExists("generated/Person.java");
String generatedPersonJavaFileContents = getFileContents("generated/Person.java");
assertTrue(generatedPersonJavaFileContents.contains("import jakarta.persistence.Entity;"));
assertTrue(generatedPersonJavaFileContents.contains("public class Person "));
}
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -25,25 +25,12 @@ public void testNoAnnotations() throws Exception {
setDatabaseCreationScript(new String[] {
"create table PERSON (ID int not null, NAME varchar(20), primary key (ID))"
});
createBuildXmlFile();
createDatabase();
createHibernatePropertiesFile();
runAntBuild();
verifyResult();
}

private void verifyResult() throws Exception {
File generatedOutputFolder = new File(getProjectDir(), "generated");
assertTrue(generatedOutputFolder.exists());
assertTrue(generatedOutputFolder.isDirectory());
assertEquals(1, generatedOutputFolder.list().length);
File generatedPersonJavaFile = new File(generatedOutputFolder, "Person.java");
assertTrue(generatedPersonJavaFile.exists());
assertTrue(generatedPersonJavaFile.isFile());
String generatedPersonJavaFileContents = new String(
Files.readAllBytes(generatedPersonJavaFile.toPath()));
createProjectAndBuild();
assertFolderExists("generated", 1);
assertFileExists("generated/Person.java");
String generatedPersonJavaFileContents = getFileContents("generated/Person.java");
assertFalse(generatedPersonJavaFileContents.contains("import jakarta.persistence.Entity;"));
assertTrue(generatedPersonJavaFileContents.contains("public class Person "));
}
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -28,10 +28,7 @@ public void testUseGenerics() throws Exception {
"create table ITEM (ID int not null, NAME varchar(20), OWNER_ID int not null, " +
"primary key (ID), foreign key (OWNER_ID) references PERSON(ID))"
});
createBuildXmlFile();
createDatabase();
createHibernatePropertiesFile();
runAntBuild();
createProjectAndBuild();
verifyResult();
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,10 +27,7 @@ public void testUseGenerics() throws Exception {
"create table ITEM (ID int not null, NAME varchar(20), OWNER_ID int not null, " +
"primary key (ID), foreign key (OWNER_ID) references PERSON(ID))"
});
createBuildXmlFile();
createDatabase();
createHibernatePropertiesFile();
runAntBuild();
createProjectAndBuild();
verifyResult();
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,7 @@ public void testTutorial() throws Exception {
setDatabaseCreationScript(new String[] {
"create table PERSON (ID int not null, NAME varchar(20), primary key (ID))"
});
createBuildXmlFile();
createDatabase();
createHibernatePropertiesFile();
runAntBuild();
createProjectAndBuild();
verifyResult();
}

Expand Down
37 changes: 32 additions & 5 deletions ant/src/it/java/org/hibernate/tool/it/ant/TestTemplate.java
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import java.util.Objects;

import static org.junit.jupiter.api.Assertions.*;

Expand Down Expand Up @@ -38,7 +39,33 @@ protected String constructBuildXmlFileContents() {
return buildXmlFileContents.replace("@hibernateToolTaskXml@", hibernateToolTaskXml);
}

protected void runAntBuild() {
protected String getFileContents(String path) throws Exception {
return new String(
Files.readAllBytes(
new File(getProjectDir(), path).toPath()));
}

protected void createProjectAndBuild() throws Exception {
createBuildXmlFile();
createDatabase();
createHibernatePropertiesFile();
runAntBuild();
}

protected void assertFolderExists(String path, int amountOfChildren) {
File generatedOutputFolder = new File(getProjectDir(), path);
assertTrue(generatedOutputFolder.exists());
assertTrue(generatedOutputFolder.isDirectory());
assertEquals(amountOfChildren, Objects.requireNonNull(generatedOutputFolder.list()).length);
}

protected void assertFileExists(String path) {
File generatedPersonJavaFile = new File(getProjectDir(), path);
assertTrue(generatedPersonJavaFile.exists());
assertTrue(generatedPersonJavaFile.isFile());
}

private void runAntBuild() {
File buildXmlFile = new File(getProjectDir(), "build.xml");
Project project = new Project();
project.setBaseDir(getProjectDir());
Expand All @@ -47,18 +74,18 @@ protected void runAntBuild() {
project.executeTarget(project.getDefaultTarget());
}

protected void createBuildXmlFile() throws Exception {
private void createBuildXmlFile() throws Exception {
File buildXmlFile = new File(getProjectDir(), "build.xml");
assertFalse(buildXmlFile.exists());
Files.writeString(buildXmlFile.toPath(), constructBuildXmlFileContents());
assertTrue(buildXmlFile.exists());
}

protected String constructJdbcConnectionString() {
private String constructJdbcConnectionString() {
return "jdbc:h2:" + getProjectDir().getAbsolutePath() + "/database/test;AUTO_SERVER=TRUE";
}

protected void createDatabase() throws Exception {
private void createDatabase() throws Exception {
File databaseFile = new File(getProjectDir(), "database/test.mv.db");
assertFalse(databaseFile.exists());
assertFalse(databaseFile.isFile());
Expand All @@ -73,7 +100,7 @@ protected void createDatabase() throws Exception {
assertTrue(databaseFile.isFile());
}

protected void createHibernatePropertiesFile() throws Exception {
private void createHibernatePropertiesFile() throws Exception {
File hibernatePropertiesFile = new File(getProjectDir(), "hibernate.properties");
String hibernatePropertiesFileContents =
"hibernate.connection.driver_class=org.h2.Driver\n" +
Expand Down