def test_update_password(self): username = "******" password = "******" email = "*****@*****.**" user = BaseUser(username=username, password=password, email=email) user.save().run_sync() authenticated = BaseUser.login_sync(username, password) self.assertTrue(authenticated is not None) # Test success new_password = "******" BaseUser.update_password_sync(username, new_password) authenticated = BaseUser.login_sync(username, new_password) self.assertTrue(authenticated is not None) # Test ultra long password malicious_password = secrets.token_urlsafe(1000) with self.assertRaises(ValueError) as manager: BaseUser.update_password_sync(username, malicious_password) self.assertEqual( manager.exception.__str__(), "The password is too long.", )
def test_update_password(self): username = "******" password = "******" email = "*****@*****.**" user = BaseUser(username=username, password=password, email=email) user.save().run_sync() authenticated = BaseUser.login_sync(username, password) self.assertTrue(authenticated is not None) new_password = "******" BaseUser.update_password_sync(username, new_password) authenticated = BaseUser.login_sync(username, new_password) self.assertTrue(authenticated is not None)
def change_password(): """ Change a user's password. """ username = get_username() password = get_password() confirmed_password = get_confirmed_password() if not password == confirmed_password: sys.exit("Passwords don't match!") BaseUser.update_password_sync(user=username, password=password) print(f"Updated password for {username}") print( "If using session auth, we recommend invalidating this user's session." )