def test_human_readable(self):
        f = websockets.FrameHeader(masking_key=b"test",
                                   fin=True,
                                   payload_length=10)
        assert repr(f)

        f = websockets.FrameHeader()
        assert repr(f)
Exemple #2
0
    def test_equality(self):
        h = websockets.FrameHeader(mask=True, masking_key=b'1234')
        h2 = websockets.FrameHeader(mask=True, masking_key=b'1234')
        assert h == h2

        h = websockets.FrameHeader(fin=True)
        h2 = websockets.FrameHeader(fin=False)
        assert h != h2

        assert h != 'foobar'
Exemple #3
0
    def test_automask(self):
        f = websockets.FrameHeader(mask=True)
        assert f.masking_key

        f = websockets.FrameHeader(masking_key=b"foob")
        assert f.mask

        f = websockets.FrameHeader(masking_key=b"foob", mask=0)
        assert not f.mask
        assert not f.masking_key
Exemple #4
0
 def round(*args, **kwargs):
     h = websockets.FrameHeader(*args, **kwargs)
     h2 = websockets.FrameHeader.from_file(tutils.treader(bytes(h)))
     assert h == h2
Exemple #5
0
 def test_serialization_too_large(self):
     h = websockets.FrameHeader(
         payload_length=2 ** 64 + 1,
     )
     with pytest.raises(ValueError):
         bytes(h)
Exemple #6
0
 def test_serialization_length(self, input, expected):
     h = websockets.FrameHeader(
         opcode=websockets.OPCODE.TEXT,
         payload_length=input,
     )
     assert bytes(h) == codecs.decode(expected, 'hex')
Exemple #7
0
 def test_violations(self):
     with pytest.raises(Exception, match="opcode"):
         websockets.FrameHeader(opcode=17)
     with pytest.raises(Exception, match="Masking key"):
         websockets.FrameHeader(masking_key=b"x")
Exemple #8
0
 def test_funky(self):
     f = websockets.FrameHeader(masking_key=b"test", mask=False)
     raw = bytes(f)
     f2 = websockets.FrameHeader.from_file(tutils.treader(raw))
     assert not f2.mask