aboutsummaryrefslogtreecommitdiffstats
path: root/test/test_websockets.py
diff options
context:
space:
mode:
authorAldo Cortesi <aldo@nullcube.com>2015-04-21 23:13:42 +1200
committerAldo Cortesi <aldo@nullcube.com>2015-04-21 23:13:42 +1200
commit176e29fc094119b036ba76d6e5cc1f2d7fb838e0 (patch)
tree5a6739b27bf7616b5e55b8e3428d71c4a62b5d5e /test/test_websockets.py
parent1b509d5aea31a636b6c8ce854e0dd685e34d03de (diff)
downloadmitmproxy-176e29fc094119b036ba76d6e5cc1f2d7fb838e0.tar.gz
mitmproxy-176e29fc094119b036ba76d6e5cc1f2d7fb838e0.tar.bz2
mitmproxy-176e29fc094119b036ba76d6e5cc1f2d7fb838e0.zip
websockets: constants, variable names, refactoring
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