优化etcd和nacos的测试用例

This commit is contained in:
everywhere.z
2022-09-22 00:56:00 +08:00
parent 8aa31dc33e
commit 322a3f71e9
3 changed files with 32 additions and 30 deletions

View File

@@ -1,5 +1,6 @@
package com.yomahub.liteflow.test.nacos;
import com.alibaba.nacos.client.config.NacosConfigService;
import com.alibaba.nacos.client.config.impl.LocalConfigInfoProcessor;
import com.yomahub.liteflow.core.FlowExecutor;
import com.yomahub.liteflow.enums.FlowParserTypeEnum;
@@ -14,12 +15,16 @@ 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.boot.test.mock.mockito.MockBean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.test.context.TestPropertySource;
import org.springframework.test.context.junit4.SpringRunner;
import javax.annotation.Resource;
import static org.mockito.ArgumentMatchers.*;
import static org.mockito.Mockito.when;
/**
* springboot环境下的nacos配置源功能测试
* nacos存储数据的格式为xml文件
@@ -36,38 +41,34 @@ public class NacosWithXmlELSpringbootTest extends BaseTest {
@Resource
private FlowExecutor flowExecutor;
private NacosParserHelper helper;
// 写到本地.
final String flowXml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><flow><chain name=\"chain1\">THEN(a, b, c);</chain></flow>";
// 2次写入本地
final String changedFlowXml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><flow><chain name=\"chain1\">THEN(a, c);</chain></flow>";
private static NacosParserVO nacosParserVO = new NacosParserVO();
static {
// 这里的信息必须 = application-xml.properties liteflow.rule-source-ext-data
nacosParserVO.setServerAddr("127.0.0.1:8848");
nacosParserVO.setDataId("LiteFlow");
nacosParserVO.setGroup("LITE_FLOW_GROUP");
nacosParserVO.setNamespace("");
}
@MockBean
private NacosConfigService nacosConfigService;
@After
public void clean() {
LocalConfigInfoProcessor.cleanAllSnapshot();
public void after(){
FlowBus.cleanCache();
}
@Test
public void testNacosWithXml() throws Exception {
// envName 把数据写到本地,作为快照数据.始终会取到
String envName = "fixed-127.0.0.1_8848";
LocalConfigInfoProcessor.saveSnapshot(envName,nacosParserVO.getDataId(),nacosParserVO.getGroup(),nacosParserVO.getNamespace(),flowXml);
public void testNacosWithXml1() throws Exception {
String flowXml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><flow><chain name=\"chain1\">THEN(a, b, c);</chain></flow>";
when(nacosConfigService.getConfig(anyString(), anyString(), anyLong())).thenReturn(flowXml);
LiteflowResponse response = flowExecutor.execute2Resp("chain1", "arg");
Assert.assertEquals("a==>b==>c", response.getExecuteStepStrWithoutTime());
}
@Test
public void testNacosWithXml2() throws Exception {
String flowXml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><flow><chain name=\"chain1\">THEN(a, b, c);</chain></flow>";
String changedFlowXml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><flow><chain name=\"chain1\">THEN(a, c);</chain></flow>";
when(nacosConfigService.getConfig(anyString(), anyString(), anyLong())).thenReturn(flowXml).thenReturn(changedFlowXml);
LiteflowResponse response = flowExecutor.execute2Resp("chain1", "arg");
Assert.assertEquals("a==>b==>c", response.getExecuteStepStrWithoutTime());
FlowBus.refreshFlowMetaData(FlowParserTypeEnum.TYPE_EL_XML,changedFlowXml);
response = flowExecutor.execute2Resp("chain1", "arg");
Assert.assertEquals("a==>c", response.getExecuteStepStrWithoutTime());
}

View File

@@ -1,4 +1,2 @@
liteflow.rule-source-ext-data={"serverAddr":"127.0.0.1:8848"}
#liteflow.rule-source-ext-data={"serverAddr":"127.0.0.1:8848","dataId":"LiteFlow","group":"LITE_FLOW_GROUP"}
#liteflow.rule-source-ext-data={"serverAddr":"192.168.10.147:8848","dataId":"LiteFlow","group":"LITE_FLOW_GROUP","namespace":"","username":"","password":""}
liteflow.rule-source-ext-data={"serverAddr":"192.168.10.147:8848","dataId":"LiteFlow","group":"LITE_FLOW_GROUP","namespace":"","username":"","password":""}
liteflow.parse-on-start=false