summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEli Collins <elic@assurancetechnologies.com>2019-11-11 20:30:03 -0500
committerEli Collins <elic@assurancetechnologies.com>2019-11-11 20:30:03 -0500
commit1d9f7f3b058fbaf78c3c7895ad51cb8fb99dbc0c (patch)
treec498320d0234ca824b4c8b79f2cd20338103ddb3
parent5cadf38764107e5b7c436421288ad770354626b4 (diff)
downloadpasslib-1d9f7f3b058fbaf78c3c7895ad51cb8fb99dbc0c.tar.gz
argon2, parsehash tests -- fix some PY2 edge cases detected by CI
-rw-r--r--passlib/handlers/argon2.py4
-rw-r--r--passlib/tests/utils.py6
2 files changed, 8 insertions, 2 deletions
diff --git a/passlib/handlers/argon2.py b/passlib/handlers/argon2.py
index 7e3dfac..2ac4b1b 100644
--- a/passlib/handlers/argon2.py
+++ b/passlib/handlers/argon2.py
@@ -30,7 +30,7 @@ from passlib import exc
from passlib.crypto.digest import MAX_UINT32
from passlib.utils import classproperty, to_bytes
from passlib.utils.binary import b64s_encode, b64s_decode
-from passlib.utils.compat import u, unicode, bascii_to_str, PY2
+from passlib.utils.compat import u, unicode, bascii_to_str, uascii_to_str, PY2
import passlib.utils.handlers as uh
# local
__all__ = [
@@ -434,7 +434,7 @@ class _Argon2Common(uh.SubclassBackendMixin, uh.ParallelismMixin,
# NOTE: 'keyid' param currently not supported
return "$argon2%s$%sm=%d,t=%d,p=%d%s$%s$%s" % (
- self.type,
+ uascii_to_str(self.type),
vstr,
self.memory_cost,
self.rounds,
diff --git a/passlib/tests/utils.py b/passlib/tests/utils.py
index 16d3825..a62006f 100644
--- a/passlib/tests/utils.py
+++ b/passlib/tests/utils.py
@@ -2521,9 +2521,15 @@ class HandlerCase(TestCase):
# but all else should be the same
result3 = handler.parsehash(hash, sanitize=True)
correct3 = result.copy()
+ if PY2:
+ # silence warning about bytes & unicode not comparing
+ # (sanitize may convert bytes into base64 text)
+ warnings.filterwarnings("ignore", ".*unequal comparison failed to convert.*",
+ category=UnicodeWarning)
for key in ("salt", "checksum"):
if key in result3:
self.assertNotEqual(result3[key], correct3[key])
+ self.assertTrue(result3[key].endswith("**"), "%r is masked" % result3[key])
correct3[key] = result3[key]
self.assertEqual(result3, correct3)