summaryrefslogtreecommitdiff
path: root/tests/auth_tests
diff options
context:
space:
mode:
authorLie Ryan <lie.1296@gmail.com>2021-10-11 14:54:50 +1100
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2021-11-11 20:26:29 +0100
commit05cde4764da022ae80e9d7d97ef67c30e896c607 (patch)
tree77d95e6d2cc1d01b4bf6870fcb1ce6d4b1058172 /tests/auth_tests
parent4bfe8c0eec835b8eaffcda7dc1e3b203751a790a (diff)
downloaddjango-05cde4764da022ae80e9d7d97ef67c30e896c607.tar.gz
Fixed #33269 -- Made AnonymousUser/PermissionsMixin.has_perms() raise ValueError on string or non-iterable perm_list.
Diffstat (limited to 'tests/auth_tests')
-rw-r--r--tests/auth_tests/test_auth_backends.py14
1 files changed, 14 insertions, 0 deletions
diff --git a/tests/auth_tests/test_auth_backends.py b/tests/auth_tests/test_auth_backends.py
index d01d0b6526..d1471466d7 100644
--- a/tests/auth_tests/test_auth_backends.py
+++ b/tests/auth_tests/test_auth_backends.py
@@ -53,6 +53,13 @@ class BaseBackendTest(TestCase):
self.assertIs(self.user.has_perm('group_perm'), True)
self.assertIs(self.user.has_perm('other_perm', TestObj()), False)
+ def test_has_perms_perm_list_invalid(self):
+ msg = 'perm_list must be an iterable of permissions.'
+ with self.assertRaisesMessage(ValueError, msg):
+ self.user.has_perms('user_perm')
+ with self.assertRaisesMessage(ValueError, msg):
+ self.user.has_perms(object())
+
class CountingMD5PasswordHasher(MD5PasswordHasher):
"""Hasher that counts how many times it computes a hash."""
@@ -476,6 +483,13 @@ class AnonymousUserBackendTest(SimpleTestCase):
self.assertIs(self.user1.has_perms(['anon'], TestObj()), True)
self.assertIs(self.user1.has_perms(['anon', 'perm'], TestObj()), False)
+ def test_has_perms_perm_list_invalid(self):
+ msg = 'perm_list must be an iterable of permissions.'
+ with self.assertRaisesMessage(ValueError, msg):
+ self.user1.has_perms('perm')
+ with self.assertRaisesMessage(ValueError, msg):
+ self.user1.has_perms(object())
+
def test_has_module_perms(self):
self.assertIs(self.user1.has_module_perms("app1"), True)
self.assertIs(self.user1.has_module_perms("app2"), False)