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_descode_static_syntax_request(): serialized = b'\x82\xa6format\xa8textmate\xa8_message\xb3StaticSyntaxRequest' serializer = MessageSerializer() serializer.enque_data(serialized) message = next(iter(serializer)) assert isinstance(message, StaticSyntaxRequest)
def test_regression_009_string_argument_without_encoding(): serialized = b'\x83\xa8_message\xabContentSync\xa4file\xd9!D:\\Work\\jep\\test\\my.requestlogger\xa4data\xa40sdf,smndfsdf M s df jhsdkashdk sjhdjhsjdkakdhsj' serializer = MessageSerializer() serializer.enque_data(serialized) message = next(iter(serializer)) assert isinstance(message, ContentSync)
def test_deserialize_problem_update_ruby_backend(): serialized = b'\x82\xacfileProblems\x91\x82\xa4file\xda\x001C:\\Users\\mthiede\\gitrepos\\jep-ruby\\demo\\test.demo\xa8problems\x91\x83\xa7message\xb5unexpected token kEND\xa8severity\xa5error\xa4line\x04\xa8_message\xadProblemUpdate' serializer = MessageSerializer() serializer.enque_data(serialized) message = next(iter(serializer)) assert isinstance(message, ProblemUpdate) assert message.fileProblems[0].problems[0].severity is Severity.error
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()
def test_message_serializer_message_iterator(): serializer = MessageSerializer() serializer.enque_data(serializer.serialize(CompletionResponse(1, 2, False))) serializer.enque_data(serializer.serialize(CompletionResponse(3, 4, True))) count = 0 for msg in serializer: assert isinstance(msg, CompletionResponse) count += 1 assert count == 2