8
8
9
9
from ._utils import generate_unique_resource_name
10
10
from apify import Actor
11
+ from apify ._models import ActorRun
11
12
12
13
if TYPE_CHECKING :
13
14
from apify_client import ApifyClientAsync
@@ -26,7 +27,7 @@ async def main() -> None:
26
27
actor = await make_actor ('is-at-home' , main_func = main )
27
28
run_result = await run_actor (actor )
28
29
29
- assert run_result [ ' status' ] == 'SUCCEEDED'
30
+ assert run_result . status == 'SUCCEEDED'
30
31
31
32
32
33
async def test_actor_retrieves_env_vars (
@@ -52,7 +53,7 @@ async def main() -> None:
52
53
actor = await make_actor ('get-env' , main_func = main )
53
54
run_result = await run_actor (actor )
54
55
55
- assert run_result [ ' status' ] == 'SUCCEEDED'
56
+ assert run_result . status == 'SUCCEEDED'
56
57
57
58
58
59
async def test_actor_creates_new_client_instance (
@@ -76,7 +77,7 @@ async def main() -> None:
76
77
actor = await make_actor ('new-client' , main_func = main )
77
78
run_result = await run_actor (actor )
78
79
79
- assert run_result [ ' status' ] == 'SUCCEEDED'
80
+ assert run_result . status == 'SUCCEEDED'
80
81
81
82
output_record = await actor .last_run ().key_value_store ().get_record ('OUTPUT' )
82
83
assert output_record is not None
@@ -95,15 +96,15 @@ async def main() -> None:
95
96
actor = await make_actor ('set-status-message' , main_func = main )
96
97
run_result_1 = await run_actor (actor )
97
98
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
101
102
102
103
run_result_2 = await run_actor (actor , run_input = {'is_terminal' : True })
103
104
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
107
108
108
109
109
110
async def test_actor_starts_another_actor_instance (
@@ -142,7 +143,7 @@ async def main_outer() -> None:
142
143
run_input = {'test_value' : test_value , 'inner_actor_id' : inner_actor_id },
143
144
)
144
145
145
- assert run_result_outer [ ' status' ] == 'SUCCEEDED'
146
+ assert run_result_outer . status == 'SUCCEEDED'
146
147
147
148
await inner_actor .last_run ().wait_for_finish (wait_secs = 600 )
148
149
@@ -187,7 +188,7 @@ async def main_outer() -> None:
187
188
run_input = {'test_value' : test_value , 'inner_actor_id' : inner_actor_id },
188
189
)
189
190
190
- assert run_result_outer [ ' status' ] == 'SUCCEEDED'
191
+ assert run_result_outer . status == 'SUCCEEDED'
191
192
192
193
await inner_actor .last_run ().wait_for_finish (wait_secs = 600 )
193
194
@@ -238,7 +239,7 @@ async def main_outer() -> None:
238
239
run_input = {'test_value' : test_value , 'inner_task_id' : task ['id' ]},
239
240
)
240
241
241
- assert run_result_outer [ ' status' ] == 'SUCCEEDED'
242
+ assert run_result_outer . status == 'SUCCEEDED'
242
243
243
244
await inner_actor .last_run ().wait_for_finish (wait_secs = 600 )
244
245
@@ -278,12 +279,13 @@ async def main_outer() -> None:
278
279
run_input = {'inner_run_id' : inner_run_id },
279
280
)
280
281
281
- assert run_result_outer [ ' status' ] == 'SUCCEEDED'
282
+ assert run_result_outer . status == 'SUCCEEDED'
282
283
283
284
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'
287
289
288
290
inner_output_record = await inner_actor .last_run ().key_value_store ().get_record ('OUTPUT' )
289
291
assert inner_output_record is None
@@ -335,7 +337,7 @@ async def main_outer() -> None:
335
337
run_input = {'test_value' : test_value , 'inner_actor_id' : inner_actor_id },
336
338
)
337
339
338
- assert run_result_outer [ ' status' ] == 'SUCCEEDED'
340
+ assert run_result_outer . status == 'SUCCEEDED'
339
341
340
342
outer_run_key_value_store = outer_actor .last_run ().key_value_store ()
341
343
@@ -373,7 +375,7 @@ async def main() -> None:
373
375
run_input = {'counter_key' : 'reboot_counter' },
374
376
)
375
377
376
- assert run_result [ ' status' ] == 'SUCCEEDED'
378
+ assert run_result . status == 'SUCCEEDED'
377
379
378
380
not_written_value = await actor .last_run ().key_value_store ().get_record ('THIS_KEY_SHOULD_NOT_BE_WRITTEN' )
379
381
assert not_written_value is None
@@ -452,17 +454,17 @@ async def main_client() -> None:
452
454
run_input = {'server_actor_container_url' : server_actor_container_url },
453
455
)
454
456
455
- assert ac_run_result [ ' status' ] == 'SUCCEEDED'
457
+ assert ac_run_result . status == 'SUCCEEDED'
456
458
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 )
458
461
459
- assert sa_run_result is not None
460
- assert sa_run_result ['status' ] == 'SUCCEEDED'
462
+ assert sa_run_result .status == 'SUCCEEDED'
461
463
462
464
webhook_body_record = await server_actor .last_run ().key_value_store ().get_record ('WEBHOOK_BODY' )
463
465
assert webhook_body_record is not None
464
466
assert webhook_body_record ['value' ] != ''
465
467
parsed_webhook_body = json .loads (webhook_body_record ['value' ])
466
468
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