aboutsummaryrefslogtreecommitdiffstats
path: root/test/test_websockets.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/test_websockets.py')
-rw-r--r--test/test_websockets.py27
1 files changed, 27 insertions, 0 deletions
diff --git a/test/test_websockets.py b/test/test_websockets.py
index 3fc67dfe..9e205e70 100644
--- a/test/test_websockets.py
+++ b/test/test_websockets.py
@@ -108,6 +108,33 @@ class TestWebSockets(test.ServerTestBase):
server_frame = websockets.Frame.default(msg, from_client = False)
assert server_frame.is_valid()
+ def test_is_valid(self):
+ def f():
+ return websockets.Frame.default(self.random_bytes(10), True)
+
+ frame = f()
+ assert frame.is_valid()
+
+ frame = f()
+ frame.fin = 2
+ assert not frame.is_valid()
+
+ frame = f()
+ frame.mask_bit = 1
+ frame.masking_key = "foobbarboo"
+ assert not frame.is_valid()
+
+ frame = f()
+ frame.mask_bit = 0
+ frame.masking_key = "foob"
+ assert not frame.is_valid()
+
+ frame = f()
+ frame.masking_key = "foob"
+ frame.decoded_payload = "xxxx"
+ assert not frame.is_valid()
+
+
def test_serialization_bijection(self):
"""
Ensure that various frame types can be serialized/deserialized back