Disconnect session on ConnectionResetError

This commit is contained in:
Andrew Kay
2020-03-26 07:17:43 -05:00
parent cc11fe2ed6
commit 52a05ad1df
2 changed files with 11 additions and 1 deletions

View File

@@ -84,7 +84,7 @@ class TN3270Session(Session):
try:
if not self.emulator.update(timeout=0):
return False
except EOFError:
except (EOFError, ConnectionResetError):
self._disconnect_host()
raise SessionDisconnectedError

View File

@@ -75,6 +75,16 @@ class SessionHandleHostTestCase(unittest.TestCase):
self.telnet.close.assert_called()
def test_connection_reset(self):
# Arrange
self.session.emulator.update = Mock(side_effect=ConnectionResetError)
# Act and assert
with self.assertRaises(SessionDisconnectedError):
self.session.handle_host()
self.telnet.close.assert_called()
def test_keyboard_locked(self):
# Arrange
self.session.emulator.update = Mock(return_value=True)