File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ import pytest
2+
3+ from microapi .app import MicroAPI
4+
5+
6+ @pytest .mark .asyncio
7+ async def test_startup_and_shutdown_hooks_run ():
8+ events = []
9+
10+ app = MicroAPI ()
11+
12+ @app .on_startup
13+ async def startup ():
14+ events .append ("startup" )
15+
16+ @app .on_shutdown
17+ async def shutdown ():
18+ events .append ("shutdown" )
19+
20+ await app ._run_startup ()
21+ await app ._run_shutdown ()
22+
23+ assert events == ["startup" , "shutdown" ]
24+
25+
26+ @pytest .mark .asyncio
27+ async def test_multiple_hooks_preserve_order ():
28+ events = []
29+
30+ app = MicroAPI ()
31+
32+ @app .on_startup
33+ async def s1 ():
34+ events .append ("s1" )
35+
36+ @app .on_startup
37+ async def s2 ():
38+ events .append ("s2" )
39+
40+ @app .on_shutdown
41+ async def d1 ():
42+ events .append ("d1" )
43+
44+ @app .on_shutdown
45+ async def d2 ():
46+ events .append ("d2" )
47+
48+ await app ._run_startup ()
49+ await app ._run_shutdown ()
50+
51+ assert events == ["s1" , "s2" , "d1" , "d2" ]
You can’t perform that action at this time.
0 commit comments