summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorLinn Mattsson <linma@cendio.se>2022-10-11 07:31:48 +0000
committerPierre Ossman <ossman@cendio.se>2022-11-08 14:24:46 +0100
commit4695f967288a52a480e42c5267ed512f18ed5856 (patch)
treebee6451103282c358494fce7c2af1a7ccd75da97 /tests
parent832ae23f00ae94584da0a1929c9feb63b34badbc (diff)
downloadwebsockify-4695f967288a52a480e42c5267ed512f18ed5856.tar.gz
Add new websocket class HttpWebSocket
This class acts as a glue between websocket and http functionality by taking a 'request_handler' and using its functions for send_response(), send_header() and end_headers().
Diffstat (limited to 'tests')
-rw-r--r--tests/test_websocketserver.py69
1 files changed, 69 insertions, 0 deletions
diff --git a/tests/test_websocketserver.py b/tests/test_websocketserver.py
new file mode 100644
index 0000000..0e37e3d
--- /dev/null
+++ b/tests/test_websocketserver.py
@@ -0,0 +1,69 @@
+
+""" Unit tests for websocketserver """
+import unittest
+from unittest.mock import patch, MagicMock
+
+from websockify.websocketserver import HttpWebSocket
+
+
+class HttpWebSocketTest(unittest.TestCase):
+ @patch("websockify.websocketserver.WebSocket.__init__", autospec=True)
+ def test_constructor(self, websock):
+ # Given
+ req_obj = MagicMock()
+
+ # When
+ sock = HttpWebSocket(req_obj)
+
+ # Then
+ websock.assert_called_once_with(sock)
+ self.assertEqual(sock.request_handler, req_obj)
+
+ @patch("websockify.websocketserver.WebSocket.__init__", MagicMock(autospec=True))
+ def test_send_response(self):
+ # Given
+ req_obj = MagicMock()
+ sock = HttpWebSocket(req_obj)
+
+ # When
+ sock.send_response(200, "message")
+
+ # Then
+ req_obj.send_response.assert_called_once_with(200, "message")
+
+ @patch("websockify.websocketserver.WebSocket.__init__", MagicMock(autospec=True))
+ def test_send_response_default_message(self):
+ # Given
+ req_obj = MagicMock()
+ sock = HttpWebSocket(req_obj)
+
+ # When
+ sock.send_response(200)
+
+ # Then
+ req_obj.send_response.assert_called_once_with(200, None)
+
+ @patch("websockify.websocketserver.WebSocket.__init__", MagicMock(autospec=True))
+ def test_send_header(self):
+ # Given
+ req_obj = MagicMock()
+ sock = HttpWebSocket(req_obj)
+
+ # When
+ sock.send_header("keyword", "value")
+
+ # Then
+ req_obj.send_header.assert_called_once_with("keyword", "value")
+
+ @patch("websockify.websocketserver.WebSocket.__init__", MagicMock(autospec=True))
+ def test_end_headers(self):
+ # Given
+ req_obj = MagicMock()
+ sock = HttpWebSocket(req_obj)
+
+ # When
+ sock.end_headers()
+
+ # Then
+ req_obj.end_headers.assert_called_once_with()
+