def test_read_exception_result_no_raise(self): connection = pyredis.connection.Connection(host='127.0.0.1', encoding='utf-8') connection._sock = True reader_mock = Mock() reader_mock.gets.return_value = ReplyError('blub') connection._reader = reader_mock connection.read(raise_on_result_err=False)
def test_read_message_ready_from_previous_chunck(self): raw_answer = b'$10\r\nXXXXXXXXXX\r\n$10\r\nYYYYYYYYYY\r\n' answer1 = 'XXXXXXXXXX' answer2 = 'YYYYYYYYYY' sock_mock = Mock() sock_mock.recv.side_effect = [raw_answer] self.socket_mock.socket.return_value = sock_mock reader_mock = Mock() self.reader_mock.return_value = reader_mock connection = pyredis.connection.Connection(host='127.0.0.1', encoding='utf-8') connection._authenticate = Mock() connection._setdb = Mock() pyredis.connection.Reader = Reader connection._connect() result1 = connection.read() result2 = connection.read() self.assertEqual(result1, answer1) self.assertEqual(result2, answer2) self.assertEqual(sock_mock.recv.call_args_list, [call(1500)])
def test_read_one_chunk_two_messages(self): raw_answer = b'$10\r\nXXXXXXXXXX\r\n$10\r\nYYYYYYYYYY\r\n' answer = 'XXXXXXXXXX' sock_mock = Mock() sock_mock.recv.side_effect = [raw_answer] self.socket_mock.socket.return_value = sock_mock reader_mock = Mock() self.reader_mock.return_value = reader_mock connection = pyredis.connection.Connection(host='127.0.0.1', encoding='utf-8') connection._authenticate = Mock() connection._setdb = Mock() pyredis.connection.Reader = Reader connection._connect() result = connection.read() self.assertEqual(result, answer)