fix tests for diff mongo vers

This commit is contained in:
Bastien Gérard
2019-06-04 23:35:38 +02:00
parent 82e28dec43
commit 15f4d4fee6
3 changed files with 13 additions and 4 deletions

View File

@@ -12,6 +12,7 @@ from bson import DBRef, ObjectId
from pymongo.errors import DuplicateKeyError
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 tests import fixtures
from tests.fixtures import (PickleEmbedded, PickleTest, PickleSignalsTest,
@@ -467,10 +468,13 @@ class InstanceTest(MongoDBTestCase):
doc = Animal(superphylum='Deuterostomia')
doc.save()
mongo_db = get_mongodb_version()
CMD_QUERY_KEY = 'command' if mongo_db >= MONGODB_36 else 'query'
with query_counter() as q:
doc.reload()
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()
@@ -501,12 +505,17 @@ class InstanceTest(MongoDBTestCase):
doc = Animal(is_mammal=True, name='Dog')
doc.save()
mongo_db = get_mongodb_version()
with query_counter() as q:
doc.name = 'Cat'
doc.save()
query_op = q.db.system.profile.find({'ns': 'mongoenginetest.animal'})[0]
self.assertEqual(query_op['op'], 'update')
self.assertEqual(set(query_op['query'].keys()), set(['_id', 'is_mammal']))
if mongo_db == MONGODB_34:
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()