From 6f95d0762f2db0b03cbd82752a81768fbbcbdbed Mon Sep 17 00:00:00 2001 From: bryan31 Date: Sat, 26 Feb 2022 23:27:32 +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 --- ...tTest.java => BuilderSpringbootTest1.java} | 22 +++++----- .../test/builder/BuilderSpringbootTest2.java | 44 +++++++++++++++++++ .../test/builder/{cmp => cmp1}/ACmp.java | 2 +- .../test/builder/{cmp => cmp1}/BCmp.java | 2 +- .../test/builder/{cmp => cmp1}/CCmp.java | 2 +- .../test/builder/{cmp => cmp1}/DCmp.java | 2 +- .../liteflow/test/builder/cmp1}/ECmp.java | 2 +- .../liteflow/test/builder/cmp1}/FCmp.java | 2 +- .../test/builder/{cmp => cmp1}/GCmp.java | 2 +- .../liteflow/test/builder/cmp2/HCmp.java | 21 +++++++++ .../liteflow/test/builder/cmp2/ICmp.java | 21 +++++++++ .../liteflow/test/builder/cmp2/JCmp.java | 21 +++++++++ ...pringTest.java => BuilderSpringTest1.java} | 18 ++++---- .../test/builder/BuilderSpringTest2.java | 37 ++++++++++++++++ .../test/builder/{cmp => cmp1}/ACmp.java | 2 +- .../test/builder/{cmp => cmp1}/BCmp.java | 2 +- .../test/builder/{cmp => cmp1}/CCmp.java | 2 +- .../test/builder/{cmp => cmp1}/DCmp.java | 2 +- .../liteflow/test/builder/cmp1}/ECmp.java | 2 +- .../liteflow/test/builder/cmp1}/FCmp.java | 2 +- .../test/builder/{cmp => cmp1}/GCmp.java | 2 +- .../liteflow/test/builder/cmp2/HCmp.java | 21 +++++++++ .../liteflow/test/builder/cmp2/ICmp.java | 21 +++++++++ .../liteflow/test/builder/cmp2/JCmp.java | 21 +++++++++ .../liteflow/test/useTTLInWhen/TestTL.java | 16 +++++++ .../useTTLInWhen/UseTTLInWhenSpringTest.java | 36 +++++++++++++++ .../liteflow/test/useTTLInWhen/cmp/ACmp.java | 22 ++++++++++ .../liteflow/test/useTTLInWhen/cmp/BCmp.java | 24 ++++++++++ .../liteflow/test/useTTLInWhen/cmp/CCmp.java | 24 ++++++++++ .../liteflow/test/useTTLInWhen/cmp/DCmp.java | 24 ++++++++++ .../liteflow/test/useTTLInWhen/cmp/ECmp.java | 24 ++++++++++ .../liteflow/test/useTTLInWhen/cmp/FCmp.java | 24 ++++++++++ .../whenTimeOut/WhenTimeOutSpringTest1.java | 39 ++++++++++++++++ .../whenTimeOut/WhenTimeOutSpringTest2.java | 37 ++++++++++++++++ .../liteflow/test/whenTimeOut/cmp/ACmp.java | 20 +++++++++ .../liteflow/test/whenTimeOut/cmp/BCmp.java | 26 +++++++++++ .../liteflow/test/whenTimeOut/cmp/CCmp.java | 26 +++++++++++ .../liteflow/test/whenTimeOut/cmp/DCmp.java | 26 +++++++++++ .../liteflow/test/whenTimeOut/cmp/ECmp.java | 26 +++++++++++ .../liteflow/test/whenTimeOut/cmp/FCmp.java | 26 +++++++++++ .../{application.xml => application1.xml} | 0 .../test/resources/builder/application2.xml | 19 ++++++++ .../resources/useTTLInWhen/application.xml | 24 ++++++++++ .../src/test/resources/useTTLInWhen/flow.xml | 7 +++ .../resources/whenTimeOut/application1.xml | 24 ++++++++++ .../resources/whenTimeOut/application2.xml | 24 ++++++++++ .../src/test/resources/whenTimeOut/flow1.xml | 6 +++ .../src/test/resources/whenTimeOut/flow2.xml | 8 ++++ 48 files changed, 773 insertions(+), 34 deletions(-) rename liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/builder/{BuilderSpringbootTest.java => BuilderSpringbootTest1.java} (90%) create mode 100644 liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/builder/BuilderSpringbootTest2.java rename liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/builder/{cmp => cmp1}/ACmp.java (88%) rename liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/builder/{cmp => cmp1}/BCmp.java (88%) rename liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/builder/{cmp => cmp1}/CCmp.java (88%) rename liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/builder/{cmp => cmp1}/DCmp.java (88%) rename {liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/builder/cmp => liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/builder/cmp1}/ECmp.java (88%) rename {liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/builder/cmp => liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/builder/cmp1}/FCmp.java (87%) rename liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/builder/{cmp => cmp1}/GCmp.java (87%) create mode 100644 liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/builder/cmp2/HCmp.java create mode 100644 liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/builder/cmp2/ICmp.java create mode 100644 liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/builder/cmp2/JCmp.java rename liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/builder/{BuilderSpringTest.java => BuilderSpringTest1.java} (94%) create mode 100644 liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/builder/BuilderSpringTest2.java rename liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/builder/{cmp => cmp1}/ACmp.java (87%) rename liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/builder/{cmp => cmp1}/BCmp.java (87%) rename liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/builder/{cmp => cmp1}/CCmp.java (87%) rename liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/builder/{cmp => cmp1}/DCmp.java (87%) rename {liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/builder/cmp => liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/builder/cmp1}/ECmp.java (88%) rename {liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/builder/cmp => liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/builder/cmp1}/FCmp.java (87%) rename liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/builder/{cmp => cmp1}/GCmp.java (87%) create mode 100644 liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/builder/cmp2/HCmp.java create mode 100644 liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/builder/cmp2/ICmp.java create mode 100644 liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/builder/cmp2/JCmp.java create mode 100644 liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/useTTLInWhen/TestTL.java create mode 100644 liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/useTTLInWhen/UseTTLInWhenSpringTest.java create mode 100644 liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/useTTLInWhen/cmp/ACmp.java create mode 100644 liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/useTTLInWhen/cmp/BCmp.java create mode 100644 liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/useTTLInWhen/cmp/CCmp.java create mode 100644 liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/useTTLInWhen/cmp/DCmp.java create mode 100644 liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/useTTLInWhen/cmp/ECmp.java create mode 100644 liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/useTTLInWhen/cmp/FCmp.java create mode 100644 liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/whenTimeOut/WhenTimeOutSpringTest1.java create mode 100644 liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/whenTimeOut/WhenTimeOutSpringTest2.java create mode 100644 liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/whenTimeOut/cmp/ACmp.java create mode 100644 liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/whenTimeOut/cmp/BCmp.java create mode 100644 liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/whenTimeOut/cmp/CCmp.java create mode 100644 liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/whenTimeOut/cmp/DCmp.java create mode 100644 liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/whenTimeOut/cmp/ECmp.java create mode 100644 liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/whenTimeOut/cmp/FCmp.java rename liteflow-testcase-springnative/src/test/resources/builder/{application.xml => application1.xml} (100%) create mode 100644 liteflow-testcase-springnative/src/test/resources/builder/application2.xml create mode 100644 liteflow-testcase-springnative/src/test/resources/useTTLInWhen/application.xml create mode 100644 liteflow-testcase-springnative/src/test/resources/useTTLInWhen/flow.xml create mode 100644 liteflow-testcase-springnative/src/test/resources/whenTimeOut/application1.xml create mode 100644 liteflow-testcase-springnative/src/test/resources/whenTimeOut/application2.xml create mode 100644 liteflow-testcase-springnative/src/test/resources/whenTimeOut/flow1.xml create mode 100644 liteflow-testcase-springnative/src/test/resources/whenTimeOut/flow2.xml diff --git a/liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/builder/BuilderSpringbootTest.java b/liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/builder/BuilderSpringbootTest1.java similarity index 90% rename from liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/builder/BuilderSpringbootTest.java rename to liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/builder/BuilderSpringbootTest1.java index a2518b089..efa46b0d2 100644 --- a/liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/builder/BuilderSpringbootTest.java +++ b/liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/builder/BuilderSpringbootTest1.java @@ -13,7 +13,6 @@ 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.junit4.SpringRunner; import javax.annotation.Resource; @@ -22,9 +21,9 @@ import javax.annotation.Resource; //这里只是最基本的builder模式的测试,只是为了验证在springboot模式下的正常性 //更详细的builder模式测试用例会单独拉testcase去做 @RunWith(SpringRunner.class) -@SpringBootTest(classes = BuilderSpringbootTest.class) +@SpringBootTest(classes = BuilderSpringbootTest1.class) @EnableAutoConfiguration -public class BuilderSpringbootTest extends BaseTest { +public class BuilderSpringbootTest1 extends BaseTest { @Resource private FlowExecutor flowExecutor; @@ -35,37 +34,37 @@ public class BuilderSpringbootTest extends BaseTest { LiteFlowNodeBuilder.createNode().setId("a") .setName("组件A") .setType(NodeTypeEnum.COMMON) - .setClazz("com.yomahub.liteflow.test.builder.cmp.ACmp") + .setClazz("com.yomahub.liteflow.test.builder.cmp1.ACmp") .build(); LiteFlowNodeBuilder.createNode().setId("b") .setName("组件B") .setType(NodeTypeEnum.COMMON) - .setClazz("com.yomahub.liteflow.test.builder.cmp.BCmp") + .setClazz("com.yomahub.liteflow.test.builder.cmp1.BCmp") .build(); LiteFlowNodeBuilder.createNode().setId("c") .setName("组件C") .setType(NodeTypeEnum.COMMON) - .setClazz("com.yomahub.liteflow.test.builder.cmp.CCmp") + .setClazz("com.yomahub.liteflow.test.builder.cmp1.CCmp") .build(); LiteFlowNodeBuilder.createNode().setId("d") .setName("组件D") .setType(NodeTypeEnum.COMMON) - .setClazz("com.yomahub.liteflow.test.builder.cmp.DCmp") + .setClazz("com.yomahub.liteflow.test.builder.cmp1.DCmp") .build(); LiteFlowNodeBuilder.createNode().setId("e") .setName("组件E") .setType(NodeTypeEnum.COMMON) - .setClazz("com.yomahub.liteflow.test.builder.cmp.ECmp") + .setClazz("com.yomahub.liteflow.test.builder.cmp1.ECmp") .build(); LiteFlowNodeBuilder.createNode().setId("f") .setName("组件F") .setType(NodeTypeEnum.COMMON) - .setClazz("com.yomahub.liteflow.test.builder.cmp.FCmp") + .setClazz("com.yomahub.liteflow.test.builder.cmp1.FCmp") .build(); LiteFlowNodeBuilder.createNode().setId("g") .setName("组件G") .setType(NodeTypeEnum.COMMON) - .setClazz("com.yomahub.liteflow.test.builder.cmp.GCmp") + .setClazz("com.yomahub.liteflow.test.builder.cmp1.GCmp") .build(); @@ -75,7 +74,7 @@ public class BuilderSpringbootTest extends BaseTest { LiteFlowChainBuilder.createChain().setChainName("chain1").setCondition( LiteFlowConditionBuilder - .createWhenCondition() + .createThenCondition() .setValue("a,b").build() ).setCondition( LiteFlowConditionBuilder.createWhenCondition() @@ -84,5 +83,6 @@ public class BuilderSpringbootTest extends BaseTest { LiteflowResponse response = flowExecutor.execute2Resp("chain1"); Assert.assertTrue(response.isSuccess()); + Assert.assertEquals("a[组件A]==>b[组件B]==>e[组件E]==>c[组件C]==>d[组件D]", response.getSlot().getExecuteStepStr()); } } diff --git a/liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/builder/BuilderSpringbootTest2.java b/liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/builder/BuilderSpringbootTest2.java new file mode 100644 index 000000000..e4569c3fb --- /dev/null +++ b/liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/builder/BuilderSpringbootTest2.java @@ -0,0 +1,44 @@ +package com.yomahub.liteflow.test.builder; + +import com.yomahub.liteflow.builder.LiteFlowChainBuilder; +import com.yomahub.liteflow.builder.LiteFlowConditionBuilder; +import com.yomahub.liteflow.builder.LiteFlowNodeBuilder; +import com.yomahub.liteflow.core.FlowExecutor; +import com.yomahub.liteflow.entity.data.DefaultSlot; +import com.yomahub.liteflow.entity.data.LiteflowResponse; +import com.yomahub.liteflow.enums.NodeTypeEnum; +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; + +//基于builder模式的单元测试 +//这里测试的是通过spring去扫描,但是通过代码去构建chain的用例 +@RunWith(SpringRunner.class) +@SpringBootTest(classes = BuilderSpringbootTest2.class) +@EnableAutoConfiguration +@ComponentScan({"com.yomahub.liteflow.test.builder.cmp2"}) +public class BuilderSpringbootTest2 extends BaseTest { + + @Resource + private FlowExecutor flowExecutor; + + //通过spring去扫描组件,通过代码去构建chain + @Test + public void testBuilder() throws Exception { + LiteFlowChainBuilder.createChain().setChainName("chain1").setCondition( + LiteFlowConditionBuilder.createThenCondition().setValue("h,i,j").build() + ).build(); + + LiteflowResponse response = flowExecutor.execute2Resp("chain1"); + Assert.assertTrue(response.isSuccess()); + Assert.assertEquals("h==>i==>j", response.getSlot().getExecuteStepStr()); + } +} diff --git a/liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/builder/cmp/ACmp.java b/liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/builder/cmp1/ACmp.java similarity index 88% rename from liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/builder/cmp/ACmp.java rename to liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/builder/cmp1/ACmp.java index 8e52d41c6..79573bc8a 100644 --- a/liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/builder/cmp/ACmp.java +++ b/liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/builder/cmp1/ACmp.java @@ -5,7 +5,7 @@ * @email weenyc31@163.com * @Date 2020/4/1 */ -package com.yomahub.liteflow.test.builder.cmp; +package com.yomahub.liteflow.test.builder.cmp1; import com.yomahub.liteflow.core.NodeComponent; import org.springframework.stereotype.Component; diff --git a/liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/builder/cmp/BCmp.java b/liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/builder/cmp1/BCmp.java similarity index 88% rename from liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/builder/cmp/BCmp.java rename to liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/builder/cmp1/BCmp.java index 42d9fbc7b..3e6c3f076 100644 --- a/liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/builder/cmp/BCmp.java +++ b/liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/builder/cmp1/BCmp.java @@ -5,7 +5,7 @@ * @email weenyc31@163.com * @Date 2020/4/1 */ -package com.yomahub.liteflow.test.builder.cmp; +package com.yomahub.liteflow.test.builder.cmp1; import com.yomahub.liteflow.core.NodeComponent; import org.springframework.stereotype.Component; diff --git a/liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/builder/cmp/CCmp.java b/liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/builder/cmp1/CCmp.java similarity index 88% rename from liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/builder/cmp/CCmp.java rename to liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/builder/cmp1/CCmp.java index 69ab153e1..679565030 100644 --- a/liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/builder/cmp/CCmp.java +++ b/liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/builder/cmp1/CCmp.java @@ -5,7 +5,7 @@ * @email weenyc31@163.com * @Date 2020/4/1 */ -package com.yomahub.liteflow.test.builder.cmp; +package com.yomahub.liteflow.test.builder.cmp1; import com.yomahub.liteflow.core.NodeComponent; import org.springframework.stereotype.Component; diff --git a/liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/builder/cmp/DCmp.java b/liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/builder/cmp1/DCmp.java similarity index 88% rename from liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/builder/cmp/DCmp.java rename to liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/builder/cmp1/DCmp.java index 30b8b5248..010fc1852 100644 --- a/liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/builder/cmp/DCmp.java +++ b/liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/builder/cmp1/DCmp.java @@ -5,7 +5,7 @@ * @email weenyc31@163.com * @Date 2020/4/1 */ -package com.yomahub.liteflow.test.builder.cmp; +package com.yomahub.liteflow.test.builder.cmp1; import com.yomahub.liteflow.core.NodeComponent; import org.springframework.stereotype.Component; diff --git a/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/builder/cmp/ECmp.java b/liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/builder/cmp1/ECmp.java similarity index 88% rename from liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/builder/cmp/ECmp.java rename to liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/builder/cmp1/ECmp.java index 4b11789ac..0530a0d4d 100644 --- a/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/builder/cmp/ECmp.java +++ b/liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/builder/cmp1/ECmp.java @@ -5,7 +5,7 @@ * @email weenyc31@163.com * @Date 2020/4/1 */ -package com.yomahub.liteflow.test.builder.cmp; +package com.yomahub.liteflow.test.builder.cmp1; import com.yomahub.liteflow.core.NodeCondComponent; diff --git a/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/builder/cmp/FCmp.java b/liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/builder/cmp1/FCmp.java similarity index 87% rename from liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/builder/cmp/FCmp.java rename to liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/builder/cmp1/FCmp.java index a26c3223e..6cd712581 100644 --- a/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/builder/cmp/FCmp.java +++ b/liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/builder/cmp1/FCmp.java @@ -5,7 +5,7 @@ * @email weenyc31@163.com * @Date 2020/4/1 */ -package com.yomahub.liteflow.test.builder.cmp; +package com.yomahub.liteflow.test.builder.cmp1; import com.yomahub.liteflow.core.NodeComponent; diff --git a/liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/builder/cmp/GCmp.java b/liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/builder/cmp1/GCmp.java similarity index 87% rename from liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/builder/cmp/GCmp.java rename to liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/builder/cmp1/GCmp.java index 4fd5944bb..577a21edc 100644 --- a/liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/builder/cmp/GCmp.java +++ b/liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/builder/cmp1/GCmp.java @@ -5,7 +5,7 @@ * @email weenyc31@163.com * @Date 2020/4/1 */ -package com.yomahub.liteflow.test.builder.cmp; +package com.yomahub.liteflow.test.builder.cmp1; import com.yomahub.liteflow.core.NodeComponent; diff --git a/liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/builder/cmp2/HCmp.java b/liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/builder/cmp2/HCmp.java new file mode 100644 index 000000000..4ce8c7d48 --- /dev/null +++ b/liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/builder/cmp2/HCmp.java @@ -0,0 +1,21 @@ +/** + *

