|
1 from django.conf import settings |
|
2 from django.test import TestCase |
|
3 from django.contrib.auth.models import User, SiteProfileNotAvailable |
|
4 |
|
5 class ProfileTestCase(TestCase): |
|
6 fixtures = ['authtestdata.json'] |
|
7 def setUp(self): |
|
8 """Backs up the AUTH_PROFILE_MODULE""" |
|
9 self.old_AUTH_PROFILE_MODULE = getattr(settings, |
|
10 'AUTH_PROFILE_MODULE', None) |
|
11 |
|
12 def tearDown(self): |
|
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 |
|
18 |
|
19 if self.old_AUTH_PROFILE_MODULE is not None: |
|
20 settings.AUTH_PROFILE_MODULE = self.old_AUTH_PROFILE_MODULE |
|
21 |
|
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) |
|
28 |
|
29 # Bad syntax in AUTH_PROFILE_MODULE: |
|
30 settings.AUTH_PROFILE_MODULE = 'foobar' |
|
31 self.assertRaises(SiteProfileNotAvailable, user.get_profile) |
|
32 |
|
33 # module that doesn't exist |
|
34 settings.AUTH_PROFILE_MODULE = 'foo.bar' |
|
35 self.assertRaises(SiteProfileNotAvailable, user.get_profile) |