diff --git a/django/contrib/auth/tests/models.py b/django/contrib/auth/tests/models.py index b9565922a2..b40157bfe2 100644 --- a/django/contrib/auth/tests/models.py +++ b/django/contrib/auth/tests/models.py @@ -5,39 +5,29 @@ from django.contrib.auth.models import (Group, User, SiteProfileNotAvailable, UserManager) -@override_settings(USE_TZ=False) +@override_settings(USE_TZ=False, AUTH_PROFILE_MODULE='') class ProfileTestCase(TestCase): - fixtures = ['authtestdata.json'] - - def setUp(self): - """Backs up the AUTH_PROFILE_MODULE""" - self.old_AUTH_PROFILE_MODULE = getattr(settings, - 'AUTH_PROFILE_MODULE', None) - - def tearDown(self): - """Restores the AUTH_PROFILE_MODULE -- if it was not set it is deleted, - otherwise the old value is restored""" - if self.old_AUTH_PROFILE_MODULE is None and \ - hasattr(settings, 'AUTH_PROFILE_MODULE'): - del settings.AUTH_PROFILE_MODULE - - if self.old_AUTH_PROFILE_MODULE is not None: - settings.AUTH_PROFILE_MODULE = self.old_AUTH_PROFILE_MODULE def test_site_profile_not_available(self): + user = User.objects.create(username='testclient') + # calling get_profile without AUTH_PROFILE_MODULE set - if hasattr(settings, 'AUTH_PROFILE_MODULE'): - del settings.AUTH_PROFILE_MODULE - user = User.objects.get(username='testclient') - self.assertRaises(SiteProfileNotAvailable, user.get_profile) + del settings.AUTH_PROFILE_MODULE + with self.assertRaisesRegexp(SiteProfileNotAvailable, + "You need to set AUTH_PROFILE_MODULE in your project"): + user.get_profile() # Bad syntax in AUTH_PROFILE_MODULE: settings.AUTH_PROFILE_MODULE = 'foobar' - self.assertRaises(SiteProfileNotAvailable, user.get_profile) + with self.assertRaisesRegexp(SiteProfileNotAvailable, + "app_label and model_name should be separated by a dot"): + user.get_profile() # module that doesn't exist settings.AUTH_PROFILE_MODULE = 'foo.bar' - self.assertRaises(SiteProfileNotAvailable, user.get_profile) + with self.assertRaisesRegexp(SiteProfileNotAvailable, + "Unable to load the profile model"): + user.get_profile() @override_settings(USE_TZ=False)