Skip to content

Commit 6dcf578

Browse files
committed
HBX-3080: Refactor the Gradle integration tests to factor out common code
- Create method 'executeGradleCommand(String...)' in class TestTemplate to execute Gradle command lines - Use above method in the 'TestTemplate#initGradleProject()' method - Replace the 'executeGenerateJavaTask()' methods in the different test classes using the above method Signed-off-by: Koen Aers <[email protected]>
1 parent 2ad517f commit 6dcf578

File tree

6 files changed

+18
-63
lines changed

6 files changed

+18
-63
lines changed

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

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -27,20 +27,10 @@ public void testTutorial() throws Exception {
2727
"insert into PERSON values (1, 'foo')"
2828
});
2929
createProject();
30-
executeGenerateJavaTask();
30+
executeGradleCommand("generateJava");
3131
verifyProject();
3232
}
3333

34-
private void executeGenerateJavaTask() throws Exception {
35-
GradleRunner gradleRunner = GradleRunner.create();
36-
gradleRunner.forwardOutput();
37-
gradleRunner.withProjectDir(getProjectDir());
38-
gradleRunner.withPluginClasspath();
39-
gradleRunner.withArguments("generateJava");
40-
BuildResult buildResult = gradleRunner.build();
41-
assertTrue(buildResult.getOutput().contains("BUILD SUCCESSFUL"));
42-
}
43-
4434
private void verifyProject() throws Exception {
4535
File generatedOutputFolder = new File(getProjectDir(), "app/generated-sources");
4636
assertTrue(generatedOutputFolder.exists());

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

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -27,20 +27,10 @@ public void testTutorial() throws Exception {
2727
"insert into PERSON values (1, 'foo')"
2828
});
2929
createProject();
30-
executeGenerateJavaTask();
30+
executeGradleCommand("generateJava");
3131
verifyProject();
3232
}
3333

34-
private void executeGenerateJavaTask() throws Exception {
35-
GradleRunner gradleRunner = GradleRunner.create();
36-
gradleRunner.forwardOutput();
37-
gradleRunner.withProjectDir(getProjectDir());
38-
gradleRunner.withPluginClasspath();
39-
gradleRunner.withArguments("generateJava");
40-
BuildResult buildResult = gradleRunner.build();
41-
assertTrue(buildResult.getOutput().contains("BUILD SUCCESSFUL"));
42-
}
43-
4434
private void verifyProject() throws Exception {
4535
File generatedOutputFolder = new File(getProjectDir(), "app/generated-sources");
4636
assertTrue(generatedOutputFolder.exists());

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

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -27,20 +27,10 @@ public void testTutorial() throws Exception {
2727
" primary key (ID), foreign key (OWNER_ID) references PERSON(ID))"
2828
});
2929
createProject();
30-
executeGenerateJavaTask();
30+
executeGradleCommand("generateJava");
3131
verifyProject();
3232
}
3333

34-
private void executeGenerateJavaTask() throws Exception {
35-
GradleRunner gradleRunner = GradleRunner.create();
36-
gradleRunner.forwardOutput();
37-
gradleRunner.withProjectDir(getProjectDir());
38-
gradleRunner.withPluginClasspath();
39-
gradleRunner.withArguments("generateJava");
40-
BuildResult buildResult = gradleRunner.build();
41-
assertTrue(buildResult.getOutput().contains("BUILD SUCCESSFUL"));
42-
}
43-
4434
private void verifyProject() throws Exception {
4535
File generatedOutputFolder = new File(getProjectDir(), "app/generated-sources");
4636
assertTrue(generatedOutputFolder.exists());

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

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -27,20 +27,10 @@ public void testTutorial() throws Exception {
2727
" primary key (ID), foreign key (OWNER_ID) references PERSON(ID))"
2828
});
2929
createProject();
30-
executeGenerateJavaTask();
30+
executeGradleCommand("generateJava");
3131
verifyProject();
3232
}
3333

