@@ -146,7 +146,7 @@ public void testOperationStateNoFunctionRef() {
146
146
}
147
147
148
148
@ Test
149
- public void testValidatateWorkflowWithNoStartStateandNameSpecified () {
149
+ public void testValidatateWorkflowForOptionalStartStateAndWorkflowName () {
150
150
Workflow workflow =
151
151
new Workflow ()
152
152
.withId ("test-workflow" )
@@ -164,4 +164,51 @@ public void testValidatateWorkflowWithNoStartStateandNameSpecified() {
164
164
Assertions .assertNotNull (validationErrors );
165
165
Assertions .assertEquals (0 , validationErrors .size ());
166
166
}
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
+ }
167
214
}
0 commit comments