diff options
author | Matus Valo <matusvalo@gmail.com> | 2019-01-14 14:56:44 -0800 |
---|---|---|
committer | Matus Valo <matusvalo@gmail.com> | 2019-01-14 14:56:44 -0800 |
commit | d4aa85217045f2b695335c6548c9ce8dfe70ee63 (patch) | |
tree | b651ba62d5a032aa9fdf2a7ee0a01de09e751c79 | |
parent | d09a0b07b533e87d1451b2f6cc8ed270601e1208 (diff) | |
download | py-amqp-fix-239.tar.gz |
basic_consume() should return consumer tag instead of tuplefix-239
-rw-r--r-- | amqp/channel.py | 6 | ||||
-rw-r--r-- | t/integration/test_integration.py | 6 | ||||
-rw-r--r-- | t/unit/test_channel.py | 9 |
3 files changed, 16 insertions, 5 deletions
diff --git a/amqp/channel.py b/amqp/channel.py index 42fee9f..e4d06ab 100644 --- a/amqp/channel.py +++ b/amqp/channel.py @@ -1591,7 +1591,11 @@ class Channel(AbstractChannel): self.cancel_callbacks[consumer_tag] = on_cancel if no_ack: self.no_ack_consumers.add(consumer_tag) - return p + + if not nowait: + return consumer_tag + else: + return p def _on_basic_deliver(self, consumer_tag, delivery_tag, redelivered, exchange, routing_key, msg): diff --git a/t/integration/test_integration.py b/t/integration/test_integration.py index 9320d07..57d5e62 100644 --- a/t/integration/test_integration.py +++ b/t/integration/test_integration.py @@ -415,7 +415,7 @@ class test_channel: ) frame_writer_mock = frame_writer_cls_mock() frame_writer_mock.reset_mock() - ch.basic_consume('my_queue', callback=callback_mock) + ret = ch.basic_consume('my_queue', callback=callback_mock) frame_writer_mock.assert_called_once_with( 1, 1, spec.Basic.Consume, dumps( @@ -425,6 +425,7 @@ class test_channel: None ) assert ch.callbacks[consumer_tag] == callback_mock + assert ret == 'amq.ctag-PCmzXGkhCw_v0Zq7jXyvkg' def test_consume_with_consumer_tag(self): # Test verifing starting consuming with specified consumer_tag @@ -444,7 +445,7 @@ class test_channel: ) frame_writer_mock = frame_writer_cls_mock() frame_writer_mock.reset_mock() - ch.basic_consume( + ret = ch.basic_consume( 'my_queue', callback=callback_mock, consumer_tag='my_tag' ) frame_writer_mock.assert_called_once_with( @@ -459,6 +460,7 @@ class test_channel: None ) assert ch.callbacks['my_tag'] == callback_mock + assert ret == 'my_tag' def test_queue_declare(self): # Test verifying declaring queue diff --git a/t/unit/test_channel.py b/t/unit/test_channel.py index ff4e415..507136d 100644 --- a/t/unit/test_channel.py +++ b/t/unit/test_channel.py @@ -3,6 +3,7 @@ from __future__ import absolute_import, unicode_literals import pytest import socket from case import ContextMock, Mock, patch, ANY, MagicMock +from vine import promise from amqp import spec from amqp.basic_message import Message @@ -293,7 +294,7 @@ class test_Channel: def test_basic_consume_no_consumer_tag(self): callback = Mock() self.c.send_method.return_value = (123,) - self.c.basic_consume( + ret = self.c.basic_consume( 'q', arguments={'x': 1}, callback=callback, ) @@ -304,10 +305,13 @@ class test_Channel: returns_tuple=True ) assert self.c.callbacks[123] is callback + assert ret == 123 def test_basic_consume_no_wait(self): callback = Mock() - self.c.basic_consume( + ret_promise = promise() + self.c.send_method.return_value = ret_promise + ret = self.c.basic_consume( 'q', 123, arguments={'x': 1}, callback=callback, nowait=True ) @@ -318,6 +322,7 @@ class test_Channel: returns_tuple=True ) assert self.c.callbacks[123] is callback + assert ret == ret_promise def test_basic_consume_no_wait_no_consumer_tag(self): callback = Mock() |