Skip to content

Commit 2af7d40

Browse files
committed
Fix handling of connection_error during init
1 parent 5e0beb2 commit 2af7d40

File tree

2 files changed

+13
-5
lines changed

2 files changed

+13
-5
lines changed

gql/transport/aiohttp_websockets.py

+5-1
Original file line numberDiff line numberDiff line change
@@ -810,7 +810,11 @@ async def connect(self) -> None:
810810
await self._initialize()
811811
except ConnectionResetError as e:
812812
raise e
813-
except (TransportProtocolError, asyncio.TimeoutError) as e:
813+
except (
814+
TransportProtocolError,
815+
TransportServerError,
816+
asyncio.TimeoutError,
817+
) as e:
814818
await self._fail(e, clean_close=False)
815819
raise e
816820

tests/test_aiohttp_websocket_query.py

+8-4
Original file line numberDiff line numberDiff line change
@@ -438,11 +438,15 @@ async def test_aiohttp_websocket_connect_failed_with_authentication_in_connectio
438438

439439
transport = AIOHTTPWebsocketsTransport(url=url, init_payload=init_payload)
440440

441-
with pytest.raises(TransportServerError):
442-
async with Client(transport=transport) as session:
443-
query1 = gql(query_str)
441+
for _ in range(2):
442+
with pytest.raises(TransportServerError):
443+
async with Client(transport=transport) as session:
444+
query1 = gql(query_str)
445+
446+
await session.execute(query1)
444447

445-
await session.execute(query1)
448+
assert transport.session is None
449+
assert transport.websocket is None
446450

447451

448452
@pytest.mark.parametrize("server", [server1_answers], indirect=True)

0 commit comments

Comments
 (0)