@@ -437,161 +437,6 @@ func TestServerBaseLink(t *testing.T) {
437
437
}
438
438
}
439
439
440
- func TestServerRetryTaskHandler (t * testing.T ) {
441
- ctx , cancel := context .WithCancel (context .Background ())
442
- defer cancel ()
443
-
444
- hourAgo := time .Now ().Add (- 1 * time .Hour )
445
- wfID := uuid .New ()
446
- unchangedWorkflow := db.Workflow {
447
- ID : wfID ,
448
- Params : nullString (`{"farewell": "bye", "greeting": "hello"}` ),
449
- Name : nullString (`echo` ),
450
- Finished : true ,
451
- Output : `{"some": "thing"}` ,
452
- Error : "internal explosion" ,
453
- CreatedAt : hourAgo , // cmpopts.EquateApproxTime
454
- UpdatedAt : hourAgo , // cmpopts.EquateApproxTime
455
- }
456
-
457
- cases := []struct {
458
- desc string
459
- params map [string ]string
460
- wantCode int
461
- wantHeaders map [string ]string
462
- wantWorkflows []db.Workflow
463
- }{
464
- {
465
- desc : "no params" ,
466
- wantCode : http .StatusNotFound ,
467
- wantWorkflows : []db.Workflow {unchangedWorkflow },
468
- },
469
- {
470
- desc : "invalid workflow id" ,
471
- params : map [string ]string {"id" : "invalid" , "name" : "greeting" },
472
- wantCode : http .StatusBadRequest ,
473
- wantWorkflows : []db.Workflow {unchangedWorkflow },
474
- },
475
- {
476
- desc : "wrong workflow id" ,
477
- params : map [string ]string {"id" : uuid .New ().String (), "name" : "greeting" },
478
- wantCode : http .StatusNotFound ,
479
- wantWorkflows : []db.Workflow {unchangedWorkflow },
480
- },
481
- {
482
- desc : "invalid task name" ,
483
- params : map [string ]string {"id" : wfID .String (), "name" : "invalid" },
484
- wantCode : http .StatusNotFound ,
485
- wantWorkflows : []db.Workflow {
486
- {
487
- ID : wfID ,
488
- Params : nullString (`{"farewell": "bye", "greeting": "hello"}` ),
489
- Name : nullString (`echo` ),
490
- Finished : true ,
491
- Output : `{"some": "thing"}` ,
492
- Error : "internal explosion" ,
493
- CreatedAt : hourAgo , // cmpopts.EquateApproxTime
494
- UpdatedAt : hourAgo , // cmpopts.EquateApproxTime
495
- },
496
- },
497
- },
498
- {
499
- desc : "successful reset" ,
500
- params : map [string ]string {"id" : wfID .String (), "name" : "greeting" },
501
- wantCode : http .StatusSeeOther ,
502
- wantHeaders : map [string ]string {
503
- "Location" : "/" ,
504
- },
505
- wantWorkflows : []db.Workflow {
506
- {
507
- ID : wfID ,
508
- Params : nullString (`{"farewell": "bye", "greeting": "hello"}` ),
509
- Name : nullString (`echo` ),
510
- Output : "{}" ,
511
- CreatedAt : hourAgo , // cmpopts.EquateApproxTime
512
- UpdatedAt : time .Now (), // cmpopts.EquateApproxTime
513
- },
514
- },
515
- },
516
- }
517
- for _ , c := range cases {
518
- t .Run (c .desc , func (t * testing.T ) {
519
- p := testDB (ctx , t )
520
- q := db .New (p )
521
-
522
- wf := db.CreateWorkflowParams {
523
- ID : wfID ,
524
- Params : nullString (`{"farewell": "bye", "greeting": "hello"}` ),
525
- Name : nullString (`echo` ),
526
- CreatedAt : hourAgo ,
527
- UpdatedAt : hourAgo ,
528
- }
529
- if _ , err := q .CreateWorkflow (ctx , wf ); err != nil {
530
- t .Fatalf ("CreateWorkflow(_, %v) = _, %v, wanted no error" , wf , err )
531
- }
532
- wff := db.WorkflowFinishedParams {
533
- ID : wf .ID ,
534
- Finished : true ,
535
- Output : `{"some": "thing"}` ,
536
- Error : "internal explosion" ,
537
- UpdatedAt : hourAgo ,
538
- }
539
- if _ , err := q .WorkflowFinished (ctx , wff ); err != nil {
540
- t .Fatalf ("WorkflowFinished(_, %v) = _, %v, wanted no error" , wff , err )
541
- }
542
- gtg := db.CreateTaskParams {
543
- WorkflowID : wf .ID ,
544
- Name : "greeting" ,
545
- Finished : true ,
546
- Error : nullString ("internal explosion" ),
547
- CreatedAt : hourAgo ,
548
- UpdatedAt : hourAgo ,
549
- }
550
- if _ , err := q .CreateTask (ctx , gtg ); err != nil {
551
- t .Fatalf ("CreateTask(_, %v) = _, %v, wanted no error" , gtg , err )
552
- }
553
- fw := db.CreateTaskParams {
554
- WorkflowID : wf .ID ,
555
- Name : "farewell" ,
556
- Finished : true ,
557
- Error : nullString ("internal explosion" ),
558
- CreatedAt : hourAgo ,
559
- UpdatedAt : hourAgo ,
560
- }
561
- if _ , err := q .CreateTask (ctx , fw ); err != nil {
562
- t .Fatalf ("CreateTask(_, %v) = _, %v, wanted no error" , fw , err )
563
- }
564
-
565
- req := httptest .NewRequest (http .MethodPost , path .Join ("/workflows/" , c .params ["id" ], "tasks" , c .params ["name" ], "retry" ), nil )
566
- req .Header .Set ("Content-Type" , "application/x-www-form-urlencoded" )
567
- rec := httptest .NewRecorder ()
568
- s := NewServer (p , NewWorker (NewDefinitionHolder (), p , & PGListener {p }), nil , SiteHeader {}, nil )
569
-
570
- s .m .ServeHTTP (rec , req )
571
- resp := rec .Result ()
572
-
573
- if resp .StatusCode != c .wantCode {
574
- t .Errorf ("rep.StatusCode = %d, wanted %d" , resp .StatusCode , c .wantCode )
575
- }
576
- for k , v := range c .wantHeaders {
577
- if resp .Header .Get (k ) != v {
578
- t .Errorf ("resp.Header.Get(%q) = %q, wanted %q" , k , resp .Header .Get (k ), v )
579
- }
580
- }
581
- if c .wantCode == http .StatusBadRequest {
582
- return
583
- }
584
- wfs , err := q .Workflows (ctx )
585
- if err != nil {
586
- t .Fatalf ("q.Workflows() = %v, %v, wanted no error" , wfs , err )
587
- }
588
- if diff := cmp .Diff (c .wantWorkflows , wfs , SameUUIDVariant (), cmpopts .EquateApproxTime (time .Minute )); diff != "" {
589
- t .Fatalf ("q.Workflows() mismatch (-want +got):\n %s" , diff )
590
- }
591
- })
592
- }
593
- }
594
-
595
440
func TestServerApproveTaskHandler (t * testing.T ) {
596
441
ctx , cancel := context .WithCancel (context .Background ())
597
442
defer cancel ()
0 commit comments