diff --git a/api/kogito-api/src/main/java/org/kie/kogito/source/files/SourceFile.java b/api/kogito-api/src/main/java/org/kie/kogito/source/files/SourceFile.java index 2c555e22a60..f06e3bad3aa 100644 --- a/api/kogito-api/src/main/java/org/kie/kogito/source/files/SourceFile.java +++ b/api/kogito-api/src/main/java/org/kie/kogito/source/files/SourceFile.java @@ -21,6 +21,7 @@ import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; +import java.nio.file.Path; import java.util.Objects; public final class SourceFile { @@ -39,18 +40,30 @@ public SourceFile() { * @param uri the URI of the source file */ public SourceFile(String uri) { - this.uri = Objects.requireNonNull(uri); + this.uri = toPosixPath(Path.of(Objects.requireNonNull(uri))); } // Needed for serialization public void setUri(String uri) { - this.uri = uri; + this.uri = toPosixPath(Path.of(uri)); } public String getUri() { return uri; } + public static String toPosixPath(Path path) { + if (path == null) { + return null; + } + + if (path.getFileSystem().getSeparator().equals("/")) { + return path.toString(); + } + + return path.toString().replace(path.getFileSystem().getSeparator(), "/"); + } + public byte[] readContents() throws IOException { try (InputStream inputStream = Thread.currentThread().getContextClassLoader().getResourceAsStream(getUri())) { if (inputStream == null) { diff --git a/api/kogito-api/src/test/java/org/kie/kogito/source/files/SourceFileTest.java b/api/kogito-api/src/test/java/org/kie/kogito/source/files/SourceFileTest.java new file mode 100644 index 00000000000..c30328982db --- /dev/null +++ b/api/kogito-api/src/test/java/org/kie/kogito/source/files/SourceFileTest.java @@ -0,0 +1,38 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.kie.kogito.source.files; + +import java.nio.file.Path; + +import org.junit.jupiter.api.Test; + +import static org.assertj.core.api.Assertions.assertThat; + +class SourceFileTests { + + @Test + void toPosixPath() { + assertThat(SourceFile.toPosixPath(null)).isNull(); + assertThat(SourceFile.toPosixPath(Path.of("test/petstore.json"))).isEqualTo("test/petstore.json"); + assertThat(SourceFile.toPosixPath(Path.of("foo/bar/test/petstore.json"))).isEqualTo("foo/bar/test/petstore.json"); + assertThat(SourceFile.toPosixPath(Path.of("test\\petstore.json"))).isEqualTo("test/petstore.json"); + assertThat(SourceFile.toPosixPath(Path.of("foo\\bar\\test\\petstore.json"))).isEqualTo("foo/bar/test/petstore.json"); + assertThat(SourceFile.toPosixPath(Path.of("petstore.json"))).isEqualTo("petstore.json"); + } +} diff --git a/jbpm/jbpm-tests/src/test/java/org/jbpm/bpmn2/DataTest.java b/jbpm/jbpm-tests/src/test/java/org/jbpm/bpmn2/DataTest.java index 44a3b38a017..3183b0b06cb 100755 --- a/jbpm/jbpm-tests/src/test/java/org/jbpm/bpmn2/DataTest.java +++ b/jbpm/jbpm-tests/src/test/java/org/jbpm/bpmn2/DataTest.java @@ -19,6 +19,7 @@ package org.jbpm.bpmn2; import java.io.ByteArrayInputStream; +import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -75,6 +76,7 @@ import org.kie.kogito.process.ProcessInstance; import org.w3c.dom.Document; import org.w3c.dom.Element; +import org.w3c.dom.NodeList; import static org.assertj.core.api.Assertions.assertThat; @@ -388,6 +390,8 @@ public void executeWorkItem(KogitoWorkItem workItem, @Test public void testDataOutputAssociationsforHumanTask() { Application app = ProcessTestHelper.newApplication(); + List documents = new ArrayList<>(); + List workItems = new ArrayList<>(); ProcessTestHelper.registerHandler(app, "Human Task", new KogitoWorkItemHandler() { @Override public void abortWorkItem(KogitoWorkItem workItem, KogitoWorkItemManager mgr) { @@ -408,7 +412,9 @@ public void executeWorkItem(KogitoWorkItem workItem, KogitoWorkItemManager mgr) org.w3c.dom.Element processMetadata = processMetadaDoc.createElement("previoustasksowner"); processMetadaDoc.appendChild(processMetadata); processMetadata.setAttribute("primaryname", "my_result"); + documents.add(processMetadaDoc); results.put("output", processMetadata); + workItems.add(workItem); mgr.completeWorkItem(workItem.getStringId(), results); } }); @@ -418,6 +424,16 @@ public void executeWorkItem(KogitoWorkItem workItem, KogitoWorkItemManager mgr) org.kie.kogito.process.ProcessInstance instance = processDefinition.createInstance(model); instance.start(); + assertThat(instance.status()).isEqualTo(KogitoProcessInstance.STATE_COMPLETED); + assertThat(documents.size()).isEqualTo(1); + NodeList nodeList = documents.get(0).getElementsByTagName("previoustasksowner"); + assertThat(nodeList.getLength()).isEqualTo(1); + assertThat(nodeList.item(0).getAttributes().getNamedItem("primaryname")).isNotNull(); + assertThat(nodeList.item(0).getAttributes().getNamedItem("primaryname").getNodeValue()).isEqualTo("my_result"); + assertThat(workItems.size()).isGreaterThanOrEqualTo(1); + KogitoWorkItem workItem = workItems.get(0); + assertThat(workItem.getResults().get("output")).isInstanceOf(org.w3c.dom.Node.class); + assertThat((org.w3c.dom.Node) (workItem.getResults().get("output"))).isEqualTo(nodeList.item(0)); } @Test @@ -454,6 +470,8 @@ public void executeWorkItem(KogitoWorkItem workItem, KogitoWorkItemManager mgr) @Test public void testDataOutputAssociationsXmlNode() { Application app = ProcessTestHelper.newApplication(); + List workItems = new ArrayList<>(); + List documents = new ArrayList<>(); ProcessTestHelper.registerHandler(app, "Human Task", new KogitoWorkItemHandler() { @Override public void abortWorkItem(KogitoWorkItem workItem, KogitoWorkItemManager mgr) { @@ -468,6 +486,8 @@ public void executeWorkItem(KogitoWorkItem workItem, KogitoWorkItemManager mgr) .parse(new ByteArrayInputStream("".getBytes())); Map params = new HashMap<>(); params.put("output", document.getFirstChild()); + workItems.add(workItem); + documents.add(document); mgr.completeWorkItem(workItem.getStringId(), params); } catch (Throwable e) { throw new RuntimeException(e); @@ -480,6 +500,14 @@ public void executeWorkItem(KogitoWorkItem workItem, KogitoWorkItemManager mgr) org.kie.kogito.process.ProcessInstance instance = processDefinition.createInstance(model); instance.start(); + assertThat(instance.status()).isEqualTo(KogitoProcessInstance.STATE_COMPLETED); + assertThat(workItems.size()).isGreaterThanOrEqualTo(1); + KogitoWorkItem workItem = workItems.get(0); + assertThat(workItem).isNotNull(); + assertThat(documents.size()).isGreaterThanOrEqualTo(1); + org.w3c.dom.Node node = documents.get(0).getFirstChild(); + assertThat(workItem.getResults().get("output")).isInstanceOf(org.w3c.dom.Node.class); + assertThat((org.w3c.dom.Node) (workItem.getResults().get("output"))).isEqualTo(node); } @Test diff --git a/jbpm/jbpm-tests/src/test/java/org/jbpm/bpmn2/SLAComplianceTest.java b/jbpm/jbpm-tests/src/test/java/org/jbpm/bpmn2/SLAComplianceTest.java index 3b47bb15203..bfe578dde3b 100755 --- a/jbpm/jbpm-tests/src/test/java/org/jbpm/bpmn2/SLAComplianceTest.java +++ b/jbpm/jbpm-tests/src/test/java/org/jbpm/bpmn2/SLAComplianceTest.java @@ -19,21 +19,34 @@ package org.jbpm.bpmn2; import java.util.Collection; -import java.util.HashMap; -import java.util.Map; +import java.util.Collections; import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; import org.jbpm.bpmn2.objects.TestWorkItemHandler; +import org.jbpm.bpmn2.sla.IntermediateCatchEventSignalWithSLAOnEventModel; +import org.jbpm.bpmn2.sla.IntermediateCatchEventSignalWithSLAOnEventProcess; +import org.jbpm.bpmn2.sla.UserTaskWithSLAExprModel; +import org.jbpm.bpmn2.sla.UserTaskWithSLAExprProcess; +import org.jbpm.bpmn2.sla.UserTaskWithSLAModel; +import org.jbpm.bpmn2.sla.UserTaskWithSLAOnTaskModel; +import org.jbpm.bpmn2.sla.UserTaskWithSLAOnTaskProcess; +import org.jbpm.bpmn2.sla.UserTaskWithSLAProcess; import org.jbpm.process.instance.impl.demo.SystemOutWorkItemHandler; +import org.jbpm.test.utils.ProcessTestHelper; import org.junit.jupiter.api.Test; import org.kie.api.event.process.SLAViolatedEvent; +import org.kie.api.runtime.process.NodeInstance; +import org.kie.kogito.Application; import org.kie.kogito.internal.process.event.DefaultKogitoProcessEventListener; import org.kie.kogito.internal.process.event.KogitoProcessEventListener; import org.kie.kogito.internal.process.runtime.KogitoNodeInstance; import org.kie.kogito.internal.process.runtime.KogitoProcessInstance; import org.kie.kogito.internal.process.runtime.KogitoWorkItem; import org.kie.kogito.internal.process.runtime.KogitoWorkflowProcessInstance; +import org.kie.kogito.process.ProcessInstance; +import org.kie.kogito.process.impl.AbstractProcessInstance; +import org.kie.kogito.process.impl.Sig; import static org.assertj.core.api.Assertions.assertThat; @@ -81,25 +94,21 @@ public void afterSLAViolated(SLAViolatedEvent event) { @Test public void testSLAonProcessMet() throws Exception { - kruntime = createKogitoProcessRuntime("org/jbpm/bpmn2/sla/BPMN2-UserTaskWithSLA.bpmn2"); - + Application app = ProcessTestHelper.newApplication(); TestWorkItemHandler workItemHandler = new TestWorkItemHandler(); - kruntime.getKogitoWorkItemManager().registerWorkItemHandler("Human Task", workItemHandler); - KogitoProcessInstance processInstance = kruntime.startProcess("UserTaskWithSLA"); - assertThat(processInstance.getState()).isEqualTo(KogitoProcessInstance.STATE_ACTIVE); - + ProcessTestHelper.registerHandler(app, "Human Task", workItemHandler); + org.kie.kogito.process.Process processDefinition = UserTaskWithSLAProcess.newProcess(app); + ProcessInstance processInstance = processDefinition.createInstance(processDefinition.createModel()); + processInstance.start(); + assertThat(processInstance.status()).isEqualTo(ProcessInstance.STATE_ACTIVE); KogitoWorkItem workItem = workItemHandler.getWorkItem(); assertThat(workItem).isNotNull(); assertThat(workItem.getParameter("ActorId")).isEqualTo("john"); - - processInstance = kruntime.getProcessInstance(processInstance.getStringId()); - assertThat(processInstance.getState()).isEqualTo(KogitoProcessInstance.STATE_ACTIVE); - - kruntime.getKogitoWorkItemManager().completeWorkItem(workItem.getStringId(), null); - assertProcessInstanceFinished(processInstance, kruntime); - - int slaCompliance = getSLAComplianceForProcessInstance(processInstance); - assertThat(slaCompliance).isEqualTo(KogitoProcessInstance.SLA_MET); + ProcessTestHelper.completeWorkItem(processInstance, Collections.emptyMap(), "john"); + assertThat(processInstance.status()).isEqualTo(ProcessInstance.STATE_COMPLETED); + int slaCompliance = ((org.kie.kogito.process.impl.AbstractProcessInstance) processInstance) + .internalGetProcessInstance().getSlaCompliance(); + assertThat(slaCompliance).isEqualTo(org.kie.api.runtime.process.ProcessInstance.SLA_MET); } @Test @@ -154,39 +163,31 @@ public void afterSLAViolated(SLAViolatedEvent event) { } @Test - public void testSLAonUserTaskMet() throws Exception { - kruntime = createKogitoProcessRuntime("org/jbpm/bpmn2/sla/BPMN2-UserTaskWithSLAOnTask.bpmn2"); - + public void testSLAonUserTaskMet() { + Application app = ProcessTestHelper.newApplication(); TestWorkItemHandler workItemHandler = new TestWorkItemHandler(); - kruntime.getKogitoWorkItemManager().registerWorkItemHandler("Human Task", workItemHandler); - KogitoProcessInstance processInstance = kruntime.startProcess("UserTaskWithSLAOnTask"); - assertThat(processInstance.getState()).isEqualTo(KogitoProcessInstance.STATE_ACTIVE); - + ProcessTestHelper.registerHandler(app, "Human Task", workItemHandler); + org.kie.kogito.process.Process processDefinition = UserTaskWithSLAOnTaskProcess.newProcess(app); + ProcessInstance processInstance = processDefinition.createInstance(processDefinition.createModel()); + processInstance.start(); + assertThat(processInstance.status()).isEqualTo(ProcessInstance.STATE_ACTIVE); KogitoWorkItem workItem = workItemHandler.getWorkItem(); assertThat(workItem).isNotNull(); assertThat(workItem.getParameter("ActorId")).isEqualTo("john"); - - processInstance = kruntime.getProcessInstance(processInstance.getStringId()); - assertThat(processInstance.getState()).isEqualTo(KogitoProcessInstance.STATE_ACTIVE); - - Collection active = ((KogitoWorkflowProcessInstance) processInstance).getKogitoNodeInstances(); - assertThat(active).hasSize(1); - - KogitoNodeInstance userTaskNode = active.iterator().next(); - - kruntime.getKogitoWorkItemManager().completeWorkItem(workItem.getStringId(), null); - assertProcessInstanceFinished(processInstance, kruntime); - - int slaCompliance = getSLAComplianceForProcessInstance(processInstance); - assertThat(slaCompliance).isEqualTo(KogitoProcessInstance.SLA_NA); - - slaCompliance = getSLAComplianceForNodeInstance(processInstance.getStringId(), (org.jbpm.workflow.instance.NodeInstance) userTaskNode, 0); - // Whereas in memory it is already met - assertThat(slaCompliance).isEqualTo(KogitoProcessInstance.SLA_MET); - - slaCompliance = getSLAComplianceForNodeInstance(processInstance.getStringId(), (org.jbpm.workflow.instance.NodeInstance) userTaskNode, 1); - assertThat(slaCompliance).isEqualTo(KogitoProcessInstance.SLA_MET); - + processInstance = processDefinition.instances().findById(processInstance.id()).orElse(null); + assertThat(processInstance).isNotNull(); + assertThat(processInstance.status()).isEqualTo(ProcessInstance.STATE_ACTIVE); + Collection activeNodes = ((AbstractProcessInstance) processInstance) + .internalGetProcessInstance().getNodeInstances(); + assertThat(activeNodes).hasSize(1); + org.kie.kogito.internal.process.runtime.KogitoNodeInstance userTaskNode = (KogitoNodeInstance) activeNodes.iterator().next(); + ProcessTestHelper.completeWorkItem(processInstance, Collections.emptyMap(), "john"); + assertThat(processInstance.status()).isEqualTo(ProcessInstance.STATE_COMPLETED); + int slaCompliance = ((org.kie.kogito.process.impl.AbstractProcessInstance) processInstance) + .internalGetProcessInstance().getSlaCompliance(); + assertThat(slaCompliance).isEqualTo(org.kie.api.runtime.process.ProcessInstance.SLA_NA); + slaCompliance = ((org.jbpm.workflow.instance.NodeInstance) userTaskNode).getSlaCompliance(); + assertThat(slaCompliance).isEqualTo(org.kie.api.runtime.process.ProcessInstance.SLA_MET); } @Test @@ -297,44 +298,35 @@ public void afterSLAViolated(SLAViolatedEvent event) { public void testSLAonProcessViolatedWithExpression() throws Exception { CountDownLatch latch = new CountDownLatch(1); final KogitoProcessEventListener listener = new DefaultKogitoProcessEventListener() { - @Override public void afterSLAViolated(SLAViolatedEvent event) { latch.countDown(); } - }; - kruntime = createKogitoProcessRuntime("org/jbpm/bpmn2/sla/BPMN2-UserTaskWithSLAExpr.bpmn2"); - + Application app = ProcessTestHelper.newApplication(); TestWorkItemHandler workItemHandler = new TestWorkItemHandler(); - kruntime.getKogitoWorkItemManager().registerWorkItemHandler("Human Task", workItemHandler); - kruntime.getProcessEventManager().addEventListener(listener); - - Map parameters = new HashMap<>(); - parameters.put("s", "3s"); - - KogitoProcessInstance processInstance = kruntime.startProcess("UserTaskWithSLAExpr", parameters); - assertThat(processInstance.getState()).isEqualTo(KogitoProcessInstance.STATE_ACTIVE); - + ProcessTestHelper.registerHandler(app, "Human Task", workItemHandler); + ProcessTestHelper.registerProcessEventListener(app, listener); + org.kie.kogito.process.Process processDefinition = UserTaskWithSLAExprProcess.newProcess(app); + UserTaskWithSLAExprModel model = processDefinition.createModel(); + model.setS("3s"); + ProcessInstance processInstance = processDefinition.createInstance(model); + processInstance.start(); + assertThat(processInstance.status()).isEqualTo(ProcessInstance.STATE_ACTIVE); KogitoWorkItem workItem = workItemHandler.getWorkItem(); assertThat(workItem).isNotNull(); assertThat(workItem.getParameter("ActorId")).isEqualTo("john"); - boolean slaViolated = latch.await(10, TimeUnit.SECONDS); assertThat(slaViolated).as("SLA was not violated while it is expected").isTrue(); - - processInstance = kruntime.getProcessInstance(processInstance.getStringId()); - assertThat(processInstance.getState()).isEqualTo(KogitoProcessInstance.STATE_ACTIVE); - - int slaCompliance = getSLAComplianceForProcessInstance(processInstance); - assertThat(slaCompliance).isEqualTo(KogitoProcessInstance.SLA_VIOLATED); - - kruntime.getKogitoWorkItemManager().completeWorkItem(workItem.getStringId(), null); - assertProcessInstanceFinished(processInstance, kruntime); - - slaCompliance = getSLAComplianceForProcessInstance(processInstance); - assertThat(slaCompliance).isEqualTo(KogitoProcessInstance.SLA_VIOLATED); - + assertThat(processInstance.status()).isEqualTo(ProcessInstance.STATE_ACTIVE); + int slaCompliance = ((org.kie.kogito.process.impl.AbstractProcessInstance) processInstance) + .internalGetProcessInstance().getSlaCompliance(); + assertThat(slaCompliance).isEqualTo(org.kie.api.runtime.process.ProcessInstance.SLA_VIOLATED); + ProcessTestHelper.completeWorkItem(processInstance, Collections.emptyMap(), "john"); + assertThat(processInstance.status()).isEqualTo(ProcessInstance.STATE_COMPLETED); + slaCompliance = ((org.kie.kogito.process.impl.AbstractProcessInstance) processInstance) + .internalGetProcessInstance().getSlaCompliance(); + assertThat(slaCompliance).isEqualTo(org.kie.api.runtime.process.ProcessInstance.SLA_VIOLATED); } @Test @@ -427,38 +419,31 @@ public void afterSLAViolated(SLAViolatedEvent event) { public void testSLAonCatchEventNotViolated() throws Exception { CountDownLatch latch = new CountDownLatch(1); final KogitoProcessEventListener listener = new DefaultKogitoProcessEventListener() { - @Override public void afterSLAViolated(SLAViolatedEvent event) { latch.countDown(); } - }; - kruntime = createKogitoProcessRuntime("org/jbpm/bpmn2/sla/BPMN2-IntermediateCatchEventSignalWithSLAOnEvent.bpmn2"); - - kruntime.getProcessEventManager().addEventListener(listener); - kruntime.getKogitoWorkItemManager().registerWorkItemHandler("Human Task", new SystemOutWorkItemHandler()); - KogitoProcessInstance processInstance = kruntime.startProcess("IntermediateCatchEventSignalWithSLAOnEvent"); - assertThat(processInstance.getState()).isEqualTo(KogitoProcessInstance.STATE_ACTIVE); - - Collection active = ((KogitoWorkflowProcessInstance) processInstance).getKogitoNodeInstances(); - assertThat(active).hasSize(1); - - KogitoNodeInstance eventNode = active.iterator().next(); - - kruntime.signalEvent("MyMessage", null, processInstance.getStringId()); - - assertProcessInstanceFinished(processInstance, kruntime); - - int slaCompliance = getSLAComplianceForProcessInstance(processInstance); - assertThat(slaCompliance).isEqualTo(KogitoProcessInstance.SLA_NA); - - slaCompliance = getSLAComplianceForNodeInstance(processInstance.getStringId(), (org.jbpm.workflow.instance.NodeInstance) eventNode, 1); - assertThat(slaCompliance).isEqualTo(KogitoProcessInstance.SLA_MET); - + Application app = ProcessTestHelper.newApplication(); + ProcessTestHelper.registerProcessEventListener(app, listener); + ProcessTestHelper.registerHandler(app, "Human Task", new SystemOutWorkItemHandler()); + org.kie.kogito.process.Process processDefinition = IntermediateCatchEventSignalWithSLAOnEventProcess.newProcess(app); + ProcessInstance processInstance = processDefinition.createInstance(processDefinition.createModel()); + processInstance.start(); + assertThat(processInstance.status()).isEqualTo(ProcessInstance.STATE_ACTIVE); + Collection activeNodes = ((AbstractProcessInstance) processInstance) + .internalGetProcessInstance().getNodeInstances(); + assertThat(activeNodes).hasSize(1); + org.kie.kogito.internal.process.runtime.KogitoNodeInstance eventNode = (KogitoNodeInstance) activeNodes.iterator().next(); + processInstance.send(Sig.of("MyMessage", null)); + assertThat(processInstance.status()).isEqualTo(ProcessInstance.STATE_COMPLETED); + int slaCompliance = ((org.kie.kogito.process.impl.AbstractProcessInstance) processInstance) + .internalGetProcessInstance().getSlaCompliance(); + assertThat(slaCompliance).isEqualTo(org.kie.api.runtime.process.ProcessInstance.SLA_NA); + slaCompliance = ((org.jbpm.workflow.instance.NodeInstance) eventNode).getSlaCompliance(); + assertThat(slaCompliance).isEqualTo(org.kie.api.runtime.process.ProcessInstance.SLA_MET); boolean slaViolated = latch.await(3, TimeUnit.SECONDS); - assertThat(slaViolated).as("SLA should not violated by timer").isFalse(); - + assertThat(slaViolated).as("SLA should not be violated by timer").isFalse(); } /* diff --git a/kogito-codegen-modules/kogito-codegen-predictions/src/test/java/org/kie/kogito/codegen/prediction/PredictionCodegenGenerateTest.java b/kogito-codegen-modules/kogito-codegen-predictions/src/test/java/org/kie/kogito/codegen/prediction/PredictionCodegenGenerateTest.java index 410c562db7a..c119c0f74ad 100644 --- a/kogito-codegen-modules/kogito-codegen-predictions/src/test/java/org/kie/kogito/codegen/prediction/PredictionCodegenGenerateTest.java +++ b/kogito-codegen-modules/kogito-codegen-predictions/src/test/java/org/kie/kogito/codegen/prediction/PredictionCodegenGenerateTest.java @@ -34,7 +34,6 @@ import org.drools.codegen.common.GeneratedFileType; import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.BeforeAll; -import org.junit.jupiter.api.Disabled; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.Arguments; import org.junit.jupiter.params.provider.MethodSource; @@ -56,7 +55,6 @@ import static org.kie.kogito.codegen.prediction.PredictionCodegenFactory.parsePredictions; import static org.kie.kogito.codegen.prediction.PredictionCodegenFactoryTest.REFLECT_JSON; -@Disabled("Temporarily disabled due to https://github.com/apache/incubator-kie-kogito-runtimes/issues/3640") class PredictionCodegenGenerateTest { static final Path BASE_PATH = Paths.get("src/test/resources/").toAbsolutePath(); @@ -96,19 +94,19 @@ private static Stream data() { codeGenerator = getPredictionCodegen(context, SCORECARD_FULL_SOURCE); generatedFiles = codeGenerator.generate(); - toAdd = arguments(codeGenerator, generatedFiles, 36, 34, 1, false, + toAdd = arguments(codeGenerator, generatedFiles, 4, 3, 1, false, context.hasRESTForGenerator(codeGenerator)); testArguments.add(toAdd); codeGenerator = getPredictionCodegen(context, MINING_FULL_SOURCE); generatedFiles = codeGenerator.generate(); - toAdd = arguments(codeGenerator, generatedFiles, 79, 77, 1, false, + toAdd = arguments(codeGenerator, generatedFiles, 13, 12, 1, false, context.hasRESTForGenerator(codeGenerator)); testArguments.add(toAdd); codeGenerator = getPredictionCodegen(context, MULTIPLE_FULL_SOURCE); generatedFiles = codeGenerator.generate(); - toAdd = arguments(codeGenerator, generatedFiles, 86, 84, 2, false, + toAdd = arguments(codeGenerator, generatedFiles, 13, 12, 2, false, context.hasRESTForGenerator(codeGenerator)); testArguments.add(toAdd); return testArguments.stream(); @@ -196,10 +194,11 @@ static void commonVerifyTotalFiles(Collection generatedFiles, static void commonVerifyCompiledClasses(Collection generatedFiles, int expectedCompiledClasses) { - assertThat(expectedCompiledClasses).isEqualTo(generatedFiles.stream() + int actuallyCompiledClasses = (int) generatedFiles.stream() .filter(generatedFile -> generatedFile.category().equals(GeneratedFileType.Category.COMPILED_CLASS) && generatedFile.type().equals(COMPILED_CLASS)) - .count()); + .count(); + assertThat(actuallyCompiledClasses).isEqualTo(expectedCompiledClasses); } static void commonVerifyReflectResource(Collection generatedFiles, diff --git a/kogito-codegen-modules/kogito-codegen-predictions/src/test/java/org/kie/kogito/codegen/prediction/PredictionCodegenInternalGenerateTest.java b/kogito-codegen-modules/kogito-codegen-predictions/src/test/java/org/kie/kogito/codegen/prediction/PredictionCodegenInternalGenerateTest.java index c5c03d24899..044ffdd442d 100644 --- a/kogito-codegen-modules/kogito-codegen-predictions/src/test/java/org/kie/kogito/codegen/prediction/PredictionCodegenInternalGenerateTest.java +++ b/kogito-codegen-modules/kogito-codegen-predictions/src/test/java/org/kie/kogito/codegen/prediction/PredictionCodegenInternalGenerateTest.java @@ -29,7 +29,6 @@ import org.drools.codegen.common.GeneratedFile; import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.BeforeAll; -import org.junit.jupiter.api.Disabled; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.Arguments; import org.junit.jupiter.params.provider.MethodSource; @@ -49,7 +48,6 @@ import static org.kie.kogito.codegen.prediction.PredictionCodegenGenerateTest.commonVerifyTotalFiles; import static org.kie.kogito.codegen.prediction.PredictionCodegenGenerateTest.getPredictionCodegen; -@Disabled("Temporarily disabled due to https://github.com/apache/incubator-kie-kogito-runtimes/issues/3640") class PredictionCodegenInternalGenerateTest { @BeforeAll @@ -80,19 +78,19 @@ private static Stream data() { codeGenerator = getPredictionCodegen(context, SCORECARD_FULL_SOURCE); generatedFiles = codeGenerator.internalGenerate(); - toAdd = arguments(codeGenerator, generatedFiles, 36, 34, 1, false, + toAdd = arguments(codeGenerator, generatedFiles, 4, 3, 1, false, context.hasRESTForGenerator(codeGenerator)); testArguments.add(toAdd); codeGenerator = getPredictionCodegen(context, MINING_FULL_SOURCE); generatedFiles = codeGenerator.internalGenerate(); - toAdd = arguments(codeGenerator, generatedFiles, 79, 77, 1, false, + toAdd = arguments(codeGenerator, generatedFiles, 13, 12, 1, false, context.hasRESTForGenerator(codeGenerator)); testArguments.add(toAdd); codeGenerator = getPredictionCodegen(context, MULTIPLE_FULL_SOURCE); generatedFiles = codeGenerator.internalGenerate(); - toAdd = arguments(codeGenerator, generatedFiles, 86, 84, 2, false, + toAdd = arguments(codeGenerator, generatedFiles, 13, 12, 2, false, context.hasRESTForGenerator(codeGenerator)); testArguments.add(toAdd); return testArguments.stream(); diff --git a/springboot/integration-tests/integration-tests-springboot-processes-persistence-it/pom.xml b/springboot/integration-tests/integration-tests-springboot-processes-persistence-it/pom.xml index 2892a76ee46..6d09004c22a 100644 --- a/springboot/integration-tests/integration-tests-springboot-processes-persistence-it/pom.xml +++ b/springboot/integration-tests/integration-tests-springboot-processes-persistence-it/pom.xml @@ -44,7 +44,8 @@ integration-tests-springboot-processes-postgresql integration-tests-springboot-processes-mongodb integration-tests-springboot-processes-jdbc - integration-tests-springboot-processes-filesystem + +