From 93e5693db6aa8583c0cee0d9e9520f745d391fc2 Mon Sep 17 00:00:00 2001 From: Dale Lee <1658850308@qq.com> Date: Wed, 12 Jul 2023 15:18:01 +0800 Subject: [PATCH] =?UTF-8?q?feature=20#I7I3LL=20=E4=BF=AE=E6=94=B9=E6=B5=8B?= =?UTF-8?q?=E8=AF=95=E7=94=A8=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...xWaitSecondsELDeclMultiSpringbootTest.java | 24 +++++++++++++++++-- .../test/resources/maxWaitSeconds/flow.el.xml | 12 ++++++++++ .../MaxWaitSecondsELDeclSpringbootTest.java | 24 +++++++++++++++++-- .../test/resources/maxWaitSeconds/flow.el.xml | 12 ++++++++++ .../maxWaitSeconds/MaxWaitSecondsTest.java | 24 +++++++++++++++++-- .../test/resources/maxWaitSeconds/flow.el.xml | 12 ++++++++++ .../MaxWaitSecondsSolonTest.java | 24 +++++++++++++++++-- .../test/resources/maxWaitSeconds/flow.el.xml | 12 ++++++++++ .../MaxWaitSecondsELSpringTest.java | 24 +++++++++++++++++-- .../test/resources/maxWaitSeconds/flow.el.xml | 12 ++++++++++ 10 files changed, 170 insertions(+), 10 deletions(-) diff --git a/liteflow-testcase-el/liteflow-testcase-el-declare-multi-springboot/src/test/java/com/yomahub/liteflow/test/maxWaitSeconds/MaxWaitSecondsELDeclMultiSpringbootTest.java b/liteflow-testcase-el/liteflow-testcase-el-declare-multi-springboot/src/test/java/com/yomahub/liteflow/test/maxWaitSeconds/MaxWaitSecondsELDeclMultiSpringbootTest.java index a936a1631..44f9de204 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-declare-multi-springboot/src/test/java/com/yomahub/liteflow/test/maxWaitSeconds/MaxWaitSecondsELDeclMultiSpringbootTest.java +++ b/liteflow-testcase-el/liteflow-testcase-el-declare-multi-springboot/src/test/java/com/yomahub/liteflow/test/maxWaitSeconds/MaxWaitSecondsELDeclMultiSpringbootTest.java @@ -17,6 +17,8 @@ import org.springframework.test.context.junit4.SpringRunner; import javax.annotation.Resource; +import java.util.concurrent.TimeoutException; + import static com.yomahub.liteflow.test.maxWaitSeconds.cmp.CmpConfig.CONTENT_KEY; /** @@ -49,7 +51,7 @@ public class MaxWaitSecondsELDeclMultiSpringbootTest extends BaseTest { // 测试 When 的超时情况 @Test public void testWhen1() { - assertTimeout("when1"); + assertWhenTimeout("when1"); } // 测试 WHEN 的非超时情况 @@ -135,7 +137,7 @@ public class MaxWaitSecondsELDeclMultiSpringbootTest extends BaseTest { public void testFinally1() { LiteflowResponse response = flowExecutor.execute2Resp("finally", "arg"); Assert.assertFalse(response.isSuccess()); - Assert.assertEquals(WhenTimeoutException.class, response.getCause().getClass()); + Assert.assertEquals(TimeoutException.class, response.getCause().getClass()); // FINALLY 执行时在默认数据上下文中放入了 CONTENT_KEY DefaultContext contextBean = response.getFirstContextBean(); Assert.assertTrue(contextBean.hasData(CONTENT_KEY)); @@ -147,7 +149,25 @@ public class MaxWaitSecondsELDeclMultiSpringbootTest extends BaseTest { Assert.assertFalse(LiteFlowChainELBuilder.validate("THEN(a, b, FINALLY(c).maxWaitSeconds(10))")); } + // 测试 chain 的超时情况 + @Test + public void testChain1() { + assertTimeout("chain1"); + } + + // 测试 chain 的非超时情况 + @Test + public void testChain2() { + assertNotTimeout("chain2"); + } + private void assertTimeout(String chainId) { + LiteflowResponse response = flowExecutor.execute2Resp(chainId, "arg"); + Assert.assertFalse(response.isSuccess()); + Assert.assertEquals(TimeoutException.class, response.getCause().getClass()); + } + + private void assertWhenTimeout(String chainId) { LiteflowResponse response = flowExecutor.execute2Resp(chainId, "arg"); Assert.assertFalse(response.isSuccess()); Assert.assertEquals(WhenTimeoutException.class, response.getCause().getClass()); diff --git a/liteflow-testcase-el/liteflow-testcase-el-declare-multi-springboot/src/test/resources/maxWaitSeconds/flow.el.xml b/liteflow-testcase-el/liteflow-testcase-el-declare-multi-springboot/src/test/resources/maxWaitSeconds/flow.el.xml index e32dc3203..91869ae50 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-declare-multi-springboot/src/test/resources/maxWaitSeconds/flow.el.xml +++ b/liteflow-testcase-el/liteflow-testcase-el-declare-multi-springboot/src/test/resources/maxWaitSeconds/flow.el.xml @@ -95,4 +95,16 @@ THEN(PRE(a), b, FINALLY(d)).maxWaitSeconds(2); + + + THEN(b) + + + + testChain.maxWaitSeconds(1); + + + + testChain.maxWaitSeconds(3); + \ No newline at end of file diff --git a/liteflow-testcase-el/liteflow-testcase-el-declare-springboot/src/test/java/com/yomahub/liteflow/test/maxWaitSeconds/MaxWaitSecondsELDeclSpringbootTest.java b/liteflow-testcase-el/liteflow-testcase-el-declare-springboot/src/test/java/com/yomahub/liteflow/test/maxWaitSeconds/MaxWaitSecondsELDeclSpringbootTest.java index 5aab2d502..4c4883197 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-declare-springboot/src/test/java/com/yomahub/liteflow/test/maxWaitSeconds/MaxWaitSecondsELDeclSpringbootTest.java +++ b/liteflow-testcase-el/liteflow-testcase-el-declare-springboot/src/test/java/com/yomahub/liteflow/test/maxWaitSeconds/MaxWaitSecondsELDeclSpringbootTest.java @@ -22,6 +22,8 @@ import org.springframework.test.context.junit4.SpringRunner; import javax.annotation.Resource; +import java.util.concurrent.TimeoutException; + import static com.yomahub.liteflow.test.maxWaitSeconds.cmp.DCmp.CONTENT_KEY; /** @@ -54,7 +56,7 @@ public class MaxWaitSecondsELDeclSpringbootTest extends BaseTest { // 测试 When 的超时情况 @Test public void testWhen1() { - assertTimeout("when1"); + assertWhenTimeout("when1"); } // 测试 WHEN 的非超时情况 @@ -140,7 +142,7 @@ public class MaxWaitSecondsELDeclSpringbootTest extends BaseTest { public void testFinally1() { LiteflowResponse response = flowExecutor.execute2Resp("finally", "arg"); Assert.assertFalse(response.isSuccess()); - Assert.assertEquals(WhenTimeoutException.class, response.getCause().getClass()); + Assert.assertEquals(TimeoutException.class, response.getCause().getClass()); // FINALLY 执行时在默认数据上下文中放入了 CONTENT_KEY DefaultContext contextBean = response.getFirstContextBean(); Assert.assertTrue(contextBean.hasData(CONTENT_KEY)); @@ -170,7 +172,25 @@ public class MaxWaitSecondsELDeclSpringbootTest extends BaseTest { Assert.assertFalse(LiteFlowChainELBuilder.validate("THEN(a, b, FINALLY(c).maxWaitSeconds(10))")); } + // 测试 chain 的超时情况 + @Test + public void testChain1() { + assertTimeout("chain1"); + } + + // 测试 chain 的非超时情况 + @Test + public void testChain2() { + assertNotTimeout("chain2"); + } + private void assertTimeout(String chainId) { + LiteflowResponse response = flowExecutor.execute2Resp(chainId, "arg"); + Assert.assertFalse(response.isSuccess()); + Assert.assertEquals(TimeoutException.class, response.getCause().getClass()); + } + + private void assertWhenTimeout(String chainId) { LiteflowResponse response = flowExecutor.execute2Resp(chainId, "arg"); Assert.assertFalse(response.isSuccess()); Assert.assertEquals(WhenTimeoutException.class, response.getCause().getClass()); diff --git a/liteflow-testcase-el/liteflow-testcase-el-declare-springboot/src/test/resources/maxWaitSeconds/flow.el.xml b/liteflow-testcase-el/liteflow-testcase-el-declare-springboot/src/test/resources/maxWaitSeconds/flow.el.xml index e32dc3203..91869ae50 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-declare-springboot/src/test/resources/maxWaitSeconds/flow.el.xml +++ b/liteflow-testcase-el/liteflow-testcase-el-declare-springboot/src/test/resources/maxWaitSeconds/flow.el.xml @@ -95,4 +95,16 @@ THEN(PRE(a), b, FINALLY(d)).maxWaitSeconds(2); + + + THEN(b) + + + + testChain.maxWaitSeconds(1); + + + + testChain.maxWaitSeconds(3); + \ No newline at end of file diff --git a/liteflow-testcase-el/liteflow-testcase-el-nospring/src/test/java/com/yomahub/liteflow/test/maxWaitSeconds/MaxWaitSecondsTest.java b/liteflow-testcase-el/liteflow-testcase-el-nospring/src/test/java/com/yomahub/liteflow/test/maxWaitSeconds/MaxWaitSecondsTest.java index 51b1aef60..be538913e 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-nospring/src/test/java/com/yomahub/liteflow/test/maxWaitSeconds/MaxWaitSecondsTest.java +++ b/liteflow-testcase-el/liteflow-testcase-el-nospring/src/test/java/com/yomahub/liteflow/test/maxWaitSeconds/MaxWaitSecondsTest.java @@ -17,6 +17,8 @@ import org.junit.Assert; import org.junit.BeforeClass; import org.junit.Test; +import java.util.concurrent.TimeoutException; + import static com.yomahub.liteflow.test.maxWaitSeconds.cmp.DCmp.CONTENT_KEY; /** @@ -51,7 +53,7 @@ public class MaxWaitSecondsTest extends BaseTest { // 测试 When 的超时情况 @Test public void testWhen1() { - assertTimeout("when1"); + assertWhenTimeout("when1"); } // 测试 WHEN 的非超时情况 @@ -137,7 +139,7 @@ public class MaxWaitSecondsTest extends BaseTest { public void testFinally1() { LiteflowResponse response = flowExecutor.execute2Resp("finally", "arg"); Assert.assertFalse(response.isSuccess()); - Assert.assertEquals(WhenTimeoutException.class, response.getCause().getClass()); + Assert.assertEquals(TimeoutException.class, response.getCause().getClass()); // FINALLY 执行时在默认数据上下文中放入了 CONTENT_KEY DefaultContext contextBean = response.getFirstContextBean(); Assert.assertTrue(contextBean.hasData(CONTENT_KEY)); @@ -168,7 +170,25 @@ public class MaxWaitSecondsTest extends BaseTest { Assert.assertFalse(LiteFlowChainELBuilder.validate("THEN(a, b, FINALLY(c).maxWaitSeconds(10))")); } + // 测试 chain 的超时情况 + @Test + public void testChain1() { + assertTimeout("chain1"); + } + + // 测试 chain 的非超时情况 + @Test + public void testChain2() { + assertNotTimeout("chain2"); + } + private void assertTimeout(String chainId) { + LiteflowResponse response = flowExecutor.execute2Resp(chainId, "arg"); + Assert.assertFalse(response.isSuccess()); + Assert.assertEquals(TimeoutException.class, response.getCause().getClass()); + } + + private void assertWhenTimeout(String chainId) { LiteflowResponse response = flowExecutor.execute2Resp(chainId, "arg"); Assert.assertFalse(response.isSuccess()); Assert.assertEquals(WhenTimeoutException.class, response.getCause().getClass()); diff --git a/liteflow-testcase-el/liteflow-testcase-el-nospring/src/test/resources/maxWaitSeconds/flow.el.xml b/liteflow-testcase-el/liteflow-testcase-el-nospring/src/test/resources/maxWaitSeconds/flow.el.xml index 14bb4d482..09c955ca6 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-nospring/src/test/resources/maxWaitSeconds/flow.el.xml +++ b/liteflow-testcase-el/liteflow-testcase-el-nospring/src/test/resources/maxWaitSeconds/flow.el.xml @@ -105,4 +105,16 @@ THEN(PRE(a), b, FINALLY(d)).maxWaitSeconds(2); + + + THEN(b) + + + + testChain.maxWaitSeconds(1); + + + + testChain.maxWaitSeconds(3); + \ No newline at end of file diff --git a/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/maxWaitSeconds/MaxWaitSecondsSolonTest.java b/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/maxWaitSeconds/MaxWaitSecondsSolonTest.java index 9ece6166b..feeb2c805 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/maxWaitSeconds/MaxWaitSecondsSolonTest.java +++ b/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/maxWaitSeconds/MaxWaitSecondsSolonTest.java @@ -18,6 +18,8 @@ import org.noear.solon.annotation.Inject; import org.noear.solon.test.SolonJUnit4ClassRunner; import org.noear.solon.test.annotation.TestPropertySource; +import java.util.concurrent.TimeoutException; + import static com.yomahub.liteflow.test.maxWaitSeconds.cmp.DCmp.CONTENT_KEY; /** @@ -48,7 +50,7 @@ public class MaxWaitSecondsSolonTest extends BaseTest { // 测试 When 的超时情况 @Test public void testWhen1() { - assertTimeout("when1"); + assertWhenTimeout("when1"); } // 测试 WHEN 的非超时情况 @@ -134,7 +136,7 @@ public class MaxWaitSecondsSolonTest extends BaseTest { public void testFinally1() { LiteflowResponse response = flowExecutor.execute2Resp("finally", "arg"); Assert.assertFalse(response.isSuccess()); - Assert.assertEquals(WhenTimeoutException.class, response.getCause().getClass()); + Assert.assertEquals(TimeoutException.class, response.getCause().getClass()); // FINALLY 执行时在默认数据上下文中放入了 CONTENT_KEY DefaultContext contextBean = response.getFirstContextBean(); Assert.assertTrue(contextBean.hasData(CONTENT_KEY)); @@ -165,7 +167,25 @@ public class MaxWaitSecondsSolonTest extends BaseTest { Assert.assertFalse(LiteFlowChainELBuilder.validate("THEN(a, b, FINALLY(c).maxWaitSeconds(10))")); } + // 测试 chain 的超时情况 + @Test + public void testChain1() { + assertTimeout("chain1"); + } + + // 测试 chain 的非超时情况 + @Test + public void testChain2() { + assertNotTimeout("chain2"); + } + private void assertTimeout(String chainId) { + LiteflowResponse response = flowExecutor.execute2Resp(chainId, "arg"); + Assert.assertFalse(response.isSuccess()); + Assert.assertEquals(TimeoutException.class, response.getCause().getClass()); + } + + private void assertWhenTimeout(String chainId) { LiteflowResponse response = flowExecutor.execute2Resp(chainId, "arg"); Assert.assertFalse(response.isSuccess()); Assert.assertEquals(WhenTimeoutException.class, response.getCause().getClass()); diff --git a/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/resources/maxWaitSeconds/flow.el.xml b/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/resources/maxWaitSeconds/flow.el.xml index e32dc3203..91869ae50 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/resources/maxWaitSeconds/flow.el.xml +++ b/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/resources/maxWaitSeconds/flow.el.xml @@ -95,4 +95,16 @@ THEN(PRE(a), b, FINALLY(d)).maxWaitSeconds(2); + + + THEN(b) + + + + testChain.maxWaitSeconds(1); + + + + testChain.maxWaitSeconds(3); + \ No newline at end of file diff --git a/liteflow-testcase-el/liteflow-testcase-el-springnative/src/test/java/com/yomahub/liteflow/test/maxWaitSeconds/MaxWaitSecondsELSpringTest.java b/liteflow-testcase-el/liteflow-testcase-el-springnative/src/test/java/com/yomahub/liteflow/test/maxWaitSeconds/MaxWaitSecondsELSpringTest.java index df18a9e49..085644f98 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-springnative/src/test/java/com/yomahub/liteflow/test/maxWaitSeconds/MaxWaitSecondsELSpringTest.java +++ b/liteflow-testcase-el/liteflow-testcase-el-springnative/src/test/java/com/yomahub/liteflow/test/maxWaitSeconds/MaxWaitSecondsELSpringTest.java @@ -19,6 +19,8 @@ import org.springframework.test.context.junit4.SpringRunner; import javax.annotation.Resource; +import java.util.concurrent.TimeoutException; + import static com.yomahub.liteflow.test.maxWaitSeconds.cmp.DCmp.CONTENT_KEY; /** @@ -48,7 +50,7 @@ public class MaxWaitSecondsELSpringTest extends BaseTest { // 测试 When 的超时情况 @Test public void testWhen1() { - assertTimeout("when1"); + assertWhenTimeout("when1"); } // 测试 WHEN 的非超时情况 @@ -134,7 +136,7 @@ public class MaxWaitSecondsELSpringTest extends BaseTest { public void testFinally1() { LiteflowResponse response = flowExecutor.execute2Resp("finally", "arg"); Assert.assertFalse(response.isSuccess()); - Assert.assertEquals(WhenTimeoutException.class, response.getCause().getClass()); + Assert.assertEquals(TimeoutException.class, response.getCause().getClass()); // FINALLY 执行时在默认数据上下文中放入了 CONTENT_KEY DefaultContext contextBean = response.getFirstContextBean(); Assert.assertTrue(contextBean.hasData(CONTENT_KEY)); @@ -165,7 +167,25 @@ public class MaxWaitSecondsELSpringTest extends BaseTest { Assert.assertFalse(LiteFlowChainELBuilder.validate("THEN(a, b, FINALLY(c).maxWaitSeconds(10))")); } + // 测试 chain 的超时情况 + @Test + public void testChain1() { + assertTimeout("chain1"); + } + + // 测试 chain 的非超时情况 + @Test + public void testChain2() { + assertNotTimeout("chain2"); + } + private void assertTimeout(String chainId) { + LiteflowResponse response = flowExecutor.execute2Resp(chainId, "arg"); + Assert.assertFalse(response.isSuccess()); + Assert.assertEquals(TimeoutException.class, response.getCause().getClass()); + } + + private void assertWhenTimeout(String chainId) { LiteflowResponse response = flowExecutor.execute2Resp(chainId, "arg"); Assert.assertFalse(response.isSuccess()); Assert.assertEquals(WhenTimeoutException.class, response.getCause().getClass()); diff --git a/liteflow-testcase-el/liteflow-testcase-el-springnative/src/test/resources/maxWaitSeconds/flow.el.xml b/liteflow-testcase-el/liteflow-testcase-el-springnative/src/test/resources/maxWaitSeconds/flow.el.xml index e32dc3203..91869ae50 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-springnative/src/test/resources/maxWaitSeconds/flow.el.xml +++ b/liteflow-testcase-el/liteflow-testcase-el-springnative/src/test/resources/maxWaitSeconds/flow.el.xml @@ -95,4 +95,16 @@ THEN(PRE(a), b, FINALLY(d)).maxWaitSeconds(2); + + + THEN(b) + + + + testChain.maxWaitSeconds(1); + + + + testChain.maxWaitSeconds(3); + \ No newline at end of file