@@ -128,6 +128,7 @@ def runner():
128128class SSEClientAsyncTests (object ):
129129 """SSEClient test cases."""
130130
131+ # @pytest.mark.asyncio
131132 async def test_sse_client_disconnects (self ):
132133 """Test correct initialization. Client ends the connection."""
133134 server = SSEMockServer ()
@@ -139,16 +140,18 @@ async def callback(event):
139140 events .append (event )
140141
141142 client = SSEClientAsync (callback )
143+
142144 async def connect_split_sse_client ():
143145 await client .start ('http://127.0.0.1:' + str (server .port ()))
144146
145- asyncio .gather (connect_split_sse_client ())
147+ self . _client_task = asyncio .gather (connect_split_sse_client ())
146148 server .publish ({'id' : '1' })
147149 server .publish ({'id' : '2' , 'event' : 'message' , 'data' : 'abc' })
148150 server .publish ({'id' : '3' , 'event' : 'message' , 'data' : 'def' })
149151 server .publish ({'id' : '4' , 'event' : 'message' , 'data' : 'ghi' })
150152 await asyncio .sleep (1 )
151153 await client .shutdown ()
154+ self ._client_task .cancel ()
152155 await asyncio .sleep (1 )
153156
154157 assert events == [
@@ -212,7 +215,7 @@ async def runner():
212215 """SSE client runner thread."""
213216 await client .start ('http://127.0.0.1:' + str (server .port ()))
214217
215- client_task = asyncio .get_event_loop (). create_task (runner ())
218+ client_task = asyncio .gather (runner ())
216219
217220 server .publish ({'id' : '1' })
218221 server .publish ({'id' : '2' , 'event' : 'message' , 'data' : 'abc' })
0 commit comments