44import os
55import uuid
66from datetime import datetime , timedelta , timezone
7- from typing import Any , List , Mapping , Optional , cast
7+ from typing import Any , List , Mapping , Optional , cast , Tuple
88from unittest import mock
99
1010import google .protobuf .any_pb2
9494 assert_eq_eventually ,
9595 ensure_search_attributes_present ,
9696 new_worker ,
97- worker_versioning_enabled ,
97+ worker_versioning_enabled , assert_eventually ,
9898)
9999from tests .helpers .worker import (
100100 ExternalWorker ,
@@ -1510,7 +1510,7 @@ class LastCompletionResultWorkflow:
15101510 async def run (self ) -> str :
15111511 last_result = workflow .get_last_completion_result (type_hint = str )
15121512 if last_result is not None :
1513- return "From last completion:" + last_result
1513+ return "From last completion: " + last_result
15141514 else :
15151515 return "My First Result"
15161516
@@ -1534,11 +1534,20 @@ async def test_schedule_last_completion_result(
15341534 ),
15351535 )
15361536 await handle .trigger ()
1537- await asyncio .sleep (1 )
1537+ async def get_schedule_result () -> Tuple [int , Optional [str ]]:
1538+ desc = await handle .describe ()
1539+ length = len (desc .info .recent_actions )
1540+ if length == 0 :
1541+ return length , None
1542+ else :
1543+ workflow_id = cast (ScheduleActionExecutionStartWorkflow , desc .info .recent_actions [- 1 ].action ).workflow_id
1544+ workflow_handle = client .get_workflow_handle (workflow_id )
1545+ result = await workflow_handle .result ()
1546+ return length , result
1547+
1548+ assert await get_schedule_result () == (1 , "My First Result" )
15381549 await handle .trigger ()
1539- await asyncio .sleep (1 )
1540- print (await handle .describe ())
1550+ assert await get_schedule_result () == (2 , "From last completion: My First Result" )
15411551
15421552 await handle .delete ()
1543- assert False
15441553
0 commit comments