Title: liteflow

+ *

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

+ * @author Bryan.Zhang + * @email weenyc31@163.com + * @Date 2020/4/1 + */ +package com.yomahub.liteflow.test.builder.cmp2; + +import com.yomahub.liteflow.annotation.LiteflowComponent; +import com.yomahub.liteflow.core.NodeComponent; + +@LiteflowComponent("h") +public class HCmp extends NodeComponent { + + @Override + public void process() { + System.out.println("HCmp executed!"); + } + +} diff --git a/liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/builder/cmp2/ICmp.java b/liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/builder/cmp2/ICmp.java new file mode 100644 index 000000000..7f803a9fe --- /dev/null +++ b/liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/builder/cmp2/ICmp.java @@ -0,0 +1,21 @@ +/** + *

Title: liteflow

+ *

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

+ * @author Bryan.Zhang + * @email weenyc31@163.com + * @Date 2020/4/1 + */ +package com.yomahub.liteflow.test.builder.cmp2; + +import com.yomahub.liteflow.annotation.LiteflowComponent; +import com.yomahub.liteflow.core.NodeComponent; + +@LiteflowComponent("i") +public class ICmp extends NodeComponent { + + @Override + public void process() { + System.out.println("ICmp executed!"); + } + +} diff --git a/liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/builder/cmp2/JCmp.java b/liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/builder/cmp2/JCmp.java new file mode 100644 index 000000000..78a8c0c89 --- /dev/null +++ b/liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/builder/cmp2/JCmp.java @@ -0,0 +1,21 @@ +/** + *

Title: liteflow

+ *

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

+ * @author Bryan.Zhang + * @email weenyc31@163.com + * @Date 2020/4/1 + */ +package com.yomahub.liteflow.test.builder.cmp2; + +import com.yomahub.liteflow.annotation.LiteflowComponent; +import com.yomahub.liteflow.core.NodeComponent; + +@LiteflowComponent("j") +public class JCmp extends NodeComponent { + + @Override + public void process() { + System.out.println("JCmp executed!"); + } + +} diff --git a/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/builder/BuilderSpringTest.java b/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/builder/BuilderSpringTest1.java similarity index 94% rename from liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/builder/BuilderSpringTest.java rename to liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/builder/BuilderSpringTest1.java index fc5d093b9..c779c42ed 100644 --- a/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/builder/BuilderSpringTest.java +++ b/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/builder/BuilderSpringTest1.java @@ -19,8 +19,8 @@ import javax.annotation.Resource; //基于builder模式的单元测试 //这里只是最基本的builder模式的测试,只是为了验证在spring模式下的正常性 @RunWith(SpringRunner.class) -@ContextConfiguration("classpath:/builder/application.xml") -public class BuilderSpringTest extends BaseTest { +@ContextConfiguration("classpath:/builder/application1.xml") +public class BuilderSpringTest1 extends BaseTest { @Resource private FlowExecutor flowExecutor; @@ -31,37 +31,37 @@ public class BuilderSpringTest extends BaseTest { LiteFlowNodeBuilder.createNode().setId("a") .setName("组件A") .setType(NodeTypeEnum.COMMON) - .setClazz("com.yomahub.liteflow.test.builder.cmp.ACmp") + .setClazz("com.yomahub.liteflow.test.builder.cmp1.ACmp") .build(); LiteFlowNodeBuilder.createNode().setId("b") .setName("组件B") .setType(NodeTypeEnum.COMMON) - .setClazz("com.yomahub.liteflow.test.builder.cmp.BCmp") + .setClazz("com.yomahub.liteflow.test.builder.cmp1.BCmp") .build(); LiteFlowNodeBuilder.createNode().setId("c") .setName("组件C") .setType(NodeTypeEnum.COMMON) - .setClazz("com.yomahub.liteflow.test.builder.cmp.CCmp") + .setClazz("com.yomahub.liteflow.test.builder.cmp1.CCmp") .build(); LiteFlowNodeBuilder.createNode().setId("d") .setName("组件D") .setType(NodeTypeEnum.COMMON) - .setClazz("com.yomahub.liteflow.test.builder.cmp.DCmp") + .setClazz("com.yomahub.liteflow.test.builder.cmp1.DCmp") .build(); LiteFlowNodeBuilder.createNode().setId("e") .setName("组件E") .setType(NodeTypeEnum.COMMON) - .setClazz("com.yomahub.liteflow.test.builder.cmp.ECmp") + .setClazz("com.yomahub.liteflow.test.builder.cmp1.ECmp") .build(); LiteFlowNodeBuilder.createNode().setId("f") .setName("组件F") .setType(NodeTypeEnum.COMMON) - .setClazz("com.yomahub.liteflow.test.builder.cmp.FCmp") + .setClazz("com.yomahub.liteflow.test.builder.cmp1.FCmp") .build(); LiteFlowNodeBuilder.createNode().setId("g") .setName("组件G") .setType(NodeTypeEnum.COMMON) - .setClazz("com.yomahub.liteflow.test.builder.cmp.GCmp") + .setClazz("com.yomahub.liteflow.test.builder.cmp1.GCmp") .build(); diff --git a/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/builder/BuilderSpringTest2.java b/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/builder/BuilderSpringTest2.java new file mode 100644 index 000000000..fb43ce14f --- /dev/null +++ b/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/builder/BuilderSpringTest2.java @@ -0,0 +1,37 @@ +package com.yomahub.liteflow.test.builder; + +import com.yomahub.liteflow.builder.LiteFlowChainBuilder; +import com.yomahub.liteflow.builder.LiteFlowConditionBuilder; +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; + +//基于builder模式的单元测试 +//这里测试的是通过spring去扫描,但是通过代码去构建chain的用例 +@RunWith(SpringRunner.class) +@ContextConfiguration("classpath:/builder/application2.xml") +public class BuilderSpringTest2 extends BaseTest { + + @Resource + private FlowExecutor flowExecutor; + + //通过spring去扫描组件,通过代码去构建chain + @Test + public void testBuilder() throws Exception { + LiteFlowChainBuilder.createChain().setChainName("chain1").setCondition( + LiteFlowConditionBuilder.createThenCondition().setValue("h,i,j").build() + ).build(); + + LiteflowResponse response = flowExecutor.execute2Resp("chain1"); + Assert.assertTrue(response.isSuccess()); + Assert.assertEquals("h==>i==>j", response.getSlot().getExecuteStepStr()); + } +} diff --git a/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/builder/cmp/ACmp.java b/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/builder/cmp1/ACmp.java similarity index 87% rename from liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/builder/cmp/ACmp.java rename to liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/builder/cmp1/ACmp.java index 79528ab3c..9fbbfba46 100644 --- a/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/builder/cmp/ACmp.java +++ b/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/builder/cmp1/ACmp.java @@ -5,7 +5,7 @@ * @email weenyc31@163.com * @Date 2020/4/1 */ -package com.yomahub.liteflow.test.builder.cmp; +package com.yomahub.liteflow.test.builder.cmp1; import com.yomahub.liteflow.core.NodeComponent; diff --git a/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/builder/cmp/BCmp.java b/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/builder/cmp1/BCmp.java similarity index 87% rename from liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/builder/cmp/BCmp.java rename to liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/builder/cmp1/BCmp.java index 15104749e..80568e476 100644 --- a/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/builder/cmp/BCmp.java +++ b/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/builder/cmp1/BCmp.java @@ -5,7 +5,7 @@ * @email weenyc31@163.com * @Date 2020/4/1 */ -package com.yomahub.liteflow.test.builder.cmp; +package com.yomahub.liteflow.test.builder.cmp1; import com.yomahub.liteflow.core.NodeComponent; diff --git a/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/builder/cmp/CCmp.java b/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/builder/cmp1/CCmp.java similarity index 87% rename from liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/builder/cmp/CCmp.java rename to liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/builder/cmp1/CCmp.java index 09bbb546d..595bc33b8 100644 --- a/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/builder/cmp/CCmp.java +++ b/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/builder/cmp1/CCmp.java @@ -5,7 +5,7 @@ * @email weenyc31@163.com * @Date 2020/4/1 */ -package com.yomahub.liteflow.test.builder.cmp; +package com.yomahub.liteflow.test.builder.cmp1; import com.yomahub.liteflow.core.NodeComponent; diff --git a/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/builder/cmp/DCmp.java b/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/builder/cmp1/DCmp.java similarity index 87% rename from liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/builder/cmp/DCmp.java rename to liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/builder/cmp1/DCmp.java index 4de902484..7ab4fee26 100644 --- a/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/builder/cmp/DCmp.java +++ b/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/builder/cmp1/DCmp.java @@ -5,7 +5,7 @@ * @email weenyc31@163.com * @Date 2020/4/1 */ -package com.yomahub.liteflow.test.builder.cmp; +package com.yomahub.liteflow.test.builder.cmp1; import com.yomahub.liteflow.core.NodeComponent; diff --git a/liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/builder/cmp/ECmp.java b/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/builder/cmp1/ECmp.java similarity index 88% rename from liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/builder/cmp/ECmp.java rename to liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/builder/cmp1/ECmp.java index 4b11789ac..0530a0d4d 100644 --- a/liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/builder/cmp/ECmp.java +++ b/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/builder/cmp1/ECmp.java @@ -5,7 +5,7 @@ * @email weenyc31@163.com * @Date 2020/4/1 */ -package com.yomahub.liteflow.test.builder.cmp; +package com.yomahub.liteflow.test.builder.cmp1; import com.yomahub.liteflow.core.NodeCondComponent; diff --git a/liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/builder/cmp/FCmp.java b/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/builder/cmp1/FCmp.java similarity index 87% rename from liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/builder/cmp/FCmp.java rename to liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/builder/cmp1/FCmp.java index a26c3223e..6cd712581 100644 --- a/liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/builder/cmp/FCmp.java +++ b/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/builder/cmp1/FCmp.java @@ -5,7 +5,7 @@ * @email weenyc31@163.com * @Date 2020/4/1 */ -package com.yomahub.liteflow.test.builder.cmp; +package com.yomahub.liteflow.test.builder.cmp1; import com.yomahub.liteflow.core.NodeComponent; diff --git a/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/builder/cmp/GCmp.java b/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/builder/cmp1/GCmp.java similarity index 87% rename from liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/builder/cmp/GCmp.java rename to liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/builder/cmp1/GCmp.java index 4fd5944bb..577a21edc 100644 --- a/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/builder/cmp/GCmp.java +++ b/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/builder/cmp1/GCmp.java @@ -5,7 +5,7 @@ * @email weenyc31@163.com * @Date 2020/4/1 */ -package com.yomahub.liteflow.test.builder.cmp; +package com.yomahub.liteflow.test.builder.cmp1; import com.yomahub.liteflow.core.NodeComponent; diff --git a/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/builder/cmp2/HCmp.java b/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/builder/cmp2/HCmp.java new file mode 100644 index 000000000..4ce8c7d48 --- /dev/null +++ b/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/builder/cmp2/HCmp.java @@ -0,0 +1,21 @@ +/** + *

