summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorPierre Ossman <ossman@cendio.se>2017-04-19 13:30:47 +0200
committerPierre Ossman <ossman@cendio.se>2017-04-19 13:30:47 +0200
commitf3a0ce06a9c9ed9ab6f7579c92f0b06123bc87ee (patch)
tree7194d06dac255e016a6830697cf1674de1334c45 /tests
parent8ea96a503a543a382cddefb125d95cfe46d01dce (diff)
downloadwebsockify-f3a0ce06a9c9ed9ab6f7579c92f0b06123bc87ee.tar.gz
Add unittests for ping() and pong()
Diffstat (limited to 'tests')
-rw-r--r--tests/test_websocket.py26
1 files changed, 26 insertions, 0 deletions
diff --git a/tests/test_websocket.py b/tests/test_websocket.py
index 9c7870a..8ee44f9 100644
--- a/tests/test_websocket.py
+++ b/tests/test_websocket.py
@@ -116,6 +116,32 @@ class AcceptTestCase(unittest.TestCase):
'Sec-WebSocket-Key': 'DKURYVK9cRFul1vOZVA56Q==',
'Sec-WebSocket-Protocol': 'foobar gazonk'})
+class PingPongTest(unittest.TestCase):
+ def setUp(self):
+ self.ws = websocket.WebSocket()
+ self.sock = FakeSocket()
+ self.ws.accept(self.sock, {'upgrade': 'websocket',
+ 'Sec-WebSocket-Version': '13',
+ 'Sec-WebSocket-Key': 'DKURYVK9cRFul1vOZVA56Q=='})
+ self.assertEqual(self.sock.data[:13], b'HTTP/1.1 101 ')
+ self.sock.data = b''
+
+ def test_ping(self):
+ self.ws.ping()
+ self.assertEqual(self.sock.data, b'\x89\x00')
+
+ def test_pong(self):
+ self.ws.pong()
+ self.assertEqual(self.sock.data, b'\x8a\x00')
+
+ def test_ping_data(self):
+ self.ws.ping(b'foo')
+ self.assertEqual(self.sock.data, b'\x89\x03foo')
+
+ def test_pong_data(self):
+ self.ws.pong(b'foo')
+ self.assertEqual(self.sock.data, b'\x8a\x03foo')
+
class HyBiEncodeDecodeTestCase(unittest.TestCase):
def test_decode_hybi_text(self):
buf = b'\x81\x85\x37\xfa\x21\x3d\x7f\x9f\x4d\x51\x58'