Moved the AUTH_USER_MODEL setting changed receiver.

Test suites besides Django's may need the same behavior.
This commit is contained in:
Simon Charette 2016-05-18 09:33:53 -04:00
parent b9ae662c97
commit 7694e196ce
No known key found for this signature in database
GPG Key ID: 72AF89A0B1B4EDB3
2 changed files with 7 additions and 9 deletions

View File

@ -3,6 +3,7 @@ import threading
import time import time
import warnings import warnings
from django.apps import apps
from django.core.signals import setting_changed from django.core.signals import setting_changed
from django.db import connections, router from django.db import connections, router
from django.db.utils import ConnectionRouter from django.db.utils import ConnectionRouter
@ -168,3 +169,9 @@ def auth_password_validators_changed(**kwargs):
if kwargs['setting'] == 'AUTH_PASSWORD_VALIDATORS': if kwargs['setting'] == 'AUTH_PASSWORD_VALIDATORS':
from django.contrib.auth.password_validation import get_default_password_validators from django.contrib.auth.password_validation import get_default_password_validators
get_default_password_validators.cache_clear() get_default_password_validators.cache_clear()
@receiver(setting_changed)
def user_model_swapped(**kwargs):
if kwargs['setting'] == 'AUTH_USER_MODEL':
apps.clear_cache()

View File

@ -3,25 +3,16 @@ from __future__ import unicode_literals
import warnings import warnings
from django.apps import apps
from django.contrib.auth import get_user_model from django.contrib.auth import get_user_model
from django.contrib.auth.models import AnonymousUser, User from django.contrib.auth.models import AnonymousUser, User
from django.core.exceptions import ImproperlyConfigured from django.core.exceptions import ImproperlyConfigured
from django.db import IntegrityError from django.db import IntegrityError
from django.dispatch import receiver
from django.test import TestCase, override_settings from django.test import TestCase, override_settings
from django.test.signals import setting_changed
from django.utils import translation from django.utils import translation
from .models import CustomUser from .models import CustomUser
@receiver(setting_changed)
def user_model_swapped(**kwargs):
if kwargs['setting'] == 'AUTH_USER_MODEL':
apps.clear_cache()
class BasicTestCase(TestCase): class BasicTestCase(TestCase):
def test_user(self): def test_user(self):
"Check that users can be created and can set their password" "Check that users can be created and can set their password"