44 lines
1.1 KiB
Python
44 lines
1.1 KiB
Python
#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
|
|
"""
|
|
|
|
@property
|
|
def db_name(self):
|
|
return '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)
|