summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJon Moroney <darakian@gmail.com>2021-01-14 07:11:19 +0100
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2021-01-14 11:20:28 +0100
commit6bd206e1ffcd6f2e16d6f615b6ba992448a149a8 (patch)
treecd4a8bf3cc7cf1ffefe3924985623efd0b08f1ed
parent7072bff1fd13ea706b2dc0ca10feef755872eb68 (diff)
Refs #31358 -- Added bcrypt password hashers tests for must_update() with salt().
-rw-r--r--tests/auth_tests/test_hashers.py18
1 files changed, 15 insertions, 3 deletions
diff --git a/tests/auth_tests/test_hashers.py b/tests/auth_tests/test_hashers.py
index 55c436b993..8cd70d6721 100644
--- a/tests/auth_tests/test_hashers.py
+++ b/tests/auth_tests/test_hashers.py
@@ -3,9 +3,9 @@ from unittest import mock, skipUnless
from django.conf.global_settings import PASSWORD_HASHERS
from django.contrib.auth.hashers import (
UNUSABLE_PASSWORD_PREFIX, UNUSABLE_PASSWORD_SUFFIX_LENGTH,
- BasePasswordHasher, PBKDF2PasswordHasher, PBKDF2SHA1PasswordHasher,
- check_password, get_hasher, identify_hasher, is_password_usable,
- make_password,
+ BasePasswordHasher, BCryptPasswordHasher, BCryptSHA256PasswordHasher,
+ PBKDF2PasswordHasher, PBKDF2SHA1PasswordHasher, check_password, get_hasher,
+ identify_hasher, is_password_usable, make_password,
)
from django.test import SimpleTestCase
from django.test.utils import override_settings
@@ -305,6 +305,18 @@ class TestUtilsHashPass(SimpleTestCase):
self.assertEqual(encoded, 'pbkdf2_sha1$260000$seasalt2$wAibXvW6jgvatCdONi6SMJ6q7mI=')
self.assertTrue(hasher.verify('lètmein', encoded))
+ @skipUnless(bcrypt, 'bcrypt not installed')
+ def test_bcrypt_salt_check(self):
+ hasher = BCryptPasswordHasher()
+ encoded = hasher.encode('lètmein', hasher.salt())
+ self.assertIs(hasher.must_update(encoded), False)
+
+ @skipUnless(bcrypt, 'bcrypt not installed')
+ def test_bcryptsha256_salt_check(self):
+ hasher = BCryptSHA256PasswordHasher()
+ encoded = hasher.encode('lètmein', hasher.salt())
+ self.assertIs(hasher.must_update(encoded), False)
+
@override_settings(
PASSWORD_HASHERS=[
'django.contrib.auth.hashers.PBKDF2PasswordHasher',