1
1
"""Tests for the SmartApp file."""
2
2
3
3
import asyncio
4
+
4
5
import pytest
5
6
6
7
from pysmartapp .dispatch import Dispatcher
@@ -61,7 +62,8 @@ async def test_ping(smartapp):
61
62
smartapp .connect_ping (handler )
62
63
# Act
63
64
response = await smartapp .handle_request (request )
64
- await asyncio .sleep (0 )
65
+ # ensure dispatched tasks complete
66
+ await asyncio .gather (* smartapp .dispatcher .last_sent )
65
67
# Assert
66
68
assert handler .fired
67
69
assert response == expected_response
@@ -77,7 +79,8 @@ async def test_config_init(smartapp):
77
79
smartapp .connect_config (handler )
78
80
# Act
79
81
response = await smartapp .handle_request (request , None , False )
80
- await asyncio .sleep (0 )
82
+ # ensure dispatched tasks complete
83
+ await asyncio .gather (* smartapp .dispatcher .last_sent )
81
84
# Assert
82
85
assert handler .fired
83
86
assert response == expected_response
@@ -93,7 +96,8 @@ async def test_config_page(smartapp):
93
96
smartapp .connect_config (handler )
94
97
# Act
95
98
response = await smartapp .handle_request (request , None , False )
96
- await asyncio .sleep (0 )
99
+ # ensure dispatched tasks complete
100
+ await asyncio .gather (* smartapp .dispatcher .last_sent )
97
101
# Assert
98
102
assert handler .fired
99
103
assert response == expected_response
@@ -109,7 +113,8 @@ async def test_install(smartapp):
109
113
smartapp .connect_install (handler )
110
114
# Act
111
115
response = await smartapp .handle_request (request , None , False )
112
- await asyncio .sleep (0 )
116
+ # ensure dispatched tasks complete
117
+ await asyncio .gather (* smartapp .dispatcher .last_sent )
113
118
# Assert
114
119
assert handler .fired
115
120
assert response == expected_response
@@ -125,7 +130,8 @@ async def test_update(smartapp):
125
130
smartapp .connect_update (handler )
126
131
# Act
127
132
response = await smartapp .handle_request (request , None , False )
128
- await asyncio .sleep (0 )
133
+ # ensure dispatched tasks complete
134
+ await asyncio .gather (* smartapp .dispatcher .last_sent )
129
135
# Assert
130
136
assert handler .fired
131
137
assert response == expected_response
@@ -141,7 +147,8 @@ async def test_event(smartapp):
141
147
smartapp .connect_event (handler )
142
148
# Act
143
149
response = await smartapp .handle_request (request , None , False )
144
- await asyncio .sleep (0 )
150
+ # ensure dispatched tasks complete
151
+ await asyncio .gather (* smartapp .dispatcher .last_sent )
145
152
# Assert
146
153
assert handler .fired
147
154
assert response == expected_response
@@ -157,7 +164,8 @@ async def test_oauth_callback(smartapp):
157
164
smartapp .connect_oauth_callback (handler )
158
165
# Act
159
166
response = await smartapp .handle_request (request , None , False )
160
- await asyncio .sleep (0 )
167
+ # ensure dispatched tasks complete
168
+ await asyncio .gather (* smartapp .dispatcher .last_sent )
161
169
# Assert
162
170
assert handler .fired
163
171
assert response == expected_response
@@ -173,7 +181,8 @@ async def test_uninstall(smartapp):
173
181
smartapp .connect_uninstall (handler )
174
182
# Act
175
183
response = await smartapp .handle_request (request , None , False )
176
- await asyncio .sleep (0 )
184
+ # ensure dispatched tasks complete
185
+ await asyncio .gather (* smartapp .dispatcher .last_sent )
177
186
# Assert
178
187
assert handler .fired
179
188
assert response == expected_response
@@ -231,7 +240,8 @@ async def test_handle_request_ping_not_registered(manager):
231
240
manager .connect_ping (handler )
232
241
# Act
233
242
response = await manager .handle_request (request )
234
- await asyncio .sleep (0 )
243
+ # ensure dispatched tasks complete
244
+ await asyncio .gather (* manager .dispatcher .last_sent )
235
245
# Assert
236
246
assert handler .fired
237
247
assert response == expected_response
@@ -327,12 +337,13 @@ async def test_on_config(manager: SmartAppManager):
327
337
"""Tests the config event handler at the manager level."""
328
338
# Arrange
329
339
request = get_fixture ("config_init_request" )
330
- handler = get_dispatch_handler (manager )
340
+ app = manager .register (APP_ID , 'none' )
341
+ handler = get_dispatch_handler (app )
331
342
manager .connect_config (handler )
332
- manager .register (APP_ID , 'none' )
333
343
# Act
334
344
await manager .handle_request (request , None , False )
335
- await asyncio .sleep (0 )
345
+ # ensure dispatched tasks complete
346
+ await asyncio .gather (* manager .dispatcher .last_sent )
336
347
# Assert
337
348
assert handler .fired
338
349
@@ -342,12 +353,13 @@ async def test_on_install(manager: SmartAppManager):
342
353
"""Tests the config event handler at the manager level."""
343
354
# Arrange
344
355
request = get_fixture ("install_request" )
345
- handler = get_dispatch_handler (manager )
356
+ app = manager .register (APP_ID , 'none' )
357
+ handler = get_dispatch_handler (app )
346
358
manager .connect_install (handler )
347
- manager .register (APP_ID , 'none' )
348
359
# Act
349
360
await manager .handle_request (request , None , False )
350
- await asyncio .sleep (0 )
361
+ # ensure dispatched tasks complete
362
+ await asyncio .gather (* manager .dispatcher .last_sent )
351
363
# Assert
352
364
assert handler .fired
353
365
@@ -357,12 +369,13 @@ async def test_on_update(manager: SmartAppManager):
357
369
"""Tests the config event handler at the manager level."""
358
370
# Arrange
359
371
request = get_fixture ("update_request" )
360
- handler = get_dispatch_handler (manager )
372
+ app = manager .register (APP_ID , 'none' )
373
+ handler = get_dispatch_handler (app )
361
374
manager .connect_update (handler )
362
- manager .register (APP_ID , 'none' )
363
375
# Act
364
376
await manager .handle_request (request , None , False )
365
- await asyncio .sleep (0 )
377
+ # ensure dispatched tasks complete
378
+ await asyncio .gather (* manager .dispatcher .last_sent )
366
379
# Assert
367
380
assert handler .fired
368
381
@@ -372,12 +385,13 @@ async def test_on_event(manager: SmartAppManager):
372
385
"""Tests the config event handler at the manager level."""
373
386
# Arrange
374
387
request = get_fixture ("event_request" )
375
- handler = get_dispatch_handler (manager )
388
+ app = manager .register (APP_ID , 'none' )
389
+ handler = get_dispatch_handler (app )
376
390
manager .connect_event (handler )
377
- manager .register (APP_ID , 'none' )
378
391
# Act
379
392
await manager .handle_request (request , None , False )
380
- await asyncio .sleep (0 )
393
+ # ensure dispatched tasks complete
394
+ await asyncio .gather (* manager .dispatcher .last_sent )
381
395
# Assert
382
396
assert handler .fired
383
397
@@ -387,12 +401,13 @@ async def test_on_oauth_callback(manager: SmartAppManager):
387
401
"""Tests the config event handler at the manager level."""
388
402
# Arrange
389
403
request = get_fixture ("oauth_callback_request" )
390
- handler = get_dispatch_handler (manager )
404
+ app = manager .register (APP_ID , 'none' )
405
+ handler = get_dispatch_handler (app )
391
406
manager .connect_oauth_callback (handler )
392
- manager .register (APP_ID , 'none' )
393
407
# Act
394
408
await manager .handle_request (request , None , False )
395
- await asyncio .sleep (0 )
409
+ # ensure dispatched tasks complete
410
+ await asyncio .gather (* manager .dispatcher .last_sent )
396
411
# Assert
397
412
assert handler .fired
398
413
@@ -402,11 +417,12 @@ async def test_on_uninstall(manager: SmartAppManager):
402
417
"""Tests the config event handler at the manager level."""
403
418
# Arrange
404
419
request = get_fixture ("uninstall_request" )
405
- handler = get_dispatch_handler (manager )
420
+ app = manager .register (APP_ID , 'none' )
421
+ handler = get_dispatch_handler (app )
406
422
manager .connect_uninstall (handler )
407
- manager .register (APP_ID , 'none' )
408
423
# Act
409
424
await manager .handle_request (request , None , False )
410
- await asyncio .sleep (0 )
425
+ # ensure dispatched tasks complete
426
+ await asyncio .gather (* manager .dispatcher .last_sent )
411
427
# Assert
412
428
assert handler .fired
0 commit comments