async def test_process_success_from_requeue_to_ack(self): message = RabbitMQMessage(body={}, delivery_tag=10, on_success=Actions.REQUEUE) message.accept() await message.process_success(self.queue_mock) self.queue_mock.ack.assert_awaited_with(delivery_tag=10) self.queue_mock.reject.assert_not_awaited()
async def test_process_success_from_reject_to_requeue(self): message = RabbitMQMessage(body={}, delivery_tag=10, on_success=Actions.REJECT) message.reject(requeue=True) await message.process_success(self.queue_mock) self.queue_mock.reject.assert_awaited_with(delivery_tag=10, requeue=True) self.queue_mock.ack.assert_not_awaited()
async def test_process_success_from_reject_to_requeue(self): message = RabbitMQMessage( delivery_tag=10, on_success=Actions.REJECT, amqp_message=self.amqp_message, ) message.reject(requeue=True) await message.process_success() self.amqp_message.reject.assert_awaited_with(requeue=True) self.amqp_message.ack.assert_not_awaited()
async def test_process_exception_from_requeue_to_reject(self): message = RabbitMQMessage(body={}, delivery_tag=10, on_exception=Actions.REQUEUE) message.reject(requeue=False) await message.process_exception(self.queue_mock) self.queue_mock.reject.assert_awaited_with(delivery_tag=10, requeue=False) self.queue_mock.ack.assert_not_awaited()
async def test_process_success_from_requeue_to_ack(self): message = RabbitMQMessage( delivery_tag=10, on_success=Actions.REQUEUE, amqp_message=self.amqp_message, ) message.accept() await message.process_success() self.amqp_message.ack.assert_awaited_with() self.amqp_message.reject.assert_not_awaited()
async def test_process_exception_from_requeue_to_reject(self): message = RabbitMQMessage( delivery_tag=10, on_exception=Actions.REQUEUE, amqp_message=self.amqp_message, ) message.reject(requeue=False) await message.process_exception() self.amqp_message.reject.assert_awaited_with(requeue=False) self.amqp_message.ack.assert_not_awaited()
async def test_process_exception_from_reject_to_ack(self): message = RabbitMQMessage( delivery_tag=10, on_exception=Actions.REJECT, amqp_message=self.amqp_message, ) message.accept() await message.process_exception() self.amqp_message.ack.assert_awaited_with() self.amqp_message.reject.assert_not_awaited()
async def test_process_message_to_be_rejected(self): """ Sempre fazemos reject com requeue. """ expected_body = {"key": "value"} message = RabbitMQMessage(body=expected_body, delivery_tag=42) message.reject() queue_mock = CoroutineMock(ack=CoroutineMock(), reject=CoroutineMock()) await message.process(queue_mock) queue_mock.reject.assert_awaited_once_with(delivery_tag=42, requeue=True) self.assertEqual(0, queue_mock.ack.await_count)
async def test_process_message_to_be_acked(self): expected_body = {"key": "value"} message = RabbitMQMessage(body=expected_body, delivery_tag=42) queue_mock = CoroutineMock(ack=CoroutineMock(), reject=CoroutineMock()) await message.process(queue_mock) queue_mock.ack.assert_awaited_once_with(delivery_tag=42) self.assertEqual(0, queue_mock.reject.await_count)
async def test_process_exception_default_action(self): message = RabbitMQMessage(body={}, delivery_tag=10) await message.process_exception(self.queue_mock) self.queue_mock.reject.assert_awaited_with(delivery_tag=10, requeue=True) self.queue_mock.ack.assert_not_awaited()
async def test_process_exception_default_action(self): message = RabbitMQMessage(delivery_tag=10, amqp_message=self.amqp_message) await message.process_exception() self.amqp_message.reject.assert_awaited_with(requeue=True) self.amqp_message.ack.assert_not_awaited()
async def test_process_success_action_ack(self): message = RabbitMQMessage(body={}, delivery_tag=10, on_success=Actions.ACK) await message.process_success(self.queue_mock) self.queue_mock.ack.assert_awaited_with(delivery_tag=10) self.queue_mock.reject.assert_not_awaited()
async def test_process_success_default_action(self): """ Default é ACK, caso não digamos nada """ message = RabbitMQMessage(body={}, delivery_tag=10) await message.process_success(self.queue_mock) self.queue_mock.ack.assert_awaited_with(delivery_tag=10) self.queue_mock.reject.assert_not_awaited()
async def test_process_success_action_ack(self): message = RabbitMQMessage( delivery_tag=10, on_success=Actions.ACK, amqp_message=self.amqp_message, ) await message.process_success() self.amqp_message.ack.assert_awaited_with() self.amqp_message.reject.assert_not_awaited()
async def test_process_success_default_action(self): """ ACK is the default action """ message = RabbitMQMessage(delivery_tag=10, amqp_message=self.amqp_message) await message.process_success() self.amqp_message.ack.assert_awaited_with() self.amqp_message.reject.assert_not_awaited()
def test_body_property(self): amqp_message = AMQPMessage( connection=Mock(), channel=Mock(), queue_name=Mock(), serialized_data='["Xablau", "Xena"]', delivery_tag=Mock(), envelope=Mock(), properties=Mock(), deserialization_method=json.loads, queue=Mock(), ) message = RabbitMQMessage( delivery_tag=10, on_exception=Actions.REQUEUE, amqp_message=amqp_message, ) self.assertEqual(message.body, ["Xablau", "Xena"])
def test_serialized_data_property(self): amqp_message = AMQPMessage( connection=Mock(), channel=Mock(), queue_name=Mock(), serialized_data=Mock(), delivery_tag=Mock(), envelope=Mock(), properties=Mock(), deserialization_method=Mock(), queue=Mock(), ) message = RabbitMQMessage( delivery_tag=10, on_exception=Actions.REQUEUE, amqp_message=amqp_message, ) self.assertEqual(message.serialized_data, amqp_message.serialized_data)
def test_mark_message_to_be_rejected(self): message = RabbitMQMessage({}, 10) message.reject() self.assertFalse(message._do_ack)
def test_initialize_with_body_and_delivery_tag(self): expected_body = {"key": "value"} message = RabbitMQMessage(body=expected_body, delivery_tag=42) self.assertEqual(expected_body, message.body) self.assertEqual(42, message._delivery_tag)
def test_mark_message_to_be_acked(self): message = RabbitMQMessage({}, 10) message._do_ack = False message.accept() self.assertTrue(message._do_ack)
def test_defaults_to_be_acked(self): message = RabbitMQMessage({}, 10) self.assertTrue(message._do_ack)