skip older mongodb decorator

This commit is contained in:
Stefan Wojcik
2017-02-26 02:14:34 -05:00
parent e6dcb39036
commit 4acd7a5b75
4 changed files with 50 additions and 54 deletions

View File

@@ -4,6 +4,7 @@ from nose.plugins.skip import SkipTest
from mongoengine import connect
from mongoengine.connection import get_db, get_connection
from mongoengine.python_support import IS_PYMONGO_3
MONGO_TEST_DB = 'mongoenginetest'
@@ -32,10 +33,33 @@ def get_mongodb_version():
return get_connection().server_info()['versionArray']
def skip_in_old_mongodb(msg):
def skip_older_mongodb(f):
"""Raise a SkipTest exception with a given message if we're working
with MongoDB version lower than v2.6.
"""
mongodb_ver = get_mongodb_version()
if mongodb_ver[0] == 2 and mongodb_ver[1] < 6:
raise SkipTest(msg)
def _inner(*args, **kwargs):
mongodb_ver = get_mongodb_version()
if mongodb_ver[0] == 2 and mongodb_ver[1] < 6:
raise SkipTest('Need MongoDB v2.6+')
return f(*args, **kwargs)
_inner.__name__ = f.__name__
_inner.__doc__ = f.__doc__
return _inner
def skip_pymongo3(f):
"""Raise a SkipTest exception if we're running a test against
PyMongo v3.x.
"""
def _inner(*args, **kwargs):
if IS_PYMONGO_3:
raise SkipTest("Useless with PyMongo 3+")
return f(*args, **kwargs)
_inner.__name__ = f.__name__
_inner.__doc__ = f.__doc__
return _inner