diff options
author | Pieter Wuille <pieter@wuille.net> | 2023-02-10 17:34:31 -0500 |
---|---|---|
committer | Pieter Wuille <pieter@wuille.net> | 2023-02-13 17:11:15 -0500 |
commit | e4e17907b686c25dda91e569645a8f501ca48f90 (patch) | |
tree | 36028d5b33613c980b3f478c132b17093ab3e7f8 /test/util/rpcauth-test.py | |
parent | 2c1fe27bf3c1e504864987cbe80f9c24897d3cb1 (diff) | |
download | bitcoin-e4e17907b686c25dda91e569645a8f501ca48f90.tar.xz |
Modernize rpcauth.py and its tests
Diffstat (limited to 'test/util/rpcauth-test.py')
-rwxr-xr-x | test/util/rpcauth-test.py | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/test/util/rpcauth-test.py b/test/util/rpcauth-test.py index 53058dc394..8a7ff26dcb 100755 --- a/test/util/rpcauth-test.py +++ b/test/util/rpcauth-test.py @@ -4,7 +4,7 @@ # file COPYING or http://www.opensource.org/licenses/mit-license.php. """Test share/rpcauth/rpcauth.py """ -import base64 +import re import configparser import hmac import importlib @@ -28,18 +28,17 @@ class TestRPCAuth(unittest.TestCase): self.assertEqual(len(self.rpcauth.generate_salt(i)), i * 2) def test_generate_password(self): + """Test that generated passwords only consist of urlsafe characters.""" + r = re.compile(r"[0-9a-zA-Z_-]*") password = self.rpcauth.generate_password() - expected_password = base64.urlsafe_b64encode( - base64.urlsafe_b64decode(password)).decode('utf-8') - self.assertEqual(expected_password, password) + self.assertTrue(r.fullmatch(password)) def test_check_password_hmac(self): salt = self.rpcauth.generate_salt(16) password = self.rpcauth.generate_password() password_hmac = self.rpcauth.password_to_hmac(salt, password) - m = hmac.new(bytearray(salt, 'utf-8'), - bytearray(password, 'utf-8'), 'SHA256') + m = hmac.new(salt.encode('utf-8'), password.encode('utf-8'), 'SHA256') expected_password_hmac = m.hexdigest() self.assertEqual(expected_password_hmac, password_hmac) |