From 5e3e2717d1c918104c8bcaf33d85f445361d92a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Urba=C5=84ski?= Date: Mon, 14 Feb 2011 11:43:35 +0100 Subject: [PATCH] Add a test for loseConnection followed by connectionLost --- test_websocket.py | 11 +++++++++++ websocket.py | 3 --- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/test_websocket.py b/test_websocket.py index ee1855d..220b133 100644 --- a/test_websocket.py +++ b/test_websocket.py @@ -500,3 +500,14 @@ def test_connectionLost(self): """ self.request.connectionLost(Failure(CONNECTION_DONE)) self.handler.lostReason.trap(ConnectionDone) + + def test_loseConnection_and_connectionLost(self): + """ + L{Request.connectionLost} called after + L{WebSocketTransport.loseConnection} does not cause problems. + """ + self.handler.transport.loseConnection() + # loseConnection() on the transport will disconnect the request, and it + # will get its connectionLost method fired + self.request.connectionLost(Failure(CONNECTION_DONE)) + self.assertTrue(self.channel.transport.disconnected) diff --git a/websocket.py b/websocket.py index 5cae1d3..6cf1162 100644 --- a/websocket.py +++ b/websocket.py @@ -367,9 +367,6 @@ def loseConnection(self): Close the connection. """ self._request.transport.loseConnection() - del self._request.transport - del self._request - del self._handler class WebSocketHandler(object): """