|
@@ -21,6 +21,9 @@ from .models import (
|
|
|
|
|
|
|
|
|
class SimpleBackend(BaseBackend):
|
|
|
+ def get_user_permissions(self, user_obj, obj=None):
|
|
|
+ return ['user_perm']
|
|
|
+
|
|
|
def get_group_permissions(self, user_obj, obj=None):
|
|
|
return ['group_perm']
|
|
|
|
|
@@ -31,13 +34,17 @@ class BaseBackendTest(TestCase):
|
|
|
def setUpTestData(cls):
|
|
|
cls.user = User.objects.create_user('test', 'test@example.com', 'test')
|
|
|
|
|
|
+ def test_get_user_permissions(self):
|
|
|
+ self.assertEqual(self.user.get_user_permissions(), {'user_perm'})
|
|
|
+
|
|
|
def test_get_group_permissions(self):
|
|
|
self.assertEqual(self.user.get_group_permissions(), {'group_perm'})
|
|
|
|
|
|
def test_get_all_permissions(self):
|
|
|
- self.assertEqual(self.user.get_all_permissions(), {'group_perm'})
|
|
|
+ self.assertEqual(self.user.get_all_permissions(), {'user_perm', 'group_perm'})
|
|
|
|
|
|
def test_has_perm(self):
|
|
|
+ self.assertIs(self.user.has_perm('user_perm'), True)
|
|
|
self.assertIs(self.user.has_perm('group_perm'), True)
|
|
|
self.assertIs(self.user.has_perm('other_perm', TestObj()), False)
|
|
|
|
|
@@ -102,6 +109,7 @@ class BaseModelBackendTest:
|
|
|
# reloading user to purge the _perm_cache
|
|
|
user = self.UserModel._default_manager.get(pk=self.user.pk)
|
|
|
self.assertEqual(user.get_all_permissions(), {'auth.test'})
|
|
|
+ self.assertEqual(user.get_user_permissions(), {'auth.test'})
|
|
|
self.assertEqual(user.get_group_permissions(), set())
|
|
|
self.assertIs(user.has_module_perms('Group'), False)
|
|
|
self.assertIs(user.has_module_perms('auth'), True)
|
|
@@ -111,7 +119,8 @@ class BaseModelBackendTest:
|
|
|
perm = Permission.objects.create(name='test3', content_type=content_type, codename='test3')
|
|
|
user.user_permissions.add(perm)
|
|
|
user = self.UserModel._default_manager.get(pk=self.user.pk)
|
|
|
- self.assertEqual(user.get_all_permissions(), {'auth.test2', 'auth.test', 'auth.test3'})
|
|
|
+ expected_user_perms = {'auth.test2', 'auth.test', 'auth.test3'}
|
|
|
+ self.assertEqual(user.get_all_permissions(), expected_user_perms)
|
|
|
self.assertIs(user.has_perm('test'), False)
|
|
|
self.assertIs(user.has_perm('auth.test'), True)
|
|
|
self.assertIs(user.has_perms(['auth.test2', 'auth.test3']), True)
|
|
@@ -121,8 +130,8 @@ class BaseModelBackendTest:
|
|
|
group.permissions.add(perm)
|
|
|
user.groups.add(group)
|
|
|
user = self.UserModel._default_manager.get(pk=self.user.pk)
|
|
|
- exp = {'auth.test2', 'auth.test', 'auth.test3', 'auth.test_group'}
|
|
|
- self.assertEqual(user.get_all_permissions(), exp)
|
|
|
+ self.assertEqual(user.get_all_permissions(), {*expected_user_perms, 'auth.test_group'})
|
|
|
+ self.assertEqual(user.get_user_permissions(), expected_user_perms)
|
|
|
self.assertEqual(user.get_group_permissions(), {'auth.test_group'})
|
|
|
self.assertIs(user.has_perms(['auth.test3', 'auth.test_group']), True)
|
|
|
|