From aefc00afa8ae119f5fb5157894c695daa60ca741 Mon Sep 17 00:00:00 2001 From: "119431682@qq.com" <119431682@qq.com> Date: Sun, 26 Jun 2022 09:52:46 +0800 Subject: [PATCH] test: custom class parsing yml file --- .../CustomParserYmlSpringbootTest.java | 41 +++++++++++++++++++ .../parser/CustomYmlFlowParser.java | 23 +++++++++++ .../application-custom-yml.properties | 1 + 3 files changed, 65 insertions(+) create mode 100644 liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/parsecustom/CustomParserYmlSpringbootTest.java create mode 100644 liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/parsecustom/parser/CustomYmlFlowParser.java create mode 100644 liteflow-testcase-springboot/src/test/resources/parsecustom/application-custom-yml.properties diff --git a/liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/parsecustom/CustomParserYmlSpringbootTest.java b/liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/parsecustom/CustomParserYmlSpringbootTest.java new file mode 100644 index 000000000..84ba705e6 --- /dev/null +++ b/liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/parsecustom/CustomParserYmlSpringbootTest.java @@ -0,0 +1,41 @@ +package com.yomahub.liteflow.test.parsecustom; + +import com.yomahub.liteflow.core.FlowExecutor; +import com.yomahub.liteflow.flow.LiteflowResponse; +import com.yomahub.liteflow.slot.DefaultContext; +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 = CustomParserYmlSpringbootTest.class)
+@EnableAutoConfiguration
+@ComponentScan({"com.yomahub.liteflow.test.parsecustom.cmp"})
+public class CustomParserYmlSpringbootTest extends BaseTest {
+
+ @Resource
+ private FlowExecutor flowExecutor;
+
+ //测试springboot场景的自定义json parser
+ @Test
+ public void testYmlCustomParser() {
+ LiteflowResponse
+ *
+ * @author junjun
+ */
+public class CustomYmlFlowParser extends ClassYmlFlowParser {
+
+ @Override
+ public String parseCustom() {
+ return "flow:\n" +
+ " chain:\n" +
+ " - name: chain1\n" +
+ " condition:\n" +
+ " - type: then\n" +
+ " value: 'a,b,c'";
+ }
+}
diff --git a/liteflow-testcase-springboot/src/test/resources/parsecustom/application-custom-yml.properties b/liteflow-testcase-springboot/src/test/resources/parsecustom/application-custom-yml.properties
new file mode 100644
index 000000000..263e0666c
--- /dev/null
+++ b/liteflow-testcase-springboot/src/test/resources/parsecustom/application-custom-yml.properties
@@ -0,0 +1 @@
+liteflow.rule-source=com.yomahub.liteflow.test.parsecustom.parser.CustomYmlFlowParser
\ No newline at end of file