diff options
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/regressiontests/auth_backends/__init__.py | 0 | ||||
| -rw-r--r-- | tests/regressiontests/auth_backends/models.py | 0 | ||||
| -rw-r--r-- | tests/regressiontests/auth_backends/tests.py | 66 |
3 files changed, 66 insertions, 0 deletions
diff --git a/tests/regressiontests/auth_backends/__init__.py b/tests/regressiontests/auth_backends/__init__.py new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/tests/regressiontests/auth_backends/__init__.py diff --git a/tests/regressiontests/auth_backends/models.py b/tests/regressiontests/auth_backends/models.py new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/tests/regressiontests/auth_backends/models.py diff --git a/tests/regressiontests/auth_backends/tests.py b/tests/regressiontests/auth_backends/tests.py new file mode 100644 index 0000000000..71e58442e7 --- /dev/null +++ b/tests/regressiontests/auth_backends/tests.py @@ -0,0 +1,66 @@ +""" +>>> from django.contrib.auth.models import User, Group, Permission +>>> from django.contrib.contenttypes.models import ContentType + +# No Permissions assigned yet, should return False except for superuser + +>>> user = User.objects.create_user('test', 'test@example.com', 'test') +>>> user.has_perm("auth.test") +False +>>> user.is_staff=True +>>> user.save() +>>> user.has_perm("auth.test") +False +>>> user.is_superuser=True +>>> user.save() +>>> user.has_perm("auth.test") +True +>>> user.is_staff = False +>>> user.is_superuser = False +>>> user.save() +>>> user.has_perm("auth.test") +False +>>> content_type=ContentType.objects.get_for_model(Group) +>>> perm = Permission.objects.create(name="test", content_type=content_type, codename="test") +>>> user.user_permissions.add(perm) +>>> user.save() + +# reloading user to purge the _perm_cache + +>>> user = User.objects.get(username="test") +>>> user.get_all_permissions() +set([u'auth.test']) +>>> user.get_group_permissions() +set([]) +>>> user.has_module_perms("Group") +False +>>> user.has_module_perms("auth") +True +>>> perm = Permission.objects.create(name="test2", content_type=content_type, codename="test2") +>>> user.user_permissions.add(perm) +>>> user.save() +>>> perm = Permission.objects.create(name="test3", content_type=content_type, codename="test3") +>>> user.user_permissions.add(perm) +>>> user.save() +>>> user = User.objects.get(username="test") +>>> user.get_all_permissions() +set([u'auth.test2', u'auth.test', u'auth.test3']) +>>> user.has_perm('test') +False +>>> user.has_perm('auth.test') +True +>>> user.has_perms(['auth.test2', 'auth.test3']) +True +>>> perm = Permission.objects.create(name="test_group", content_type=content_type, codename="test_group") +>>> group = Group.objects.create(name='test_group') +>>> group.permissions.add(perm) +>>> group.save() +>>> user.groups.add(group) +>>> user = User.objects.get(username="test") +>>> user.get_all_permissions() +set([u'auth.test2', u'auth.test', u'auth.test3', u'auth.test_group']) +>>> user.get_group_permissions() +set([u'auth.test_group']) +>>> user.has_perms(['auth.test3', 'auth.test_group']) +True +"""
\ No newline at end of file |
