Skip to content

Commit 1d93d7b

Browse files
author
qq_62395577
committed
修改完成合法性校验
1 parent 5dcc8e0 commit 1d93d7b

1 file changed

Lines changed: 103 additions & 23 deletions

File tree

  • app-builder/waterflow/java/waterflow-service/src/test/java/modelengine/fit/waterflow/flowsengine/domain/flows/validators

app-builder/waterflow/java/waterflow-service/src/test/java/modelengine/fit/waterflow/flowsengine/domain/flows/validators/FlowValidatorTest.java

Lines changed: 103 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@
2828
import modelengine.fit.waterflow.flowsengine.domain.flows.definitions.nodes.events.FlowEvent;
2929
import modelengine.fit.waterflow.flowsengine.domain.flows.definitions.nodes.jobers.FlowEchoJober;
3030
import modelengine.fit.waterflow.flowsengine.domain.flows.definitions.nodes.jobers.FlowGeneralJober;
31+
import modelengine.fit.waterflow.flowsengine.domain.flows.enums.FlowDefinitionStatus;
32+
import modelengine.fit.waterflow.flowsengine.domain.flows.enums.FlowJoberType;
3133
import modelengine.fit.waterflow.flowsengine.domain.flows.enums.FlowNodeTriggerMode;
3234
import modelengine.fit.waterflow.flowsengine.domain.flows.enums.FlowNodeType;
3335
import modelengine.fit.waterflow.flowsengine.domain.flows.parsers.FlowParser;
@@ -534,21 +536,90 @@ public void testValidateStartNodeEventLessThan1Success() {
534536
WaterflowParamException exception = assertThrows(WaterflowParamException.class,
535537
() -> flowNodeValidator.validate(flowDefinition));
536538
assertEquals(INVALID_START_NODE_EVENT_SIZE.getErrorCode(), exception.getCode());
539+
540+
537541
}
538542

539543
@Test
540-
@DisplayName("测试流程节点StartNodeEventGreatThan1校验成功")
544+
@DisplayName("测试流程节点StartNodeEventGreatThan1校验放开")
541545
public void testValidateStartNodeEventGreatThan1Success() {
542-
Map<String, FlowNode> nodeMap = flowDefinition.getNodeMap();
543-
List<FlowEvent> events = new ArrayList<>();
544-
events.add(new FlowEvent());
545-
events.add(new FlowEvent());
546-
nodeMap.get(START_ID).setEvents(events);
547-
flowDefinition.setNodeMap(nodeMap);
546+
FlowDefinition definition = new FlowDefinition();
547+
definition.setMetaId("apimckapimckapimckapimckapimckaa");
548+
definition.setName("testFlow");
549+
definition.setVersion("1.0.0");
550+
definition.setTenant(TENANT);
551+
definition.setStatus(FlowDefinitionStatus.ACTIVE);
552+
553+
Map<String, FlowNode> nodeMap = new HashMap<>();
554+
555+
FlowStartNode startNode = new FlowStartNode();
556+
startNode.setMetaId(START_ID);
557+
startNode.setName("startNode");
558+
startNode.setType(FlowNodeType.START);
559+
startNode.setTriggerMode(FlowNodeTriggerMode.AUTO);
560+
startNode.setProperties(new HashMap<>());
548561

549-
WaterflowParamException exception = assertThrows(WaterflowParamException.class,
550-
() -> flowNodeValidator.validate(flowDefinition));
551-
assertEquals(INVALID_EVENT_CONFIG.getErrorCode(), exception.getCode());
562+
List<FlowEvent> events = new ArrayList<>();
563+
FlowEvent event1 = new FlowEvent();
564+
event1.setMetaId("event1");
565+
event1.setFrom(START_ID);
566+
event1.setTo(STATE_ID);
567+
events.add(event1);
568+
569+
FlowEvent event2 = new FlowEvent();
570+
event2.setMetaId("event2");
571+
event2.setFrom(START_ID);
572+
event2.setTo(THIRD_STATE_ID);
573+
events.add(event2);
574+
startNode.setEvents(events);
575+
576+
FlowNode stateNode = new FlowNode() {};
577+
stateNode.setMetaId(STATE_ID);
578+
stateNode.setName("stateNode");
579+
stateNode.setType(FlowNodeType.STATE);
580+
stateNode.setTriggerMode(FlowNodeTriggerMode.AUTO);
581+
stateNode.setProperties(new HashMap<>());
582+
List<FlowEvent> stateEvents = new ArrayList<>();
583+
FlowEvent stateEvent = new FlowEvent();
584+
stateEvent.setMetaId("stateEvent");
585+
stateEvent.setFrom(STATE_ID);
586+
stateEvent.setTo(END_ID);
587+
stateEvents.add(stateEvent);
588+
stateNode.setEvents(stateEvents);
589+
FlowEchoJober stateJober = new FlowEchoJober();
590+
stateJober.setType(FlowJoberType.ECHO_JOBER);
591+
stateJober.setFitables(new java.util.HashSet<>());
592+
stateNode.setJober(stateJober);
593+
nodeMap.put(STATE_ID, stateNode);
594+
FlowNode thirdStateNode = new FlowNode() {};
595+
thirdStateNode.setMetaId(THIRD_STATE_ID);
596+
thirdStateNode.setName("thirdStateNode");
597+
thirdStateNode.setType(FlowNodeType.STATE);
598+
thirdStateNode.setTriggerMode(FlowNodeTriggerMode.AUTO);
599+
thirdStateNode.setProperties(new HashMap<>());
600+
List<FlowEvent> thirdStateEvents = new ArrayList<>();
601+
FlowEvent thirdStateEvent = new FlowEvent();
602+
thirdStateEvent.setMetaId("thirdStateEvent");
603+
thirdStateEvent.setFrom(THIRD_STATE_ID);
604+
thirdStateEvent.setTo(END_ID);
605+
thirdStateEvents.add(thirdStateEvent);
606+
thirdStateNode.setEvents(thirdStateEvents);
607+
FlowEchoJober thirdStateJober = new FlowEchoJober();
608+
thirdStateJober.setType(FlowJoberType.ECHO_JOBER);
609+
thirdStateJober.setFitables(new java.util.HashSet<>());
610+
thirdStateNode.setJober(thirdStateJober);
611+
nodeMap.put(THIRD_STATE_ID, thirdStateNode);
612+
FlowNode endNode = new FlowNode() {};
613+
endNode.setMetaId(END_ID);
614+
endNode.setName("endNode");
615+
endNode.setType(FlowNodeType.END);
616+
endNode.setTriggerMode(FlowNodeTriggerMode.AUTO);
617+
endNode.setProperties(new HashMap<>());
618+
endNode.setEvents(new ArrayList<>());
619+
nodeMap.put(END_ID, endNode);
620+
nodeMap.put(START_ID, startNode);
621+
definition.setNodeMap(nodeMap);
622+
assertDoesNotThrow(() -> flowNodeValidator.validate(definition));
552623
}
553624

