Skip to content

Commit 1606c0f

Browse files
committed
HBX-3068: Refactor the Ant integration tests to factor out common code
- Pull up methods 'getConsoleLogger()' and 'runAntBuild()' - Get rid of the 'output' ByteArrayStream Signed-off-by: Koen Aers <[email protected]>
1 parent e1db9e6 commit 1606c0f

File tree

6 files changed

+21
-120
lines changed

6 files changed

+21
-120
lines changed

ant/src/it/java/org/hibernate/tool/ant/hbm2java/JpaDefaultTestIT.java

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,10 @@
11
package org.hibernate.tool.ant.hbm2java;
22

3-
import org.apache.tools.ant.DefaultLogger;
4-
import org.apache.tools.ant.Project;
5-
import org.apache.tools.ant.ProjectHelper;
63
import org.hibernate.tool.it.ant.TestTemplate;
74
import org.junit.jupiter.api.BeforeEach;
85
import org.junit.jupiter.api.Test;
9-
import org.junit.jupiter.api.io.TempDir;
106

11-
import java.io.ByteArrayOutputStream;
127
import java.io.File;
13-
import java.io.PrintStream;
148
import java.nio.file.Files;
159
import java.sql.Connection;
1610
import java.sql.DriverManager;
@@ -21,13 +15,11 @@
2115
public class JpaDefaultTestIT extends TestTemplate {
2216

2317
private File buildXmlFile;
24-
private ByteArrayOutputStream output;
2518
private File databaseFile;
2619
private File personFile;
2720

2821
@BeforeEach
2922
public void beforeEach() {
30-
output = new ByteArrayOutputStream();
3123
databaseFile = new File(getProjectDir(), "database/test.mv.db");
3224
assertFalse(databaseFile.exists());
3325
personFile = new File(getProjectDir(), "generated/Person.java");
@@ -78,14 +70,6 @@ private void createHibernatePropertiesFile() throws Exception {
7870
assertTrue(hibernatePropertiesFile.exists());
7971
}
8072

81-
private void runAntBuild() {
82-
Project project = new Project();
83-
project.setBaseDir(getProjectDir());
84-
project.addBuildListener(getConsoleLogger());
85-
ProjectHelper.getProjectHelper().parse(project, buildXmlFile);
86-
project.executeTarget(project.getDefaultTarget());
87-
}
88-
8973
private void verifyResult() throws Exception {
9074
File generatedOutputFolder = new File(getProjectDir(), "generated");
9175
assertTrue(generatedOutputFolder.exists());
@@ -100,14 +84,6 @@ private void verifyResult() throws Exception {
10084
assertTrue(generatedPersonJavaFileContents.contains("public class Person "));
10185
}
10286

103-
private DefaultLogger getConsoleLogger() {
104-
DefaultLogger consoleLogger = new DefaultLogger();
105-
consoleLogger.setErrorPrintStream(System.err);
106-
consoleLogger.setOutputPrintStream(new PrintStream(output, true));
107-
consoleLogger.setMessageOutputLevel(Project.MSG_INFO);
108-
return consoleLogger;
109-
}
110-
11187
private String constructJdbcConnectionString() {
11288
return "jdbc:h2:" + getProjectDir().getAbsolutePath() + "/database/test;AUTO_SERVER=TRUE";
11389
}

ant/src/it/java/org/hibernate/tool/ant/hbm2java/NoAnnotationsTestIT.java

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,10 @@
11
package org.hibernate.tool.ant.hbm2java;
22

3-
import org.apache.tools.ant.DefaultLogger;
4-
import org.apache.tools.ant.Project;
5-
import org.apache.tools.ant.ProjectHelper;
63
import org.hibernate.tool.it.ant.TestTemplate;
74
import org.junit.jupiter.api.BeforeEach;
85
import org.junit.jupiter.api.Test;
9-
import org.junit.jupiter.api.io.TempDir;
106

11-
import java.io.ByteArrayOutputStream;
127
import java.io.File;
13-
import java.io.PrintStream;
148
import java.nio.file.Files;
159
import java.sql.Connection;
1610
import java.sql.DriverManager;
@@ -21,13 +15,11 @@
2115
public class NoAnnotationsTestIT extends TestTemplate {
2216

2317
private File buildXmlFile;
24-
private ByteArrayOutputStream output;
2518
private File databaseFile;
2619
private File personFile;
2720

2821
@BeforeEach
2922
public void beforeEach() {
30-
output = new ByteArrayOutputStream();
3123
databaseFile = new File(getProjectDir(), "database/test.mv.db");
3224
assertFalse(databaseFile.exists());
3325
personFile = new File(getProjectDir(), "generated/Person.java");
@@ -78,14 +70,6 @@ private void createHibernatePropertiesFile() throws Exception {
7870
assertTrue(hibernatePropertiesFile.exists());
7971
}
8072

81-
private void runAntBuild() {
82-
Project project = new Project();
83-
project.setBaseDir(getProjectDir());
84-
project.addBuildListener(getConsoleLogger());
85-
ProjectHelper.getProjectHelper().parse(project, buildXmlFile);
86-
project.executeTarget(project.getDefaultTarget());
87-
}
88-
8973
private void verifyResult() throws Exception {
9074
File generatedOutputFolder = new File(getProjectDir(), "generated");
9175
assertTrue(generatedOutputFolder.exists());
@@ -100,14 +84,6 @@ private void verifyResult() throws Exception {
10084
assertTrue(generatedPersonJavaFileContents.contains("public class Person "));
10185
}
10286

103-
private DefaultLogger getConsoleLogger() {
104-
DefaultLogger consoleLogger = new DefaultLogger();
105-
consoleLogger.setErrorPrintStream(System.err);
106-
consoleLogger.setOutputPrintStream(new PrintStream(output, true));
107-
consoleLogger.setMessageOutputLevel(Project.MSG_INFO);
108-
return consoleLogger;
109-
}
110-
11187
private String constructJdbcConnectionString() {
11288
return "jdbc:h2:" + getProjectDir().getAbsolutePath() + "/database/test;AUTO_SERVER=TRUE";
11389
}

ant/src/it/java/org/hibernate/tool/ant/hbm2java/NoGenericsTestIT.java

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,10 @@
11
package org.hibernate.tool.ant.hbm2java;
22

3-
import org.apache.tools.ant.DefaultLogger;
4-
import org.apache.tools.ant.Project;
5-
import org.apache.tools.ant.ProjectHelper;
63
import org.hibernate.tool.it.ant.TestTemplate;
74
import org.junit.jupiter.api.BeforeEach;
85
import org.junit.jupiter.api.Test;
9-
import org.junit.jupiter.api.io.TempDir;
106

11-
import java.io.ByteArrayOutputStream;
127
import java.io.File;
13-
import java.io.PrintStream;
148
import java.nio.file.Files;
159
import java.sql.Connection;
1610
import java.sql.DriverManager;
@@ -21,13 +15,11 @@
2115
public class NoGenericsTestIT extends TestTemplate {
2216

2317
private File buildXmlFile;
24-
private ByteArrayOutputStream output;
2518
private File databaseFile;
2619
private File personFile;
2720

2821
@BeforeEach
2922
public void beforeEach() {
30-
output = new ByteArrayOutputStream();
3123
databaseFile = new File(getProjectDir(), "database/test.mv.db");
3224
assertFalse(databaseFile.exists());
3325
personFile = new File(getProjectDir(), "generated/Person.java");
@@ -82,14 +74,6 @@ private void createHibernatePropertiesFile() throws Exception {
8274
assertTrue(hibernatePropertiesFile.exists());
8375
}
8476

85-
private void runAntBuild() {
86-
Project project = new Project();
87-
project.setBaseDir(getProjectDir());
88-
project.addBuildListener(getConsoleLogger());
89-
ProjectHelper.getProjectHelper().parse(project, buildXmlFile);
90-
project.executeTarget(project.getDefaultTarget());
91-
}
92-
9377
private void verifyResult() throws Exception {
9478
File generatedOutputFolder = new File(getProjectDir(), "generated");
9579
assertTrue(generatedOutputFolder.exists());
@@ -110,14 +94,6 @@ private void verifyResult() throws Exception {
11094
assertTrue(generatedItemJavaFileContents.contains("public class Item "));
11195
}
11296

113-
private DefaultLogger getConsoleLogger() {
114-
DefaultLogger consoleLogger = new DefaultLogger();
115-
consoleLogger.setErrorPrintStream(System.err);
116-
consoleLogger.setOutputPrintStream(new PrintStream(output, true));
117-
consoleLogger.setMessageOutputLevel(Project.MSG_INFO);
118-
return consoleLogger;
119-
}
120-
12197
private String constructJdbcConnectionString() {
12298
return "jdbc:h2:" + getProjectDir().getAbsolutePath() + "/database/test;AUTO_SERVER=TRUE";
12399
}

ant/src/it/java/org/hibernate/tool/ant/hbm2java/UseGenericsTestIT.java

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,10 @@
11
package org.hibernate.tool.ant.hbm2java;
22

3-
import org.apache.tools.ant.DefaultLogger;
4-
import org.apache.tools.ant.Project;
5-
import org.apache.tools.ant.ProjectHelper;
63
import org.hibernate.tool.it.ant.TestTemplate;
74
import org.junit.jupiter.api.BeforeEach;
85
import org.junit.jupiter.api.Test;
9-
import org.junit.jupiter.api.io.TempDir;
106

11-
import java.io.ByteArrayOutputStream;
127
import java.io.File;
13-
import java.io.PrintStream;
148
import java.nio.file.Files;
159
import java.sql.Connection;
1610
import java.sql.DriverManager;
@@ -21,13 +15,11 @@
2115
public class UseGenericsTestIT extends TestTemplate {
2216

2317
private File buildXmlFile;
24-
private ByteArrayOutputStream output;
2518
private File databaseFile;
2619
private File personFile;
2720

2821
@BeforeEach
2922
public void beforeEach() {
30-
output = new ByteArrayOutputStream();
3123
databaseFile = new File(getProjectDir(), "database/test.mv.db");
3224
assertFalse(databaseFile.exists());
3325
personFile = new File(getProjectDir(), "generated/Person.java");
@@ -82,14 +74,6 @@ private void createHibernatePropertiesFile() throws Exception {
8274
assertTrue(hibernatePropertiesFile.exists());
8375
}
8476

85-
private void runAntBuild() {
86-
Project project = new Project();
87-
project.setBaseDir(getProjectDir());
88-
project.addBuildListener(getConsoleLogger());
89-
ProjectHelper.getProjectHelper().parse(project, buildXmlFile);
90-
project.executeTarget(project.getDefaultTarget());
91-
}
92-
9377
private void verifyResult() throws Exception {
9478
File generatedOutputFolder = new File(getProjectDir(), "generated");
9579
assertTrue(generatedOutputFolder.exists());
@@ -110,14 +94,6 @@ private void verifyResult() throws Exception {
11094
assertTrue(generatedItemJavaFileContents.contains("public class Item "));
11195
}
11296

113-
private DefaultLogger getConsoleLogger() {
114-
DefaultLogger consoleLogger = new DefaultLogger();
115-
consoleLogger.setErrorPrintStream(System.err);
116-
consoleLogger.setOutputPrintStream(new PrintStream(output, true));
117-
consoleLogger.setMessageOutputLevel(Project.MSG_INFO);
118-
return consoleLogger;
119-
}
120-
12197
private String constructJdbcConnectionString() {
12298
return "jdbc:h2:" + getProjectDir().getAbsolutePath() + "/database/test;AUTO_SERVER=TRUE";
12399
}

ant/src/it/java/org/hibernate/tool/ant/tutorial/TutorialTestIT.java

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -4,32 +4,24 @@
44
import static org.junit.jupiter.api.Assertions.assertFalse;
55
import static org.junit.jupiter.api.Assertions.assertTrue;
66

7-
import java.io.ByteArrayOutputStream;
87
import java.io.File;
9-
import java.io.PrintStream;
108
import java.nio.file.Files;
119
import java.sql.Connection;
1210
import java.sql.DriverManager;
1311
import java.sql.Statement;
1412

15-
import org.apache.tools.ant.DefaultLogger;
16-
import org.apache.tools.ant.Project;
17-
import org.apache.tools.ant.ProjectHelper;
1813
import org.hibernate.tool.it.ant.TestTemplate;
1914
import org.junit.jupiter.api.BeforeEach;
2015
import org.junit.jupiter.api.Test;
21-
import org.junit.jupiter.api.io.TempDir;
2216

2317
public class TutorialTestIT extends TestTemplate {
2418

2519
private File buildXmlFile;
26-
private ByteArrayOutputStream output;
2720
private File databaseFile;
2821
private File personFile;
2922

3023
@BeforeEach
3124
public void beforeEach() {
32-
output = new ByteArrayOutputStream();
3325
databaseFile = new File(getProjectDir(), "database/test.mv.db");
3426
assertFalse(databaseFile.exists());
3527
personFile = new File(getProjectDir(), "generated/Person.java");
@@ -80,14 +72,6 @@ private void createHibernatePropertiesFile() throws Exception {
8072
assertTrue(hibernatePropertiesFile.exists());
8173
}
8274

83-
private void runAntBuild() {
84-
Project project = new Project();
85-
project.setBaseDir(getProjectDir());
86-
project.addBuildListener(getConsoleLogger());
87-
ProjectHelper.getProjectHelper().parse(project, buildXmlFile);
88-
project.executeTarget(project.getDefaultTarget());
89-
}
90-
9175
private void verifyResult() {
9276
File generatedOutputFolder = new File(getProjectDir(), "generated");
9377
assertTrue(generatedOutputFolder.exists());
@@ -98,14 +82,6 @@ private void verifyResult() {
9882
assertTrue(generatedPersonJavaFile.isFile());
9983
}
10084

101-
private DefaultLogger getConsoleLogger() {
102-
DefaultLogger consoleLogger = new DefaultLogger();
103-
consoleLogger.setErrorPrintStream(System.err);
104-
consoleLogger.setOutputPrintStream(new PrintStream(output, true));
105-
consoleLogger.setMessageOutputLevel(Project.MSG_INFO);
106-
return consoleLogger;
107-
}
108-
10985
private String constructJdbcConnectionString() {
11086
return "jdbc:h2:" + getProjectDir().getAbsolutePath() + "/database/test;AUTO_SERVER=TRUE";
11187
}

ant/src/it/java/org/hibernate/tool/it/ant/TestTemplate.java

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,12 @@
11
package org.hibernate.tool.it.ant;
22

3+
import org.apache.tools.ant.DefaultLogger;
4+
import org.apache.tools.ant.Project;
5+
import org.apache.tools.ant.ProjectHelper;
36
import org.junit.jupiter.api.io.TempDir;
47

58
import java.io.File;
9+
import java.io.PrintStream;
610

711
public abstract class TestTemplate {
812

@@ -19,6 +23,23 @@ protected String constructBuildXmlFileContents() {
1923
return buildXmlFileContents.replace("@hibernateToolTaskXml@", hibernateToolTaskXml());
2024
}
2125

26+
protected void runAntBuild() {
27+
File buildXmlFile = new File(getProjectDir(), "build.xml");
28+
Project project = new Project();
29+
project.setBaseDir(getProjectDir());
30+
project.addBuildListener(getConsoleLogger());
31+
ProjectHelper.getProjectHelper().parse(project, buildXmlFile);
32+
project.executeTarget(project.getDefaultTarget());
33+
}
34+
35+
private DefaultLogger getConsoleLogger() {
36+
DefaultLogger consoleLogger = new DefaultLogger();
37+
consoleLogger.setErrorPrintStream(System.err);
38+
consoleLogger.setOutputPrintStream(System.out);
39+
consoleLogger.setMessageOutputLevel(Project.MSG_INFO);
40+
return consoleLogger;
41+
}
42+
2243
private static final String buildXmlFileContents =
2344
"<project name='tutorial' default='reveng'> \n" +
2445
" <taskdef \n" +

0 commit comments

Comments
 (0)