@@ -146,7 +146,7 @@ public void testOperationStateNoFunctionRef() {
146146 }
147147
148148 @ Test
149- public void testValidatateWorkflowWithNoStartStateandNameSpecified () {
149+ public void testValidatateWorkflowForOptionalStartStateAndWorkflowName () {
150150 Workflow workflow =
151151 new Workflow ()
152152 .withId ("test-workflow" )
@@ -164,4 +164,51 @@ public void testValidatateWorkflowWithNoStartStateandNameSpecified() {
164164 Assertions .assertNotNull (validationErrors );
165165 Assertions .assertEquals (0 , validationErrors .size ());
166166 }
167+
168+ @ Test
169+ public void testValidateWorkflowForOptionalIterationParam () {
170+ WorkflowValidator workflowValidator = new WorkflowValidatorImpl ();
171+ List <ValidationError > validationErrors =
172+ workflowValidator
173+ .setSource (
174+ "{\n "
175+ + "\" id\" : \" checkInbox\" ,\n "
176+ + " \" name\" : \" Check Inbox Workflow\" ,\n "
177+ + "\" description\" : \" Periodically Check Inbox\" ,\n "
178+ + "\" version\" : \" 1.0\" ,\n "
179+ + "\" start\" : \" CheckInbox\" ,\n "
180+ + "\" functions\" : [\n "
181+ + "\n "
182+ + "],\n "
183+ + "\" states\" : [\n "
184+ + " {\n "
185+ + " \" name\" : \" CheckInbox\" ,\n "
186+ + " \" type\" : \" operation\" ,\n "
187+ + " \" actionMode\" : \" sequential\" ,\n "
188+ + " \" actions\" : [\n "
189+ + " {\n "
190+ + " \" functionRef\" : {\n "
191+ + " \" refName\" : \" checkInboxFunction\" \n "
192+ + " }\n "
193+ + " }\n "
194+ + " ],\n "
195+ + " \" transition\" : {\n "
196+ + " \" nextState\" : \" SendTextForHighPrioriry\" \n "
197+ + " }\n "
198+ + " },\n "
199+ + " {\n "
200+ + " \" name\" : \" SendTextForHighPrioriry\" ,\n "
201+ + " \" type\" : \" foreach\" ,\n "
202+ + " \" inputCollection\" : \" ${ .message }\" ,\n "
203+ + " \" end\" : {\n "
204+ + " \" kind\" : \" default\" \n "
205+ + " }\n "
206+ + " }\n "
207+ + "]\n "
208+ + "}" )
209+ .validate ();
210+
211+ Assertions .assertNotNull (validationErrors );
212+ Assertions .assertEquals (1 , validationErrors .size ()); // validation error raised for functionref not for iterationParam
213+ }
167214}
0 commit comments