]> git.ipfire.org Git - thirdparty/patchwork.git/commitdiff
tests: Remove use of deprecated method
authorStephen Finucane <stephen@that.guru>
Wed, 2 Aug 2023 11:35:01 +0000 (12:35 +0100)
committerStephen Finucane <stephen@that.guru>
Wed, 2 Aug 2023 11:35:01 +0000 (12:35 +0100)
Resolve the following warning:

  RemovedInDjango51Warning: BaseUserManager.make_random_password() is
  deprecated.

Signed-off-by: Stephen Finucane <stephen@that.guru>
patchwork/tests/views/test_user.py

index 8ab916706554196aae15450c0a0cf9f1200db294..1f19097a2396bdf14c8d4558ed5976fbb5366819 100644 (file)
@@ -3,6 +3,9 @@
 #
 # SPDX-License-Identifier: GPL-2.0-or-later
 
+import string
+import secrets
+
 import django
 from django.contrib.auth.models import User
 from django.core import mail
@@ -27,10 +30,16 @@ def _generate_secondary_email(user):
     return 'secondary_%d@example.com' % user.id
 
 
+def _generate_password():
+    # https://docs.python.org/3.11/library/secrets.html#recipes-and-best-practices
+    alphabet = string.ascii_letters + string.digits
+    return ''.join(secrets.choice(alphabet) for i in range(8))
+
+
 class _UserTestCase(TestCase):
     def setUp(self):
         self.user = create_user()
-        self.password = User.objects.make_random_password()
+        self.password = _generate_password()
         self.user.set_password(self.password)
         self.user.save()
 
@@ -357,7 +366,7 @@ class UserLinkTest(_UserTestCase):
 class ConfirmationTest(TestCase):
     def setUp(self):
         self.user = create_user(link_person=False)
-        self.password = User.objects.make_random_password()
+        self.password = _generate_password()
         self.user.set_password(self.password)
         self.user.save()
 
@@ -476,7 +485,7 @@ class PasswordChangeTest(_UserTestCase):
 
     def test_password_change(self):
         old_password = self.password
-        new_password = User.objects.make_random_password()
+        new_password = _generate_password()
 
         data = {
             'old_password': old_password,