From dcf2b9a96cfb72aa76ca6f74b28edee4f1952562 Mon Sep 17 00:00:00 2001 From: gaibu <1016771049@qq.com> Date: Mon, 30 Jan 2023 21:14:29 +0800 Subject: [PATCH] =?UTF-8?q?feat=20#I6BDN3=20groovy=20=E8=84=9A=E6=9C=AC?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E7=BB=84=E4=BB=B6=E6=94=AF=E6=8C=81=E7=BB=9D?= =?UTF-8?q?=E5=AF=B9=E8=B7=AF=E5=BE=84=E5=8D=95=E5=85=83=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../LiteFlowXmlScriptBuilderGroovyELTest.java | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-groovy-springboot/src/test/java/com/yomahub/liteflow/test/script/groovy/common/LiteFlowXmlScriptBuilderGroovyELTest.java b/liteflow-testcase-el/liteflow-testcase-el-script-groovy-springboot/src/test/java/com/yomahub/liteflow/test/script/groovy/common/LiteFlowXmlScriptBuilderGroovyELTest.java index e2c6468c8..5f46ffda1 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-script-groovy-springboot/src/test/java/com/yomahub/liteflow/test/script/groovy/common/LiteFlowXmlScriptBuilderGroovyELTest.java +++ b/liteflow-testcase-el/liteflow-testcase-el-script-groovy-springboot/src/test/java/com/yomahub/liteflow/test/script/groovy/common/LiteFlowXmlScriptBuilderGroovyELTest.java @@ -1,5 +1,6 @@ package com.yomahub.liteflow.test.script.groovy.common; +import cn.hutool.core.io.resource.ClassPathResource; import com.yomahub.liteflow.builder.LiteFlowNodeBuilder; import com.yomahub.liteflow.builder.el.LiteFlowChainELBuilder; import com.yomahub.liteflow.core.FlowExecutor; @@ -25,6 +26,44 @@ public class LiteFlowXmlScriptBuilderGroovyELTest extends BaseTest { @Resource private FlowExecutor flowExecutor; + /** + * 测试通过builder方式运行普通script节点,以file绝对路径的方式运行 + */ + @Test + public void testAbsoluteScriptFilePath(){ + String absolutePath = new ClassPathResource("classpath:builder/s2.groovy").getAbsolutePath(); + LiteFlowNodeBuilder.createNode().setId("d") + .setName("组件D") + .setType(NodeTypeEnum.COMMON) + .setClazz("com.yomahub.liteflow.test.script.groovy.common.cmp.DCmp") + .build(); + LiteFlowNodeBuilder.createNode().setId("s2") + .setName("条件脚本S2") + .setType(NodeTypeEnum.SWITCH_SCRIPT) + .setFile(absolutePath) + .build(); + LiteFlowNodeBuilder.createNode().setId("a") + .setName("组件A") + .setType(NodeTypeEnum.COMMON) + .setClazz("com.yomahub.liteflow.test.script.groovy.common.cmp.ACmp") + .build(); + LiteFlowNodeBuilder.createNode().setId("b") + .setName("组件B") + .setType(NodeTypeEnum.COMMON) + .setClazz("com.yomahub.liteflow.test.script.groovy.common.cmp.BCmp") + .build(); + + LiteFlowChainELBuilder.createChain().setChainName("chain2") + .setEL("THEN(d,SWITCH(s2).to(a,b))") + .build(); + + + LiteflowResponse response = flowExecutor.execute2Resp("chain2","arg1"); + DefaultContext context = response.getFirstContextBean(); + Assert.assertTrue(response.isSuccess()); + Assert.assertEquals("d[组件D]==>s2[条件脚本S2]==>a[组件A]", response.getExecuteStepStr()); + } + //测试通过builder方式运行普通script节点,以脚本文本的方式运行 @Test public void testBuilderScript1() {