From 2a3bb594048c2c0c77d8fe26be3288dda5161834 Mon Sep 17 00:00:00 2001 From: "everywhere.z" Date: Fri, 10 Jun 2022 17:54:40 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=A3=B0=E6=98=8E=E5=BC=8F?= =?UTF-8?q?=E8=8A=82=E7=82=B9=E7=BB=A7=E6=89=BF=E7=9A=84=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E7=94=A8=E4=BE=8B=E5=9C=BA=E6=99=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../test/extend/CmpExtendSpringbootTest.java | 39 +++++++++++++++++++ .../liteflow/test/extend/cmp/ACmp.java | 24 ++++++++++++ .../liteflow/test/extend/cmp/BCmp.java | 26 +++++++++++++ .../liteflow/test/extend/cmp/CCmp.java | 25 ++++++++++++ .../liteflow/test/extend/cmp/ParentCmp.java | 10 +++++ .../resources/extend/application.properties | 1 + .../src/test/resources/extend/flow.xml | 6 +++ 7 files changed, 131 insertions(+) create mode 100644 liteflow-testcase-declare-component/src/test/java/com/yomahub/liteflow/test/extend/CmpExtendSpringbootTest.java create mode 100644 liteflow-testcase-declare-component/src/test/java/com/yomahub/liteflow/test/extend/cmp/ACmp.java create mode 100644 liteflow-testcase-declare-component/src/test/java/com/yomahub/liteflow/test/extend/cmp/BCmp.java create mode 100644 liteflow-testcase-declare-component/src/test/java/com/yomahub/liteflow/test/extend/cmp/CCmp.java create mode 100644 liteflow-testcase-declare-component/src/test/java/com/yomahub/liteflow/test/extend/cmp/ParentCmp.java create mode 100644 liteflow-testcase-declare-component/src/test/resources/extend/application.properties create mode 100644 liteflow-testcase-declare-component/src/test/resources/extend/flow.xml diff --git a/liteflow-testcase-declare-component/src/test/java/com/yomahub/liteflow/test/extend/CmpExtendSpringbootTest.java b/liteflow-testcase-declare-component/src/test/java/com/yomahub/liteflow/test/extend/CmpExtendSpringbootTest.java new file mode 100644 index 000000000..f13627bd7 --- /dev/null +++ b/liteflow-testcase-declare-component/src/test/java/com/yomahub/liteflow/test/extend/CmpExtendSpringbootTest.java @@ -0,0 +1,39 @@ +package com.yomahub.liteflow.test.extend; + +import com.yomahub.liteflow.core.FlowExecutor; +import com.yomahub.liteflow.flow.LiteflowResponse; +import com.yomahub.liteflow.slot.DefaultContext; +import com.yomahub.liteflow.test.BaseTest; +import org.junit.Assert; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.boot.autoconfigure.EnableAutoConfiguration; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.context.annotation.ComponentScan; +import org.springframework.test.context.TestPropertySource; +import org.springframework.test.context.junit4.SpringRunner; + +import javax.annotation.Resource; + +/** + * springboot环境测试声明式组件继承其他类的场景 + * @author Bryan.Zhang + * @since 2.7.1 + */ +@RunWith(SpringRunner.class) +@TestPropertySource(value = "classpath:/extend/application.properties") +@SpringBootTest(classes = CmpExtendSpringbootTest.class) +@EnableAutoConfiguration +@ComponentScan({"com.yomahub.liteflow.test.extend.cmp"}) +public class CmpExtendSpringbootTest extends BaseTest { + + @Resource + private FlowExecutor flowExecutor; + + @Test + public void testExtend() throws Exception{ + LiteflowResponse response = flowExecutor.execute2Resp("chain1", "arg"); + Assert.assertTrue(response.isSuccess()); + } + +} diff --git a/liteflow-testcase-declare-component/src/test/java/com/yomahub/liteflow/test/extend/cmp/ACmp.java b/liteflow-testcase-declare-component/src/test/java/com/yomahub/liteflow/test/extend/cmp/ACmp.java new file mode 100644 index 000000000..58ee70a52 --- /dev/null +++ b/liteflow-testcase-declare-component/src/test/java/com/yomahub/liteflow/test/extend/cmp/ACmp.java @@ -0,0 +1,24 @@ +/** + *

Title: liteflow

+ *

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

+ * @author Bryan.Zhang + * @email weenyc31@163.com + * @Date 2020/4/1 + */ +package com.yomahub.liteflow.test.extend.cmp; + +import com.yomahub.liteflow.annotation.LiteflowCmpDefine; +import com.yomahub.liteflow.annotation.LiteflowMethod; +import com.yomahub.liteflow.core.NodeComponent; +import com.yomahub.liteflow.enums.LiteFlowMethodEnum; +import org.springframework.stereotype.Component; + +@Component("a") +@LiteflowCmpDefine +public class ACmp{ + + @LiteflowMethod(LiteFlowMethodEnum.PROCESS) + public void process(NodeComponent bindCmp) { + System.out.println("ACmp executed!"); + } +} diff --git a/liteflow-testcase-declare-component/src/test/java/com/yomahub/liteflow/test/extend/cmp/BCmp.java b/liteflow-testcase-declare-component/src/test/java/com/yomahub/liteflow/test/extend/cmp/BCmp.java new file mode 100644 index 000000000..a2bcb708b --- /dev/null +++ b/liteflow-testcase-declare-component/src/test/java/com/yomahub/liteflow/test/extend/cmp/BCmp.java @@ -0,0 +1,26 @@ +/** + *

Title: liteflow

+ *

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

+ * @author Bryan.Zhang + * @email weenyc31@163.com + * @Date 2020/4/1 + */ +package com.yomahub.liteflow.test.extend.cmp; + +import com.yomahub.liteflow.annotation.LiteflowCmpDefine; +import com.yomahub.liteflow.annotation.LiteflowMethod; +import com.yomahub.liteflow.core.NodeComponent; +import com.yomahub.liteflow.enums.LiteFlowMethodEnum; +import org.springframework.stereotype.Component; + +@Component("b") +@LiteflowCmpDefine +public class BCmp extends ParentCmp{ + + @LiteflowMethod(LiteFlowMethodEnum.PROCESS) + public void process(NodeComponent bindCmp) { + System.out.println("BCmp executed!"); + System.out.println(this.sayHi("jack")); + } + +} diff --git a/liteflow-testcase-declare-component/src/test/java/com/yomahub/liteflow/test/extend/cmp/CCmp.java b/liteflow-testcase-declare-component/src/test/java/com/yomahub/liteflow/test/extend/cmp/CCmp.java new file mode 100644 index 000000000..c95125f64 --- /dev/null +++ b/liteflow-testcase-declare-component/src/test/java/com/yomahub/liteflow/test/extend/cmp/CCmp.java @@ -0,0 +1,25 @@ +/** + *

Title: liteflow

+ *

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

+ * @author Bryan.Zhang + * @email weenyc31@163.com + * @Date 2020/4/1 + */ +package com.yomahub.liteflow.test.extend.cmp; + +import com.yomahub.liteflow.annotation.LiteflowCmpDefine; +import com.yomahub.liteflow.annotation.LiteflowMethod; +import com.yomahub.liteflow.core.NodeComponent; +import com.yomahub.liteflow.enums.LiteFlowMethodEnum; +import org.springframework.stereotype.Component; + +@Component("c") +@LiteflowCmpDefine +public class CCmp{ + + @LiteflowMethod(LiteFlowMethodEnum.PROCESS) + public void process(NodeComponent bindCmp) { + System.out.println("CCmp executed!"); + } + +} diff --git a/liteflow-testcase-declare-component/src/test/java/com/yomahub/liteflow/test/extend/cmp/ParentCmp.java b/liteflow-testcase-declare-component/src/test/java/com/yomahub/liteflow/test/extend/cmp/ParentCmp.java new file mode 100644 index 000000000..a739a2620 --- /dev/null +++ b/liteflow-testcase-declare-component/src/test/java/com/yomahub/liteflow/test/extend/cmp/ParentCmp.java @@ -0,0 +1,10 @@ +package com.yomahub.liteflow.test.extend.cmp; + +import cn.hutool.core.util.StrUtil; + +public class ParentCmp { + + protected String sayHi(String name){ + return StrUtil.format("hi,{}",name); + } +} diff --git a/liteflow-testcase-declare-component/src/test/resources/extend/application.properties b/liteflow-testcase-declare-component/src/test/resources/extend/application.properties new file mode 100644 index 000000000..7904a5796 --- /dev/null +++ b/liteflow-testcase-declare-component/src/test/resources/extend/application.properties @@ -0,0 +1 @@ +liteflow.rule-source=extend/flow.xml \ No newline at end of file diff --git a/liteflow-testcase-declare-component/src/test/resources/extend/flow.xml b/liteflow-testcase-declare-component/src/test/resources/extend/flow.xml new file mode 100644 index 000000000..22870d94f --- /dev/null +++ b/liteflow-testcase-declare-component/src/test/resources/extend/flow.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file