From 622669176de5d9245364b144473f1907f586bb98 Mon Sep 17 00:00:00 2001 From: "119431682@qq.com" <119431682@qq.com> Date: Tue, 19 Jul 2022 22:32:30 +0800 Subject: [PATCH] test: custom el class parsing yml file --- .../CustomParserYmlELSpringbootTest.java | 39 +++++++++++++++++++ .../parser/CustomYmlFlowParser.java | 19 +++++++++ .../application-custom-yml.properties | 1 + 3 files changed, 59 insertions(+) create mode 100644 liteflow-testcase-el/liteflow-testcase-el-springboot/src/test/java/com/yomahub/liteflow/test/parsecustom/CustomParserYmlELSpringbootTest.java create mode 100644 liteflow-testcase-el/liteflow-testcase-el-springboot/src/test/java/com/yomahub/liteflow/test/parsecustom/parser/CustomYmlFlowParser.java create mode 100644 liteflow-testcase-el/liteflow-testcase-el-springboot/src/test/resources/parsecustom/application-custom-yml.properties diff --git a/liteflow-testcase-el/liteflow-testcase-el-springboot/src/test/java/com/yomahub/liteflow/test/parsecustom/CustomParserYmlELSpringbootTest.java b/liteflow-testcase-el/liteflow-testcase-el-springboot/src/test/java/com/yomahub/liteflow/test/parsecustom/CustomParserYmlELSpringbootTest.java new file mode 100644 index 000000000..0ca24257a --- /dev/null +++ b/liteflow-testcase-el/liteflow-testcase-el-springboot/src/test/java/com/yomahub/liteflow/test/parsecustom/CustomParserYmlELSpringbootTest.java @@ -0,0 +1,39 @@ +package com.yomahub.liteflow.test.parsecustom; + +import com.yomahub.liteflow.core.FlowExecutor; +import com.yomahub.liteflow.flow.LiteflowResponse; +import com.yomahub.liteflow.test.BaseTest; +import org.junit.Assert; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.boot.autoconfigure.EnableAutoConfiguration; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.context.annotation.ComponentScan; +import org.springframework.test.context.TestPropertySource; +import org.springframework.test.context.junit4.SpringRunner; + +import javax.annotation.Resource; + +/** + * springboot环境的自定义yml parser单元测试 + * 主要测试自定义配置源类是否能引入springboot中的其他依赖 + * + * @author junjun + */ +@RunWith(SpringRunner.class) +@TestPropertySource(value = "classpath:/parsecustom/application-custom-yml.properties") +@SpringBootTest(classes = CustomParserYmlELSpringbootTest.class) +@EnableAutoConfiguration +@ComponentScan({"com.yomahub.liteflow.test.parsecustom.cmp","com.yomahub.liteflow.test.parsecustom.bean"}) +public class CustomParserYmlELSpringbootTest extends BaseTest { + + @Resource + private FlowExecutor flowExecutor; + + //测试springboot场景的自定义json parser + @Test + public void testYmlCustomParser() { + LiteflowResponse response = flowExecutor.execute2Resp("chain1", "args"); + Assert.assertTrue(response.isSuccess()); + } +} diff --git a/liteflow-testcase-el/liteflow-testcase-el-springboot/src/test/java/com/yomahub/liteflow/test/parsecustom/parser/CustomYmlFlowParser.java b/liteflow-testcase-el/liteflow-testcase-el-springboot/src/test/java/com/yomahub/liteflow/test/parsecustom/parser/CustomYmlFlowParser.java new file mode 100644 index 000000000..3431a3d54 --- /dev/null +++ b/liteflow-testcase-el/liteflow-testcase-el-springboot/src/test/java/com/yomahub/liteflow/test/parsecustom/parser/CustomYmlFlowParser.java @@ -0,0 +1,19 @@ +package com.yomahub.liteflow.test.parsecustom.parser; + +import com.yomahub.liteflow.parser.el.ClassYmlFlowELParser; + +/** + * 模拟用户自定义源解析 + * + * @author junjun + */ +public class CustomYmlFlowParser extends ClassYmlFlowELParser { + @Override + public String parseCustom() { + //模拟自定义解析结果 + return "flow:\n" + + " chain:\n" + + " - name: chain1\n" + + " value: \"THEN(a, b, c);\""; + } +} diff --git a/liteflow-testcase-el/liteflow-testcase-el-springboot/src/test/resources/parsecustom/application-custom-yml.properties b/liteflow-testcase-el/liteflow-testcase-el-springboot/src/test/resources/parsecustom/application-custom-yml.properties new file mode 100644 index 000000000..c8e50b4f1 --- /dev/null +++ b/liteflow-testcase-el/liteflow-testcase-el-springboot/src/test/resources/parsecustom/application-custom-yml.properties @@ -0,0 +1 @@ +liteflow.rule-source=el_yml:com.yomahub.liteflow.test.parsecustom.parser.CustomYmlFlowParser \ No newline at end of file