1
from django.conf import settings
2
from django.test import TestCase
3
from django.contrib.auth.models import User, SiteProfileNotAvailable
5
class ProfileTestCase(TestCase):
6
fixtures = ['authtestdata.json']
8
"""Backs up the AUTH_PROFILE_MODULE"""
9
self.old_AUTH_PROFILE_MODULE = getattr(settings,
10
'AUTH_PROFILE_MODULE', None)
13
"""Restores the AUTH_PROFILE_MODULE -- if it was not set it is deleted,
14
otherwise the old value is restored"""
15
if self.old_AUTH_PROFILE_MODULE is None and \
16
hasattr(settings, 'AUTH_PROFILE_MODULE'):
17
del settings.AUTH_PROFILE_MODULE
19
if self.old_AUTH_PROFILE_MODULE is not None:
20
settings.AUTH_PROFILE_MODULE = self.old_AUTH_PROFILE_MODULE
22
def test_site_profile_not_available(self):
23
# calling get_profile without AUTH_PROFILE_MODULE set
24
if hasattr(settings, 'AUTH_PROFILE_MODULE'):
25
del settings.AUTH_PROFILE_MODULE
26
user = User.objects.get(username='testclient')
27
self.assertRaises(SiteProfileNotAvailable, user.get_profile)
29
# Bad syntax in AUTH_PROFILE_MODULE:
30
settings.AUTH_PROFILE_MODULE = 'foobar'
31
self.assertRaises(SiteProfileNotAvailable, user.get_profile)
33
# module that doesn't exist
34
settings.AUTH_PROFILE_MODULE = 'foo.bar'
35
self.assertRaises(SiteProfileNotAvailable, user.get_profile)