use of org.drools.scenariosimulation.api.model.AuditLog in project drools-wb by kiegroup.
the class ScenarioSimulationEditorBusinessCentralWrapperTest method setCoverageReport.
@Test
public void setCoverageReport() {
AuditLog auditLogMock = mock(AuditLog.class);
CoverageReportView.Presenter presenterSpy = spy(CoverageReportView.Presenter.class);
scenarioSimulationEditorBusinessClientWrapper.setCoverageReport(presenterSpy);
verify(presenterSpy, times(1)).populateCoverageReport(eq(DMN), eq(null));
//
reset(presenterSpy, simulationRunMetadataMock, scenarioSimulationEditorBusinessClientWrapper);
scenarioSimulationEditorBusinessClientWrapper.lastRunResult = simulationRunResultMock;
scenarioSimulationEditorBusinessClientWrapper.setCoverageReport(presenterSpy);
verify(presenterSpy, times(1)).populateCoverageReport(eq(DMN), eq(simulationRunMetadataMock));
verify(presenterSpy, never()).setDownloadReportCommand(any());
//
reset(presenterSpy, simulationRunMetadataMock, scenarioSimulationEditorBusinessClientWrapper);
when(simulationRunMetadataMock.getAuditLog()).thenReturn(auditLogMock);
scenarioSimulationEditorBusinessClientWrapper.lastRunResult = simulationRunResultMock;
scenarioSimulationEditorBusinessClientWrapper.setCoverageReport(presenterSpy);
verify(presenterSpy, times(1)).populateCoverageReport(eq(DMN), eq(simulationRunMetadataMock));
verify(presenterSpy, times(1)).setDownloadReportCommand(commandArgumentCaptor.capture());
commandArgumentCaptor.getValue().execute();
verify(scenarioSimulationEditorBusinessClientWrapper, times(1)).onDownloadReportToCsv(eq(exportCallBackMock), isA(ScenarioSimulationHasBusyIndicatorDefaultErrorCallback.class), eq(simulationRunMetadataMock), eq(DMN));
//
reset(presenterSpy, simulationRunMetadataMock, scenarioSimulationEditorBusinessClientWrapper);
scenarioSimulationEditorBusinessClientWrapper.lastRunResult = null;
when(scenarioSimulationEditorPresenterMock.getDataManagementStrategy()).thenReturn(mock(AbstractDMODataManagementStrategy.class));
scenarioSimulationEditorBusinessClientWrapper.setCoverageReport(presenterSpy);
verify(presenterSpy, times(1)).populateCoverageReport(eq(RULE), eq(null));
//
reset(presenterSpy, simulationRunMetadataMock, scenarioSimulationEditorBusinessClientWrapper);
scenarioSimulationEditorBusinessClientWrapper.lastRunResult = simulationRunResultMock;
scenarioSimulationEditorBusinessClientWrapper.setCoverageReport(presenterSpy);
verify(presenterSpy, times(1)).populateCoverageReport(eq(RULE), eq(simulationRunMetadataMock));
verify(presenterSpy, never()).setDownloadReportCommand(any());
//
reset(presenterSpy, simulationRunMetadataMock, scenarioSimulationEditorBusinessClientWrapper);
when(simulationRunMetadataMock.getAuditLog()).thenReturn(auditLogMock);
scenarioSimulationEditorBusinessClientWrapper.lastRunResult = simulationRunResultMock;
scenarioSimulationEditorBusinessClientWrapper.setCoverageReport(presenterSpy);
verify(presenterSpy, times(1)).populateCoverageReport(eq(RULE), eq(simulationRunMetadataMock));
verify(presenterSpy, times(1)).setDownloadReportCommand(commandArgumentCaptor.capture());
commandArgumentCaptor.getValue().execute();
verify(scenarioSimulationEditorBusinessClientWrapper, times(1)).onDownloadReportToCsv(eq(exportCallBackMock), isA(ScenarioSimulationHasBusyIndicatorDefaultErrorCallback.class), eq(simulationRunMetadataMock), eq(RULE));
}
use of org.drools.scenariosimulation.api.model.AuditLog in project drools-wb by kiegroup.
the class ScenarioCsvDownloadReportTest method printOverallStatsLine.
@Test
public void printOverallStatsLine() throws IOException {
StringBuilder stringBuilder = new StringBuilder();
CSVPrinter printer = getCSVPrinter(stringBuilder);
AuditLog auditLog = new AuditLog();
auditLog.addAuditLogLine(getAuditLogLine());
SimulationRunMetadata simulationRunMetadata = getSimulationRunMetadata(auditLog);
scenarioCsvDownloadReport.printOverallStatsLine(printer, simulationRunMetadata.getAvailable(), simulationRunMetadata.getExecuted(), simulationRunMetadata.getCoveragePercentage());
String retrieved = stringBuilder.toString();
List<String> data = Arrays.asList(String.valueOf(simulationRunMetadata.getAvailable()), String.valueOf(simulationRunMetadata.getExecuted()), String.valueOf(simulationRunMetadata.getCoveragePercentage()));
commonCheckRetrievedString(retrieved, data);
}
use of org.drools.scenariosimulation.api.model.AuditLog in project drools-wb by kiegroup.
the class RunnerReportServiceImplTest method getReportRULE.
@Test
public void getReportRULE() {
AuditLog auditLog = new AuditLog();
IntStream.range(0, 6).forEach(index -> auditLog.addAuditLogLine(getAuditLogLine()));
String report = runnerReportServiceImpl.getReport(getSimulationRunMetadata(auditLog), ScenarioSimulationModel.Type.RULE);
assertNotNull(report);
assertFalse(report.isEmpty());
String[] reportLine = report.split("\\r\\n");
assertTrue(report.contains("RULE"));
assertFalse(report.contains("DECISION"));
assertEquals(7 + auditLog.getAuditLogLines().size(), reportLine.length);
for (int i = 0; i < reportLine.length; i++) {
assertNotNull(reportLine[i]);
}
}
use of org.drools.scenariosimulation.api.model.AuditLog in project drools by kiegroup.
the class SimulationRunMetadataBuilder method build.
public SimulationRunMetadata build() {
int available = 0;
Map<String, Integer> outputCounter = new HashMap<>();
Map<ScenarioWithIndex, Map<String, Integer>> scenarioCounter = new HashMap<>();
AuditLog auditLog = new AuditLog();
for (ScenarioResultMetadata scenarioResultMetadatum : scenarioResultMetadata) {
// this value is the same for all the scenarios
available = scenarioResultMetadatum.getAvailable().size();
scenarioResultMetadatum.getExecutedWithCounter().forEach((name, counter) -> outputCounter.compute(name, (key, number) -> number == null ? counter : number + counter));
}
for (ScenarioResultMetadata scenarioResultMetadatum : scenarioResultMetadata) {
scenarioCounter.put(scenarioResultMetadatum.getScenarioWithIndex(), scenarioResultMetadatum.getExecutedWithCounter());
auditLog.addAuditLogLines(scenarioResultMetadatum.getAuditLogLines());
}
return new SimulationRunMetadata(available, outputCounter.keySet().size(), outputCounter, scenarioCounter, auditLog);
}
use of org.drools.scenariosimulation.api.model.AuditLog in project drools by kiegroup.
the class SimulationRunMetadataBuilderTest method build.
@Test
public void build() {
ScenarioWithIndex scenarioWithIndex1 = new ScenarioWithIndex(1, new Scenario());
ScenarioResultMetadata result1 = new ScenarioResultMetadata(scenarioWithIndex1);
result1.addExecuted("d1");
result1.addExecuted("d2");
result1.addAvailable("d1");
result1.addAvailable("d2");
result1.addAvailable("d3");
List<DMNMessage> messagesResult1decision1 = getRandomlyGeneratedDMNMessageList();
List<DMNMessage> messagesResult1decision2 = getRandomlyGeneratedDMNMessageList();
Map<Integer, List<String>> expectedResult1Decision1 = fillAuditMessagesForDecision(result1, messagesResult1decision1, "d1");
Map<Integer, List<String>> expectedResult1Decision2 = fillAuditMessagesForDecision(result1, messagesResult1decision2, "d2");
ScenarioResultMetadata result2 = new ScenarioResultMetadata(new ScenarioWithIndex(2, new Scenario()));
List<String> expectedDecisionsResult2 = Arrays.asList("d1", "d3");
result2.addExecuted(expectedDecisionsResult2.get(0));
result2.addExecuted(expectedDecisionsResult2.get(1));
result2.addAvailable("d1");
result2.addAvailable("d2");
result2.addAvailable("d3");
List<DMNMessage> messagesResult2decision1 = getRandomlyGeneratedDMNMessageList();
List<DMNMessage> messagesResult2decision3 = getRandomlyGeneratedDMNMessageList();
Map<Integer, List<String>> expectedResult2Decision1 = fillAuditMessagesForDecision(result1, messagesResult2decision1, "d1");
Map<Integer, List<String>> expectedResult2Decision3 = fillAuditMessagesForDecision(result1, messagesResult2decision3, "d3");
SimulationRunMetadataBuilder builder = SimulationRunMetadataBuilder.create();
builder.addScenarioResultMetadata(result1);
builder.addScenarioResultMetadata(result2);
SimulationRunMetadata build = builder.build();
assertEquals(3, build.getAvailable());
assertEquals(3, build.getExecuted());
assertEquals(100, build.getCoveragePercentage(), 0.1);
assertEquals(2, build.getOutputCounter().get("d1"), 0.1);
assertEquals(1, build.getOutputCounter().get("d2"), 0.1);
assertEquals(2, build.getScenarioCounter().get(scenarioWithIndex1).size(), 0.1);
AuditLog retrieved = build.getAuditLog();
assertNotNull(retrieved);
final List<AuditLogLine> auditLogLines = retrieved.getAuditLogLines();
assertNotNull(auditLogLines);
assertEquals(auditLogLines.size(), messagesResult1decision1.size() + messagesResult1decision2.size() + messagesResult2decision1.size() + messagesResult2decision3.size());
checkAuditLogLine(auditLogLines, expectedResult1Decision1, expectedResult1Decision2, expectedResult2Decision1, expectedResult2Decision3);
}
Aggregations