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 response = flowExecutor.execute2Resp("chain1", "args"); + Assert.assertTrue(response.isSuccess()); + } +} diff --git a/liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/parsecustom/parser/CustomYmlFlowParser.java b/liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/parsecustom/parser/CustomYmlFlowParser.java new file mode 100644 index 000000000..2aa770ece --- /dev/null +++ b/liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/parsecustom/parser/CustomYmlFlowParser.java @@ -0,0 +1,23 @@ +package com.yomahub.liteflow.test.parsecustom.parser; + +import com.yomahub.liteflow.parser.ClassYmlFlowParser; + +/** + * springboot环境的自定义yml parser单元测试 + * 主要测试自定义配置源类是否能引入springboot中的其他依赖 + *

+ * + * @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