Django

Code

root/django/trunk/tests/regressiontests/auth_backends/tests.py

Revision 8044, 2.3 kB (checked in by adrian, 3 months ago)

Fixed #7304 -- Gave AnonymousUser? a has_perms() method, which it was lacking

  • Property svn:eol-style set to native
Line 
1 try:
2     set
3 except NameError:
4     from sets import Set as set     # Python 2.3 fallback
5
6 __test__ = {'API_TESTS': """
7 >>> from django.contrib.auth.models import User, Group, Permission, AnonymousUser
8 >>> from django.contrib.contenttypes.models import ContentType
9
10 # No Permissions assigned yet, should return False except for superuser
11
12 >>> user = User.objects.create_user('test', 'test@example.com', 'test')
13 >>> user.has_perm("auth.test")
14 False
15 >>> user.is_staff=True
16 >>> user.save()
17 >>> user.has_perm("auth.test")
18 False
19 >>> user.is_superuser=True
20 >>> user.save()
21 >>> user.has_perm("auth.test")
22 True
23 >>> user.is_staff = False
24 >>> user.is_superuser = False
25 >>> user.save()
26 >>> user.has_perm("auth.test")
27 False
28 >>> content_type=ContentType.objects.get_for_model(Group)
29 >>> perm = Permission.objects.create(name="test", content_type=content_type, codename="test")
30 >>> user.user_permissions.add(perm)
31 >>> user.save()
32
33 # reloading user to purge the _perm_cache
34
35 >>> user = User.objects.get(username="test")
36 >>> user.get_all_permissions() == set([u'auth.test'])
37 True
38 >>> user.get_group_permissions() == set([])
39 True
40 >>> user.has_module_perms("Group")
41 False
42 >>> user.has_module_perms("auth")
43 True
44 >>> perm = Permission.objects.create(name="test2", content_type=content_type, codename="test2")
45 >>> user.user_permissions.add(perm)
46 >>> user.save()
47 >>> perm = Permission.objects.create(name="test3", content_type=content_type, codename="test3")
48 >>> user.user_permissions.add(perm)
49 >>> user.save()
50 >>> user = User.objects.get(username="test")
51 >>> user.get_all_permissions() == set([u'auth.test2', u'auth.test', u'auth.test3'])
52 True
53 >>> user.has_perm('test')
54 False
55 >>> user.has_perm('auth.test')
56 True
57 >>> user.has_perms(['auth.test2', 'auth.test3'])
58 True
59 >>> perm = Permission.objects.create(name="test_group", content_type=content_type, codename="test_group")
60 >>> group = Group.objects.create(name='test_group')
61 >>> group.permissions.add(perm)
62 >>> group.save()
63 >>> user.groups.add(group)
64 >>> user = User.objects.get(username="test")
65 >>> exp = set([u'auth.test2', u'auth.test', u'auth.test3', u'auth.test_group'])
66 >>> user.get_all_permissions() == exp
67 True
68 >>> user.get_group_permissions() == set([u'auth.test_group'])
69 True
70 >>> user.has_perms(['auth.test3', 'auth.test_group'])
71 True
72
73 >>> user = AnonymousUser()
74 >>> user.has_perm('test')
75 False
76 >>> user.has_perms(['auth.test2', 'auth.test3'])
77 False
78 """}
Note: See TracBrowser for help on using the browser.