diff options
| author | Claude Paroz <claude@2xlibre.net> | 2012-11-24 15:56:31 +0100 |
|---|---|---|
| committer | Claude Paroz <claude@2xlibre.net> | 2012-11-24 16:01:10 +0100 |
| commit | fc570b14152997f19523be3317da5e1438dbc34b (patch) | |
| tree | 00d4cbef5fdaa2e36fb952d5034aac54b1b346d7 | |
| parent | 0d3ec8d0fb74424bb49e3169d5d051a36e8d2348 (diff) | |
[1.5.x] Updated User manager when testing custom AUTH_USER_MODEL
This is giving more real test conditions when AUTH_USER_MODEL is
set with override_settings.
Backport of a962bc7c4 from master.
| -rw-r--r-- | django/contrib/auth/tests/__init__.py | 13 | ||||
| -rw-r--r-- | django/contrib/auth/tests/basic.py | 2 |
2 files changed, 15 insertions, 0 deletions
diff --git a/django/contrib/auth/tests/__init__.py b/django/contrib/auth/tests/__init__.py index b3007ea484..038c8980d9 100644 --- a/django/contrib/auth/tests/__init__.py +++ b/django/contrib/auth/tests/__init__.py @@ -14,3 +14,16 @@ from django.contrib.auth.tests.tokens import * from django.contrib.auth.tests.views import * # The password for the fixture data users is 'password' + +from django.dispatch import receiver +from django.test.signals import setting_changed + + +@receiver(setting_changed) +def user_model_swapped(**kwargs): + if kwargs['setting'] == 'AUTH_USER_MODEL': + from django.db.models.manager import ensure_default_manager + from django.contrib.auth.models import User + # Reset User manager + setattr(User, 'objects', User._default_manager) + ensure_default_manager(User) diff --git a/django/contrib/auth/tests/basic.py b/django/contrib/auth/tests/basic.py index bc7344f753..2c807cca51 100644 --- a/django/contrib/auth/tests/basic.py +++ b/django/contrib/auth/tests/basic.py @@ -162,6 +162,8 @@ class BasicTestCase(TestCase): def test_swappable_user(self): "The current user model can be swapped out for another" self.assertEqual(get_user_model(), CustomUser) + with self.assertRaises(AttributeError): + User.objects.all() @override_settings(AUTH_USER_MODEL='badsetting') def test_swappable_user_bad_setting(self): |
