Example #1
0
def test_read_frame(input, masking_key, payload_length):
    bio = BytesIO(input)
    bio.safe_read = bio.read

    header, frame, consumed_bytes = websocket.read_frame(bio)
    assert header == \
        Header(
            fin=False,
            rsv=RsvBits(rsv1=False, rsv2=False, rsv3=False),
            opcode=Opcode.TEXT,
            payload_len=payload_length,
            masking_key=masking_key,
        )
    assert frame == \
        Frame(
            opcode=Opcode.TEXT,
            payload=b'server-foobar',
            frame_finished=False,
            message_finished=False,
        )
    assert consumed_bytes == input

    bio = BytesIO(input)
    bio.safe_read = bio.read
    header, frame, consumed_bytes = websocket.read_frame(bio, False)
    assert header is None
    assert frame is None
    assert consumed_bytes == input
def test_read_raw_frame_failed():
    raw = codecs.decode('485454000000000000', 'hex_codec')
    bio = BytesIO(raw)
    bio.safe_read = bio.read

    with pytest.raises(exceptions.HttpException):
        read_raw_frame(bio)
def test_read_raw_frame():
    raw = codecs.decode('000006000101234567666f6f626172', 'hex_codec')
    bio = BytesIO(raw)
    bio.safe_read = bio.read

    header, body = read_raw_frame(bio)
    assert header
    assert body
Example #4
0
def test_read_frame():
    raw = codecs.decode('000006000101234567666f6f626172', 'hex_codec')
    bio = BytesIO(raw)
    bio.safe_read = bio.read

    frame, consumed_bytes = http2.read_frame(bio)
    assert isinstance(frame, hyperframe.frame.DataFrame)
    assert frame.stream_id == 19088743
    assert 'END_STREAM' in frame.flags
    assert len(frame.flags) == 1
    assert frame.data == b'foobar'
    assert consumed_bytes == raw

    bio = BytesIO(raw)
    bio.safe_read = bio.read
    frame, consumed_bytes = http2.read_frame(bio, False)
    assert frame is None
    assert consumed_bytes == raw
Example #5
0
 def test_reader_incomplete_error(self):
     s = BytesIO(b"foobar")
     s = tcp.Reader(s)
     with pytest.raises(exceptions.TcpReadIncomplete):
         s.safe_read(10)
Example #6
0
 def test_reader_incomplete_error(self):
     s = BytesIO(b"foobar")
     s = tcp.Reader(s)
     with pytest.raises(exceptions.TcpReadIncomplete):
         s.safe_read(10)
Example #7
0
 def treader(data: bytes):
     io = BytesIO(data)
     io.safe_read = io.read
     return io