Skip to content

Commit a54956d

Browse files
JenSteasvetlov
authored andcommitted
Fix the string representation of ServerDisconnectedError (#4188)
1 parent 993d6e7 commit a54956d

File tree

5 files changed

+17
-8
lines changed

5 files changed

+17
-8
lines changed

CHANGES/4175.bugfix

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Fix the string representation of `ServerDisconnectedError`.

CONTRIBUTORS.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,7 @@ Jake Davis
129129
Jakob Ackermann
130130
Jakub Wilk
131131
Jashandeep Sohi
132+
Jens Steinhauser
132133
Jeongkyu Shin
133134
Jeroen van der Heijden
134135
Jesus Cea

aiohttp/client_exceptions.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -160,11 +160,11 @@ class ServerDisconnectedError(ServerConnectionError):
160160
"""Server disconnected."""
161161

162162
def __init__(self, message: Optional[str]=None) -> None:
163-
self.message = message
164163
if message is None:
165-
self.args = ()
166-
else:
167-
self.args = (message,)
164+
message = 'Server disconnected'
165+
166+
self.args = (message,)
167+
self.message = message
168168

169169

170170
class ServerTimeoutError(ServerConnectionError, asyncio.TimeoutError):

tests/test_client_exceptions.py

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,7 @@ def test_str(self) -> None:
178178
class TestServerDisconnectedError:
179179
def test_ctor(self) -> None:
180180
err = client.ServerDisconnectedError()
181-
assert err.message is None
181+
assert err.message == 'Server disconnected'
182182

183183
err = client.ServerDisconnectedError(message='No connection')
184184
assert err.message == 'No connection'
@@ -194,7 +194,12 @@ def test_pickle(self) -> None:
194194

195195
def test_repr(self) -> None:
196196
err = client.ServerDisconnectedError()
197-
assert repr(err) == "ServerDisconnectedError()"
197+
if sys.version_info < (3, 7):
198+
assert repr(err) == ("ServerDisconnectedError"
199+
"('Server disconnected',)")
200+
else:
201+
assert repr(err) == ("ServerDisconnectedError"
202+
"('Server disconnected')")
198203

199204
err = client.ServerDisconnectedError(message='No connection')
200205
if sys.version_info < (3, 7):
@@ -204,7 +209,7 @@ def test_repr(self) -> None:
204209

205210
def test_str(self) -> None:
206211
err = client.ServerDisconnectedError()
207-
assert str(err) == ''
212+
assert str(err) == 'Server disconnected'
208213

209214
err = client.ServerDisconnectedError(message='No connection')
210215
assert str(err) == 'No connection'

tests/test_client_functional.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2680,10 +2680,12 @@ async def handler(request):
26802680
app.router.add_get('/', handler)
26812681

26822682
client = await aiohttp_client(app)
2683-
with pytest.raises(aiohttp.ServerDisconnectedError):
2683+
with pytest.raises(aiohttp.ServerDisconnectedError) as excinfo:
26842684
resp = await client.get('/')
26852685
await resp.read()
26862686

2687+
assert str(excinfo.value) != ''
2688+
26872689

26882690
async def test_dont_close_explicit_connector(aiohttp_client) -> None:
26892691
async def handler(request):

0 commit comments

Comments
 (0)