Skip to content

Commit 63e8922

Browse files
committed
VAL-406 Added the passed Drools assertions to RVF report
1 parent 5f3474a commit 63e8922

File tree

1 file changed

+16
-1
lines changed

1 file changed

+16
-1
lines changed

src/main/java/org/ihtsdo/rvf/core/service/DroolsRulesValidationService.java

+16-1
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ private void convertDroolsRuleToAssertion(File droolsRulesSubfile) throws IOExce
132132
// check for severity
133133
severityWarning = severityWarning || detectSeverity(line, "Severity.WARNING");
134134
severityError = severityError || detectSeverity(line, "Severity.ERROR");
135-
if (assertion != null && "end".equals(line.trim())) {
135+
if (assertion != null && "end".equals(line.trim()) && (severityWarning || severityError)) {
136136
assertion.setSeverity(buildSeverity(severityWarning, severityError));
137137
}
138138
}
@@ -217,6 +217,7 @@ private ValidationReport constructValidationReport(ValidationRunConfig validatio
217217
List<TestRunItem> warningAssertions = new ArrayList<>();
218218
int failureExportMax = validationConfig.getFailureExportMax() != null ? validationConfig.getFailureExportMax() : 10;
219219
Map<UUID, Assertion> uuidToAssertionMap = assertions.stream().collect(Collectors.toMap(Assertion::getUuid, Function.identity()));
220+
Set<UUID> failedAssertionUUIDs = new HashSet<>();
220221

221222
// Convert the Drools validation report into RVF report format
222223
invalidContentMap.keySet().forEach(ruleId -> {
@@ -247,10 +248,24 @@ private ValidationReport constructValidationReport(ValidationRunConfig validatio
247248
} else {
248249
failedAssertions.add(validationRule);
249250
}
251+
failedAssertionUUIDs.add(validationRule.getAssertionUuid());
250252
});
251253
ValidationReport validationReport = new ValidationReport();
252254
validationReport.addFailedAssertions(failedAssertions);
253255
validationReport.addWarningAssertions(warningAssertions);
256+
257+
Set<Assertion> passedAssertions = assertions.stream().filter(item -> validationConfig.getDroolsRulesGroupList().stream().anyMatch(item.getGroups()::contains) && !failedAssertionUUIDs.contains(item.getUuid())).collect(Collectors.toSet());
258+
validationReport.addPassedAssertions(passedAssertions.stream().map(item -> {
259+
TestRunItem testRunItem = new TestRunItem();
260+
testRunItem.setFailureCount(0L);
261+
testRunItem.setTestCategory("");
262+
testRunItem.setTestType(TestType.DROOL_RULES);
263+
testRunItem.setSeverity(item.getSeverity());
264+
testRunItem.setAssertionUuid(item.getUuid());
265+
testRunItem.setAssertionText(item.getAssertionText());
266+
return testRunItem;
267+
}).toList());
268+
254269
return validationReport;
255270
}
256271

0 commit comments

Comments
 (0)