From 7a02e582612be82a581e6bb06ef687bc89423bd5 Mon Sep 17 00:00:00 2001 From: bryan31 Date: Thu, 24 Feb 2022 17:34:44 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A1=A5=E5=85=85=E6=B5=8B=E8=AF=95=E7=94=A8?= =?UTF-8?q?=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../test/flowmeta/FlowMetaSpringTest.java | 32 ++++++++++++++++++ .../liteflow/test/flowmeta/cmp1/ACmp.java | 20 +++++++++++ .../liteflow/test/flowmeta/cmp1/BCmp.java | 21 ++++++++++++ .../liteflow/test/flowmeta/cmp1/CCmp.java | 21 ++++++++++++ .../liteflow/test/flowmeta/cmp2/DCmp.java | 19 +++++++++++ .../liteflow/test/lazy/LazySpringTest.java | 27 +++++++++++++++ .../yomahub/liteflow/test/lazy/cmp/ACmp.java | 22 +++++++++++++ .../yomahub/liteflow/test/lazy/cmp/BCmp.java | 21 ++++++++++++ .../yomahub/liteflow/test/lazy/cmp/CCmp.java | 21 ++++++++++++ .../LiteflowComponentSpringTest.java | 33 +++++++++++++++++++ .../test/liteflowcomponent/cmp/ACmp.java | 20 +++++++++++ .../test/liteflowcomponent/cmp/BCmp.java | 21 ++++++++++++ .../test/liteflowcomponent/cmp/CCmp.java | 21 ++++++++++++ .../test/liteflowcomponent/cmp/DCmp.java | 21 ++++++++++++ .../test/resources/flowmeta/application.xml | 24 ++++++++++++++ .../src/test/resources/flowmeta/flow.xml | 6 ++++ .../src/test/resources/lazy/application.xml | 23 +++++++++++++ .../src/test/resources/lazy/flow.xml | 6 ++++ .../liteflowcomponent/application.xml | 23 +++++++++++++ .../test/resources/liteflowcomponent/flow.xml | 10 ++++++ 20 files changed, 412 insertions(+) create mode 100644 liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/flowmeta/FlowMetaSpringTest.java create mode 100644 liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/flowmeta/cmp1/ACmp.java create mode 100644 liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/flowmeta/cmp1/BCmp.java create mode 100644 liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/flowmeta/cmp1/CCmp.java create mode 100644 liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/flowmeta/cmp2/DCmp.java create mode 100644 liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/lazy/LazySpringTest.java create mode 100644 liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/lazy/cmp/ACmp.java create mode 100644 liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/lazy/cmp/BCmp.java create mode 100644 liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/lazy/cmp/CCmp.java create mode 100644 liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/liteflowcomponent/LiteflowComponentSpringTest.java create mode 100644 liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/liteflowcomponent/cmp/ACmp.java create mode 100644 liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/liteflowcomponent/cmp/BCmp.java create mode 100644 liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/liteflowcomponent/cmp/CCmp.java create mode 100644 liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/liteflowcomponent/cmp/DCmp.java create mode 100644 liteflow-testcase-springnative/src/test/resources/flowmeta/application.xml create mode 100644 liteflow-testcase-springnative/src/test/resources/flowmeta/flow.xml create mode 100644 liteflow-testcase-springnative/src/test/resources/lazy/application.xml create mode 100644 liteflow-testcase-springnative/src/test/resources/lazy/flow.xml create mode 100644 liteflow-testcase-springnative/src/test/resources/liteflowcomponent/application.xml create mode 100644 liteflow-testcase-springnative/src/test/resources/liteflowcomponent/flow.xml diff --git a/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/flowmeta/FlowMetaSpringTest.java b/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/flowmeta/FlowMetaSpringTest.java new file mode 100644 index 000000000..bbb42fbd8 --- /dev/null +++ b/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/flowmeta/FlowMetaSpringTest.java @@ -0,0 +1,32 @@ +package com.yomahub.liteflow.test.flowmeta; + +import com.yomahub.liteflow.core.FlowExecutor; +import com.yomahub.liteflow.entity.data.DefaultSlot; +import com.yomahub.liteflow.entity.data.LiteflowResponse; +import com.yomahub.liteflow.flow.FlowBus; +import com.yomahub.liteflow.test.BaseTest; +import com.yomahub.liteflow.test.flowmeta.cmp2.DCmp; +import org.junit.Assert; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringRunner; + +import javax.annotation.Resource; + +@RunWith(SpringRunner.class) +@ContextConfiguration("classpath:/flowmeta/application.xml") +public class FlowMetaSpringTest extends BaseTest { + + @Resource + private FlowExecutor flowExecutor; + + //测试动态添加元信息节点 + @Test + public void testFlowMeta() { + FlowBus.addCommonNode("d", "d组件", DCmp.class); + LiteflowResponse response= flowExecutor.execute2Resp("chain1", "it's a request"); + Assert.assertTrue(response.isSuccess()); + Assert.assertEquals("a==>b==>c==>d[d组件]", response.getSlot().getExecuteStepStr()); + } +} diff --git a/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/flowmeta/cmp1/ACmp.java b/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/flowmeta/cmp1/ACmp.java new file mode 100644 index 000000000..4df6c78fa --- /dev/null +++ b/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/flowmeta/cmp1/ACmp.java @@ -0,0 +1,20 @@ +/** + *

Title: liteflow

+ *

Description: 轻量级的组件式流程框架

+ * @author Bryan.Zhang + * @email weenyc31@163.com + * @Date 2020/4/1 + */ +package com.yomahub.liteflow.test.flowmeta.cmp1; + +import com.yomahub.liteflow.core.NodeComponent; +import org.springframework.stereotype.Component; + +@Component("a") +public class ACmp extends NodeComponent { + + @Override + public void process() { + System.out.println("ACmp executed!"); + } +} diff --git a/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/flowmeta/cmp1/BCmp.java b/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/flowmeta/cmp1/BCmp.java new file mode 100644 index 000000000..f6ef80cb6 --- /dev/null +++ b/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/flowmeta/cmp1/BCmp.java @@ -0,0 +1,21 @@ +/** + *

Title: liteflow

+ *

Description: 轻量级的组件式流程框架

+ * @author Bryan.Zhang + * @email weenyc31@163.com + * @Date 2020/4/1 + */ +package com.yomahub.liteflow.test.flowmeta.cmp1; + +import com.yomahub.liteflow.core.NodeComponent; +import org.springframework.stereotype.Component; + +@Component("b") +public class BCmp extends NodeComponent { + + @Override + public void process() { + System.out.println("BCmp executed!"); + } + +} diff --git a/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/flowmeta/cmp1/CCmp.java b/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/flowmeta/cmp1/CCmp.java new file mode 100644 index 000000000..ed599b642 --- /dev/null +++ b/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/flowmeta/cmp1/CCmp.java @@ -0,0 +1,21 @@ +/** + *

Title: liteflow

+ *

Description: 轻量级的组件式流程框架

+ * @author Bryan.Zhang + * @email weenyc31@163.com + * @Date 2020/4/1 + */ +package com.yomahub.liteflow.test.flowmeta.cmp1; + +import com.yomahub.liteflow.core.NodeComponent; +import org.springframework.stereotype.Component; + +@Component("c") +public class CCmp extends NodeComponent { + + @Override + public void process() { + System.out.println("CCmp executed!"); + } + +} diff --git a/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/flowmeta/cmp2/DCmp.java b/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/flowmeta/cmp2/DCmp.java new file mode 100644 index 000000000..9ed261058 --- /dev/null +++ b/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/flowmeta/cmp2/DCmp.java @@ -0,0 +1,19 @@ +/** + *

Title: liteflow

+ *

Description: 轻量级的组件式流程框架

+ * @author Bryan.Zhang + * @email weenyc31@163.com + * @Date 2020/4/1 + */ +package com.yomahub.liteflow.test.flowmeta.cmp2; + +import com.yomahub.liteflow.core.NodeComponent; + +public class DCmp extends NodeComponent { + + @Override + public void process() { + System.out.println("Dcomp executed!"); + } + +} diff --git a/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/lazy/LazySpringTest.java b/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/lazy/LazySpringTest.java new file mode 100644 index 000000000..19cd046a4 --- /dev/null +++ b/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/lazy/LazySpringTest.java @@ -0,0 +1,27 @@ +package com.yomahub.liteflow.test.lazy; + +import com.yomahub.liteflow.core.FlowExecutor; +import com.yomahub.liteflow.entity.data.DefaultSlot; +import com.yomahub.liteflow.entity.data.LiteflowResponse; +import com.yomahub.liteflow.test.BaseTest; +import org.junit.Assert; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringRunner; + +import javax.annotation.Resource; + +@RunWith(SpringRunner.class) +@ContextConfiguration("classpath:/base/application.xml") +public class LazySpringTest extends BaseTest { + + @Resource + private FlowExecutor flowExecutor; + + @Test + public void testLazy() throws Exception{ + LiteflowResponse response = flowExecutor.execute2Resp("chain1", "arg"); + Assert.assertTrue(response.isSuccess()); + } +} diff --git a/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/lazy/cmp/ACmp.java b/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/lazy/cmp/ACmp.java new file mode 100644 index 000000000..9d3dacbca --- /dev/null +++ b/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/lazy/cmp/ACmp.java @@ -0,0 +1,22 @@ +/** + *

Title: liteflow

+ *

Description: 轻量级的组件式流程框架

+ * @author Bryan.Zhang + * @email weenyc31@163.com + * @Date 2020/4/1 + */ +package com.yomahub.liteflow.test.lazy.cmp; + +import com.yomahub.liteflow.core.NodeComponent; +import org.springframework.context.annotation.Lazy; +import org.springframework.stereotype.Component; + +@Lazy +@Component("a") +public class ACmp extends NodeComponent { + + @Override + public void process() { + System.out.println("ACmp executed!"); + } +} diff --git a/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/lazy/cmp/BCmp.java b/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/lazy/cmp/BCmp.java new file mode 100644 index 000000000..13bfe6725 --- /dev/null +++ b/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/lazy/cmp/BCmp.java @@ -0,0 +1,21 @@ +/** + *

Title: liteflow

+ *

Description: 轻量级的组件式流程框架

+ * @author Bryan.Zhang + * @email weenyc31@163.com + * @Date 2020/4/1 + */ +package com.yomahub.liteflow.test.lazy.cmp; + +import com.yomahub.liteflow.core.NodeComponent; +import org.springframework.stereotype.Component; + +@Component("b") +public class BCmp extends NodeComponent { + + @Override + public void process() { + System.out.println("BCmp executed!"); + } + +} diff --git a/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/lazy/cmp/CCmp.java b/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/lazy/cmp/CCmp.java new file mode 100644 index 000000000..3f45e86a6 --- /dev/null +++ b/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/lazy/cmp/CCmp.java @@ -0,0 +1,21 @@ +/** + *

Title: liteflow

+ *

Description: 轻量级的组件式流程框架

+ * @author Bryan.Zhang + * @email weenyc31@163.com + * @Date 2020/4/1 + */ +package com.yomahub.liteflow.test.lazy.cmp; + +import com.yomahub.liteflow.core.NodeComponent; +import org.springframework.stereotype.Component; + +@Component("c") +public class CCmp extends NodeComponent { + + @Override + public void process() { + System.out.println("CCmp executed!"); + } + +} diff --git a/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/liteflowcomponent/LiteflowComponentSpringTest.java b/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/liteflowcomponent/LiteflowComponentSpringTest.java new file mode 100644 index 000000000..f063bd140 --- /dev/null +++ b/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/liteflowcomponent/LiteflowComponentSpringTest.java @@ -0,0 +1,33 @@ +package com.yomahub.liteflow.test.liteflowcomponent; + +import com.yomahub.liteflow.core.FlowExecutor; +import com.yomahub.liteflow.entity.data.DefaultSlot; +import com.yomahub.liteflow.entity.data.LiteflowResponse; +import com.yomahub.liteflow.test.BaseTest; +import org.junit.Assert; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringRunner; + + +/** + * 测试@LiteflowComponent标注 + * @author Bryan.Zhang + * @since 2.5.10 + */ +@RunWith(SpringRunner.class) +@ContextConfiguration("classpath:/liteflowcomponent/application.xml") +public class LiteflowComponentSpringTest extends BaseTest { + + @Autowired + private FlowExecutor flowExecutor; + + @Test + public void testConfig() { + LiteflowResponse response = flowExecutor.execute2Resp("chain1", "arg"); + Assert.assertTrue(response.isSuccess()); + Assert.assertEquals("a[A组件]==>b[B组件]==>c[C组件]==>b[B组件]==>a[A组件]==>d", response.getSlot().getExecuteStepStr()); + } +} diff --git a/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/liteflowcomponent/cmp/ACmp.java b/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/liteflowcomponent/cmp/ACmp.java new file mode 100644 index 000000000..96ec64d8f --- /dev/null +++ b/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/liteflowcomponent/cmp/ACmp.java @@ -0,0 +1,20 @@ +/** + *

Title: liteflow

+ *

Description: 轻量级的组件式流程框架

+ * @author Bryan.Zhang + * @email weenyc31@163.com + * @Date 2020/4/1 + */ +package com.yomahub.liteflow.test.liteflowcomponent.cmp; + +import com.yomahub.liteflow.annotation.LiteflowComponent; +import com.yomahub.liteflow.core.NodeComponent; + +@LiteflowComponent(id = "a", name = "A组件") +public class ACmp extends NodeComponent { + + @Override + public void process() { + System.out.println("ACmp executed!"); + } +} diff --git a/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/liteflowcomponent/cmp/BCmp.java b/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/liteflowcomponent/cmp/BCmp.java new file mode 100644 index 000000000..9d1c0b233 --- /dev/null +++ b/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/liteflowcomponent/cmp/BCmp.java @@ -0,0 +1,21 @@ +/** + *

Title: liteflow

+ *

Description: 轻量级的组件式流程框架

+ * @author Bryan.Zhang + * @email weenyc31@163.com + * @Date 2020/4/1 + */ +package com.yomahub.liteflow.test.liteflowcomponent.cmp; + +import com.yomahub.liteflow.annotation.LiteflowComponent; +import com.yomahub.liteflow.core.NodeComponent; + +@LiteflowComponent(id = "b", name = "B组件") +public class BCmp extends NodeComponent { + + @Override + public void process() { + System.out.println("BCmp executed!"); + } + +} diff --git a/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/liteflowcomponent/cmp/CCmp.java b/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/liteflowcomponent/cmp/CCmp.java new file mode 100644 index 000000000..f01e577d6 --- /dev/null +++ b/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/liteflowcomponent/cmp/CCmp.java @@ -0,0 +1,21 @@ +/** + *

Title: liteflow

+ *

Description: 轻量级的组件式流程框架

+ * @author Bryan.Zhang + * @email weenyc31@163.com + * @Date 2020/4/1 + */ +package com.yomahub.liteflow.test.liteflowcomponent.cmp; + +import com.yomahub.liteflow.annotation.LiteflowComponent; +import com.yomahub.liteflow.core.NodeComponent; + +@LiteflowComponent(id = "c", name = "C组件") +public class CCmp extends NodeComponent { + + @Override + public void process() { + System.out.println("CCmp executed!"); + } + +} diff --git a/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/liteflowcomponent/cmp/DCmp.java b/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/liteflowcomponent/cmp/DCmp.java new file mode 100644 index 000000000..06d4d268f --- /dev/null +++ b/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/liteflowcomponent/cmp/DCmp.java @@ -0,0 +1,21 @@ +/** + *

Title: liteflow

+ *

Description: 轻量级的组件式流程框架

+ * @author Bryan.Zhang + * @email weenyc31@163.com + * @Date 2020/4/1 + */ +package com.yomahub.liteflow.test.liteflowcomponent.cmp; + +import com.yomahub.liteflow.annotation.LiteflowComponent; +import com.yomahub.liteflow.core.NodeComponent; + +@LiteflowComponent("d") +public class DCmp extends NodeComponent { + + @Override + public void process() { + System.out.println("DCmp executed!"); + } + +} diff --git a/liteflow-testcase-springnative/src/test/resources/flowmeta/application.xml b/liteflow-testcase-springnative/src/test/resources/flowmeta/application.xml new file mode 100644 index 000000000..e952c5867 --- /dev/null +++ b/liteflow-testcase-springnative/src/test/resources/flowmeta/application.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/liteflow-testcase-springnative/src/test/resources/flowmeta/flow.xml b/liteflow-testcase-springnative/src/test/resources/flowmeta/flow.xml new file mode 100644 index 000000000..7153add87 --- /dev/null +++ b/liteflow-testcase-springnative/src/test/resources/flowmeta/flow.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/liteflow-testcase-springnative/src/test/resources/lazy/application.xml b/liteflow-testcase-springnative/src/test/resources/lazy/application.xml new file mode 100644 index 000000000..ffc8b01dc --- /dev/null +++ b/liteflow-testcase-springnative/src/test/resources/lazy/application.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/liteflow-testcase-springnative/src/test/resources/lazy/flow.xml b/liteflow-testcase-springnative/src/test/resources/lazy/flow.xml new file mode 100644 index 000000000..22870d94f --- /dev/null +++ b/liteflow-testcase-springnative/src/test/resources/lazy/flow.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/liteflow-testcase-springnative/src/test/resources/liteflowcomponent/application.xml b/liteflow-testcase-springnative/src/test/resources/liteflowcomponent/application.xml new file mode 100644 index 000000000..2b9ab42dd --- /dev/null +++ b/liteflow-testcase-springnative/src/test/resources/liteflowcomponent/application.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/liteflow-testcase-springnative/src/test/resources/liteflowcomponent/flow.xml b/liteflow-testcase-springnative/src/test/resources/liteflowcomponent/flow.xml new file mode 100644 index 000000000..62def0c37 --- /dev/null +++ b/liteflow-testcase-springnative/src/test/resources/liteflowcomponent/flow.xml @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file