summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorDavid Lord <davidism@gmail.com>2018-10-26 16:35:09 -0700
committerDavid Lord <davidism@gmail.com>2018-10-26 16:35:52 -0700
commit85618914af03b35340e8add170f938d386f5cb5a (patch)
treedceccb72113539c0982f5c3e3c282ebfff1ba717 /tests
parente52959388bc027e8a336c3a835856e7b08519166 (diff)
downloaditsdangerous-85618914af03b35340e8add170f938d386f5cb5a.tar.gz
test iter_unsigners
Diffstat (limited to 'tests')
-rw-r--r--tests/test_itsdangerous/test_jws.py1
-rw-r--r--tests/test_itsdangerous/test_serializer.py20
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")