Skip to content

Commit f5defe9

Browse files
committed
Used Maven IT extension assertions
1 parent a7eff57 commit f5defe9

File tree

4 files changed

+36
-38
lines changed

4 files changed

+36
-38
lines changed

src/main/java/org/utplsql/maven/plugin/io/ReportWriter.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@ private void writeReports(Connection connection, Reporter reporter, ReporterPara
8686

8787
if (!file.getParentFile().exists()) {
8888
log.debug("Creating directory for report file " + file.getAbsolutePath());
89+
//noinspection ResultOfMethodCallIgnored
8990
file.getParentFile().mkdirs();
9091
}
9192

Lines changed: 20 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,17 @@
11
package org.utplsql.maven.plugin;
22

3+
import com.soebes.itf.jupiter.maven.MavenExecutionResult;
34
import org.apache.commons.io.FileUtils;
4-
import org.junit.jupiter.api.Assertions;
55

66
import java.io.File;
77
import java.io.IOException;
88
import java.nio.file.Files;
99
import java.util.stream.Collectors;
1010
import java.util.stream.Stream;
1111

12-
import static org.junit.jupiter.api.Assertions.assertTrue;
12+
import static com.soebes.itf.extension.assertj.MavenProjectResultAssert.assertThat;
13+
import static org.junit.jupiter.api.Assertions.assertEquals;
14+
import static org.junit.jupiter.api.Assertions.fail;
1315

1416
public class ReportChecker {
1517

@@ -21,17 +23,15 @@ private ReportChecker() {
2123
* Path separator is set to "/" to ensure windows / linux / mac compatibility.
2224
* \r and \n are removed to provide simpler comparison.
2325
*
24-
* @param testClass Class under test
25-
* @param testFolder Folder name
26-
* @param files Files to compare
26+
* @param result {@link MavenExecutionResult}
27+
* @param files Files to compare
2728
*/
28-
public static void checkReports(Class<?> testClass, String testFolder, String... files) throws IOException {
29-
String fullyQualifiedClassNameDirectory = testClass.getName().replace(".", "/");
30-
29+
public static void assertThatReportsAreGeneratedAsExpected(MavenExecutionResult result, String... files) {
3130
for (String filename : files) {
32-
File expectedOutputFile = new File("target/maven-it/" + fullyQualifiedClassNameDirectory + "/" + testFolder + "/project/expected-output/utplsql", filename);
33-
File outputFile = new File("target/maven-it/" + fullyQualifiedClassNameDirectory + "/" + testFolder + "/project/target/utplsql", filename);
34-
assertTrue(outputFile.exists(), "The report " + outputFile.getPath() + " was not generated");
31+
File expectedOutputFile = new File(result.getMavenProjectResult().getTargetProjectDirectory(), "/expected-output/utplsql/" + filename);
32+
File outputFile = new File(result.getMavenProjectResult().getTargetProjectDirectory(), "/target/utplsql/" + filename);
33+
34+
assertThat(result.getMavenProjectResult()).withFile("/utplsql/" + filename).exists();
3535

3636
try (Stream<String> stream = Files.lines(outputFile.toPath())) {
3737
String outputContent = stream
@@ -41,27 +41,26 @@ public static void checkReports(Class<?> testClass, String testFolder, String...
4141
.map(line -> line.replaceAll("\r", "").replaceAll("\n", ""))
4242
.collect(Collectors.joining("\n"));
4343

44-
Assertions.assertEquals(
44+
assertEquals(
4545
FileUtils.readFileToString(expectedOutputFile, "utf-8")
4646
.replace("\r", "")
4747
.replace("\n", ""),
4848
outputContent.replace("\n", ""), "The files differ!");
49+
} catch (IOException e) {
50+
fail(e);
4951
}
5052
}
5153
}
5254

5355
/**
54-
* Check if a report file exits
56+
* Check if the report was generated
5557
*
56-
* @param testClass Class under test
57-
* @param testFolder Folder name
58-
* @param filename File Name
59-
* @return true or false
58+
* @param result {@link MavenExecutionResult}
59+
* @param filename File Name
60+
* @return if report exits
6061
*/
61-
public static boolean reportExists(Class<?> testClass, String testFolder, String filename) {
62-
String fullyQualifiedClassNameDirectory = testClass.getName().replace(".", "/");
63-
64-
File outputFile = new File("target/maven-it/" + fullyQualifiedClassNameDirectory + "/" + testFolder + "/project/target/utplsql", filename);
62+
public static boolean reportWasGenerated(MavenExecutionResult result, String filename) {
63+
File outputFile = new File(result.getMavenProjectResult().getTargetProjectDirectory(), "/target/utplsql/" + filename);
6564
return outputFile.exists();
6665
}
6766
}

src/test/java/org/utplsql/maven/plugin/UtPlsqlMojoIT.java

Lines changed: 14 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,9 @@
55
import com.soebes.itf.jupiter.extension.MavenTest;
66
import com.soebes.itf.jupiter.maven.MavenExecutionResult;
77

8-
import java.io.IOException;
9-
108
import static com.soebes.itf.extension.assertj.MavenITAssertions.assertThat;
11-
import static org.junit.jupiter.api.Assertions.assertFalse;
12-
import static org.utplsql.maven.plugin.ReportChecker.checkReports;
13-
import static org.utplsql.maven.plugin.ReportChecker.reportExists;
9+
import static org.utplsql.maven.plugin.ReportChecker.assertThatReportsAreGeneratedAsExpected;
10+
import static org.utplsql.maven.plugin.ReportChecker.reportWasGenerated;
1411

1512
@MavenGoal("test")
1613
@MavenJupiterExtension
@@ -22,44 +19,44 @@ void minimalist(MavenExecutionResult result) {
2219
}
2320

2421
@MavenTest
25-
void owner_param(MavenExecutionResult result) throws IOException {
22+
void owner_param(MavenExecutionResult result) {
2623
assertThat(result).isSuccessful();
2724

28-
checkReports(this.getClass(), "owner_param", "sonar-test-report.xml", "coverage-sonar-report.xml");
25+
assertThatReportsAreGeneratedAsExpected(result, "sonar-test-report.xml", "coverage-sonar-report.xml");
2926
}
3027

3128
@MavenTest
32-
void regex(MavenExecutionResult result) throws IOException {
29+
void regex(MavenExecutionResult result) {
3330
assertThat(result).isSuccessful();
3431

35-
checkReports(this.getClass(), "regex", "sonar-test-report.xml", "coverage-sonar-report.xml");
32+
assertThatReportsAreGeneratedAsExpected(result, "sonar-test-report.xml", "coverage-sonar-report.xml");
3633
}
3734

3835
@MavenTest
39-
void simple(MavenExecutionResult result) throws IOException {
36+
void simple(MavenExecutionResult result) {
4037
assertThat(result).isSuccessful();
4138

42-
checkReports(this.getClass(), "simple", "sonar-test-report.xml", "coverage-sonar-report.xml");
39+
assertThatReportsAreGeneratedAsExpected(result, "sonar-test-report.xml", "coverage-sonar-report.xml");
4340
}
4441

4542
@MavenTest
46-
void skip(MavenExecutionResult result) throws IOException {
43+
void skip(MavenExecutionResult result) {
4744
assertThat(result).isSuccessful();
4845

49-
assertFalse(reportExists(this.getClass(), "skip", "sonar-test-report.xml"));
46+
assertThat(reportWasGenerated(result, "sonar-test-report.xml")).isFalse();
5047
}
5148

5249
@MavenTest
53-
void tags(MavenExecutionResult result) throws IOException {
50+
void tags(MavenExecutionResult result) {
5451
assertThat(result).isSuccessful();
5552

56-
checkReports(this.getClass(), "tags", "sonar-test-report.xml");
53+
assertThatReportsAreGeneratedAsExpected(result, "sonar-test-report.xml");
5754
}
5855

5956
@MavenTest
60-
void type_mapping(MavenExecutionResult result) throws IOException {
57+
void type_mapping(MavenExecutionResult result) {
6158
assertThat(result).isSuccessful();
6259

63-
checkReports(this.getClass(), "type_mapping", "sonar-test-report.xml", "coverage-sonar-report.xml");
60+
assertThatReportsAreGeneratedAsExpected(result, "sonar-test-report.xml", "coverage-sonar-report.xml");
6461
}
6562
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
junit.jupiter.displayname.generator.default=org.junit.jupiter.api.DisplayNameGenerator$ReplaceUnderscores

0 commit comments

Comments
 (0)