554625
@Test
@@ -565,32 +636,41 @@ public void testValidateStartNodeJobberSuccess() {
565636
}
566637

567638
@Test
568-
@DisplayName("测试流程节点StateNodeEventLessThan1校验成功")
569-
public void testValidateStateNodeEventLessThan1Success() {
639+
@DisplayName("测试流程节点StateNodeEventGreatThan1校验成功")
640+
public void testValidateStateNodeEventGreatThan1Success() {
570641
Map<String, FlowNode> nodeMap = flowDefinition.getNodeMap();
571-
nodeMap.get(STATE_ID).setEvents(new ArrayList<>());
642+
List<FlowEvent> events = new ArrayList<>();
643+
FlowEvent event1 = new FlowEvent();
644+
event1.setMetaId("event1");
645+
event1.setFrom(STATE_ID);
646+
event1.setTo(END_ID);
647+
events.add(event1);
648+
649+
FlowEvent event2 = new FlowEvent();
650+
event2.setMetaId("event2");
651+
event2.setFrom(STATE_ID);
652+
event2.setTo(END_ID);
653+
events.add(event2);
654+
655+
nodeMap.get(STATE_ID).setEvents(events);
572656
flowDefinition.setNodeMap(nodeMap);
573657

574-
WaterflowParamException exception = assertThrows(WaterflowParamException.class,
575-
() -> flowNodeValidator.validate(flowDefinition));
576-
assertEquals(INVALID_STATE_NODE_EVENT_SIZE.getErrorCode(), exception.getCode());
658+
assertDoesNotThrow(() -> flowNodeValidator.validate(flowDefinition));
577659
}
578660

579661
@Test
580-
@DisplayName("测试流程节点StateNodeEventGreatThan1校验成功")
581-
public void testValidateStateNodeEventGreatThan1Success() {
662+
@DisplayName("测试流程节点StateNodeEventLessThan1校验成功")
663+
public void testValidateStateNodeEventLessThan1Success() {
582664
Map<String, FlowNode> nodeMap = flowDefinition.getNodeMap();
583-
List<FlowEvent> events = new ArrayList<>();
584-
events.add(new FlowEvent());
585-
events.add(new FlowEvent());
586-
nodeMap.get(STATE_ID).setEvents(events);
665+
nodeMap.get(STATE_ID).setEvents(new ArrayList<>());
587666
flowDefinition.setNodeMap(nodeMap);
588667

589668
WaterflowParamException exception = assertThrows(WaterflowParamException.class,
590669
() -> flowNodeValidator.validate(flowDefinition));
591-
assertEquals( INVALID_EVENT_CONFIG.getErrorCode(), exception.getCode());
670+
assertEquals(INVALID_STATE_NODE_EVENT_SIZE.getErrorCode(), exception.getCode());
592671
}
593672

673+
594674
@Test
595675
@DisplayName("测试流程节点StateNodeJobber校验成功")
596676
public void testValidateStateNodeJobberSuccess() {

0 commit comments

Comments
 (0)