diff --git a/.travis.yml b/.travis.yml index 61037f22..e9c0f170 100644 --- a/.travis.yml +++ b/.travis.yml @@ -9,16 +9,19 @@ env: stages: - test - lint - + matrix: include: - python: 2.7 env: TOXENV=2.7 + before_install: sudo apt-get update && sudo apt-get install libgnutls-dev - python: 3.5 env: TOXENV=3.5 + before_install: sudo apt-get update && sudo apt-get install libgnutls-dev - python: 3.6 env: TOXENV=3.6 + before_install: sudo apt-get update && sudo apt-get install libgnutls-dev - python: 3.7 env: TOXENV=3.7-linux sudo: true @@ -39,6 +42,7 @@ matrix: - python: '3.6' env: TOXENV=apicheck stage: lint + before_install: sudo apt-get update && sudo apt-get install libgnutls-dev - python: '3.6' env: TOXENV=pydocstyle stage: lint diff --git a/AUTHORS b/AUTHORS index 55c638b2..551e3a55 100644 --- a/AUTHORS +++ b/AUTHORS @@ -87,6 +87,7 @@ Luyun Xie <2304310@qq.com> Mads Jensen Mahendra M Marcin Lulek (ergo) +Marcin Puhacz Mark Lavin markow Matt Wise diff --git a/kombu/transport/mongodb.py b/kombu/transport/mongodb.py index f542dfc9..37d90c33 100644 --- a/kombu/transport/mongodb.py +++ b/kombu/transport/mongodb.py @@ -20,6 +20,8 @@ from kombu.utils.json import loads, dumps from kombu.utils.objects import cached_property from . import virtual +from .base import to_rabbitmq_queue_arguments + E_SERVER_VERSION = """\ Kombu requires MongoDB version 1.3+ (server is {0})\ @@ -286,6 +288,9 @@ class Channel(virtual.Channel): options['readpreference'] = modes[options['readpreference']] return options + def prepare_queue_arguments(self, arguments, **kwargs): + return to_rabbitmq_queue_arguments(arguments, **kwargs) + def _open(self, scheme='mongodb://'): hostname, dbname, conf = self._parse_uri(scheme=scheme) @@ -427,11 +432,9 @@ class Channel(virtual.Channel): return self.routing.update( - {'queue': queue}, {'$set': {'expire_at': expire_at}}, - multiple=True) + {'queue': queue}, {'$set': {'expire_at': expire_at}}, multi=True) self.queues.update( - {'_id': queue}, {'$set': {'expire_at': expire_at}}, - multiple=True) + {'_id': queue}, {'$set': {'expire_at': expire_at}}, multi=True) def get_now(self): """Return current time in UTC.""" diff --git a/requirements/extras/mongodb.txt b/requirements/extras/mongodb.txt index 018b3dc5..e635ba45 100644 --- a/requirements/extras/mongodb.txt +++ b/requirements/extras/mongodb.txt @@ -1 +1 @@ -pymongo>=2.6.2,<3.0 +pymongo>=3.3.0 diff --git a/t/unit/transport/test_mongodb.py b/t/unit/transport/test_mongodb.py index 4509497a..7380183d 100644 --- a/t/unit/transport/test_mongodb.py +++ b/t/unit/transport/test_mongodb.py @@ -418,7 +418,7 @@ class test_mongodb_channel_ttl(BaseMongoDBChannelCase): 'routing', 'update', {'queue': 'foobar'}, {'$set': {'expire_at': self.expire_at}}, - multiple=True, + multi=True, ) def test_put(self): @@ -499,13 +499,13 @@ class test_mongodb_channel_ttl(BaseMongoDBChannelCase): 'routing', 'update', {'queue': 'foobar'}, {'$set': {'expire_at': self.expire_at}}, - multiple=True, + multi=True, ) self.assert_operation_called_with( 'queues', 'update', {'_id': 'foobar'}, {'$set': {'expire_at': self.expire_at}}, - multiple=True, + multi=True, )