Title: liteflow

+ *

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

+ * @author Bryan.Zhang + * @email weenyc31@163.com + * @Date 2020/4/1 + */ +package com.yomahub.liteflow.test.builder.cmp2; + +import com.yomahub.liteflow.annotation.LiteflowComponent; +import com.yomahub.liteflow.core.NodeComponent; + +@LiteflowComponent("h") +public class HCmp extends NodeComponent { + + @Override + public void process() { + System.out.println("HCmp executed!"); + } + +} diff --git a/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/builder/cmp2/ICmp.java b/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/builder/cmp2/ICmp.java new file mode 100644 index 000000000..7f803a9fe --- /dev/null +++ b/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/builder/cmp2/ICmp.java @@ -0,0 +1,21 @@ +/** + *

Title: liteflow

+ *

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

+ * @author Bryan.Zhang + * @email weenyc31@163.com + * @Date 2020/4/1 + */ +package com.yomahub.liteflow.test.builder.cmp2; + +import com.yomahub.liteflow.annotation.LiteflowComponent; +import com.yomahub.liteflow.core.NodeComponent; + +@LiteflowComponent("i") +public class ICmp extends NodeComponent { + + @Override + public void process() { + System.out.println("ICmp executed!"); + } + +} diff --git a/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/builder/cmp2/JCmp.java b/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/builder/cmp2/JCmp.java new file mode 100644 index 000000000..78a8c0c89 --- /dev/null +++ b/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/builder/cmp2/JCmp.java @@ -0,0 +1,21 @@ +/** + *

Title: liteflow

+ *

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

+ * @author Bryan.Zhang + * @email weenyc31@163.com + * @Date 2020/4/1 + */ +package com.yomahub.liteflow.test.builder.cmp2; + +import com.yomahub.liteflow.annotation.LiteflowComponent; +import com.yomahub.liteflow.core.NodeComponent; + +@LiteflowComponent("j") +public class JCmp extends NodeComponent { + + @Override + public void process() { + System.out.println("JCmp executed!"); + } + +} diff --git a/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/useTTLInWhen/TestTL.java b/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/useTTLInWhen/TestTL.java new file mode 100644 index 000000000..fee0055e5 --- /dev/null +++ b/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/useTTLInWhen/TestTL.java @@ -0,0 +1,16 @@ +package com.yomahub.liteflow.test.useTTLInWhen; + +import com.alibaba.ttl.TransmittableThreadLocal; + +public class TestTL { + + public static ThreadLocal tl = new TransmittableThreadLocal<>(); + + public static String get(){ + return tl.get(); + } + + public static void set(String value){ + tl.set(value); + } +} diff --git a/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/useTTLInWhen/UseTTLInWhenSpringTest.java b/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/useTTLInWhen/UseTTLInWhenSpringTest.java new file mode 100644 index 000000000..9f97b72c8 --- /dev/null +++ b/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/useTTLInWhen/UseTTLInWhenSpringTest.java @@ -0,0 +1,36 @@ +package com.yomahub.liteflow.test.useTTLInWhen; + +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; + +/** + * 在when异步节点的情况下去拿ThreadLocal里的测试场景 + * @author Bryan.Zhang + * @since 2.6.3 + */ +@RunWith(SpringRunner.class) +@ContextConfiguration("classpath:/useTTLInWhen/application.xml") +public class UseTTLInWhenSpringTest extends BaseTest { + + @Resource + private FlowExecutor flowExecutor; + + @Test + public void testUseTTLInWhen() throws Exception{ + LiteflowResponse response = flowExecutor.execute2Resp("chain1", "arg"); + Assert.assertEquals("hello,b", response.getSlot().getData("b")); + Assert.assertEquals("hello,c", response.getSlot().getData("c")); + Assert.assertEquals("hello,d", response.getSlot().getData("d")); + Assert.assertEquals("hello,e", response.getSlot().getData("e")); + Assert.assertEquals("hello,f", response.getSlot().getData("f")); + } +} diff --git a/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/useTTLInWhen/cmp/ACmp.java b/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/useTTLInWhen/cmp/ACmp.java new file mode 100644 index 000000000..bab445a4b --- /dev/null +++ b/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/useTTLInWhen/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.useTTLInWhen.cmp; + +import com.yomahub.liteflow.core.NodeComponent; +import com.yomahub.liteflow.test.useTTLInWhen.TestTL; +import org.springframework.stereotype.Component; + +@Component("a") +public class ACmp extends NodeComponent { + + @Override + public void process() { + TestTL.set("hello"); + System.out.println("ACmp executed!"); + } +} diff --git a/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/useTTLInWhen/cmp/BCmp.java b/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/useTTLInWhen/cmp/BCmp.java new file mode 100644 index 000000000..971883f3d --- /dev/null +++ b/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/useTTLInWhen/cmp/BCmp.java @@ -0,0 +1,24 @@ +/** + *

Title: liteflow

+ *

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

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

Title: liteflow

+ *

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

+ * @author Bryan.Zhang + * @email weenyc31@163.com + * @Date 2020/4/1 + */ +package com.yomahub.liteflow.test.useTTLInWhen.cmp; + +import com.yomahub.liteflow.core.NodeComponent; +import com.yomahub.liteflow.test.useTTLInWhen.TestTL; +import org.springframework.stereotype.Component; + +@Component("c") +public class CCmp extends NodeComponent { + + @Override + public void process() { + String value = TestTL.get(); + this.getSlot().setData(this.getNodeId(),value+",c"); + System.out.println("CCmp executed!"); + } + +} diff --git a/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/useTTLInWhen/cmp/DCmp.java b/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/useTTLInWhen/cmp/DCmp.java new file mode 100644 index 000000000..2b9d6d0f3 --- /dev/null +++ b/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/useTTLInWhen/cmp/DCmp.java @@ -0,0 +1,24 @@ +/** + *

Title: liteflow

+ *

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

+ * @author Bryan.Zhang + * @email weenyc31@163.com + * @Date 2020/4/1 + */ +package com.yomahub.liteflow.test.useTTLInWhen.cmp; + +import com.yomahub.liteflow.core.NodeComponent; +import com.yomahub.liteflow.test.useTTLInWhen.TestTL; +import org.springframework.stereotype.Component; + +@Component("d") +public class DCmp extends NodeComponent { + + @Override + public void process() { + String value = TestTL.get(); + this.getSlot().setData(this.getNodeId(),value+",d"); + System.out.println("DCmp executed!"); + } + +} diff --git a/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/useTTLInWhen/cmp/ECmp.java b/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/useTTLInWhen/cmp/ECmp.java new file mode 100644 index 000000000..f5af370f9 --- /dev/null +++ b/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/useTTLInWhen/cmp/ECmp.java @@ -0,0 +1,24 @@ +/** + *

Title: liteflow

+ *

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

+ * @author Bryan.Zhang + * @email weenyc31@163.com + * @Date 2020/4/1 + */ +package com.yomahub.liteflow.test.useTTLInWhen.cmp; + +import com.yomahub.liteflow.core.NodeComponent; +import com.yomahub.liteflow.test.useTTLInWhen.TestTL; +import org.springframework.stereotype.Component; + +@Component("e") +public class ECmp extends NodeComponent { + + @Override + public void process() { + String value = TestTL.get(); + this.getSlot().setData(this.getNodeId(),value+",e"); + System.out.println("ECmp executed!"); + } + +} diff --git a/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/useTTLInWhen/cmp/FCmp.java b/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/useTTLInWhen/cmp/FCmp.java new file mode 100644 index 000000000..4ff062120 --- /dev/null +++ b/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/useTTLInWhen/cmp/FCmp.java @@ -0,0 +1,24 @@ +/** + *

Title: liteflow

+ *

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

+ * @author Bryan.Zhang + * @email weenyc31@163.com + * @Date 2020/4/1 + */ +package com.yomahub.liteflow.test.useTTLInWhen.cmp; + +import com.yomahub.liteflow.core.NodeComponent; +import com.yomahub.liteflow.test.useTTLInWhen.TestTL; +import org.springframework.stereotype.Component; + +@Component("f") +public class FCmp extends NodeComponent { + + @Override + public void process() { + String value = TestTL.get(); + this.getSlot().setData(this.getNodeId(),value+",f"); + System.out.println("FCmp executed!"); + } + +} diff --git a/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/whenTimeOut/WhenTimeOutSpringTest1.java b/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/whenTimeOut/WhenTimeOutSpringTest1.java new file mode 100644 index 000000000..6418cc108 --- /dev/null +++ b/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/whenTimeOut/WhenTimeOutSpringTest1.java @@ -0,0 +1,39 @@ +package com.yomahub.liteflow.test.whenTimeOut; + +import com.yomahub.liteflow.core.FlowExecutor; +import com.yomahub.liteflow.entity.data.DefaultSlot; +import com.yomahub.liteflow.entity.data.LiteflowResponse; +import com.yomahub.liteflow.exception.WhenTimeoutException; +import com.yomahub.liteflow.test.BaseTest; +import org.junit.Assert; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringRunner; + +import javax.annotation.Resource; + +/** + * springboot环境下异步线程超时日志打印测试 + * @author Bryan.Zhang + * @since 2.6.4 + */ +@RunWith(SpringRunner.class) +@ContextConfiguration("classpath:/whenTimeOut/application1.xml") +public class WhenTimeOutSpringTest1 extends BaseTest { + + private final Logger log = LoggerFactory.getLogger(this.getClass()); + + @Resource + private FlowExecutor flowExecutor; + + //其中b和c在when情况下超时,所以抛出了WhenTimeoutException这个错 + @Test + public void testWhenTimeOut() throws Exception{ + LiteflowResponse response = flowExecutor.execute2Resp("chain1", "arg"); + Assert.assertFalse(response.isSuccess()); + Assert.assertEquals(WhenTimeoutException.class, response.getCause().getClass()); + } +} diff --git a/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/whenTimeOut/WhenTimeOutSpringTest2.java b/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/whenTimeOut/WhenTimeOutSpringTest2.java new file mode 100644 index 000000000..0dd69532a --- /dev/null +++ b/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/whenTimeOut/WhenTimeOutSpringTest2.java @@ -0,0 +1,37 @@ +package com.yomahub.liteflow.test.whenTimeOut; + +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.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringRunner; + +import javax.annotation.Resource; + +/** + * springboot环境下异步线程超时日志打印测试 + * @author Bryan.Zhang + * @since 2.6.4 + */ +@RunWith(SpringRunner.class) +@ContextConfiguration("classpath:/whenTimeOut/application2.xml") +public class WhenTimeOutSpringTest2 extends BaseTest { + + private final Logger log = LoggerFactory.getLogger(this.getClass()); + + @Resource + private FlowExecutor flowExecutor; + + //其中d,e,f都sleep 4秒,其中def是不同的组,超时设置5秒 + @Test + public void testWhenTimeOut() 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/whenTimeOut/cmp/ACmp.java b/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/whenTimeOut/cmp/ACmp.java new file mode 100644 index 000000000..19b0bc06d --- /dev/null +++ b/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/whenTimeOut/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.whenTimeOut.cmp; + +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/whenTimeOut/cmp/BCmp.java b/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/whenTimeOut/cmp/BCmp.java new file mode 100644 index 000000000..fb8cd2a1c --- /dev/null +++ b/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/whenTimeOut/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.whenTimeOut.cmp; + +import com.yomahub.liteflow.core.NodeComponent; +import org.springframework.stereotype.Component; + +@Component("b") +public class BCmp extends NodeComponent { + + @Override + public void process() { + try { + Thread.sleep(4000); + }catch (Exception ignored){ + + } + System.out.println("BCmp executed!"); + } + +} diff --git a/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/whenTimeOut/cmp/CCmp.java b/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/whenTimeOut/cmp/CCmp.java new file mode 100644 index 000000000..ee9fe9773 --- /dev/null +++ b/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/whenTimeOut/cmp/CCmp.java @@ -0,0 +1,26 @@ +/** + *

Title: liteflow

+ *

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

+ * @author Bryan.Zhang + * @email weenyc31@163.com + * @Date 2020/4/1 + */ +package com.yomahub.liteflow.test.whenTimeOut.cmp; + +import com.yomahub.liteflow.core.NodeComponent; +import org.springframework.stereotype.Component; + +@Component("c") +public class CCmp extends NodeComponent { + + @Override + public void process() { + try { + Thread.sleep(3500); + }catch (Exception ignored){ + + } + System.out.println("CCmp executed!"); + } + +} diff --git a/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/whenTimeOut/cmp/DCmp.java b/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/whenTimeOut/cmp/DCmp.java new file mode 100644 index 000000000..5f3c4b3fb --- /dev/null +++ b/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/whenTimeOut/cmp/DCmp.java @@ -0,0 +1,26 @@ +/** + *

Title: liteflow

+ *

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

+ * @author Bryan.Zhang + * @email weenyc31@163.com + * @Date 2020/4/1 + */ +package com.yomahub.liteflow.test.whenTimeOut.cmp; + +import com.yomahub.liteflow.core.NodeComponent; +import org.springframework.stereotype.Component; + +@Component("d") +public class DCmp extends NodeComponent { + + @Override + public void process() { + try { + Thread.sleep(4000); + }catch (Exception ignored){ + + } + System.out.println("DCmp executed!"); + } + +} diff --git a/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/whenTimeOut/cmp/ECmp.java b/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/whenTimeOut/cmp/ECmp.java new file mode 100644 index 000000000..0e18aee71 --- /dev/null +++ b/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/whenTimeOut/cmp/ECmp.java @@ -0,0 +1,26 @@ +/** + *

Title: liteflow

+ *

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

+ * @author Bryan.Zhang + * @email weenyc31@163.com + * @Date 2020/4/1 + */ +package com.yomahub.liteflow.test.whenTimeOut.cmp; + +import com.yomahub.liteflow.core.NodeComponent; +import org.springframework.stereotype.Component; + +@Component("e") +public class ECmp extends NodeComponent { + + @Override + public void process() { + try { + Thread.sleep(4000); + }catch (Exception ignored){ + + } + System.out.println("ECmp executed!"); + } + +} diff --git a/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/whenTimeOut/cmp/FCmp.java b/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/whenTimeOut/cmp/FCmp.java new file mode 100644 index 000000000..fad1d2d66 --- /dev/null +++ b/liteflow-testcase-springnative/src/test/java/com/yomahub/liteflow/test/whenTimeOut/cmp/FCmp.java @@ -0,0 +1,26 @@ +/** + *

Title: liteflow

+ *

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

+ * @author Bryan.Zhang + * @email weenyc31@163.com + * @Date 2020/4/1 + */ +package com.yomahub.liteflow.test.whenTimeOut.cmp; + +import com.yomahub.liteflow.core.NodeComponent; +import org.springframework.stereotype.Component; + +@Component("f") +public class FCmp extends NodeComponent { + + @Override + public void process() { + try { + Thread.sleep(4000); + }catch (Exception ignored){ + + } + System.out.println("FCmp executed!"); + } + +} diff --git a/liteflow-testcase-springnative/src/test/resources/builder/application.xml b/liteflow-testcase-springnative/src/test/resources/builder/application1.xml similarity index 100% rename from liteflow-testcase-springnative/src/test/resources/builder/application.xml rename to liteflow-testcase-springnative/src/test/resources/builder/application1.xml diff --git a/liteflow-testcase-springnative/src/test/resources/builder/application2.xml b/liteflow-testcase-springnative/src/test/resources/builder/application2.xml new file mode 100644 index 000000000..5689a4a41 --- /dev/null +++ b/liteflow-testcase-springnative/src/test/resources/builder/application2.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/liteflow-testcase-springnative/src/test/resources/useTTLInWhen/application.xml b/liteflow-testcase-springnative/src/test/resources/useTTLInWhen/application.xml new file mode 100644 index 000000000..858f2aa65 --- /dev/null +++ b/liteflow-testcase-springnative/src/test/resources/useTTLInWhen/application.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/liteflow-testcase-springnative/src/test/resources/useTTLInWhen/flow.xml b/liteflow-testcase-springnative/src/test/resources/useTTLInWhen/flow.xml new file mode 100644 index 000000000..af6d2ef54 --- /dev/null +++ b/liteflow-testcase-springnative/src/test/resources/useTTLInWhen/flow.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/liteflow-testcase-springnative/src/test/resources/whenTimeOut/application1.xml b/liteflow-testcase-springnative/src/test/resources/whenTimeOut/application1.xml new file mode 100644 index 000000000..ef785f2fc --- /dev/null +++ b/liteflow-testcase-springnative/src/test/resources/whenTimeOut/application1.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/liteflow-testcase-springnative/src/test/resources/whenTimeOut/application2.xml b/liteflow-testcase-springnative/src/test/resources/whenTimeOut/application2.xml new file mode 100644 index 000000000..375455c81 --- /dev/null +++ b/liteflow-testcase-springnative/src/test/resources/whenTimeOut/application2.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/liteflow-testcase-springnative/src/test/resources/whenTimeOut/flow1.xml b/liteflow-testcase-springnative/src/test/resources/whenTimeOut/flow1.xml new file mode 100644 index 000000000..657f64cc3 --- /dev/null +++ b/liteflow-testcase-springnative/src/test/resources/whenTimeOut/flow1.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/liteflow-testcase-springnative/src/test/resources/whenTimeOut/flow2.xml b/liteflow-testcase-springnative/src/test/resources/whenTimeOut/flow2.xml new file mode 100644 index 000000000..6586ab0b8 --- /dev/null +++ b/liteflow-testcase-springnative/src/test/resources/whenTimeOut/flow2.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file