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 @@ -22,37 +22,20 @@ public class JpaDefaultTest extends TestTemplate {

@Test
public void testTutorial() throws Exception {
setDatabaseCreationScript(new String[] {
"create table PERSON (ID int not null, NAME varchar(20), primary key (ID))",
"insert into PERSON values (1, 'foo')"
});
assertTrue(getProjectDir().exists());
createGradleProject();
editGradleBuildFile();
editGradlePropertiesFile();
createDatabase();
createHibernatePropertiesFile();
verifyDatabase();
executeGenerateJavaTask();
verifyProject();
}

private void verifyDatabase() throws Exception {
Connection connection = DriverManager.getConnection(constructJdbcConnectionString());
ResultSet resultSet = connection.createStatement().executeQuery("select * from PERSON");
assertTrue(resultSet.next());
assertEquals(1, resultSet.getInt(1));
assertEquals("foo", resultSet.getString(2));
}

private void createDatabase() throws Exception {
String CREATE_PERSON_TABLE = "create table PERSON (ID int not null, NAME varchar(20), primary key (ID))";
Connection connection = DriverManager.getConnection(constructJdbcConnectionString());
Statement statement = connection.createStatement();
statement.execute(CREATE_PERSON_TABLE);
statement.execute("insert into PERSON values (1, 'foo')");
statement.close();
connection.close();
assertTrue(getDatabaseFile().exists());
assertTrue(getDatabaseFile().isFile());
}

private void executeGenerateJavaTask() throws Exception {
GradleRunner gradleRunner = GradleRunner.create();
gradleRunner.forwardOutput();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,37 +22,20 @@ public class NoAnnotationsTest extends TestTemplate {

@Test
public void testTutorial() throws Exception {
setDatabaseCreationScript(new String[] {
"create table PERSON (ID int not null, NAME varchar(20), primary key (ID))",
"insert into PERSON values (1, 'foo')"
});
assertTrue(getProjectDir().exists());
createGradleProject();
editGradleBuildFile();
editGradlePropertiesFile();
createDatabase();
createHibernatePropertiesFile();
verifyDatabase();
executeGenerateJavaTask();
verifyProject();
}

private void verifyDatabase() throws Exception {
Connection connection = DriverManager.getConnection(constructJdbcConnectionString());
ResultSet resultSet = connection.createStatement().executeQuery("select * from PERSON");
assertTrue(resultSet.next());
assertEquals(1, resultSet.getInt(1));
assertEquals("foo", resultSet.getString(2));
}

private void createDatabase() throws Exception {
String CREATE_PERSON_TABLE = "create table PERSON (ID int not null, NAME varchar(20), primary key (ID))";
Connection connection = DriverManager.getConnection(constructJdbcConnectionString());
Statement statement = connection.createStatement();
statement.execute(CREATE_PERSON_TABLE);
statement.execute("insert into PERSON values (1, 'foo')");
statement.close();
connection.close();
assertTrue(getDatabaseFile().exists());
assertTrue(getDatabaseFile().isFile());
}

private void executeGenerateJavaTask() throws Exception {
GradleRunner gradleRunner = GradleRunner.create();
gradleRunner.forwardOutput();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,11 @@ public class NoGenerics extends TestTemplate {

@Test
public void testTutorial() throws Exception {
setDatabaseCreationScript(new String[] {
"create table PERSON (ID int not null, NAME varchar(20), primary key (ID))",
"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))"
});
assertTrue(getProjectDir().exists());
createGradleProject();
editGradleBuildFile();
Expand All @@ -30,23 +35,7 @@ public void testTutorial() throws Exception {
executeGenerateJavaTask();
verifyProject();
}

private void createDatabase() throws Exception {
String CREATE_PERSON_TABLE =
"create table PERSON (ID int not null, NAME varchar(20), primary key (ID))";
String CREATE_ITEM_TABLE =
"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))";
Connection connection = DriverManager.getConnection(constructJdbcConnectionString());
Statement statement = connection.createStatement();
statement.execute(CREATE_PERSON_TABLE);
statement.execute(CREATE_ITEM_TABLE);
statement.close();
connection.close();
assertTrue(getDatabaseFile().exists());
assertTrue(getDatabaseFile().isFile());
}


private void executeGenerateJavaTask() throws Exception {
GradleRunner gradleRunner = GradleRunner.create();
gradleRunner.forwardOutput();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,11 @@ public class UseGenerics extends TestTemplate {

@Test
public void testTutorial() throws Exception {
setDatabaseCreationScript(new String[] {
"create table PERSON (ID int not null, NAME varchar(20), primary key (ID))",
"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))"
});
assertTrue(getProjectDir().exists());
createGradleProject();
editGradleBuildFile();
Expand All @@ -30,23 +35,7 @@ public void testTutorial() throws Exception {
executeGenerateJavaTask();
verifyProject();
}

private void createDatabase() throws Exception {
String CREATE_PERSON_TABLE =
"create table PERSON (ID int not null, NAME varchar(20), primary key (ID))";
String CREATE_ITEM_TABLE =
"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))";
Connection connection = DriverManager.getConnection(constructJdbcConnectionString());
Statement statement = connection.createStatement();
statement.execute(CREATE_PERSON_TABLE);
statement.execute(CREATE_ITEM_TABLE);
statement.close();
connection.close();
assertTrue(getDatabaseFile().exists());
assertTrue(getDatabaseFile().isFile());
}


private void executeGenerateJavaTask() throws Exception {
GradleRunner gradleRunner = GradleRunner.create();
gradleRunner.forwardOutput();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,37 +22,20 @@ public class TutorialTest extends TestTemplate {

@Test
public void testTutorial() throws Exception {
setDatabaseCreationScript(new String[] {
"create table PERSON (ID int not null, NAME varchar(20), primary key (ID))",
"insert into PERSON values (1, 'foo')"
});
assertTrue(getProjectDir().exists());
createGradleProject();
editGradleBuildFile();
editGradlePropertiesFile();
createDatabase();
createHibernatePropertiesFile();
verifyDatabase();
executeGenerateJavaTask();
verifyProject();
}

private void verifyDatabase() throws Exception {
Connection connection = DriverManager.getConnection(constructJdbcConnectionString());
ResultSet resultSet = connection.createStatement().executeQuery("select * from PERSON");
assertTrue(resultSet.next());
assertEquals(1, resultSet.getInt(1));
assertEquals("foo", resultSet.getString(2));
}

private void createDatabase() throws Exception {
String CREATE_PERSON_TABLE = "create table PERSON (ID int not null, NAME varchar(20), primary key (ID))";
Connection connection = DriverManager.getConnection(constructJdbcConnectionString());
Statement statement = connection.createStatement();
statement.execute(CREATE_PERSON_TABLE);
statement.execute("insert into PERSON values (1, 'foo')");
statement.close();
connection.close();
assertTrue(getDatabaseFile().exists());
assertTrue(getDatabaseFile().isFile());
}

private void executeGenerateJavaTask() throws Exception {
GradleRunner gradleRunner = GradleRunner.create();
gradleRunner.forwardOutput();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,9 @@

import java.io.File;
import java.nio.file.Files;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import java.util.List;

import org.junit.jupiter.api.io.TempDir;
Expand All @@ -24,13 +27,17 @@ public class TestTemplate {
private File gradleBuildFile;
private File databaseFile;

private String[] databaseCreationScript;

protected File getProjectDir() { return projectDir; }
protected File getGradlePropertiesFile() { return gradlePropertiesFile; }
protected void setGradlePropertiesFile(File f) { this.gradlePropertiesFile = f; }
protected File getGradleBuildFile() { return gradleBuildFile; }
protected void setGradleBuildFile(File f) { gradleBuildFile = f; }
protected File getDatabaseFile() { return databaseFile; }
protected void setDatabaseFile(File f) { databaseFile = f; }
protected String[] getDatabaseCreationScript() { return databaseCreationScript; }
protected void setDatabaseCreationScript(String[] script) { databaseCreationScript = script; }

protected void createGradleProject() throws Exception {
GradleRunner runner = GradleRunner.create();
Expand Down Expand Up @@ -86,6 +93,18 @@ protected void createHibernatePropertiesFile() throws Exception {
assertTrue(hibernatePropertiesFile.exists());
}

protected void createDatabase() throws Exception {
Connection connection = DriverManager.getConnection(constructJdbcConnectionString());
Statement statement = connection.createStatement();
for (String sql : getDatabaseCreationScript()) {
statement.execute(sql);
}
statement.close();
connection.close();
assertTrue(getDatabaseFile().exists());
assertTrue(getDatabaseFile().isFile());
}

protected String constructH2DatabaseDependencyLine() {
return " implementation 'com.h2database:h2:" + System.getenv("H2_VERSION") + "'";
}
Expand Down