Skip to content

Commit 6fc2cd3

Browse files
committed
chore: general result in report
1 parent 8b8a2e2 commit 6fc2cd3

File tree

5 files changed

+55
-13
lines changed

5 files changed

+55
-13
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
### Changed
11+
12+
- general result in report
13+
1014
## [1.2.0] - 2025-12-03
1115

1216
### Added

src/main/java/org/fugerit/java/junit5/tag/check/facade/TagCheckFacade.java

Lines changed: 20 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@
22

33
import lombok.extern.slf4j.Slf4j;
44
import org.apache.maven.plugin.MojoExecutionException;
5+
import org.fugerit.java.core.util.result.Result;
56
import org.fugerit.java.junit5.tag.check.model.ExecutedTest;
7+
import org.fugerit.java.junit5.tag.check.model.TagCheckResult;
68

79
import java.util.*;
810
import java.util.stream.Collectors;
@@ -12,33 +14,38 @@ public class TagCheckFacade {
1214

1315
private TagCheckFacade() {}
1416

15-
public static void checkRequiredTags(Collection<String> requiredTags, boolean failOnMissingTag, Map<ExecutedTest, Set<String>> testTagMap)
16-
throws MojoExecutionException {
17+
public static TagCheckResult checkHelper(Collection<String> requiredTags, Map<ExecutedTest, Set<String>> testTagMap) {
18+
TagCheckResult result = new TagCheckResult();
1719
Set<String> foundTags = testTagMap.values().stream()
1820
.flatMap(Set::stream)
1921
.collect(Collectors.toSet());
20-
2122
List<String> missingTags = new ArrayList<>();
2223
for (String requiredTag : requiredTags) {
2324
if (!foundTags.contains(requiredTag)) {
2425
missingTags.add(requiredTag);
2526
}
2627
}
27-
2828
if (!missingTags.isEmpty()) {
29-
String message = "Missing required tags in executed tests: " +
30-
String.join(", ", missingTags);
29+
result.setResultCode( Result.RESULT_CODE_KO );
30+
result.setMessage( String.format( "Missing required tags in executed tests: %s", String.join(", ", missingTags) ) );
31+
} else {
32+
result.setResultCode( Result.RESULT_CODE_OK );
33+
result.setMessage( String.format( "All required tags found in executed tests: %s", String.join(", ", requiredTags) ) );
34+
}
35+
return result;
36+
}
37+
38+
public static void checkRequiredTags(Collection<String> requiredTags, boolean failOnMissingTag, Map<ExecutedTest, Set<String>> testTagMap) throws MojoExecutionException {
39+
TagCheckResult result = checkHelper(requiredTags, testTagMap);
40+
if ( result.isResultOk() ) {
41+
log.info( "Tag check [OK] %s", result.getMessage() );
42+
} else {
3143
if (failOnMissingTag) {
32-
throw new MojoExecutionException(message);
44+
throw new MojoExecutionException( result.getMessage() );
3345
} else {
34-
LogUtils.logWarningInBox( Arrays.asList( message ) );
46+
LogUtils.logWarningInBox( Arrays.asList( String.format( "Tag check [KO] %s", result.getMessage() ) ) );
3547
}
36-
} else {
37-
log.info("All required tags found in executed tests: {}",
38-
String.join(", ", requiredTags));
3948
}
4049
}
4150

42-
43-
4451
}

src/main/java/org/fugerit/java/junit5/tag/check/model/ReportHelper.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package org.fugerit.java.junit5.tag.check.model;
22

33
import lombok.extern.slf4j.Slf4j;
4+
import org.fugerit.java.junit5.tag.check.facade.TagCheckFacade;
45

56
import java.util.*;
67

@@ -81,4 +82,8 @@ public Map<String, TestStats> getTagsStats() {
8182
return this.tagStats;
8283
}
8384

85+
public TagCheckResult getTagCheckResult() {
86+
return TagCheckFacade.checkHelper( this.tagToTests.keySet(), testTagMap );
87+
}
88+
8489
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package org.fugerit.java.junit5.tag.check.model;
2+
3+
import org.fugerit.java.core.util.result.BasicResult;
4+
5+
public class TagCheckResult extends BasicResult {
6+
7+
public TagCheckResult() {
8+
super( RESULT_CODE_KO );
9+
}
10+
11+
private String message;
12+
13+
public String getMessage() {
14+
return message;
15+
}
16+
17+
public void setMessage(String message) {
18+
this.message = message;
19+
}
20+
21+
}

src/main/resources/junit5-tag-check-maven-plugin/template/report.ftl

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,11 @@
6464
<cell border-width="${defaultTableBorderSize}"><phrase>Errors</phrase></cell>
6565
<cell border-width="${defaultTableBorderSize}"><phrase <#if docType == 'html'>class="error"<#else>fore-color="${errorForeColor}"</#if>>${report.summaryError}</phrase></cell>
6666
</row>
67+
<row>
68+
<#assign tagCheckResult=report.tagCheckResult/>
69+
<cell border-width="${defaultTableBorderSize}"><phrase>General result</phrase></cell>
70+
<cell border-width="${defaultTableBorderSize}"><phrase <#if tagCheckResult.resultOk >class="pass"<#else>class="error"</#if>>${tagCheckResult.message}</phrase></cell>
71+
</row>
6772
</table>
6873

6974
<h head-level="2" style="bold" space-before="20">Tags Summary</h>

0 commit comments

Comments
 (0)