Skip to content
Snippets Groups Projects
Commit 20b8710e authored by Piotr Maślanka's avatar Piotr Maślanka
Browse files

fixes #3

parent 3abdfb2b
No related branches found
No related tags found
No related merge requests found
Pipeline #63417 failed with stages
in 1 minute and 4 seconds
...@@ -60,18 +60,18 @@ unittest_select: ...@@ -60,18 +60,18 @@ unittest_select:
unittest_epoll_python27: unittest_epoll_python27:
extends: .before_test stage: unittest
image: python:2.7 image: python:2.7
variables:
AMQP_HOST: "rabbitmq"
before_script: before_script:
- pip install nose2 nose2[coverage_plugin] - pip install nose2 coverage requests yapf nose2[coverage_plugin]
- python setup.py install - python setup.py install
script: script:
- nose2 -F -vv - nose2 -F -vv
variables: services:
AMQP_HOST: "rabbitmq" - name: rabbitmq:3.10-management
after_script: alias: rabbitmq
- mv .coverage .coverage.python27epoll
unittest_epoll: unittest_epoll:
extends: .before_test extends: .before_test
......
...@@ -27,6 +27,8 @@ def toutf8(q): ...@@ -27,6 +27,8 @@ def toutf8(q):
def tobytes(q): def tobytes(q):
if isinstance(q, memoryview):
return q.tobytes()
return q.encode('utf-8') if isinstance(q, six.text_type) else q return q.encode('utf-8') if isinstance(q, six.text_type) else q
...@@ -287,8 +289,7 @@ class Queue(object): ...@@ -287,8 +289,7 @@ class Queue(object):
if name is None: if name is None:
self.name = None self.name = None
else: else:
name = uuid.uuid4().hex if not name else name self.name = tobytes(uuid.uuid4().hex if not name else name)
self.name = tobytes(name)
self.durable = durable self.durable = durable
self.exchange = exchange self.exchange = exchange
...@@ -303,9 +304,9 @@ class Queue(object): ...@@ -303,9 +304,9 @@ class Queue(object):
if self.anonymous and (not self.auto_delete or self.durable): if self.anonymous and (not self.auto_delete or self.durable):
raise ValueError('Zero sense to make a anonymous non-auto-delete or durable queue') raise ValueError('Zero sense to make a anonymous non-auto-delete or durable queue')
if not self.anonymous: if not self.anonymous and (self.auto_delete or self.exclusive):
if self.auto_delete or self.exclusive: warnings.warn('This may cause unpredictable behaviour', UserWarning)
warnings.warn('This may cause unpredictable behaviour', UserWarning)
elif self.durable: elif self.durable:
raise ValueError('Cannot declare an anonymous durable queue') raise ValueError('Cannot declare an anonymous durable queue')
......
# coding=UTF-8 # coding=UTF-8
from __future__ import print_function, absolute_import, division from __future__ import print_function, absolute_import, division
import sys
import logging import logging
import unittest import unittest
import io import io
...@@ -13,6 +14,8 @@ from coolamqp.objects import NodeDefinition, MessageProperties, Queue, argumenti ...@@ -13,6 +14,8 @@ from coolamqp.objects import NodeDefinition, MessageProperties, Queue, argumenti
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
logging.getLogger('coolamqp').setLevel(logging.DEBUG) logging.getLogger('coolamqp').setLevel(logging.DEBUG)
IS_PY3 = sys.version.startswith('3')
class TestObjects(unittest.TestCase): class TestObjects(unittest.TestCase):
...@@ -26,9 +29,11 @@ class TestObjects(unittest.TestCase): ...@@ -26,9 +29,11 @@ class TestObjects(unittest.TestCase):
with warnings.catch_warnings(record=True) as w: with warnings.catch_warnings(record=True) as w:
Queue('test', auto_delete=True, exclusive=True) Queue('test', auto_delete=True, exclusive=True)
Queue(auto_delete=True, exclusive=False) Queue(auto_delete=True, exclusive=False)
self.assertEqual(len(w), 2) logger.warning(repr(w))
self.assertEqual(len(w), 2 if IS_PY3 else 1)
self.assertTrue(issubclass(w[0].category, UserWarning)) self.assertTrue(issubclass(w[0].category, UserWarning))
self.assertTrue(issubclass(w[1].category, DeprecationWarning)) if IS_PY3:
self.assertTrue(issubclass(w[1].category, DeprecationWarning))
def test_queue_declare(self): def test_queue_declare(self):
args = argumentify({'x-dead-letter-exchange': 'deadletter', args = argumentify({'x-dead-letter-exchange': 'deadletter',
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment