@@ -5497,6 +5497,7 @@ async def my_dynamic_signal(self, name: str, args: Sequence[RawValue]) -> None:
5497
5497
await workflow .wait_condition (lambda : self .handlers_may_finish )
5498
5498
5499
5499
5500
+ @pytest .mark .parametrize ("handler_type" , ["signal" , "update" ])
5500
5501
@pytest .mark .parametrize (
5501
5502
"handler_registration" , ["late_registered" , "not_late_registered" ]
5502
5503
)
@@ -5505,161 +5506,26 @@ async def my_dynamic_signal(self, name: str, args: Sequence[RawValue]) -> None:
5505
5506
"handler_waiting" ,
5506
5507
["wait_all_handlers_finish" , "no_wait_all_handlers_finish" ],
5507
5508
)
5508
- async def test_unfinished_update_handler_with_workflow_cancellation (
5509
- client : Client ,
5510
- env : WorkflowEnvironment ,
5511
- handler_registration : Literal ["late_registered" , "not_late_registered" ],
5512
- handler_dynamism : Literal ["dynamic" , "not_dynamic" ],
5513
- handler_waiting : Literal ["wait_all_handlers_finish" , "no_wait_all_handlers_finish" ],
5514
- ):
5515
- if env .supports_time_skipping :
5516
- pytest .skip (
5517
- "Java test server: https://github.com/temporalio/sdk-java/issues/1903"
5518
- )
5519
- await _UnfinishedHandlersOnWorkflowTerminationTest (
5520
- client ,
5521
- "update" ,
5522
- "cancellation" ,
5523
- handler_registration ,
5524
- handler_dynamism ,
5525
- handler_waiting ,
5526
- ).test_warning_is_issued_on_exit_with_unfinished_handler ()
5527
-
5528
-
5529
- @pytest .mark .parametrize (
5530
- "handler_registration" , ["late_registered" , "not_late_registered" ]
5531
- )
5532
- @pytest .mark .parametrize ("handler_dynamism" , ["dynamic" , "not_dynamic" ])
5533
- @pytest .mark .parametrize (
5534
- "handler_waiting" ,
5535
- ["wait_all_handlers_finish" , "no_wait_all_handlers_finish" ],
5536
- )
5537
- async def test_unfinished_signal_handler_with_workflow_cancellation (
5538
- client : Client ,
5539
- handler_registration : Literal ["late_registered" , "not_late_registered" ],
5540
- handler_dynamism : Literal ["dynamic" , "not_dynamic" ],
5541
- handler_waiting : Literal ["wait_all_handlers_finish" , "no_wait_all_handlers_finish" ],
5542
- ):
5543
- await _UnfinishedHandlersOnWorkflowTerminationTest (
5544
- client ,
5545
- "signal" ,
5546
- "cancellation" ,
5547
- handler_registration ,
5548
- handler_dynamism ,
5549
- handler_waiting ,
5550
- ).test_warning_is_issued_on_exit_with_unfinished_handler ()
5551
-
5552
-
5553
- @pytest .mark .parametrize (
5554
- "handler_registration" , ["late_registered" , "not_late_registered" ]
5555
- )
5556
- @pytest .mark .parametrize ("handler_dynamism" , ["dynamic" , "not_dynamic" ])
5557
- @pytest .mark .parametrize (
5558
- "handler_waiting" ,
5559
- ["wait_all_handlers_finish" , "no_wait_all_handlers_finish" ],
5560
- )
5561
- async def test_unfinished_update_handler_with_workflow_failure (
5562
- client : Client ,
5563
- env : WorkflowEnvironment ,
5564
- handler_registration : Literal ["late_registered" , "not_late_registered" ],
5565
- handler_dynamism : Literal ["dynamic" , "not_dynamic" ],
5566
- handler_waiting : Literal ["wait_all_handlers_finish" , "no_wait_all_handlers_finish" ],
5567
- ):
5568
- if env .supports_time_skipping :
5569
- pytest .skip (
5570
- "Java test server: https://github.com/temporalio/sdk-java/issues/1903"
5571
- )
5572
- await _UnfinishedHandlersOnWorkflowTerminationTest (
5573
- client ,
5574
- "update" ,
5575
- "failure" ,
5576
- handler_registration ,
5577
- handler_dynamism ,
5578
- handler_waiting ,
5579
- ).test_warning_is_issued_on_exit_with_unfinished_handler ()
5580
-
5581
-
5582
- @pytest .mark .parametrize (
5583
- "handler_registration" , ["late_registered" , "not_late_registered" ]
5584
- )
5585
- @pytest .mark .parametrize ("handler_dynamism" , ["dynamic" , "not_dynamic" ])
5586
5509
@pytest .mark .parametrize (
5587
- "handler_waiting" ,
5588
- ["wait_all_handlers_finish" , "no_wait_all_handlers_finish" ],
5510
+ "workflow_termination_type" , ["cancellation" , "failure" , "continue-as-new" ]
5589
5511
)
5590
- async def test_unfinished_signal_handler_with_workflow_failure (
5512
+ async def test_unfinished_handler_on_workflow_termination (
5591
5513
client : Client ,
5592
5514
env : WorkflowEnvironment ,
5515
+ handler_type : Literal ["signal" , "update" ],
5593
5516
handler_registration : Literal ["late_registered" , "not_late_registered" ],
5594
5517
handler_dynamism : Literal ["dynamic" , "not_dynamic" ],
5595
5518
handler_waiting : Literal ["wait_all_handlers_finish" , "no_wait_all_handlers_finish" ],
5519
+ workflow_termination_type : Literal ["cancellation" , "failure" , "continue-as-new" ],
5596
5520
):
5597
- if env .supports_time_skipping :
5598
- pytest .skip (
5599
- "Java test server: https://github.com/temporalio/sdk-java/issues/2127"
5600
- )
5601
- await _UnfinishedHandlersOnWorkflowTerminationTest (
5602
- client ,
5603
- "signal" ,
5604
- "failure" ,
5605
- handler_registration ,
5606
- handler_dynamism ,
5607
- handler_waiting ,
5608
- ).test_warning_is_issued_on_exit_with_unfinished_handler ()
5609
-
5610
-
5611
- @pytest .mark .parametrize (
5612
- "handler_registration" , ["late_registered" , "not_late_registered" ]
5613
- )
5614
- @pytest .mark .parametrize ("handler_dynamism" , ["dynamic" , "not_dynamic" ])
5615
- @pytest .mark .parametrize (
5616
- "handler_waiting" ,
5617
- ["wait_all_handlers_finish" , "no_wait_all_handlers_finish" ],
5618
- )
5619
- async def test_unfinished_update_handler_with_continue_as_new (
5620
- client : Client ,
5621
- env : WorkflowEnvironment ,
5622
- handler_registration : Literal ["late_registered" , "not_late_registered" ],
5623
- handler_dynamism : Literal ["dynamic" , "not_dynamic" ],
5624
- handler_waiting : Literal ["wait_all_handlers_finish" , "no_wait_all_handlers_finish" ],
5625
- ):
5626
- if env .supports_time_skipping :
5521
+ if handler_type == "update" and env .supports_time_skipping :
5627
5522
pytest .skip (
5628
5523
"Java test server: https://github.com/temporalio/sdk-java/issues/1903"
5629
5524
)
5630
5525
await _UnfinishedHandlersOnWorkflowTerminationTest (
5631
5526
client ,
5632
- "update" ,
5633
- "continue-as-new" ,
5634
- handler_registration ,
5635
- handler_dynamism ,
5636
- handler_waiting ,
5637
- ).test_warning_is_issued_on_exit_with_unfinished_handler ()
5638
-
5639
-
5640
- @pytest .mark .parametrize (
5641
- "handler_registration" , ["late_registered" , "not_late_registered" ]
5642
- )
5643
- @pytest .mark .parametrize ("handler_dynamism" , ["dynamic" , "not_dynamic" ])
5644
- @pytest .mark .parametrize (
5645
- "handler_waiting" ,
5646
- ["wait_all_handlers_finish" , "no_wait_all_handlers_finish" ],
5647
- )
5648
- async def test_unfinished_signal_handler_with_continue_as_new (
5649
- client : Client ,
5650
- env : WorkflowEnvironment ,
5651
- handler_registration : Literal ["late_registered" , "not_late_registered" ],
5652
- handler_dynamism : Literal ["dynamic" , "not_dynamic" ],
5653
- handler_waiting : Literal ["wait_all_handlers_finish" , "no_wait_all_handlers_finish" ],
5654
- ):
5655
- if env .supports_time_skipping :
5656
- pytest .skip (
5657
- "Java test server: https://github.com/temporalio/sdk-java/issues/2127"
5658
- )
5659
- await _UnfinishedHandlersOnWorkflowTerminationTest (
5660
- client ,
5661
- "signal" ,
5662
- "continue-as-new" ,
5527
+ handler_type ,
5528
+ workflow_termination_type ,
5663
5529
handler_registration ,
5664
5530
handler_dynamism ,
5665
5531
handler_waiting ,
0 commit comments