Тестирование django с помощью mongomock для моделей django auth

Я пытаюсь выполнить модульные тесты на Django с использованием db mocking с помощью mongomock.
. Мое соединение с БД осуществляется с помощью settings.py, где соединение определено в settings.py:

DATABASES = {
    'dbname': {
        'ENGINE': 'djongo',
        'NAME': 'db1',
        'ENFORCE_SCHEMA': False,
        'CLIENT': {
            'host': DB_HOST,
            'port': DB_PORT,
            'username': DB_USERNAME,
            'password': DB_PASSWORD,
            'authSource': 'admin',
            'authMechanism': 'SCRAM-SHA-1'
        }
    },
    'default': {
        'ENGINE': 'djongo',
        'NAME': 'users',
        'ENFORCE_SCHEMA': False,
        'CLIENT': {
            'host': DB_HOST,
            'port': DB_PORT,
            'username': DB_USERNAME,
            'password': DB_PASSWORD,
            'authSource': 'admin',
            'authMechanism': 'SCRAM-SHA-1'
        }
    }
}

и тест выглядит следующим образом:

from django.contrib.auth.models import User
class BaseApiTest():
    def test_access_login(self):
        User.objects.create_user(
            username='admin',
            password='admin'
        )
        ....
        self.assertEqual(AccessAttempt.objects.count(), 1)

Я знаю как издеваться над своими подключениями к БД, но здесь речь идет о внутреннем подключении Django к БД. (когда он пытается получить доступ к django.contrib.auth.models.User)
. Есть идеи?
Цель состоит в том, чтобы запускать тесты без экземпляра БД.
Другими словами, как я могу переписать соединение Django (self.databases) с БД, используя соединение mongomock...

Вернуться на верх