@Test public void runTest() throws Exception { when(buildInfoServiceMock.getBuildInfo(any())).thenReturn(buildInfoMock); when(buildInfoMock.getKieContainer()).thenReturn(kieContainerMock); ScenarioSimulationModel scenarioSimulationModel = new ScenarioSimulationModel(); scenarioSimulationModel.setSimulation(new RULESimulationCreationStrategy().createSimulation(this.path, "default")); scenarioRunnerService.runTest("test", mock(Path.class), scenarioSimulationModel); verify(defaultTestResultMessageEventMock).fire(any()); }
@Override protected List<SimulationWithFileName> getChildren() { return getResources().map(elem -> { try { String rawFile = new Scanner(new File(elem)).useDelimiter("\\Z").next(); return new SimulationWithFileName(getXmlReader().unmarshal(rawFile).getSimulation(), elem); } catch (FileNotFoundException e) { throw new ScenarioException("File not found, this should not happen: " + elem, e); } }).collect(Collectors.toList()); }
when(buildInfoServiceMock.getBuildInfo(any())).thenReturn(buildInfoMock); when(buildInfoMock.getKieContainer()).thenReturn(kieContainerMock); ScenarioSimulationModel scenarioSimulationModel = new ScenarioSimulationModel(); scenarioSimulationModel.setSimulation(new RULESimulationCreationStrategy().createSimulation(this.path, "default")); Scenario scenario = scenarioSimulationModel.getSimulation().getScenarioByIndex(0); scenario.setDescription("Test Scenario"); String errorMessage = "Test Error";
@Test public void createRULEScenario() throws Exception { doReturn(false).when(ioService).exists(any()); ScenarioSimulationModel model = new ScenarioSimulationModel(); assertNull(model.getSimulation()); final Path returnPath = service.create(this.path, "test.scesim", model, "Commit comment", ScenarioSimulationModel.Type.RULE, "default"); assertNotNull(returnPath); assertNotNull(model.getSimulation()); verify(ioService, times(2)).write(any(org.uberfire.java.nio.file.Path.class), anyString(), any(CommentedOption.class)); }
public ScenarioSimulationModel unmarshal(final String rawXml, boolean migrate) { if (rawXml == null) { return new ScenarioSimulationModel(); } if (rawXml.trim().equals("")) { return new ScenarioSimulationModel(); } String xml = migrate ? migrateIfNecessary(rawXml) : rawXml; return internalUnmarshal(xml); }
@Test public void noFQCNUsed() throws Exception { final ScenarioSimulationModel simulationModel = new ScenarioSimulationModel(); simulationModel.getImports().addImport(new Import("org.test.Test")); final String xml = instance.marshal(simulationModel); assertFalse(xml.contains("org.drools.workbench.screens.scenariosimulation.model")); assertFalse(xml.contains("org.kie.soup.project.datamodel.imports")); }
private RemoteCallback<ScenarioSimulationModelContent> getModelSuccessCallback() { return content -> { //Path is set to null when the Editor is closed (which can happen before async calls complete). if (versionRecordManager.getCurrentPath() == null) { return; } packageName = content.getDataModel().getPackageName(); resetEditorPages(content.getOverview()); if(ScenarioSimulationModel.Type.RULE.equals(content.getModel().getSimulation().getSimulationDescriptor().getType())) { dataManagementStrategy = new DMODataManagementStrategy(oracleFactory); } else { dataManagementStrategy = new DMNDataManagementStrategy(dmnTypeService); } dataManagementStrategy.manageScenarioSimulationModelContent(versionRecordManager.getCurrentPath(), content); populateRightPanel(); model = content.getModel(); if (dataManagementStrategy instanceof DMODataManagementStrategy) { importsWidget.setContent(((DMODataManagementStrategy) dataManagementStrategy).getOracle(), model.getImports(), isReadOnly); addImportsTab(importsWidget); } baseView.hideBusyIndicator(); view.setContent(model.getSimulation()); setOriginalHash(getJsonModel(model).hashCode()); }; }
@Test public void setCurrentContext() { if (command.isUndoable()) { final ScenarioSimulationContext.Status status = scenarioSimulationContext.getStatus(); command.restorableStatus = status; command.setCurrentContext(scenarioSimulationContext); verify(scenarioSimulationViewMock, times(1)).setContent(eq(simulationMock)); verify(scenarioSimulationModelMock, times(1)).setSimulation(eq(simulationMock)); assertNotEquals(status, command.restorableStatus); } }
@Test public void testOnStartup() { final AsyncPackageDataModelOracle oracle = mock(AsyncPackageDataModelOracle.class); when(oracleFactoryMock.makeAsyncPackageDataModelOracle(any(), eq(model), eq(content.getDataModel()))).thenReturn(oracle); presenter.onStartup(mock(ObservablePath.class), mock(PlaceRequest.class)); verify(importsWidgetPresenterMock).setContent(oracle, model.getImports(), false); verify(kieViewMock).addImportsTab(importsWidgetPresenterMock); verify(scenarioSimulationViewMock).showLoading(); verify(scenarioSimulationViewMock).hideBusyIndicator(); }
@Test public void createDMNScenario() throws Exception { doReturn(false).when(ioService).exists(any()); ScenarioSimulationModel model = new ScenarioSimulationModel(); assertNull(model.getSimulation()); final Path returnPath = service.create(this.path, "test.scesim", model, "Commit comment", ScenarioSimulationModel.Type.DMN, "test"); assertNotNull(returnPath); assertNotNull(model.getSimulation()); verify(ioService, times(2)).write(any(org.uberfire.java.nio.file.Path.class), anyString(), any(CommentedOption.class)); }
@Test(expected = FileAlreadyExistsException.class) public void createFileExists() throws Exception { doReturn(true).when(ioService).exists(any()); ScenarioSimulationModel model = new ScenarioSimulationModel(); service.create(this.path, "test.scesim", model, "Commit comment"); }
protected CommandResult<ScenarioSimulationViolation> setCurrentContext(ScenarioSimulationContext context) { try { final Simulation toRestore = restorableStatus.getSimulation(); if (toRestore != null) { final ScenarioSimulationContext.Status originalStatus = context.getStatus().cloneStatus(); context.getScenarioSimulationEditorPresenter().getView().setContent(toRestore); context.getScenarioSimulationEditorPresenter().getModel().setSimulation(toRestore); context.setStatus(restorableStatus); restorableStatus = originalStatus; return commonExecution(context); } else { return new CommandResultImpl<>(CommandResult.Type.ERROR, Collections.singletonList(new ScenarioSimulationViolation("Simulation not set inside Model"))); } } catch (Exception e) { return new CommandResultImpl<>(CommandResult.Type.ERROR, Collections.singleton(new ScenarioSimulationViolation(e.getMessage()))); } }
@Override public ScenarioSimulationModel runTest(final String identifier, final Path path, final ScenarioSimulationModel model) { KieContainer kieContainer = getKieContainer(path); Runner scenarioRunner = getOrCreateRunnerSupplier(model.getSimulation()) .apply(kieContainer, model.getSimulation()); final List<Failure> failures = new ArrayList<>(); final List<Failure> failureDetails = new ArrayList<>(); Result result = runWithJunit(scenarioRunner, failures, failureDetails); defaultTestResultMessageEvent.fire( new TestResultMessage( identifier, result.getRunCount(), result.getRunTime(), failures)); return model; }
public void setup() { // Mock FileMenuBuilder usage since we cannot use FileMenuBuilderImpl either when(fileMenuBuilderMock.addSave(any(MenuItem.class))).thenReturn(fileMenuBuilderMock); when(fileMenuBuilderMock.addCopy(any(ObservablePath.class), any(DefaultFileNameValidator.class))).thenReturn(fileMenuBuilderMock); when(fileMenuBuilderMock.addRename(any(Command.class))).thenReturn(fileMenuBuilderMock); when(fileMenuBuilderMock.addDelete(any(ObservablePath.class))).thenReturn(fileMenuBuilderMock); when(fileMenuBuilderMock.addValidate(any(Command.class))).thenReturn(fileMenuBuilderMock); when(fileMenuBuilderMock.addNewTopLevelMenu(any(MenuItem.class))).thenReturn(fileMenuBuilderMock); when(versionRecordManagerMock.getCurrentPath()).thenReturn(observablePathMock); when(versionRecordManagerMock.getPathToLatest()).thenReturn(observablePathMock); when(workbenchContextMock.getActiveWorkspaceProject()).thenReturn(Optional.empty()); when(gridContextMenuMock.getView()).thenReturn(gridContextMenuViewMock); when(headerGivenContextMenuMock.getView()).thenReturn(headerContextMenuViewMock); this.model = new ScenarioSimulationModel(); model.setSimulation(getSimulation(ScenarioSimulationModel.Type.RULE, "default")); this.content = new ScenarioSimulationModelContent(model, overviewMock, mock(PackageDataModelOracleBaselinePayload.class)); when(scenarioSimulationServiceMock.loadContent(observablePathMock)).thenReturn(content); }
@Test public void runScenario() throws Exception { doReturn("test user").when(user).getIdentifier(); final Path path = mock(Path.class); final ScenarioSimulationModel model = new ScenarioSimulationModel(); service.runScenario(path, model); verify(scenarioRunnerService).runTest("test user", path, model); }
@Override public Path create(Path context, String fileName, ScenarioSimulationModel content, String comment, ScenarioSimulationModel.Type type, String value) { try { content.setSimulation(scenarioSimulationBuilder.createSimulation(context, type, value)); final org.uberfire.java.nio.file.Path nioPath = Paths.convert(context).resolve(fileName); final Path newPath = Paths.convert(nioPath); if (ioService.exists(nioPath)) { throw new FileAlreadyExistsException(nioPath.toString()); } ioService.write(nioPath, ScenarioSimulationXMLPersistence.getInstance().marshal(content), commentedOptionFactory.makeCommentedOption(comment)); createActivatorIfNotExist(context); return newPath; } catch (Exception e) { throw ExceptionUtilities.handleException(e); } }
protected SortedMap<String, FactModelTree> getInstanceMap(SortedMap<String, FactModelTree> sourceMap) { SortedMap<String, FactModelTree> toReturn = new TreeMap<>(); // map instance name to base class if (model != null) { final SimulationDescriptor simulationDescriptor = model.getSimulation().getSimulationDescriptor(); simulationDescriptor.getUnmodifiableFactMappings() .stream() .filter(factMapping -> !Objects.equals(FactMappingType.OTHER, factMapping.getExpressionIdentifier().getType())) .forEach(factMapping -> { String dataObjectName = factMapping.getFactIdentifier().getClassName(); if (dataObjectName.contains(".")) { dataObjectName = dataObjectName.substring(dataObjectName.lastIndexOf(".") + 1); } final String instanceName = factMapping.getFactAlias(); if (!instanceName.equals(dataObjectName)) { final FactModelTree factModelTree = sourceMap.get(dataObjectName); if (factModelTree != null) { toReturn.put(instanceName, factModelTree); } } }); } return toReturn; }
@Test public void saveAndRename() throws Exception { final Metadata metadata = mock(Metadata.class); final ScenarioSimulationModel model = new ScenarioSimulationModel(); service.saveAndRename(path, "newName.scesim", metadata, model, "comment"); verify(saveAndRenameService).saveAndRename(path, "newName.scesim", metadata, model, "comment"); }
@Before public void setup() { when(xmlReaderMock.unmarshal(any())).thenReturn(scenarioSimulationModelMock); when(scenarioSimulationModelMock.getSimulation()).thenReturn(simulationMock); }
@Test public void save() throws Exception { final Path returnPath = service.save(this.path, new ScenarioSimulationModel(), new Metadata(), "Commit comment"); assertNotNull(returnPath); verify(ioService).write(any(org.uberfire.java.nio.file.Path.class), anyString(), anyMap(), any(CommentedOption.class)); }