1+ from typing import AsyncIterator , Iterator
2+
13import pytest
24
35from taskiq_faststream .utils import resolve_msg
46
57
68@pytest .mark .anyio
79async def test_regular () -> None :
8- assert await resolve_msg ("msg" ) == "msg"
10+ async for m in resolve_msg ("msg" ):
11+ assert m == "msg"
912
1013
1114@pytest .mark .anyio
1215async def test_sync_callable () -> None :
13- assert await resolve_msg (lambda : "msg" ) == "msg"
16+ async for m in resolve_msg (lambda : "msg" ):
17+ assert m == "msg"
1418
1519
1620@pytest .mark .anyio
1721async def test_async_callable () -> None :
1822 async def gen_msg () -> str :
1923 return "msg"
2024
21- assert await resolve_msg (gen_msg ) == "msg"
25+ async for m in resolve_msg (gen_msg ):
26+ assert m == "msg"
2227
2328
2429@pytest .mark .anyio
@@ -30,7 +35,8 @@ def __init__(self) -> None:
3035 def __call__ (self ) -> str :
3136 return "msg"
3237
33- assert await resolve_msg (C ()) == "msg"
38+ async for m in resolve_msg (C ()):
39+ assert m == "msg"
3440
3541
3642@pytest .mark .anyio
@@ -42,4 +48,23 @@ def __init__(self) -> None:
4248 async def __call__ (self ) -> str :
4349 return "msg"
4450
45- assert await resolve_msg (C ()) == "msg"
51+ async for m in resolve_msg (C ()):
52+ assert m == "msg"
53+
54+
55+ @pytest .mark .anyio
56+ async def test_async_generator () -> None :
57+ async def get_msg () -> AsyncIterator [str ]:
58+ yield "msg"
59+
60+ async for m in resolve_msg (get_msg ):
61+ assert m == "msg"
62+
63+
64+ @pytest .mark .anyio
65+ async def test_sync_generator () -> None :
66+ def get_msg () -> Iterator [str ]:
67+ yield "msg"
68+
69+ async for m in resolve_msg (get_msg ):
70+ assert m == "msg"
0 commit comments