#coding: utf-8 from nose.plugins.skip import SkipTest from mongoengine.python_support import PY3 from mongoengine import connect try: from django.test import TestCase from django.conf import settings except Exception as err: if PY3: from unittest import TestCase # Dummy value so no error class settings: MONGO_DATABASE_NAME = 'dummy' else: raise err class MongoTestCase(TestCase): def setUp(self): if PY3: raise SkipTest('django does not have Python 3 support') """ TestCase class that clear the collection between the tests """ db_name = 'test_%s' % settings.MONGO_DATABASE_NAME def __init__(self, methodName='runtest'): self.db = connect(self.db_name).get_db() super(MongoTestCase, self).__init__(methodName) def _post_teardown(self): super(MongoTestCase, self)._post_teardown() for collection in self.db.collection_names(): if collection == 'system.indexes': continue self.db.drop_collection(collection)