diff --git a/mongoengine/django/tests.py b/mongoengine/django/tests.py index c7af42a3..620e6ba6 100644 --- a/mongoengine/django/tests.py +++ b/mongoengine/django/tests.py @@ -1,38 +1,31 @@ #coding: utf-8 -from nose.plugins.skip import SkipTest -from mongoengine.python_support import PY3 from mongoengine import connect +from mongoengine.connection import get_db +from mongoengine.python_support import PY3 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 + from django.conf import settings + return 'test_%s' % getattr(settings, 'MONGO_DATABASE_NAME', 'dummy') def __init__(self, methodName='runtest'): - self.db = connect(self.db_name).get_db() + connect(self.db_name) + self.db = get_db() super(MongoTestCase, self).__init__(methodName) def _post_teardown(self): @@ -41,3 +34,14 @@ class MongoTestCase(TestCase): if collection == 'system.indexes': continue self.db.drop_collection(collection) + + # prevent standard db init + + def _databases_names(self, *args, **kwargs): + return [] + + def _fixture_setup(self): + pass + + def _fixture_teardown(self): + pass diff --git a/tests/test_django.py b/tests/test_django.py index 1741e0f8..de49e8ac 100644 --- a/tests/test_django.py +++ b/tests/test_django.py @@ -2,9 +2,8 @@ import sys sys.path[0:0] = [""] import unittest from nose.plugins.skip import SkipTest + from mongoengine import * - - from mongoengine.django.shortcuts import get_document_or_404 import django @@ -37,6 +36,7 @@ except Exception: DJ15 = False from django.contrib.sessions.tests import SessionTestsMixin from mongoengine.django.sessions import SessionStore, MongoSession +from mongoengine.django.tests import MongoTestCase from datetime import tzinfo, timedelta ZERO = timedelta(0) @@ -298,5 +298,12 @@ class MongoAuthTest(unittest.TestCase): db_user = User.objects.get(username='user') self.assertEqual(user.id, db_user.id) + +class MongoTestCaseTest(MongoTestCase): + def test_mongo_test_case(self): + # test __init__ and teardown in MongoTestCase + pass + + if __name__ == '__main__': unittest.main()