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
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
def test_reader_incomplete_error(self): s = BytesIO(b"foobar") s = tcp.Reader(s) with pytest.raises(exceptions.TcpReadIncomplete): s.safe_read(10)
def treader(data: bytes): io = BytesIO(data) io.safe_read = io.read return io