diff options
author | Thomas Kriechbaumer <thomas@kriechbaumer.name> | 2016-08-18 17:31:43 +0200 |
---|---|---|
committer | Thomas Kriechbaumer <thomas@kriechbaumer.name> | 2016-09-01 09:56:14 +0200 |
commit | d12515f84b32b3157fa99ac3c3a7a7318f9626ba (patch) | |
tree | 5fee9c57965ebbee51227eb374029b89dbe56cca /test/netlib/websockets/test_masker.py | |
parent | 281d779fa3eb6b81ec76d046337275c0a82eff46 (diff) | |
download | mitmproxy-d12515f84b32b3157fa99ac3c3a7a7318f9626ba.tar.gz mitmproxy-d12515f84b32b3157fa99ac3c3a7a7318f9626ba.tar.bz2 mitmproxy-d12515f84b32b3157fa99ac3c3a7a7318f9626ba.zip |
websockets: refactor implementation and add tests
Diffstat (limited to 'test/netlib/websockets/test_masker.py')
-rw-r--r-- | test/netlib/websockets/test_masker.py | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/test/netlib/websockets/test_masker.py b/test/netlib/websockets/test_masker.py new file mode 100644 index 00000000..528fce71 --- /dev/null +++ b/test/netlib/websockets/test_masker.py @@ -0,0 +1,23 @@ +import codecs +import pytest + +from netlib import websockets + + +class TestMasker(object): + + @pytest.mark.parametrize("input,expected", [ + ([b"a"], '00'), + ([b"four"], '070d1616'), + ([b"fourf"], '070d161607'), + ([b"fourfive"], '070d1616070b1501'), + ([b"a", b"aasdfasdfa", b"asdf"], '000302170504021705040205120605'), + ([b"a" * 50, b"aasdfasdfa", b"asdf"], '00030205000302050003020500030205000302050003020500030205000302050003020500030205000302050003020500030205120605051206050500110702'), # noqa + ]) + def test_masker(self, input, expected): + m = websockets.Masker(b"abcd") + data = b"".join([m(t) for t in input]) + assert data == codecs.decode(expected, 'hex') + + data = websockets.Masker(b"abcd")(data) + assert data == b"".join(input) |