diff -r 8d941af65caf -r 77b6da96e6f1 web/lib/django/contrib/auth/tests/models.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/web/lib/django/contrib/auth/tests/models.py Wed Jun 02 18:57:35 2010 +0200 @@ -0,0 +1,35 @@ +from django.conf import settings +from django.test import TestCase +from django.contrib.auth.models import User, SiteProfileNotAvailable + +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): + # 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) + + # Bad syntax in AUTH_PROFILE_MODULE: + settings.AUTH_PROFILE_MODULE = 'foobar' + self.assertRaises(SiteProfileNotAvailable, user.get_profile) + + # module that doesn't exist + settings.AUTH_PROFILE_MODULE = 'foo.bar' + self.assertRaises(SiteProfileNotAvailable, user.get_profile)