Skip to content

Commit 8279507

Browse files
committed
HBX-3080: Refactor the Gradle integration tests to factor out common code
- Pull up the 'projectDir' instance variable to the template class Signed-off-by: Koen Aers <[email protected]>
1 parent 32a1d88 commit 8279507

File tree

6 files changed

+56
-65
lines changed

6 files changed

+56
-65
lines changed

gradle/plugin/src/functionalTest/java/org/hibernate/tool/gradle/java/JpaDefaultTest.java

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
import org.gradle.testkit.runner.BuildResult;
1616
import org.gradle.testkit.runner.GradleRunner;
1717
import org.junit.jupiter.api.Test;
18-
import org.junit.jupiter.api.io.TempDir;
1918

2019
import org.hibernate.tool.it.gradle.TestTemplate;
2120

@@ -24,16 +23,13 @@ public class JpaDefaultTest extends TestTemplate {
2423
private static final List<String> GRADLE_INIT_PROJECT_ARGUMENTS = List.of(
2524
"init", "--type", "java-application", "--dsl", "groovy", "--test-framework", "junit-jupiter", "--java-version", "17");
2625

27-
@TempDir
28-
private File projectDir;
29-
3026
private File gradlePropertiesFile;
3127
private File gradleBuildFile;
3228
private File databaseFile;
3329

3430
@Test
3531
public void testTutorial() throws Exception {
36-
assertTrue(projectDir.exists());
32+
assertTrue(getProjectDir().exists());
3733
createGradleProject();
3834
editGradleBuildFile();
3935
editGradlePropertiesFile();
@@ -56,19 +52,19 @@ private void createGradleProject() throws Exception {
5652
GradleRunner runner = GradleRunner.create();
5753
runner.withArguments(GRADLE_INIT_PROJECT_ARGUMENTS);
5854
runner.forwardOutput();
59-
runner.withProjectDir(projectDir);
55+
runner.withProjectDir(getProjectDir());
6056
BuildResult buildResult = runner.build();
6157
assertTrue(buildResult.getOutput().contains("BUILD SUCCESSFUL"));
62-
gradlePropertiesFile = new File(projectDir, "gradle.properties");
58+
gradlePropertiesFile = new File(getProjectDir(), "gradle.properties");
6359
assertTrue(gradlePropertiesFile.exists());
6460
assertTrue(gradlePropertiesFile.isFile());
65-
File appDir = new File(projectDir, "app");
61+
File appDir = new File(getProjectDir(), "app");
6662
assertTrue(appDir.exists());
6763
assertTrue(appDir.isDirectory());
6864
gradleBuildFile = new File(appDir, "build.gradle");
6965
assertTrue(gradleBuildFile.exists());
7066
assertTrue(gradleBuildFile.isFile());
71-
databaseFile = new File(projectDir, "database/test.mv.db");
67+
databaseFile = new File(getProjectDir(), "database/test.mv.db");
7268
assertFalse(databaseFile.exists());
7369
}
7470

@@ -104,7 +100,7 @@ private void createDatabase() throws Exception {
104100
}
105101

106102
private void createHibernatePropertiesFile() throws Exception {
107-
File hibernatePropertiesFile = new File(projectDir, "app/src/main/resources/hibernate.properties");
103+
File hibernatePropertiesFile = new File(getProjectDir(), "app/src/main/resources/hibernate.properties");
108104
StringBuffer hibernatePropertiesFileContents = new StringBuffer();
109105
hibernatePropertiesFileContents
110106
.append("hibernate.connection.driver_class=org.h2.Driver\n")
@@ -120,15 +116,15 @@ private void createHibernatePropertiesFile() throws Exception {
120116
private void executeGenerateJavaTask() throws Exception {
121117
GradleRunner gradleRunner = GradleRunner.create();
122118
gradleRunner.forwardOutput();
123-
gradleRunner.withProjectDir(projectDir);
119+
gradleRunner.withProjectDir(getProjectDir());
124120
gradleRunner.withPluginClasspath();
125121
gradleRunner.withArguments("generateJava");
126122
BuildResult buildResult = gradleRunner.build();
127123
assertTrue(buildResult.getOutput().contains("BUILD SUCCESSFUL"));
128124
}
129125

130126
private void verifyProject() throws Exception {
131-
File generatedOutputFolder = new File(projectDir, "app/generated-sources");
127+
File generatedOutputFolder = new File(getProjectDir(), "app/generated-sources");
132128
assertTrue(generatedOutputFolder.exists());
133129
assertTrue(generatedOutputFolder.isDirectory());
134130
assertEquals(1, generatedOutputFolder.list().length);
@@ -154,7 +150,7 @@ private void addH2DatabaseDependencyLine(StringBuffer gradleBuildFileContents) {
154150
}
155151

156152
private String constructJdbcConnectionString() {
157-
return "jdbc:h2:" + projectDir.getAbsolutePath() + "/database/test;AUTO_SERVER=TRUE";
153+
return "jdbc:h2:" + getProjectDir().getAbsolutePath() + "/database/test;AUTO_SERVER=TRUE";
158154
}
159155

160156
private String constructHibernateToolsPluginLine() {

gradle/plugin/src/functionalTest/java/org/hibernate/tool/gradle/java/NoAnnotationsTest.java

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
import org.gradle.testkit.runner.BuildResult;
1616
import org.gradle.testkit.runner.GradleRunner;
1717
import org.junit.jupiter.api.Test;
18-
import org.junit.jupiter.api.io.TempDir;
1918

2019
import org.hibernate.tool.it.gradle.TestTemplate;
2120

@@ -24,16 +23,13 @@ public class NoAnnotationsTest extends TestTemplate {
2423
private static final List<String> GRADLE_INIT_PROJECT_ARGUMENTS = List.of(
2524
"init", "--type", "java-application", "--dsl", "groovy", "--test-framework", "junit-jupiter", "--java-version", "17");
2625

27-
@TempDir
28-
private File projectDir;
29-
3026
private File gradlePropertiesFile;
3127
private File gradleBuildFile;
3228
private File databaseFile;
3329

3430
@Test
3531
public void testTutorial() throws Exception {
36-
assertTrue(projectDir.exists());
32+
assertTrue(getProjectDir().exists());
3733
createGradleProject();
3834
editGradleBuildFile();
3935
editGradlePropertiesFile();
@@ -56,19 +52,19 @@ private void createGradleProject() throws Exception {
5652
GradleRunner runner = GradleRunner.create();
5753
runner.withArguments(GRADLE_INIT_PROJECT_ARGUMENTS);
5854
runner.forwardOutput();
59-
runner.withProjectDir(projectDir);
55+
runner.withProjectDir(getProjectDir());
6056
BuildResult buildResult = runner.build();
6157
assertTrue(buildResult.getOutput().contains("BUILD SUCCESSFUL"));
62-
gradlePropertiesFile = new File(projectDir, "gradle.properties");
58+
gradlePropertiesFile = new File(getProjectDir(), "gradle.properties");
6359
assertTrue(gradlePropertiesFile.exists());
6460
assertTrue(gradlePropertiesFile.isFile());
65-
File appDir = new File(projectDir, "app");
61+
File appDir = new File(getProjectDir(), "app");
6662
assertTrue(appDir.exists());
6763
assertTrue(appDir.isDirectory());
6864
gradleBuildFile = new File(appDir, "build.gradle");
6965
assertTrue(gradleBuildFile.exists());
7066
assertTrue(gradleBuildFile.isFile());
71-
databaseFile = new File(projectDir, "database/test.mv.db");
67+
databaseFile = new File(getProjectDir(), "database/test.mv.db");
7268
assertFalse(databaseFile.exists());
7369
}
7470

@@ -105,7 +101,7 @@ private void createDatabase() throws Exception {
105101
}
106102

107103
private void createHibernatePropertiesFile() throws Exception {
108-
File hibernatePropertiesFile = new File(projectDir, "app/src/main/resources/hibernate.properties");
104+
File hibernatePropertiesFile = new File(getProjectDir(), "app/src/main/resources/hibernate.properties");
109105
StringBuffer hibernatePropertiesFileContents = new StringBuffer();
110106
hibernatePropertiesFileContents
111107
.append("hibernate.connection.driver_class=org.h2.Driver\n")
@@ -121,15 +117,15 @@ private void createHibernatePropertiesFile() throws Exception {
121117
private void executeGenerateJavaTask() throws Exception {
122118
GradleRunner gradleRunner = GradleRunner.create();
123119
gradleRunner.forwardOutput();
124-
gradleRunner.withProjectDir(projectDir);
120+
gradleRunner.withProjectDir(getProjectDir());
125121
gradleRunner.withPluginClasspath();
126122
gradleRunner.withArguments("generateJava");
127123
BuildResult buildResult = gradleRunner.build();
128124
assertTrue(buildResult.getOutput().contains("BUILD SUCCESSFUL"));
129125
}
130126

131127
private void verifyProject() throws Exception {
132-
File generatedOutputFolder = new File(projectDir, "app/generated-sources");
128+
File generatedOutputFolder = new File(getProjectDir(), "app/generated-sources");
133129
assertTrue(generatedOutputFolder.exists());
134130
assertTrue(generatedOutputFolder.isDirectory());
135131
assertEquals(1, generatedOutputFolder.list().length);
@@ -168,7 +164,7 @@ private void addHibernateToolsExtension(StringBuffer gradleBuildFileContents) {
168164
}
169165

170166
private String constructJdbcConnectionString() {
171-
return "jdbc:h2:" + projectDir.getAbsolutePath() + "/database/test;AUTO_SERVER=TRUE";
167+
return "jdbc:h2:" + getProjectDir().getAbsolutePath() + "/database/test;AUTO_SERVER=TRUE";
172168
}
173169

174170
private String constructHibernateToolsPluginLine() {

gradle/plugin/src/functionalTest/java/org/hibernate/tool/gradle/java/NoGenerics.java

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
import org.gradle.testkit.runner.BuildResult;
1515
import org.gradle.testkit.runner.GradleRunner;
1616
import org.junit.jupiter.api.Test;
17-
import org.junit.jupiter.api.io.TempDir;
1817

1918
import org.hibernate.tool.it.gradle.TestTemplate;
2019

@@ -23,16 +22,13 @@ public class NoGenerics extends TestTemplate {
2322
private static final List<String> GRADLE_INIT_PROJECT_ARGUMENTS = List.of(
2423
"init", "--type", "java-application", "--dsl", "groovy", "--test-framework", "junit-jupiter", "--java-version", "17");
2524

26-
@TempDir
27-
private File projectDir;
28-
2925
private File gradlePropertiesFile;
3026
private File gradleBuildFile;
3127
private File databaseFile;
3228

3329
@Test
3430
public void testTutorial() throws Exception {
35-
assertTrue(projectDir.exists());
31+
assertTrue(getProjectDir().exists());
3632
createGradleProject();
3733
editGradleBuildFile();
3834
editGradlePropertiesFile();
@@ -46,19 +42,19 @@ private void createGradleProject() throws Exception {
4642
GradleRunner runner = GradleRunner.create();
4743
runner.withArguments(GRADLE_INIT_PROJECT_ARGUMENTS);
4844
runner.forwardOutput();
49-
runner.withProjectDir(projectDir);
45+
runner.withProjectDir(getProjectDir());
5046
BuildResult buildResult = runner.build();
5147
assertTrue(buildResult.getOutput().contains("BUILD SUCCESSFUL"));
52-
gradlePropertiesFile = new File(projectDir, "gradle.properties");
48+
gradlePropertiesFile = new File(getProjectDir(), "gradle.properties");
5349
assertTrue(gradlePropertiesFile.exists());
5450
assertTrue(gradlePropertiesFile.isFile());
55-
File appDir = new File(projectDir, "app");
51+
File appDir = new File(getProjectDir(), "app");
5652
assertTrue(appDir.exists());
5753
assertTrue(appDir.isDirectory());
5854
gradleBuildFile = new File(appDir, "build.gradle");
5955
assertTrue(gradleBuildFile.exists());
6056
assertTrue(gradleBuildFile.isFile());
61-
databaseFile = new File(projectDir, "database/test.mv.db");
57+
databaseFile = new File(getProjectDir(), "database/test.mv.db");
6258
assertFalse(databaseFile.exists());
6359
}
6460

@@ -99,7 +95,7 @@ private void createDatabase() throws Exception {
9995
}
10096

10197
private void createHibernatePropertiesFile() throws Exception {
102-
File hibernatePropertiesFile = new File(projectDir, "app/src/main/resources/hibernate.properties");
98+
File hibernatePropertiesFile = new File(getProjectDir(), "app/src/main/resources/hibernate.properties");
10399
StringBuffer hibernatePropertiesFileContents = new StringBuffer();
104100
hibernatePropertiesFileContents
105101
.append("hibernate.connection.driver_class=org.h2.Driver\n")
@@ -115,15 +111,15 @@ private void createHibernatePropertiesFile() throws Exception {
115111
private void executeGenerateJavaTask() throws Exception {
116112
GradleRunner gradleRunner = GradleRunner.create();
117113
gradleRunner.forwardOutput();
118-
gradleRunner.withProjectDir(projectDir);
114+
gradleRunner.withProjectDir(getProjectDir());
119115
gradleRunner.withPluginClasspath();
120116
gradleRunner.withArguments("generateJava");
121117
BuildResult buildResult = gradleRunner.build();
122118
assertTrue(buildResult.getOutput().contains("BUILD SUCCESSFUL"));
123119
}
124120

125121
private void verifyProject() throws Exception {
126-
File generatedOutputFolder = new File(projectDir, "app/generated-sources");
122+
File generatedOutputFolder = new File(getProjectDir(), "app/generated-sources");
127123
assertTrue(generatedOutputFolder.exists());
128124
assertTrue(generatedOutputFolder.isDirectory());
129125
assertEquals(2, generatedOutputFolder.list().length);
@@ -168,7 +164,7 @@ private void addHibernateToolsExtension(StringBuffer gradleBuildFileContents) {
168164
}
169165

170166
private String constructJdbcConnectionString() {
171-
return "jdbc:h2:" + projectDir.getAbsolutePath() + "/database/test;AUTO_SERVER=TRUE";
167+
return "jdbc:h2:" + getProjectDir().getAbsolutePath() + "/database/test;AUTO_SERVER=TRUE";
172168
}
173169

174170
private String constructHibernateToolsPluginLine() {

gradle/plugin/src/functionalTest/java/org/hibernate/tool/gradle/java/UseGenerics.java

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
import org.gradle.testkit.runner.BuildResult;
1515
import org.gradle.testkit.runner.GradleRunner;
1616
import org.junit.jupiter.api.Test;
17-
import org.junit.jupiter.api.io.TempDir;
1817

1918
import org.hibernate.tool.it.gradle.TestTemplate;
2019

@@ -23,16 +22,13 @@ public class UseGenerics extends TestTemplate {
2322
private static final List<String> GRADLE_INIT_PROJECT_ARGUMENTS = List.of(
2423
"init", "--type", "java-application", "--dsl", "groovy", "--test-framework", "junit-jupiter", "--java-version", "17");
2524

26-
@TempDir
27-
private File projectDir;
28-
2925
private File gradlePropertiesFile;
3026
private File gradleBuildFile;
3127
private File databaseFile;
3228

3329
@Test
3430
public void testTutorial() throws Exception {
35-
assertTrue(projectDir.exists());
31+
assertTrue(getProjectDir().exists());
3632
createGradleProject();
3733
editGradleBuildFile();
3834
editGradlePropertiesFile();
@@ -46,19 +42,19 @@ private void createGradleProject() throws Exception {
4642
GradleRunner runner = GradleRunner.create();
4743
runner.withArguments(GRADLE_INIT_PROJECT_ARGUMENTS);
4844
runner.forwardOutput();
49-
runner.withProjectDir(projectDir);
45+
runner.withProjectDir(getProjectDir());
5046
BuildResult buildResult = runner.build();
5147
assertTrue(buildResult.getOutput().contains("BUILD SUCCESSFUL"));
52-
gradlePropertiesFile = new File(projectDir, "gradle.properties");
48+
gradlePropertiesFile = new File(getProjectDir(), "gradle.properties");
5349
assertTrue(gradlePropertiesFile.exists());
5450
assertTrue(gradlePropertiesFile.isFile());
55-
File appDir = new File(projectDir, "app");
51+
File appDir = new File(getProjectDir(), "app");
5652
assertTrue(appDir.exists());
5753
assertTrue(appDir.isDirectory());
5854
gradleBuildFile = new File(appDir, "build.gradle");
5955
assertTrue(gradleBuildFile.exists());
6056
assertTrue(gradleBuildFile.isFile());
61-
databaseFile = new File(projectDir, "database/test.mv.db");
57+
databaseFile = new File(getProjectDir(), "database/test.mv.db");
6258
assertFalse(databaseFile.exists());
6359
}
6460

@@ -98,7 +94,7 @@ private void createDatabase() throws Exception {
9894
}
9995

10096
private void createHibernatePropertiesFile() throws Exception {
101-
File hibernatePropertiesFile = new File(projectDir, "app/src/main/resources/hibernate.properties");
97+
File hibernatePropertiesFile = new File(getProjectDir(), "app/src/main/resources/hibernate.properties");
10298
StringBuffer hibernatePropertiesFileContents = new StringBuffer();
10399
hibernatePropertiesFileContents
104100
.append("hibernate.connection.driver_class=org.h2.Driver\n")
@@ -114,15 +110,15 @@ private void createHibernatePropertiesFile() throws Exception {
114110
private void executeGenerateJavaTask() throws Exception {
115111
GradleRunner gradleRunner = GradleRunner.create();
116112
gradleRunner.forwardOutput();
117-
gradleRunner.withProjectDir(projectDir);
113+
gradleRunner.withProjectDir(getProjectDir());
118114
gradleRunner.withPluginClasspath();
119115
gradleRunner.withArguments("generateJava");
120116
BuildResult buildResult = gradleRunner.build();
121117
assertTrue(buildResult.getOutput().contains("BUILD SUCCESSFUL"));
122118
}
123119

124120
private void verifyProject() throws Exception {
125-
File generatedOutputFolder = new File(projectDir, "app/generated-sources");
121+
File generatedOutputFolder = new File(getProjectDir(), "app/generated-sources");
126122
assertTrue(generatedOutputFolder.exists());
127123
assertTrue(generatedOutputFolder.isDirectory());
128124
assertEquals(2, generatedOutputFolder.list().length);
@@ -154,7 +150,7 @@ private void addH2DatabaseDependencyLine(StringBuffer gradleBuildFileContents) {
154150
}
155151

156152
private String constructJdbcConnectionString() {
157-
return "jdbc:h2:" + projectDir.getAbsolutePath() + "/database/test;AUTO_SERVER=TRUE";
153+
return "jdbc:h2:" + getProjectDir().getAbsolutePath() + "/database/test;AUTO_SERVER=TRUE";
158154
}
159155

160156
private String constructHibernateToolsPluginLine() {

0 commit comments

Comments
 (0)