88
99from ._utils import generate_unique_resource_name
1010from apify import Actor
11+ from apify ._models import ActorRun
1112
1213if TYPE_CHECKING :
1314 from apify_client import ApifyClientAsync
@@ -26,7 +27,7 @@ async def main() -> None:
2627 actor = await make_actor ('is-at-home' , main_func = main )
2728 run_result = await run_actor (actor )
2829
29- assert run_result [ ' status' ] == 'SUCCEEDED'
30+ assert run_result . status == 'SUCCEEDED'
3031
3132
3233async def test_actor_retrieves_env_vars (
@@ -52,7 +53,7 @@ async def main() -> None:
5253 actor = await make_actor ('get-env' , main_func = main )
5354 run_result = await run_actor (actor )
5455
55- assert run_result [ ' status' ] == 'SUCCEEDED'
56+ assert run_result . status == 'SUCCEEDED'
5657
5758
5859async def test_actor_creates_new_client_instance (
@@ -76,7 +77,7 @@ async def main() -> None:
7677 actor = await make_actor ('new-client' , main_func = main )
7778 run_result = await run_actor (actor )
7879
79- assert run_result [ ' status' ] == 'SUCCEEDED'
80+ assert run_result . status == 'SUCCEEDED'
8081
8182 output_record = await actor .last_run ().key_value_store ().get_record ('OUTPUT' )
8283 assert output_record is not None
@@ -95,15 +96,15 @@ async def main() -> None:
9596 actor = await make_actor ('set-status-message' , main_func = main )
9697 run_result_1 = await run_actor (actor )
9798
98- assert run_result_1 [ ' status' ] == 'SUCCEEDED'
99- assert run_result_1 [ 'statusMessage' ] == 'testing-status-message'
100- assert run_result_1 [ 'isStatusMessageTerminal' ] is None
99+ assert run_result_1 . status == 'SUCCEEDED'
100+ assert run_result_1 . status_message == 'testing-status-message'
101+ assert run_result_1 . is_status_message_terminal is None
101102
102103 run_result_2 = await run_actor (actor , run_input = {'is_terminal' : True })
103104
104- assert run_result_2 [ ' status' ] == 'SUCCEEDED'
105- assert run_result_2 [ 'statusMessage' ] == 'testing-status-message'
106- assert run_result_2 [ 'isStatusMessageTerminal' ] is True
105+ assert run_result_2 . status == 'SUCCEEDED'
106+ assert run_result_2 . status_message == 'testing-status-message'
107+ assert run_result_2 . is_status_message_terminal is True
107108
108109
109110async def test_actor_starts_another_actor_instance (
@@ -142,7 +143,7 @@ async def main_outer() -> None:
142143 run_input = {'test_value' : test_value , 'inner_actor_id' : inner_actor_id },
143144 )
144145
145- assert run_result_outer [ ' status' ] == 'SUCCEEDED'
146+ assert run_result_outer . status == 'SUCCEEDED'
146147
147148 await inner_actor .last_run ().wait_for_finish (wait_secs = 600 )
148149
@@ -187,7 +188,7 @@ async def main_outer() -> None:
187188 run_input = {'test_value' : test_value , 'inner_actor_id' : inner_actor_id },
188189 )
189190
190- assert run_result_outer [ ' status' ] == 'SUCCEEDED'
191+ assert run_result_outer . status == 'SUCCEEDED'
191192
192193 await inner_actor .last_run ().wait_for_finish (wait_secs = 600 )
193194
@@ -238,7 +239,7 @@ async def main_outer() -> None:
238239 run_input = {'test_value' : test_value , 'inner_task_id' : task ['id' ]},
239240 )
240241
241- assert run_result_outer [ ' status' ] == 'SUCCEEDED'
242+ assert run_result_outer . status == 'SUCCEEDED'
242243
243244 await inner_actor .last_run ().wait_for_finish (wait_secs = 600 )
244245
@@ -278,12 +279,13 @@ async def main_outer() -> None:
278279 run_input = {'inner_run_id' : inner_run_id },
279280 )
280281
281- assert run_result_outer [ ' status' ] == 'SUCCEEDED'
282+ assert run_result_outer . status == 'SUCCEEDED'
282283
283284 await inner_actor .last_run ().wait_for_finish (wait_secs = 600 )
284- inner_actor_last_run = await inner_actor .last_run ().get ()
285- assert inner_actor_last_run is not None
286- assert inner_actor_last_run ['status' ] == 'ABORTED'
285+ inner_actor_last_run_dict = await inner_actor .last_run ().get ()
286+ inner_actor_last_run = ActorRun .model_validate (inner_actor_last_run_dict )
287+
288+ assert inner_actor_last_run .status == 'ABORTED'
287289
288290 inner_output_record = await inner_actor .last_run ().key_value_store ().get_record ('OUTPUT' )
289291 assert inner_output_record is None
@@ -335,7 +337,7 @@ async def main_outer() -> None:
335337 run_input = {'test_value' : test_value , 'inner_actor_id' : inner_actor_id },
336338 )
337339
338- assert run_result_outer [ ' status' ] == 'SUCCEEDED'
340+ assert run_result_outer . status == 'SUCCEEDED'
339341
340342 outer_run_key_value_store = outer_actor .last_run ().key_value_store ()
341343
@@ -373,7 +375,7 @@ async def main() -> None:
373375 run_input = {'counter_key' : 'reboot_counter' },
374376 )
375377
376- assert run_result [ ' status' ] == 'SUCCEEDED'
378+ assert run_result . status == 'SUCCEEDED'
377379
378380 not_written_value = await actor .last_run ().key_value_store ().get_record ('THIS_KEY_SHOULD_NOT_BE_WRITTEN' )
379381 assert not_written_value is None
@@ -452,17 +454,17 @@ async def main_client() -> None:
452454 run_input = {'server_actor_container_url' : server_actor_container_url },
453455 )
454456
455- assert ac_run_result [ ' status' ] == 'SUCCEEDED'
457+ assert ac_run_result . status == 'SUCCEEDED'
456458
457- sa_run_result = await server_actor .last_run ().wait_for_finish (wait_secs = 600 )
459+ sa_run_result_dict = await server_actor .last_run ().wait_for_finish (wait_secs = 600 )
460+ sa_run_result = ActorRun .model_validate (sa_run_result_dict )
458461
459- assert sa_run_result is not None
460- assert sa_run_result ['status' ] == 'SUCCEEDED'
462+ assert sa_run_result .status == 'SUCCEEDED'
461463
462464 webhook_body_record = await server_actor .last_run ().key_value_store ().get_record ('WEBHOOK_BODY' )
463465 assert webhook_body_record is not None
464466 assert webhook_body_record ['value' ] != ''
465467 parsed_webhook_body = json .loads (webhook_body_record ['value' ])
466468
467- assert parsed_webhook_body ['eventData' ]['actorId' ] == ac_run_result [ 'actId' ]
468- assert parsed_webhook_body ['eventData' ]['actorRunId' ] == ac_run_result [ 'id' ]
469+ assert parsed_webhook_body ['eventData' ]['actorId' ] == ac_run_result . act_id
470+ assert parsed_webhook_body ['eventData' ]['actorRunId' ] == ac_run_result . id
0 commit comments