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:
unittest_epoll_python27:
extends: .before_test
stage: unittest
image: python:2.7
variables:
AMQP_HOST: "rabbitmq"
before_script:
- pip install nose2 nose2[coverage_plugin]
- pip install nose2 coverage requests yapf nose2[coverage_plugin]
- python setup.py install
script:
- nose2 -F -vv
variables:
AMQP_HOST: "rabbitmq"
after_script:
- mv .coverage .coverage.python27epoll
services:
- name: rabbitmq:3.10-management
alias: rabbitmq
unittest_epoll:
extends: .before_test
......
......@@ -27,6 +27,8 @@ def toutf8(q):
def tobytes(q):
if isinstance(q, memoryview):
return q.tobytes()
return q.encode('utf-8') if isinstance(q, six.text_type) else q
......@@ -287,8 +289,7 @@ class Queue(object):
if name is None:
self.name = None
else:
name = uuid.uuid4().hex if not name else name
self.name = tobytes(name)
self.name = tobytes(uuid.uuid4().hex if not name else name)
self.durable = durable
self.exchange = exchange
......@@ -303,9 +304,9 @@ class Queue(object):
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')
if not self.anonymous:
if self.auto_delete or self.exclusive:
warnings.warn('This may cause unpredictable behaviour', UserWarning)
if not self.anonymous and (self.auto_delete or self.exclusive):
warnings.warn('This may cause unpredictable behaviour', UserWarning)
elif self.durable:
raise ValueError('Cannot declare an anonymous durable queue')
......
# coding=UTF-8
from __future__ import print_function, absolute_import, division
import sys
import logging
import unittest
import io
......@@ -13,6 +14,8 @@ from coolamqp.objects import NodeDefinition, MessageProperties, Queue, argumenti
logger = logging.getLogger(__name__)
logging.getLogger('coolamqp').setLevel(logging.DEBUG)
IS_PY3 = sys.version.startswith('3')
class TestObjects(unittest.TestCase):
......@@ -26,9 +29,11 @@ class TestObjects(unittest.TestCase):
with warnings.catch_warnings(record=True) as w:
Queue('test', auto_delete=True, exclusive=True)
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[1].category, DeprecationWarning))
if IS_PY3:
self.assertTrue(issubclass(w[1].category, DeprecationWarning))
def test_queue_declare(self):
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