summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatus Valo <matusvalo@gmail.com>2019-01-14 14:56:44 -0800
committerMatus Valo <matusvalo@gmail.com>2019-01-14 14:56:44 -0800
commitd4aa85217045f2b695335c6548c9ce8dfe70ee63 (patch)
treeb651ba62d5a032aa9fdf2a7ee0a01de09e751c79
parentd09a0b07b533e87d1451b2f6cc8ed270601e1208 (diff)
downloadpy-amqp-fix-239.tar.gz
basic_consume() should return consumer tag instead of tuplefix-239
-rw-r--r--amqp/channel.py6
-rw-r--r--t/integration/test_integration.py6
-rw-r--r--t/unit/test_channel.py9
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()