def test_write_to_closed_stream(self): stream = ReceiveStream(1) assert stream.buffer.empty() stream.close() stream.write(b"\x00\x00\x00") assert stream.buffer.empty()
def test_write_multiple_messages(self): stream = ReceiveStream(1) for _ in range(10): stream.write( b"\x00\x00\x00\x00\x01\xff") # 10 single byte messages assert stream.queue.qsize() == 10 assert len(stream.buffer) == 0
def test_write_more_bytes_than_one_message(self): stream = ReceiveStream(1) # incompressed single byte message, followed by two more bytes of /xff stream.write(b"\x00\x00\x00\x00\x01\xff\xff\xff") # single byte message is queued assert stream.queue.get() == (False, b"\xff") # following two bytes remain in the buffer assert stream.buffer.peek() == b"\xff\xff"
def test_write_less_bytes_than_one_message(self): stream = ReceiveStream(1) stream.write(b"\x00\x00\x00\x01\x00\xff\xff\xff") assert stream.queue.empty() assert stream.buffer.peek() == b"\x00\x00\x00\x01\x00\xff\xff\xff"
def test_write_less_bytes_than_header(self): stream = ReceiveStream(1) stream.write(b"\x00\x00\x00") assert stream.queue.empty() assert stream.buffer.peek() == b"\x00\x00\x00"