From e209fa6f84ca831cb2760a433dd172e6ce5cb6b6 Mon Sep 17 00:00:00 2001 From: dust8 Date: Sat, 13 Jan 2018 22:52:52 +0800 Subject: [PATCH] =?UTF-8?q?Fixed=20ValueError=20caused=20by=20mongodb=20rc?= =?UTF-8?q?=20version:=20invalid=20literal=20for=20in=E2=80=A6=20(#816)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Fixed ValueError caused by mongodb rc version: invalid literal for int () with base 10 * add test fix ValueError caused by mongodb rc version --- kombu/transport/mongodb.py | 1 + t/unit/transport/test_mongodb.py | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/kombu/transport/mongodb.py b/kombu/transport/mongodb.py index 9ba5590a..f542dfc9 100644 --- a/kombu/transport/mongodb.py +++ b/kombu/transport/mongodb.py @@ -303,6 +303,7 @@ class Channel(virtual.Channel): database = mongoconn[dbname] version_str = mongoconn.server_info()['version'] + version_str = version_str.split('-')[0] version = tuple(map(int, version_str.split('.'))) if version < (1, 3): diff --git a/t/unit/transport/test_mongodb.py b/t/unit/transport/test_mongodb.py index fb5b0c0b..4509497a 100644 --- a/t/unit/transport/test_mongodb.py +++ b/t/unit/transport/test_mongodb.py @@ -359,6 +359,15 @@ class test_mongodb_channel(BaseMongoDBChannelCase): filter={'queue': 'fanout_exchange1'}, ) + def test_open_rc_version(self): + import pymongo + + def server_info(self): + return {'version': '3.6.0-rc'} + + with patch.object(pymongo.MongoClient, 'server_info', server_info): + self.channel._open() + @skip.unless_module('pymongo') class test_mongodb_channel_ttl(BaseMongoDBChannelCase):