34-
private void executeGenerateJavaTask() throws Exception {
35-
GradleRunner gradleRunner = GradleRunner.create();
36-
gradleRunner.forwardOutput();
37-
gradleRunner.withProjectDir(getProjectDir());
38-
gradleRunner.withPluginClasspath();
39-
gradleRunner.withArguments("generateJava");
40-
BuildResult buildResult = gradleRunner.build();
41-
assertTrue(buildResult.getOutput().contains("BUILD SUCCESSFUL"));
42-
}
43-
4434
private void verifyProject() throws Exception {
4535
File generatedOutputFolder = new File(getProjectDir(), "app/generated-sources");
4636
assertTrue(generatedOutputFolder.exists());

gradle/plugin/src/functionalTest/java/org/hibernate/tool/gradle/tutorial/TutorialTest.java

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -27,20 +27,10 @@ public void testTutorial() throws Exception {
2727
"insert into PERSON values (1, 'foo')"
2828
});
2929
createProject();
30-
executeGenerateJavaTask();
30+
executeGradleCommand("generateJava");
3131
verifyProject();
3232
}
3333

34-
private void executeGenerateJavaTask() throws Exception {
35-
GradleRunner gradleRunner = GradleRunner.create();
36-
gradleRunner.forwardOutput();
37-
gradleRunner.withProjectDir(getProjectDir());
38-
gradleRunner.withPluginClasspath();
39-
gradleRunner.withArguments("generateJava");
40-
BuildResult buildResult = gradleRunner.build();
41-
assertTrue(buildResult.getOutput().contains("BUILD SUCCESSFUL"));
42-
}
43-
4434
private void verifyProject() {
4535
File generatedOutputFolder = new File(getProjectDir(), "app/generated-sources");
4636
assertTrue(generatedOutputFolder.exists());

gradle/plugin/src/functionalTest/java/org/hibernate/tool/it/gradle/TestTemplate.java

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@
1717

1818
public class TestTemplate {
1919

20-
protected static final List<String> GRADLE_INIT_PROJECT_ARGUMENTS = List.of(
21-
"init", "--type", "java-application", "--dsl", "groovy", "--test-framework", "junit-jupiter", "--java-version", "17");
20+
protected static final String[] GRADLE_INIT_PROJECT_ARGUMENTS = new String[] {
21+
"init", "--type", "java-application", "--dsl", "groovy", "--test-framework", "junit-jupiter", "--java-version", "17"};
2222

2323
@TempDir
2424
private File projectDir;
@@ -39,6 +39,16 @@ public class TestTemplate {
3939
protected String[] getDatabaseCreationScript() { return databaseCreationScript; }
4040
protected void setDatabaseCreationScript(String[] script) { databaseCreationScript = script; }
4141

42+
protected void executeGradleCommand(String ... gradleCommandLine) {
43+
GradleRunner runner = GradleRunner.create();
44+
runner.withArguments(gradleCommandLine);
45+
runner.forwardOutput();
46+
runner.withPluginClasspath();
47+
runner.withProjectDir(getProjectDir());
48+
BuildResult buildResult = runner.build();
49+
assertTrue(buildResult.getOutput().contains("BUILD SUCCESSFUL"));
50+
}
51+
4252
protected void createProject() throws Exception {
4353
initGradleProject();
4454
editGradleBuildFile();
@@ -48,12 +58,7 @@ protected void createProject() throws Exception {
4858
}
4959

5060
protected void initGradleProject() throws Exception {
51-
GradleRunner runner = GradleRunner.create();
52-
runner.withArguments(GRADLE_INIT_PROJECT_ARGUMENTS);
53-
runner.forwardOutput();
54-
runner.withProjectDir(getProjectDir());
55-
BuildResult buildResult = runner.build();
56-
assertTrue(buildResult.getOutput().contains("BUILD SUCCESSFUL"));
61+
executeGradleCommand(GRADLE_INIT_PROJECT_ARGUMENTS);
5762
setGradlePropertiesFile(new File(getProjectDir(), "gradle.properties"));
5863
assertTrue(getGradlePropertiesFile().exists());
5964
assertTrue(getGradlePropertiesFile().isFile());

0 commit comments

Comments
 (0)