(self)
| 751 | @override_settings(PASSWORD_HASHERS=PASSWORD_HASHERS) |
| 752 | class TestUtilsHashPassScrypt(SimpleTestCase): |
| 753 | def test_scrypt(self): |
| 754 | encoded = make_password("lètmein", "seasalt", "scrypt") |
| 755 | self.assertEqual( |
| 756 | encoded, |
| 757 | "scrypt$16384$seasalt$8$5$ECMIUp+LMxMSK8xB/IVyba+KYGTI7FTnet025q/1f" |
| 758 | "/vBAVnnP3hdYqJuRi+mJn6ji6ze3Fbb7JEFPKGpuEf5vw==", |
| 759 | ) |
| 760 | self.assertIs(is_password_usable(encoded), True) |
| 761 | self.assertIs(check_password("lètmein", encoded), True) |
| 762 | self.assertIs(check_password("lètmeinz", encoded), False) |
| 763 | self.assertEqual(identify_hasher(encoded).algorithm, "scrypt") |
| 764 | # Blank passwords. |
| 765 | blank_encoded = make_password("", "seasalt", "scrypt") |
| 766 | self.assertIs(blank_encoded.startswith("scrypt$"), True) |
| 767 | self.assertIs(is_password_usable(blank_encoded), True) |
| 768 | self.assertIs(check_password("", blank_encoded), True) |
| 769 | self.assertIs(check_password(" ", blank_encoded), False) |
| 770 | |
| 771 | def test_scrypt_decode(self): |
| 772 | encoded = make_password("lètmein", "seasalt", "scrypt") |
nothing calls this directly
no test coverage detected