15
15
from .conftest import ActorFactory
16
16
17
17
18
- async def test_same_references_in_default_kvs (make_actor : ActorFactory ) -> None :
18
+ async def test_same_references_in_default_kvs (
19
+ apify_client_async : ApifyClientAsync ,
20
+ make_actor : ActorFactory ,
21
+ ) -> None :
19
22
async def main () -> None :
20
23
async with Actor :
21
24
kvs1 = await Actor .open_key_value_store ()
@@ -24,12 +27,20 @@ async def main() -> None:
24
27
25
28
actor = await make_actor ('kvs-same-ref-default' , main_func = main )
26
29
27
- run_result = await actor .call ()
30
+ call_result = await actor .call ()
31
+ assert call_result is not None
32
+
33
+ run_client = apify_client_async .run (call_result ['id' ])
34
+ run_result = await run_client .wait_for_finish (wait_secs = 300 )
35
+
28
36
assert run_result is not None
29
37
assert run_result ['status' ] == 'SUCCEEDED'
30
38
31
39
32
- async def test_same_references_in_named_kvs (make_actor : ActorFactory ) -> None :
40
+ async def test_same_references_in_named_kvs (
41
+ apify_client_async : ApifyClientAsync ,
42
+ make_actor : ActorFactory ,
43
+ ) -> None :
33
44
kvs_name = generate_unique_resource_name ('key-value-store' )
34
45
35
46
async def main () -> None :
@@ -49,12 +60,20 @@ async def main() -> None:
49
60
50
61
actor = await make_actor ('kvs-same-ref-named' , main_func = main )
51
62
52
- run_result = await actor .call (run_input = {'kvsName' : kvs_name })
63
+ call_result = await actor .call (run_input = {'kvsName' : kvs_name })
64
+ assert call_result is not None
65
+
66
+ run_client = apify_client_async .run (call_result ['id' ])
67
+ run_result = await run_client .wait_for_finish (wait_secs = 300 )
68
+
53
69
assert run_result is not None
54
70
assert run_result ['status' ] == 'SUCCEEDED'
55
71
56
72
57
- async def test_force_cloud (apify_client_async : ApifyClientAsync , monkeypatch : pytest .MonkeyPatch ) -> None :
73
+ async def test_force_cloud (
74
+ apify_client_async : ApifyClientAsync ,
75
+ monkeypatch : pytest .MonkeyPatch ,
76
+ ) -> None :
58
77
assert apify_client_async .token is not None
59
78
monkeypatch .setenv (ApifyEnvVars .TOKEN , apify_client_async .token )
60
79
@@ -80,7 +99,10 @@ async def test_force_cloud(apify_client_async: ApifyClientAsync, monkeypatch: py
80
99
await key_value_store_client .delete ()
81
100
82
101
83
- async def test_set_and_get_value_in_same_run (make_actor : ActorFactory ) -> None :
102
+ async def test_set_and_get_value_in_same_run (
103
+ apify_client_async : ApifyClientAsync ,
104
+ make_actor : ActorFactory ,
105
+ ) -> None :
84
106
async def main () -> None :
85
107
async with Actor :
86
108
await Actor .set_value ('test' , {'number' : 123 , 'string' : 'a string' , 'nested' : {'test' : 1 }})
@@ -91,21 +113,35 @@ async def main() -> None:
91
113
92
114
actor = await make_actor ('actor-get-set-value' , main_func = main )
93
115
94
- run_result = await actor .call ()
116
+ call_result = await actor .call ()
117
+ assert call_result is not None
118
+
119
+ run_client = apify_client_async .run (call_result ['id' ])
120
+ run_result = await run_client .wait_for_finish (wait_secs = 300 )
121
+
95
122
assert run_result is not None
96
123
assert run_result ['status' ] == 'SUCCEEDED'
97
124
98
125
99
- async def test_set_value_in_one_run_and_get_value_in_another (make_actor : ActorFactory ) -> None :
126
+ async def test_set_value_in_one_run_and_get_value_in_another (
127
+ apify_client_async : ApifyClientAsync ,
128
+ make_actor : ActorFactory ,
129
+ ) -> None :
100
130
async def main_set () -> None :
101
131
async with Actor :
102
132
await Actor .set_value ('test' , {'number' : 123 , 'string' : 'a string' , 'nested' : {'test' : 1 }})
103
133
104
134
actor_set = await make_actor ('actor-set-value' , main_func = main_set )
105
135
106
- run_result_set = await actor_set .call ()
136
+ call_result_set = await actor_set .call ()
137
+ assert call_result_set is not None
138
+
139
+ run_client_set = apify_client_async .run (call_result_set ['id' ])
140
+ run_result_set = await run_client_set .wait_for_finish (wait_secs = 300 )
141
+
107
142
assert run_result_set is not None
108
143
assert run_result_set ['status' ] == 'SUCCEEDED'
144
+
109
145
# Externally check if the value is present in key-value store
110
146
test_record = await actor_set .last_run ().key_value_store ().get_record ('test' )
111
147
assert test_record is not None
@@ -128,12 +164,20 @@ async def main_get() -> None:
128
164
default_kvs_info = await actor_set .last_run ().key_value_store ().get ()
129
165
assert default_kvs_info is not None
130
166
131
- run_result_get = await actor_get .call (run_input = {'kvs-id' : default_kvs_info ['id' ]})
167
+ call_result_get = await actor_get .call (run_input = {'kvs-id' : default_kvs_info ['id' ]})
168
+ assert call_result_get is not None
169
+
170
+ run_client_get = apify_client_async .run (call_result_get ['id' ])
171
+ run_result_get = await run_client_get .wait_for_finish (wait_secs = 300 )
172
+
132
173
assert run_result_get is not None
133
174
assert run_result_get ['status' ] == 'SUCCEEDED'
134
175
135
176
136
- async def test_actor_get_input_from_run (make_actor : ActorFactory ) -> None :
177
+ async def test_actor_get_input_from_run (
178
+ apify_client_async : ApifyClientAsync ,
179
+ make_actor : ActorFactory ,
180
+ ) -> None :
137
181
actor_source_files = {
138
182
'INPUT_SCHEMA.json' : """
139
183
{
@@ -168,19 +212,27 @@ async def main():
168
212
}
169
213
actor = await make_actor ('actor-get-input' , source_files = actor_source_files )
170
214
171
- run_result = await actor .call (
215
+ call_result = await actor .call (
172
216
run_input = {
173
217
'number' : 123 ,
174
218
'string' : 'a string' ,
175
219
'nested' : {'test' : 1 },
176
220
'password' : 'very secret' ,
177
221
}
178
222
)
223
+ assert call_result is not None
224
+
225
+ run_client = apify_client_async .run (call_result ['id' ])
226
+ run_result = await run_client .wait_for_finish (wait_secs = 300 )
227
+
179
228
assert run_result is not None
180
229
assert run_result ['status' ] == 'SUCCEEDED'
181
230
182
231
183
- async def test_generate_public_url_for_kvs_record (make_actor : ActorFactory ) -> None :
232
+ async def test_generate_public_url_for_kvs_record (
233
+ apify_client_async : ApifyClientAsync ,
234
+ make_actor : ActorFactory ,
235
+ ) -> None :
184
236
async def main () -> None :
185
237
from typing import cast
186
238
@@ -198,6 +250,11 @@ async def main() -> None:
198
250
199
251
actor = await make_actor ('kvs-get-public-url' , main_func = main )
200
252
201
- run_result = await actor .call ()
253
+ call_result = await actor .call ()
254
+ assert call_result is not None
255
+
256
+ run_client = apify_client_async .run (call_result ['id' ])
257
+ run_result = await run_client .wait_for_finish (wait_secs = 300 )
258
+
202
259
assert run_result is not None
203
260
assert run_result ['status' ] == 'SUCCEEDED'
0 commit comments