diff options
author | David Lord <davidism@gmail.com> | 2018-10-26 16:35:09 -0700 |
---|---|---|
committer | David Lord <davidism@gmail.com> | 2018-10-26 16:35:52 -0700 |
commit | 85618914af03b35340e8add170f938d386f5cb5a (patch) | |
tree | dceccb72113539c0982f5c3e3c282ebfff1ba717 /tests | |
parent | e52959388bc027e8a336c3a835856e7b08519166 (diff) | |
download | itsdangerous-85618914af03b35340e8add170f938d386f5cb5a.tar.gz |
test iter_unsigners
Diffstat (limited to 'tests')
-rw-r--r-- | tests/test_itsdangerous/test_jws.py | 1 | ||||
-rw-r--r-- | tests/test_itsdangerous/test_serializer.py | 20 |
2 files changed, 21 insertions, 0 deletions
diff --git a/tests/test_itsdangerous/test_jws.py b/tests/test_itsdangerous/test_jws.py index 27ba139..8eaa0c5 100644 --- a/tests/test_itsdangerous/test_jws.py +++ b/tests/test_itsdangerous/test_jws.py @@ -22,6 +22,7 @@ class TestJWSSerializer(TestSerializer): test_signer_cls = None test_signer_kwargs = None test_fallback_signers = None + test_iter_unsigners = None @pytest.mark.parametrize("algorithm_name", ("HS256", "HS384", "HS512", "none")) def test_algorithm(self, serializer_factory, algorithm_name): diff --git a/tests/test_itsdangerous/test_serializer.py b/tests/test_itsdangerous/test_serializer.py index bbd1ce2..e783c20 100644 --- a/tests/test_itsdangerous/test_serializer.py +++ b/tests/test_itsdangerous/test_serializer.py @@ -6,6 +6,7 @@ from io import StringIO import pytest +from itsdangerous import Signer from itsdangerous.exc import BadPayload from itsdangerous.exc import BadSignature from itsdangerous.serializer import Serializer @@ -144,6 +145,25 @@ class TestSerializer(object): assert fallback_serializer.loads(signed) == value + def test_iter_unsigners(self, serializer, serializer_factory): + class Signer256(serializer.signer): + default_digest_method = hashlib.sha256 + + serializer = serializer_factory( + secret_key="secret_key", + fallback_signers=[ + {"digest_method": hashlib.sha256}, + (Signer, {"digest_method": hashlib.sha256}), + Signer256, + ], + ) + + unsigners = serializer.iter_unsigners() + assert next(unsigners).digest_method == hashlib.sha1 + + for signer in unsigners: + assert signer.digest_method == hashlib.sha256 + def test_digests(): factory = partial(Serializer, secret_key="dev key", salt="dev salt") |