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