@@ -305,6 +305,80 @@ func TestWorkflow_GetWorkflow(t *testing.T) {
305
305
},
306
306
},
307
307
},
308
+ // hook conditions
309
+ {
310
+ name : "Workflow with multiple nodes should display hook conditions" ,
311
+ fields : fields {
312
+ Workflow : map [string ]exportentities.NodeEntry {
313
+ "root" : {
314
+ PipelineName : "pipeline-root" ,
315
+ },
316
+ "child" : {
317
+ PipelineName : "pipeline-child" ,
318
+ DependsOn : []string {"root" },
319
+ OneAtATime : & exportentities .True ,
320
+ },
321
+ },
322
+ Hooks : map [string ][]exportentities.HookEntry {
323
+ "root" : []exportentities.HookEntry {{
324
+ Model : "Scheduler" ,
325
+ Config : map [string ]string {
326
+ "crontab" : "* * * * *" ,
327
+ "payload" : "{}" ,
328
+ },
329
+ Conditions : & sdk.WorkflowNodeConditions {
330
+ LuaScript : "return true" ,
331
+ },
332
+ }},
333
+ },
334
+ },
335
+ wantErr : false ,
336
+ want : sdk.Workflow {
337
+ HistoryLength : sdk .DefaultHistoryLength ,
338
+ WorkflowData : & sdk.WorkflowData {
339
+ Node : sdk.Node {
340
+ Name : "root" ,
341
+ Type : "pipeline" ,
342
+ Hooks : []sdk.NodeHook {
343
+ {
344
+ HookModelName : "Scheduler" ,
345
+ Conditions : sdk.WorkflowNodeConditions {
346
+ LuaScript : "return true" ,
347
+ },
348
+ Config : sdk.WorkflowNodeHookConfig {
349
+ "crontab" : sdk.WorkflowNodeHookConfigValue {
350
+ Value : "* * * * *" ,
351
+ Configurable : true ,
352
+ Type : sdk .HookConfigTypeString ,
353
+ },
354
+ "payload" : sdk.WorkflowNodeHookConfigValue {
355
+ Value : "{}" ,
356
+ Configurable : true ,
357
+ Type : sdk .HookConfigTypeString ,
358
+ },
359
+ },
360
+ },
361
+ },
362
+ Context : & sdk.NodeContext {
363
+ PipelineName : "pipeline-root" ,
364
+ },
365
+ Triggers : []sdk.NodeTrigger {
366
+ {
367
+ ChildNode : sdk.Node {
368
+ Name : "child" ,
369
+ Ref : "child" ,
370
+ Type : "pipeline" ,
371
+ Context : & sdk.NodeContext {
372
+ PipelineName : "pipeline-child" ,
373
+ Mutex : true ,
374
+ },
375
+ },
376
+ },
377
+ },
378
+ },
379
+ },
380
+ },
381
+ },
308
382
// root(pipeline-root) -> child(pipeline-child)
309
383
{
310
384
name : "Complexe workflow without joins and mutex should not raise an error" ,
0 commit comments