def test_message_serializer_enqueue_dequeue(): serializer = MessageSerializer() serializer.enque_data(serializer.serialize(CompletionResponse(1, 2, False, (), 'token'))) serializer.enque_data(serializer.serialize(CompletionResponse(3, 4, True, (), 'token2'))) assert serializer.buffer msg1 = serializer.dequeue_message() msg2 = serializer.dequeue_message() msg3 = serializer.dequeue_message() msg4 = serializer.dequeue_message() assert isinstance(msg1, CompletionResponse) assert msg1.token == 'token' assert msg1.start == 1 assert msg1.end == 2 assert not msg1.limitExceeded assert isinstance(msg2, CompletionResponse) assert msg2.token == 'token2' assert msg2.start == 3 assert msg2.end == 4 assert msg2.limitExceeded assert not msg3 assert not msg4
def test_message_serializer_enqueue_dequeue_incomplete(): serializer = MessageSerializer() packed = serializer.serialize(CompletionResponse(1, 2, False)) assert len(packed) > 1 for b in packed: assert not serializer.dequeue_message() serializer.enque_data([b]) assert isinstance(serializer.dequeue_message(), CompletionResponse) assert not serializer.dequeue_message()