Example #1
0
    def test_negative_reply_for_call_message(self, retry_mock,
                                             outgoing_message_mock):
        self._properties.correlation_id = 123456789
        self._properties.reply_to = "reply_queue"

        message = pika_drv_msg.RpcPikaIncomingMessage(self._pika_engine,
                                                      self._channel,
                                                      self._method,
                                                      self._properties,
                                                      self._body)

        self.assertEqual("context_value",
                         message.ctxt.get("key_context", None))
        self.assertEqual(123456789, message.msg_id)
        self.assertEqual("reply_queue", message.reply_q)

        self.assertEqual("payload_value",
                         message.message.get("payload_key", None))

        failure_info = object()
        message.reply(failure=failure_info)

        outgoing_message_mock.assert_called_once_with(
            self._pika_engine,
            123456789,
            failure_info=failure_info,
            reply=None,
            content_type='application/json')
        outgoing_message_mock().send.assert_called_once_with(
            reply_q='reply_queue', stopwatch=mock.ANY, retrier=mock.ANY)
        retry_mock.assert_called_once_with(retry_on_exception=mock.ANY,
                                           stop_max_attempt_number=3,
                                           wait_fixed=250.0)
    def test_positive_reply_for_call_message(self, retry_mock,
                                             outgoing_message_mock):
        self._properties.correlation_id = 123456789
        self._properties.reply_to = "reply_queue"

        message = pika_drv_msg.RpcPikaIncomingMessage(self._pika_engine,
                                                      self._channel,
                                                      self._method,
                                                      self._properties,
                                                      self._body)

        self.assertEqual(message.ctxt.get("key_context", None),
                         "context_value")
        self.assertEqual(message.msg_id, 123456789)
        self.assertEqual(message.reply_q, "reply_queue")

        self.assertEqual(message.message.get("payload_key", None),
                         "payload_value")
        reply = "all_fine"
        message.reply(reply=reply)

        outgoing_message_mock.assert_called_once_with(
            self._pika_engine,
            123456789,
            failure_info=None,
            reply='all_fine',
            content_encoding='utf-8',
            content_type='application/json')
        outgoing_message_mock().send.assert_called_once_with(
            expiration_time=None, reply_q='reply_queue', retrier=mock.ANY)
        retry_mock.assert_called_once_with(retry_on_exception=mock.ANY,
                                           stop_max_attempt_number=3,
                                           wait_fixed=250.0)
    def test_positive_reply_for_call_message(self, retry_mock,
                                             outgoing_message_mock):
        self._properties.correlation_id = 123456789
        self._properties.reply_to = "reply_queue"

        message = pika_drv_msg.RpcPikaIncomingMessage(self._pika_engine,
                                                      self._channel,
                                                      self._method,
                                                      self._properties,
                                                      self._body)

        self.assertEqual("context_value",
                         message.ctxt.get("key_context", None))
        self.assertEqual(123456789, message.msg_id)
        self.assertEqual("reply_queue", message.reply_q)

        self.assertEqual("payload_value",
                         message.message.get("payload_key", None))
        reply = "all_fine"
        message.reply(reply=reply)

        outgoing_message_mock.assert_called_once_with(
            self._pika_engine,
            123456789,
            failure_info=None,
            reply='all_fine',
            content_type='application/json')
        outgoing_message_mock().send.assert_called_once_with(
            reply_q='reply_queue', stopwatch=mock.ANY, retrier=mock.ANY)
        retry_mock.assert_called_once_with(stop=mock.ANY,
                                           retry=mock.ANY,
                                           wait=mock.ANY)
Example #4
0
    def test_cast_message_body_parsing(self):
        message = pika_drv_msg.RpcPikaIncomingMessage(
            self._pika_engine, self._channel, self._method, self._properties,
            self._body
        )

        self.assertEqual(message.ctxt.get("key_context", None),
                         "context_value")
        self.assertEqual(message.msg_id, None)
        self.assertEqual(message.reply_q, None)

        self.assertEqual(message.message.get("payload_key", None),
                         "payload_value")
Example #5
0
    def test_call_message_body_parsing(self):
        self._properties.correlation_id = 123456789
        self._properties.reply_to = "reply_queue"

        message = pika_drv_msg.RpcPikaIncomingMessage(
            self._pika_engine, self._channel, self._method, self._properties,
            self._body
        )

        self.assertEqual(message.ctxt.get("key_context", None),
                         "context_value")
        self.assertEqual(message.msg_id, 123456789)
        self.assertEqual(message.reply_q, "reply_queue")

        self.assertEqual(message.message.get("payload_key", None),
                         "payload_value")
Example #6
0
    def test_reply_for_cast_message(self, send_reply_mock):
        message = pika_drv_msg.RpcPikaIncomingMessage(
            self._pika_engine, self._channel, self._method, self._properties,
            self._body
        )

        self.assertEqual(message.ctxt.get("key_context", None),
                         "context_value")
        self.assertEqual(message.msg_id, None)
        self.assertEqual(message.reply_q, None)

        self.assertEqual(message.message.get("payload_key", None),
                         "payload_value")

        message.reply(reply=object())

        self.assertEqual(send_reply_mock.call_count, 0)