mirror of
https://gitee.com/dromara/liteFlow.git
synced 2026-05-14 12:12:08 +08:00
data方法传入字符串时,输出加单引号。
This commit is contained in:
@@ -59,17 +59,17 @@ public class CatchELBuilderTest extends BaseTest {
|
||||
public void testCatch5(){
|
||||
String expectedStr = "catchData = '{\"name\":\"zhangsan\",\"age\":18}';\nCATCH(node(\"a\")).DO(THEN(node(\"b\"),node(\"c\").data(catchData)));";
|
||||
Assertions.assertEquals(expectedStr,
|
||||
ELBus.catchException("a").doOpt(ELBus.then("b", ELBus.node("c").data("catchData", "'{\"name\":\"zhangsan\",\"age\":18}'"))).toEL());
|
||||
ELBus.catchException("a").doOpt(ELBus.then("b", ELBus.node("c").data("catchData", "{\"name\":\"zhangsan\",\"age\":18}"))).toEL());
|
||||
System.out.println(expectedStr);
|
||||
Assertions.assertTrue(LiteFlowChainELBuilder.validate(ELBus.catchException("a").doOpt(ELBus.then("b", ELBus.node("c").data("catchData", "'{\"name\":\"zhangsan\",\"age\":18}'"))).toEL()));
|
||||
Assertions.assertTrue(LiteFlowChainELBuilder.validate(ELBus.catchException("a").doOpt(ELBus.then("b", ELBus.node("c").data("catchData", "{\"name\":\"zhangsan\",\"age\":18}"))).toEL()));
|
||||
}
|
||||
@Test
|
||||
public void testCatch6(){
|
||||
String expectedStr = "catchData = '{\"name\":\"zhangsan\",\"age\":18}';\nCATCH(\n\tnode(\"a\")\n).DO(\n\tTHEN(\n\t\tnode(\"b\"),\n\t\tnode(\"c\").data(catchData)\n\t)\n);";
|
||||
Assertions.assertEquals(expectedStr,
|
||||
ELBus.catchException("a").doOpt(ELBus.then("b", ELBus.node("c").data("catchData", "'{\"name\":\"zhangsan\",\"age\":18}'"))).toEL(true));
|
||||
ELBus.catchException("a").doOpt(ELBus.then("b", ELBus.node("c").data("catchData", "{\"name\":\"zhangsan\",\"age\":18}"))).toEL(true));
|
||||
System.out.println(expectedStr);
|
||||
Assertions.assertTrue(LiteFlowChainELBuilder.validate(ELBus.catchException("a").doOpt(ELBus.then("b", ELBus.node("c").data("catchData", "'{\"name\":\"zhangsan\",\"age\":18}'"))).toEL(true)));
|
||||
Assertions.assertTrue(LiteFlowChainELBuilder.validate(ELBus.catchException("a").doOpt(ELBus.then("b", ELBus.node("c").data("catchData", "{\"name\":\"zhangsan\",\"age\":18}"))).toEL(true)));
|
||||
}
|
||||
// data 设置 map
|
||||
@Test
|
||||
|
||||
@@ -157,11 +157,11 @@ public class ComplexELBuilderTest extends BaseTest {
|
||||
.setClazz(BCmp.class)
|
||||
.build();
|
||||
|
||||
ELWrapper el = ELBus.then(ELBus.node("a").data("sql", "\"select * from member t where t.id=10001\""),
|
||||
ELBus.node("b").data("cmpData", "'{\"name\":\"jack\",\"age\":27,\"birth\":\"1995-10-01\"}'"));
|
||||
ELWrapper el = ELBus.then(ELBus.node("a").data("sql", "select * from member t where t.id=10001"),
|
||||
ELBus.node("b").data("cmpData", "{\"name\":\"jack\",\"age\":27,\"birth\":\"1995-10-01\"}"));
|
||||
|
||||
String expectStr = "sql = \"select * from member t\n" +
|
||||
" where t.id=10001\";\n" +
|
||||
String expectStr = "sql = 'select * from member t\n" +
|
||||
" where t.id=10001';\n" +
|
||||
" cmpData = '{\"name\":\"jack\",\"age\":27,\"birth\":\"1995-10-01\"}';\n" +
|
||||
"\n" +
|
||||
" THEN(\n" +
|
||||
|
||||
@@ -271,18 +271,18 @@ public class IfELBuilderTest extends BaseTest {
|
||||
public void testIf21(){
|
||||
String expectedStr = "ifData = '{\"name\":\"zhangsan\",\"age\":18}';\nIF(node(\"a\"),node(\"b\"),node(\"c\").data(ifData));";
|
||||
Assertions.assertEquals(expectedStr,
|
||||
ELBus.ifOpt("a", "b", ELBus.node("c").data("ifData", "'{\"name\":\"zhangsan\",\"age\":18}'")).toEL());
|
||||
ELBus.ifOpt("a", "b", ELBus.node("c").data("ifData", "{\"name\":\"zhangsan\",\"age\":18}")).toEL());
|
||||
System.out.println(expectedStr);
|
||||
Assertions.assertTrue(LiteFlowChainELBuilder.validate(ELBus.ifOpt("a", "b", ELBus.node("c").data("ifData", "'{\"name\":\"zhangsan\",\"age\":18}'")).toEL()));
|
||||
Assertions.assertTrue(LiteFlowChainELBuilder.validate(ELBus.ifOpt("a", "b", ELBus.node("c").data("ifData", "{\"name\":\"zhangsan\",\"age\":18}")).toEL()));
|
||||
}
|
||||
// 格式化输出
|
||||
@Test
|
||||
public void testIf22(){
|
||||
String expectedStr = "ifData = '{\"name\":\"zhangsan\",\"age\":18}';\nIF(\n\tnode(\"a\"),\n\tnode(\"b\"),\n\tnode(\"c\").data(ifData)\n);";
|
||||
Assertions.assertEquals(expectedStr,
|
||||
ELBus.ifOpt("a", "b", ELBus.node("c").data("ifData", "'{\"name\":\"zhangsan\",\"age\":18}'")).toEL(true));
|
||||
ELBus.ifOpt("a", "b", ELBus.node("c").data("ifData", "{\"name\":\"zhangsan\",\"age\":18}")).toEL(true));
|
||||
System.out.println(expectedStr);
|
||||
Assertions.assertTrue(LiteFlowChainELBuilder.validate(ELBus.ifOpt("a", "b", ELBus.node("c").data("ifData", "'{\"name\":\"zhangsan\",\"age\":18}'")).toEL(true)));
|
||||
Assertions.assertTrue(LiteFlowChainELBuilder.validate(ELBus.ifOpt("a", "b", ELBus.node("c").data("ifData", "{\"name\":\"zhangsan\",\"age\":18}")).toEL(true)));
|
||||
}
|
||||
private static class ParamClass{
|
||||
private String name;
|
||||
|
||||
@@ -75,17 +75,17 @@ public class LogicELBuilderTest extends BaseTest {
|
||||
public void testlogic7(){
|
||||
String expectedStr = "andData = '{\"name\":\"zhangsan\",\"age\":18}';\nAND(node(\"a\"),OR(node(\"b\"),node(\"c\")),NOT(node(\"d\").data(andData)));";
|
||||
Assertions.assertEquals(expectedStr,
|
||||
ELBus.and("a", ELBus.or("b", "c"), ELBus.not(ELBus.node("d").data("andData", "'{\"name\":\"zhangsan\",\"age\":18}'"))).toEL());
|
||||
ELBus.and("a", ELBus.or("b", "c"), ELBus.not(ELBus.node("d").data("andData", "{\"name\":\"zhangsan\",\"age\":18}"))).toEL());
|
||||
System.out.println(expectedStr);
|
||||
Assertions.assertTrue(LiteFlowChainELBuilder.validate(ELBus.and("a", ELBus.or("b", "c"), ELBus.not(ELBus.node("d").data("andData", "'{\"name\":\"zhangsan\",\"age\":18}'"))).toEL()));
|
||||
Assertions.assertTrue(LiteFlowChainELBuilder.validate(ELBus.and("a", ELBus.or("b", "c"), ELBus.not(ELBus.node("d").data("andData", "{\"name\":\"zhangsan\",\"age\":18}"))).toEL()));
|
||||
}
|
||||
@Test
|
||||
public void testlogic8(){
|
||||
String expectedStr = "andData = '{\"name\":\"zhangsan\",\"age\":18}';\nAND(\n\tnode(\"a\"),\n\tOR(\n\t\tnode(\"b\"),\n\t\tnode(\"c\")\n\t),\n\tNOT(\n\t\tnode(\"d\").data(andData)\n\t)\n);";
|
||||
Assertions.assertEquals(expectedStr,
|
||||
ELBus.and("a", ELBus.or("b", "c"), ELBus.not(ELBus.node("d").data("andData", "'{\"name\":\"zhangsan\",\"age\":18}'"))).toEL(true));
|
||||
ELBus.and("a", ELBus.or("b", "c"), ELBus.not(ELBus.node("d").data("andData", "{\"name\":\"zhangsan\",\"age\":18}"))).toEL(true));
|
||||
System.out.println(expectedStr);
|
||||
Assertions.assertTrue(LiteFlowChainELBuilder.validate(ELBus.and("a", ELBus.or("b", "c"), ELBus.not(ELBus.node("d").data("andData", "'{\"name\":\"zhangsan\",\"age\":18}'"))).toEL(true)));
|
||||
Assertions.assertTrue(LiteFlowChainELBuilder.validate(ELBus.and("a", ELBus.or("b", "c"), ELBus.not(ELBus.node("d").data("andData", "{\"name\":\"zhangsan\",\"age\":18}"))).toEL(true)));
|
||||
}
|
||||
@Test
|
||||
public void testlogic9(){
|
||||
|
||||
@@ -77,17 +77,17 @@ public class LoopELBuilderTest extends BaseTest {
|
||||
public void testLoop7(){
|
||||
String expectedStr = "forData = '{\"name\":\"zhangsan\",\"age\":18}';\nFOR(node(\"a\")).DO(WHEN(node(\"b\"),node(\"c\"),node(\"d\"))).BREAK(node(\"e\").data(forData)).id(\"this is a id\").tag(\"this is a tag\").maxWaitSeconds(3);";
|
||||
Assertions.assertEquals(expectedStr,
|
||||
ELBus.forOpt("a").doOpt(ELBus.when("b", "c", "d")).breakOpt(ELBus.node("e").data("forData", "'{\"name\":\"zhangsan\",\"age\":18}'")).id("this is a id").tag("this is a tag").maxWaitSeconds(3).toEL());
|
||||
ELBus.forOpt("a").doOpt(ELBus.when("b", "c", "d")).breakOpt(ELBus.node("e").data("forData", "{\"name\":\"zhangsan\",\"age\":18}")).id("this is a id").tag("this is a tag").maxWaitSeconds(3).toEL());
|
||||
System.out.println(expectedStr);
|
||||
Assertions.assertTrue(LiteFlowChainELBuilder.validate(ELBus.forOpt("a").doOpt(ELBus.when("b", "c", "d")).breakOpt(ELBus.node("e").data("forData", "'{\"name\":\"zhangsan\",\"age\":18}'")).id("this is a id").tag("this is a tag").maxWaitSeconds(3).toEL()));
|
||||
Assertions.assertTrue(LiteFlowChainELBuilder.validate(ELBus.forOpt("a").doOpt(ELBus.when("b", "c", "d")).breakOpt(ELBus.node("e").data("forData", "{\"name\":\"zhangsan\",\"age\":18}")).id("this is a id").tag("this is a tag").maxWaitSeconds(3).toEL()));
|
||||
}
|
||||
@Test
|
||||
public void testLoop8(){
|
||||
String expectedStr = "forData = '{\"name\":\"zhangsan\",\"age\":18}';\nFOR(\n\tnode(\"a\")\n).DO(\n\tWHEN(\n\t\tnode(\"b\"),\n\t\tnode(\"c\"),\n\t\tnode(\"d\")\n\t)\n).BREAK(\n\tnode(\"e\").data(forData)\n).id(\"this is a id\").tag(\"this is a tag\").maxWaitSeconds(3);";
|
||||
Assertions.assertEquals(expectedStr,
|
||||
ELBus.forOpt(ELBus.node("a")).doOpt(ELBus.when("b", "c", "d")).breakOpt(ELBus.node("e").data("forData", "'{\"name\":\"zhangsan\",\"age\":18}'")).id("this is a id").tag("this is a tag").maxWaitSeconds(3).toEL(true));
|
||||
ELBus.forOpt(ELBus.node("a")).doOpt(ELBus.when("b", "c", "d")).breakOpt(ELBus.node("e").data("forData", "{\"name\":\"zhangsan\",\"age\":18}")).id("this is a id").tag("this is a tag").maxWaitSeconds(3).toEL(true));
|
||||
System.out.println(expectedStr);
|
||||
Assertions.assertTrue(LiteFlowChainELBuilder.validate(ELBus.forOpt(ELBus.node("a")).doOpt(ELBus.when("b", "c", "d")).breakOpt(ELBus.node("e").data("forData", "'{\"name\":\"zhangsan\",\"age\":18}'")).id("this is a id").tag("this is a tag").maxWaitSeconds(3).toEL(true)));
|
||||
Assertions.assertTrue(LiteFlowChainELBuilder.validate(ELBus.forOpt(ELBus.node("a")).doOpt(ELBus.when("b", "c", "d")).breakOpt(ELBus.node("e").data("forData", "{\"name\":\"zhangsan\",\"age\":18}")).id("this is a id").tag("this is a tag").maxWaitSeconds(3).toEL(true)));
|
||||
}
|
||||
// while调用测试
|
||||
@Test
|
||||
@@ -151,17 +151,17 @@ public class LoopELBuilderTest extends BaseTest {
|
||||
public void testLoop11(){
|
||||
String expectedStr = "whileData = '{\"name\":\"zhangsan\",\"age\":18}';\nWHILE(node(\"a\")).parallel(true).DO(THEN(node(\"b\"),node(\"c\"))).BREAK(node(\"d\").data(whileData)).id(\"this is a ig\").tag(\"this is a tag\").maxWaitSeconds(3);";
|
||||
Assertions.assertEquals(expectedStr,
|
||||
ELBus.whileOpt("a").doOpt(ELBus.then("b", "c")).breakOpt(ELBus.node("d").data("whileData", "'{\"name\":\"zhangsan\",\"age\":18}'")).id("this is a ig").tag("this is a tag").maxWaitSeconds(3).parallel(true).toEL());
|
||||
ELBus.whileOpt("a").doOpt(ELBus.then("b", "c")).breakOpt(ELBus.node("d").data("whileData", "{\"name\":\"zhangsan\",\"age\":18}")).id("this is a ig").tag("this is a tag").maxWaitSeconds(3).parallel(true).toEL());
|
||||
System.out.println(expectedStr);
|
||||
Assertions.assertTrue(LiteFlowChainELBuilder.validate(ELBus.whileOpt("a").doOpt(ELBus.then("b", "c")).breakOpt(ELBus.node("d").data("whileData", "'{\"name\":\"zhangsan\",\"age\":18}'")).id("this is a ig").tag("this is a tag").maxWaitSeconds(3).parallel(true).toEL()));
|
||||
Assertions.assertTrue(LiteFlowChainELBuilder.validate(ELBus.whileOpt("a").doOpt(ELBus.then("b", "c")).breakOpt(ELBus.node("d").data("whileData", "{\"name\":\"zhangsan\",\"age\":18}")).id("this is a ig").tag("this is a tag").maxWaitSeconds(3).parallel(true).toEL()));
|
||||
}
|
||||
@Test
|
||||
public void testLoop12(){
|
||||
String expectedStr = "whileData = '{\"name\":\"zhangsan\",\"age\":18}';\nWHILE(\n\tnode(\"a\")\n).parallel(true).DO(\n\tTHEN(\n\t\tnode(\"b\"),\n\t\tnode(\"c\")\n\t)\n).BREAK(\n\tnode(\"d\").data(whileData)\n).id(\"this is a ig\").tag(\"this is a tag\").maxWaitSeconds(3);";
|
||||
Assertions.assertEquals(expectedStr,
|
||||
ELBus.whileOpt("a").doOpt(ELBus.then("b", "c")).breakOpt(ELBus.node("d").data("whileData", "'{\"name\":\"zhangsan\",\"age\":18}'")).id("this is a ig").tag("this is a tag").maxWaitSeconds(3).parallel(true).toEL(true));
|
||||
ELBus.whileOpt("a").doOpt(ELBus.then("b", "c")).breakOpt(ELBus.node("d").data("whileData", "{\"name\":\"zhangsan\",\"age\":18}")).id("this is a ig").tag("this is a tag").maxWaitSeconds(3).parallel(true).toEL(true));
|
||||
System.out.println(expectedStr);
|
||||
Assertions.assertTrue(LiteFlowChainELBuilder.validate(ELBus.whileOpt("a").doOpt(ELBus.then("b", "c")).breakOpt(ELBus.node("d").data("whileData", "'{\"name\":\"zhangsan\",\"age\":18}'")).id("this is a ig").tag("this is a tag").maxWaitSeconds(3).parallel(true).toEL(true)));
|
||||
Assertions.assertTrue(LiteFlowChainELBuilder.validate(ELBus.whileOpt("a").doOpt(ELBus.then("b", "c")).breakOpt(ELBus.node("d").data("whileData", "{\"name\":\"zhangsan\",\"age\":18}")).id("this is a ig").tag("this is a tag").maxWaitSeconds(3).parallel(true).toEL(true)));
|
||||
}
|
||||
// Iterator 调用测试
|
||||
@Test
|
||||
@@ -195,17 +195,17 @@ public class LoopELBuilderTest extends BaseTest {
|
||||
public void testLoop15(){
|
||||
String expectedStr = "iteratorData = '{\"name\":\"zhangsan\",\"age\":18}';\nITERATOR(node(\"a\")).parallel(true).DO(THEN(node(\"b\"),node(\"c\").data(iteratorData))).id(\"this is a ig\").tag(\"this is a tag\").maxWaitSeconds(3);";
|
||||
Assertions.assertEquals(expectedStr,
|
||||
ELBus.iteratorOpt("a").doOpt(ELBus.then("b", ELBus.node("c").data("iteratorData", "'{\"name\":\"zhangsan\",\"age\":18}'"))).id("this is a ig").tag("this is a tag").maxWaitSeconds(3).parallel(true).toEL());
|
||||
ELBus.iteratorOpt("a").doOpt(ELBus.then("b", ELBus.node("c").data("iteratorData", "{\"name\":\"zhangsan\",\"age\":18}"))).id("this is a ig").tag("this is a tag").maxWaitSeconds(3).parallel(true).toEL());
|
||||
System.out.println(expectedStr);
|
||||
Assertions.assertTrue(LiteFlowChainELBuilder.validate(ELBus.iteratorOpt("a").doOpt(ELBus.then("b", ELBus.node("c").data("iteratorData", "'{\"name\":\"zhangsan\",\"age\":18}'"))).id("this is a ig").tag("this is a tag").maxWaitSeconds(3).parallel(true).toEL()));
|
||||
Assertions.assertTrue(LiteFlowChainELBuilder.validate(ELBus.iteratorOpt("a").doOpt(ELBus.then("b", ELBus.node("c").data("iteratorData", "{\"name\":\"zhangsan\",\"age\":18}"))).id("this is a ig").tag("this is a tag").maxWaitSeconds(3).parallel(true).toEL()));
|
||||
}
|
||||
@Test
|
||||
public void testLoop16(){
|
||||
String expectedStr = "iteratorData = '{\"name\":\"zhangsan\",\"age\":18}';\nITERATOR(\n\tnode(\"a\")\n).parallel(true).DO(\n\tTHEN(\n\t\tnode(\"b\"),\n\t\tnode(\"c\").data(iteratorData)\n\t)\n).id(\"this is a ig\").tag(\"this is a tag\").maxWaitSeconds(3);";
|
||||
Assertions.assertEquals(expectedStr,
|
||||
ELBus.iteratorOpt("a").doOpt(ELBus.then("b", ELBus.node("c").data("iteratorData", "'{\"name\":\"zhangsan\",\"age\":18}'"))).id("this is a ig").tag("this is a tag").maxWaitSeconds(3).parallel(true).toEL(true));
|
||||
ELBus.iteratorOpt("a").doOpt(ELBus.then("b", ELBus.node("c").data("iteratorData", "{\"name\":\"zhangsan\",\"age\":18}"))).id("this is a ig").tag("this is a tag").maxWaitSeconds(3).parallel(true).toEL(true));
|
||||
System.out.println(expectedStr);
|
||||
Assertions.assertTrue(LiteFlowChainELBuilder.validate(ELBus.iteratorOpt("a").doOpt(ELBus.then("b", ELBus.node("c").data("iteratorData", "'{\"name\":\"zhangsan\",\"age\":18}'"))).id("this is a ig").tag("this is a tag").maxWaitSeconds(3).parallel(true).toEL(true)));
|
||||
Assertions.assertTrue(LiteFlowChainELBuilder.validate(ELBus.iteratorOpt("a").doOpt(ELBus.then("b", ELBus.node("c").data("iteratorData", "{\"name\":\"zhangsan\",\"age\":18}"))).id("this is a ig").tag("this is a tag").maxWaitSeconds(3).parallel(true).toEL(true)));
|
||||
}
|
||||
// data Map 参数 测试
|
||||
@Test
|
||||
|
||||
@@ -1,14 +1,26 @@
|
||||
package com.yomahub.liteflow.test.builder;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.yomahub.liteflow.builder.LiteFlowNodeBuilder;
|
||||
import com.yomahub.liteflow.builder.el.ELBus;
|
||||
import com.yomahub.liteflow.builder.el.LiteFlowChainELBuilder;
|
||||
import com.yomahub.liteflow.builder.el.NodeELWrapper;
|
||||
import com.yomahub.liteflow.builder.el.ThenELWrapper;
|
||||
import com.yomahub.liteflow.core.FlowExecutor;
|
||||
import com.yomahub.liteflow.enums.NodeTypeEnum;
|
||||
import com.yomahub.liteflow.flow.LiteflowResponse;
|
||||
import com.yomahub.liteflow.slot.DefaultContext;
|
||||
import com.yomahub.liteflow.test.BaseTest;
|
||||
import com.yomahub.liteflow.test.builder.cmp.ACmp;
|
||||
import com.yomahub.liteflow.test.builder.cmp.BCmp;
|
||||
import com.yomahub.liteflow.test.builder.vo.User;
|
||||
import com.yomahub.liteflow.util.JsonUtil;
|
||||
import org.junit.jupiter.api.Assertions;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
@@ -21,9 +33,12 @@ import java.util.Map;
|
||||
@SpringBootTest(classes = NodeELBuilderTest.class)
|
||||
@EnableAutoConfiguration
|
||||
public class NodeELBuilderTest extends BaseTest {
|
||||
@Resource
|
||||
private FlowExecutor flowExecutor;
|
||||
|
||||
@Test
|
||||
public void testNodeEL1(){
|
||||
String jsonStr = "'{\"name\":\"zhangsan\",\"age\":18}'";
|
||||
String jsonStr = "{\"name\":\"zhangsan\",\"age\":18}";
|
||||
String expectedStr = "nodeData = '{\"name\":\"zhangsan\",\"age\":18}';\n" +
|
||||
"node(\"a\").tag(\"node a tag\").data(nodeData).maxWaitSeconds(4);";
|
||||
NodeELWrapper node = ELBus.node("a").maxWaitSeconds(4).tag("node a tag").data("nodeData", jsonStr);
|
||||
@@ -34,7 +49,7 @@ public class NodeELBuilderTest extends BaseTest {
|
||||
}
|
||||
@Test
|
||||
public void testNodeEL2(){
|
||||
String jsonStr = "'{\"name\":\"zhangsan\",\"age\":18}'";
|
||||
String jsonStr = "{\"name\":\"zhangsan\",\"age\":18}";
|
||||
String expectedStr = "nodeData = '{\"name\":\"zhangsan\",\"age\":18}';\n" +
|
||||
"node(\"a\").tag(\"node a tag\").data(nodeData).maxWaitSeconds(4);";
|
||||
NodeELWrapper node = ELBus.node("a").maxWaitSeconds(4).tag("node a tag").data("nodeData", jsonStr);
|
||||
@@ -105,4 +120,46 @@ public class NodeELBuilderTest extends BaseTest {
|
||||
System.out.println(expectedStr);
|
||||
Assertions.assertTrue(LiteFlowChainELBuilder.validate(node.toEL(true)));
|
||||
}
|
||||
@Test
|
||||
public void testNodeData(){
|
||||
LiteFlowNodeBuilder.createNode()
|
||||
.setId("a")
|
||||
.setName("组件A")
|
||||
.setType(NodeTypeEnum.COMMON)
|
||||
.setClazz(ACmp.class)
|
||||
.build();
|
||||
LiteFlowNodeBuilder.createNode()
|
||||
.setId("b")
|
||||
.setName("组件B")
|
||||
.setType(NodeTypeEnum.COMMON)
|
||||
.setClazz(BCmp.class)
|
||||
.build();
|
||||
|
||||
String expectedStr = "sql = 'select * from member t\n" +
|
||||
" where t.id=10001';\n" +
|
||||
"jsonstr = '{\"name\":\"jack\",\"age\":27,\"birth\":\"1995-10-01\"}';\n" +
|
||||
"THEN(\n" +
|
||||
"\tnode(\"a\").data(sql),\n" +
|
||||
"\tnode(\"b\").data(jsonstr)\n" +
|
||||
");";
|
||||
String param1 = "select * from member t\n" +
|
||||
" where t.id=10001";
|
||||
String param2 = "{\"name\":\"jack\",\"age\":27,\"birth\":\"1995-10-01\"}";
|
||||
ThenELWrapper el = ELBus.then(ELBus.node("a").data("sql", param1),
|
||||
ELBus.node("b").data("jsonstr", param2));
|
||||
Assertions.assertEquals(expectedStr,
|
||||
el.toEL(true));
|
||||
|
||||
LiteFlowChainELBuilder.createChain().setChainName("chain1").setEL(
|
||||
el.toEL()
|
||||
).build();
|
||||
|
||||
LiteflowResponse response = flowExecutor.execute2Resp("chain1", "arg");
|
||||
Assertions.assertTrue(response.isSuccess());
|
||||
DefaultContext context = response.getFirstContextBean();
|
||||
User user = context.getData("user");
|
||||
Assertions.assertEquals(27, user.getAge());
|
||||
Assertions.assertEquals("jack", user.getName());
|
||||
Assertions.assertEquals(0, user.getBirth().compareTo(DateUtil.parseDate("1995-10-01").toJdkDate()));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -108,7 +108,7 @@ public class SwitchELBuilderTest extends BaseTest {
|
||||
|
||||
@Test
|
||||
public void testSwitch9(){
|
||||
String jsonStr = "'{\"name\":\"zhangsan\",\"age\":18}'";
|
||||
String jsonStr = "{\"name\":\"zhangsan\",\"age\":18}";
|
||||
String expectedStr = "switchData = '{\"name\":\"zhangsan\",\"age\":18}';\nSWITCH(node(\"a\")).TO(node(\"b\"),node(\"c\"),node(\"d\").data(switchData));";
|
||||
Assertions.assertEquals(expectedStr,
|
||||
ELBus.switchOpt("a").to("b", "c", ELBus.node("d").data("switchData", jsonStr)).toEL());
|
||||
@@ -118,7 +118,7 @@ public class SwitchELBuilderTest extends BaseTest {
|
||||
|
||||
@Test
|
||||
public void testSwitch10(){
|
||||
String jsonStr = "'{\"name\":\"zhangsan\",\"age\":18}'";
|
||||
String jsonStr = "{\"name\":\"zhangsan\",\"age\":18}";
|
||||
String expectedStr = "switchData = '{\"name\":\"zhangsan\",\"age\":18}';\nSWITCH(node(\"a\")).TO(\n\tnode(\"b\"),\n\tnode(\"c\"),\n\tnode(\"d\").data(switchData)\n);";
|
||||
Assertions.assertEquals(expectedStr,
|
||||
ELBus.switchOpt("a").to("b", "c", ELBus.node("d").data("switchData", jsonStr)).toEL(true));
|
||||
|
||||
@@ -146,17 +146,17 @@ public class ThenELBuilderTest extends BaseTest {
|
||||
@Test
|
||||
public void testThen15(){
|
||||
Assertions.assertEquals("thenData = '{\"name\":\"zhangsan\",\"age\":18}';\nTHEN(PRE(node(\"p\")),node(\"a\"),THEN(node(\"b\"),node(\"c\")).id(\"this is a id\"),node(\"d\").data(thenData),FINALLY(node(\"f\"))).tag(\"this is a tag\");",
|
||||
ELBus.then("a", ELBus.then("b").then("c").id("this is a id")).tag("this is a tag").then(ELBus.node("d").data("thenData", "'{\"name\":\"zhangsan\",\"age\":18}'")).pre("p").finallyOpt("f").toEL());
|
||||
System.out.println("thenData = '{\"name\":\"zhangsan\",\"age\":18}';\nTHEN(PRE(node(\"p\")),node(\"a\"),THEN(node(\"b\"),node(\"c\")).id(\"this is a id\"),node(\"d\").data(thenData),FINALLY(node(\"f\"))).tag(\"this is a tag\");");
|
||||
Assertions.assertTrue(LiteFlowChainELBuilder.validate(ELBus.then("a", ELBus.then("b").then("c").id("this is a id")).tag("this is a tag").then(ELBus.node("d").data("thenData", "'{\"name\":\"zhangsan\",\"age\":18}'")).pre("p").finallyOpt("f").toEL()));
|
||||
ELBus.then("a", ELBus.then("b").then("c").id("this is a id")).tag("this is a tag").then(ELBus.node("d").data("thenData", "{\"name\":\"zhangsan\",\"age\":18}")).pre("p").finallyOpt("f").toEL());
|
||||
// System.out.println("thenData = '{\"name\":\"zhangsan\",\"age\":18}';\nTHEN(PRE(node(\"p\")),node(\"a\"),THEN(node(\"b\"),node(\"c\")).id(\"this is a id\"),node(\"d\").data(thenData),FINALLY(node(\"f\"))).tag(\"this is a tag\");");
|
||||
Assertions.assertTrue(LiteFlowChainELBuilder.validate(ELBus.then("a", ELBus.then("b").then("c").id("this is a id")).tag("this is a tag").then(ELBus.node("d").data("thenData", "{\"name\":\"zhangsan\",\"age\":18}")).pre("p").finallyOpt("f").toEL()));
|
||||
}
|
||||
// 格式化输出测试 Json字符串赋值data
|
||||
@Test
|
||||
public void testThen16(){
|
||||
Assertions.assertEquals("thenData = '{\"name\":\"zhangsan\",\"age\":18}';\nTHEN(\n\tPRE(\n\t\tnode(\"p\")\n\t),\n\tnode(\"a\"),\n\tTHEN(\n\t\tnode(\"b\"),\n\t\tnode(\"c\")\n\t).id(\"this is a id\"),\n\tnode(\"d\").data(thenData),\n\tFINALLY(\n\t\tnode(\"f\")\n\t)\n).tag(\"this is a tag\");",
|
||||
ELBus.then("a", ELBus.then("b").then("c").id("this is a id")).tag("this is a tag").then(ELBus.node("d").data("thenData", "'{\"name\":\"zhangsan\",\"age\":18}'")).pre("p").finallyOpt("f").toEL(true));
|
||||
System.out.println("thenData = '{\"name\":\"zhangsan\",\"age\":18}';\nTHEN(\n\tPRE(\n\t\tnode(\"p\")\n\t),\n\tnode(\"a\"),\n\tTHEN(\n\t\tnode(\"b\"),\n\t\tnode(\"c\")\n\t).id(\"this is a id\"),\n\tnode(\"d\").data(thenData),\n\tFINALLY(\n\t\tnode(\"f\")\n\t)\n).tag(\"this is a tag\");");
|
||||
Assertions.assertTrue(LiteFlowChainELBuilder.validate(ELBus.then("a", ELBus.then("b").then("c").id("this is a id")).tag("this is a tag").then(ELBus.node("d").data("thenData", "'{\"name\":\"zhangsan\",\"age\":18}'")).pre("p").finallyOpt("f").toEL(true)));
|
||||
ELBus.then("a", ELBus.then("b").then("c").id("this is a id")).tag("this is a tag").then(ELBus.node("d").data("thenData", "{\"name\":\"zhangsan\",\"age\":18}")).pre("p").finallyOpt("f").toEL(true));
|
||||
// System.out.println("thenData = '{\"name\":\"zhangsan\",\"age\":18}';\nTHEN(\n\tPRE(\n\t\tnode(\"p\")\n\t),\n\tnode(\"a\"),\n\tTHEN(\n\t\tnode(\"b\"),\n\t\tnode(\"c\")\n\t).id(\"this is a id\"),\n\tnode(\"d\").data(thenData),\n\tFINALLY(\n\t\tnode(\"f\")\n\t)\n).tag(\"this is a tag\");");
|
||||
Assertions.assertTrue(LiteFlowChainELBuilder.validate(ELBus.then("a", ELBus.then("b").then("c").id("this is a id")).tag("this is a tag").then(ELBus.node("d").data("thenData", "{\"name\":\"zhangsan\",\"age\":18}")).pre("p").finallyOpt("f").toEL(true)));
|
||||
}
|
||||
private static class ParamClass{
|
||||
private String name;
|
||||
|
||||
@@ -158,18 +158,18 @@ public class WhenELBuilderTest extends BaseTest {
|
||||
public void testWhen15(){
|
||||
String expectedStr = "whenData = '{\"name\":\"zhangsan\",\"age\":18}';\nWHEN(node(\"a\"),WHEN(node(\"b\"),node(\"c\").data(whenData)).id(\"this is a id\"),node(\"d\")).tag(\"this is a tag\");";
|
||||
Assertions.assertEquals(expectedStr,
|
||||
ELBus.when("a", ELBus.when("b").when(ELBus.node("c").data("whenData", "'{\"name\":\"zhangsan\",\"age\":18}'")).id("this is a id")).when("d").tag("this is a tag").toEL());
|
||||
ELBus.when("a", ELBus.when("b").when(ELBus.node("c").data("whenData", "{\"name\":\"zhangsan\",\"age\":18}")).id("this is a id")).when("d").tag("this is a tag").toEL());
|
||||
System.out.println(expectedStr);
|
||||
Assertions.assertTrue(LiteFlowChainELBuilder.validate(ELBus.when("a", ELBus.when("b").when(ELBus.node("c").data("whenData", "'{\"name\":\"zhangsan\",\"age\":18}'")).id("this is a id")).when("d").tag("this is a tag").toEL()));
|
||||
Assertions.assertTrue(LiteFlowChainELBuilder.validate(ELBus.when("a", ELBus.when("b").when(ELBus.node("c").data("whenData", "{\"name\":\"zhangsan\",\"age\":18}")).id("this is a id")).when("d").tag("this is a tag").toEL()));
|
||||
}
|
||||
// 格式化输出测试 Json字符串赋值data
|
||||
@Test
|
||||
public void testWhen16(){
|
||||
String expectedStr = "whenData = '{\"name\":\"zhangsan\",\"age\":18}';\nWHEN(\n\tnode(\"a\"),\n\tWHEN(\n\t\tnode(\"b\"),\n\t\tnode(\"c\").data(whenData)\n\t).id(\"this is a id\"),\n\tnode(\"d\")\n).tag(\"this is a tag\");";
|
||||
Assertions.assertEquals(expectedStr,
|
||||
ELBus.when("a", ELBus.when("b").when(ELBus.node("c").data("whenData", "'{\"name\":\"zhangsan\",\"age\":18}'")).id("this is a id")).when("d").tag("this is a tag").toEL(true));
|
||||
ELBus.when("a", ELBus.when("b").when(ELBus.node("c").data("whenData", "{\"name\":\"zhangsan\",\"age\":18}")).id("this is a id")).when("d").tag("this is a tag").toEL(true));
|
||||
System.out.println(expectedStr);
|
||||
Assertions.assertTrue(LiteFlowChainELBuilder.validate(ELBus.when("a", ELBus.when("b").when(ELBus.node("c").data("whenData", "'{\"name\":\"zhangsan\",\"age\":18}'")).id("this is a id")).when("d").tag("this is a tag").toEL(true)));
|
||||
Assertions.assertTrue(LiteFlowChainELBuilder.validate(ELBus.when("a", ELBus.when("b").when(ELBus.node("c").data("whenData", "{\"name\":\"zhangsan\",\"age\":18}")).id("this is a id")).when("d").tag("this is a tag").toEL(true)));
|
||||
}
|
||||
private static class ParamClass{
|
||||
private String name;
|
||||
|
||||
Reference in New Issue
Block a user