fix tests for diff mongo vers
This commit is contained in:
parent
82e28dec43
commit
15f4d4fee6
@ -13,8 +13,6 @@ import pymongo
|
|||||||
import six
|
import six
|
||||||
from six import iteritems
|
from six import iteritems
|
||||||
|
|
||||||
from mongoengine.queryset.transform import STRING_OPERATORS
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
import dateutil
|
import dateutil
|
||||||
except ImportError:
|
except ImportError:
|
||||||
@ -39,6 +37,7 @@ from mongoengine.errors import DoesNotExist, InvalidQueryError, ValidationError
|
|||||||
from mongoengine.python_support import StringIO
|
from mongoengine.python_support import StringIO
|
||||||
from mongoengine.queryset import DO_NOTHING
|
from mongoengine.queryset import DO_NOTHING
|
||||||
from mongoengine.queryset.base import BaseQuerySet
|
from mongoengine.queryset.base import BaseQuerySet
|
||||||
|
from mongoengine.queryset.transform import STRING_OPERATORS
|
||||||
|
|
||||||
try:
|
try:
|
||||||
from PIL import Image, ImageOps
|
from PIL import Image, ImageOps
|
||||||
|
@ -6,6 +6,7 @@ from mongoengine.connection import get_connection
|
|||||||
|
|
||||||
# Constant that can be used to compare the version retrieved with
|
# Constant that can be used to compare the version retrieved with
|
||||||
# get_mongodb_version()
|
# get_mongodb_version()
|
||||||
|
MONGODB_34 = (3, 4)
|
||||||
MONGODB_36 = (3, 6)
|
MONGODB_36 = (3, 6)
|
||||||
|
|
||||||
|
|
||||||
|
@ -12,6 +12,7 @@ from bson import DBRef, ObjectId
|
|||||||
from pymongo.errors import DuplicateKeyError
|
from pymongo.errors import DuplicateKeyError
|
||||||
from six import iteritems
|
from six import iteritems
|
||||||
|
|
||||||
|
from mongoengine.mongodb_support import get_mongodb_version, MONGODB_36, MONGODB_34
|
||||||
from mongoengine.pymongo_support import list_collection_names
|
from mongoengine.pymongo_support import list_collection_names
|
||||||
from tests import fixtures
|
from tests import fixtures
|
||||||
from tests.fixtures import (PickleEmbedded, PickleTest, PickleSignalsTest,
|
from tests.fixtures import (PickleEmbedded, PickleTest, PickleSignalsTest,
|
||||||
@ -467,10 +468,13 @@ class InstanceTest(MongoDBTestCase):
|
|||||||
doc = Animal(superphylum='Deuterostomia')
|
doc = Animal(superphylum='Deuterostomia')
|
||||||
doc.save()
|
doc.save()
|
||||||
|
|
||||||
|
mongo_db = get_mongodb_version()
|
||||||
|
CMD_QUERY_KEY = 'command' if mongo_db >= MONGODB_36 else 'query'
|
||||||
|
|
||||||
with query_counter() as q:
|
with query_counter() as q:
|
||||||
doc.reload()
|
doc.reload()
|
||||||
query_op = q.db.system.profile.find({'ns': 'mongoenginetest.animal'})[0]
|
query_op = q.db.system.profile.find({'ns': 'mongoenginetest.animal'})[0]
|
||||||
self.assertEqual(set(query_op['query']['filter'].keys()), set(['_id', 'superphylum']))
|
self.assertEqual(set(query_op[CMD_QUERY_KEY]['filter'].keys()), set(['_id', 'superphylum']))
|
||||||
|
|
||||||
Animal.drop_collection()
|
Animal.drop_collection()
|
||||||
|
|
||||||
@ -501,12 +505,17 @@ class InstanceTest(MongoDBTestCase):
|
|||||||
doc = Animal(is_mammal=True, name='Dog')
|
doc = Animal(is_mammal=True, name='Dog')
|
||||||
doc.save()
|
doc.save()
|
||||||
|
|
||||||
|
mongo_db = get_mongodb_version()
|
||||||
|
|
||||||
with query_counter() as q:
|
with query_counter() as q:
|
||||||
doc.name = 'Cat'
|
doc.name = 'Cat'
|
||||||
doc.save()
|
doc.save()
|
||||||
query_op = q.db.system.profile.find({'ns': 'mongoenginetest.animal'})[0]
|
query_op = q.db.system.profile.find({'ns': 'mongoenginetest.animal'})[0]
|
||||||
self.assertEqual(query_op['op'], 'update')
|
self.assertEqual(query_op['op'], 'update')
|
||||||
|
if mongo_db == MONGODB_34:
|
||||||
self.assertEqual(set(query_op['query'].keys()), set(['_id', 'is_mammal']))
|
self.assertEqual(set(query_op['query'].keys()), set(['_id', 'is_mammal']))
|
||||||
|
else:
|
||||||
|
self.assertEqual(set(query_op['command']['q'].keys()), set(['_id', 'is_mammal']))
|
||||||
|
|
||||||
Animal.drop_collection()
|
Animal.drop_collection()
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user