(self)
| 157 | PASSWORD_HASHERS=["django.contrib.auth.hashers.BCryptPasswordHasher"] |
| 158 | ) |
| 159 | def test_bcrypt(self): |
| 160 | encoded = make_password("lètmein", hasher="bcrypt") |
| 161 | self.assertTrue(is_password_usable(encoded)) |
| 162 | self.assertTrue(encoded.startswith("bcrypt$")) |
| 163 | self.assertTrue(check_password("lètmein", encoded)) |
| 164 | self.assertFalse(check_password("lètmeinz", encoded)) |
| 165 | self.assertEqual(identify_hasher(encoded).algorithm, "bcrypt") |
| 166 | # Blank passwords |
| 167 | blank_encoded = make_password("", hasher="bcrypt") |
| 168 | self.assertTrue(blank_encoded.startswith("bcrypt$")) |
| 169 | self.assertTrue(is_password_usable(blank_encoded)) |
| 170 | self.assertTrue(check_password("", blank_encoded)) |
| 171 | self.assertFalse(check_password(" ", blank_encoded)) |
| 172 | |
| 173 | @skipUnless(bcrypt, "bcrypt not installed") |
| 174 | @override_settings( |
nothing calls this directly
no test coverage detected