@@ -573,6 +573,16 @@ func TestWorkflowAllHandlersFinished(t *testing.T) {
573
573
})
574
574
}, time .Minute )
575
575
576
+ env .RegisterDelayedCallback (func () {
577
+ env .UpdateWorkflow ("nonWarningHandler" , "id_3" , & updateCallback {
578
+ reject : func (err error ) {
579
+ require .Fail (t , "update should not be rejected" )
580
+ },
581
+ accept : func () {},
582
+ complete : func (interface {}, error ) {},
583
+ })
584
+ }, 2 * time .Minute )
585
+
576
586
env .RegisterDelayedCallback (func () {
577
587
if completionType == "cancel" {
578
588
env .CancelWorkflow ()
@@ -596,6 +606,20 @@ func TestWorkflowAllHandlersFinished(t *testing.T) {
596
606
return 0 , err
597
607
}
598
608
609
+ err = SetUpdateHandler (ctx , "nonWarningHandler" , func (ctx Context ) error {
610
+ inflightUpdates ++
611
+ ranUpdates ++
612
+ defer func () {
613
+ inflightUpdates --
614
+ }()
615
+ return Sleep (ctx , time .Hour )
616
+ }, UpdateHandlerOptions {
617
+ UnfinishedPolicy : HandlerUnfinishedPolicyAbandon ,
618
+ })
619
+ if err != nil {
620
+ return 0 , err
621
+ }
622
+
599
623
var completeType string
600
624
s := NewSelector (ctx )
601
625
s .AddReceive (ctx .Done (), func (c ReceiveChannel , more bool ) {
@@ -671,7 +695,7 @@ func TestWorkflowAllHandlersFinished(t *testing.T) {
671
695
var buf bytes.Buffer
672
696
result , err := runWf ("complete" , & buf )
673
697
require .NoError (t , err )
674
- require .Equal (t , 2 , result )
698
+ require .Equal (t , 3 , result )
675
699
assertExpectedLogs (t , & buf , true )
676
700
})
677
701
t .Run ("cancel" , func (t * testing.T ) {
0 commit comments