Skip to content

Commit 8561891

Browse files
committed
test iter_unsigners
1 parent e529593 commit 8561891

File tree

2 files changed

+21
-0
lines changed

2 files changed

+21
-0
lines changed

tests/test_itsdangerous/test_jws.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ def serializer_factory(self):
2222
test_signer_cls = None
2323
test_signer_kwargs = None
2424
test_fallback_signers = None
25+
test_iter_unsigners = None
2526

2627
@pytest.mark.parametrize("algorithm_name", ("HS256", "HS384", "HS512", "none"))
2728
def test_algorithm(self, serializer_factory, algorithm_name):

tests/test_itsdangerous/test_serializer.py

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66

77
import pytest
88

9+
from itsdangerous import Signer
910
from itsdangerous.exc import BadPayload
1011
from itsdangerous.exc import BadSignature
1112
from itsdangerous.serializer import Serializer
@@ -144,6 +145,25 @@ def test_fallback_signers(self, serializer_factory, value):
144145

145146
assert fallback_serializer.loads(signed) == value
146147

148+
def test_iter_unsigners(self, serializer, serializer_factory):
149+
class Signer256(serializer.signer):
150+
default_digest_method = hashlib.sha256
151+
152+
serializer = serializer_factory(
153+
secret_key="secret_key",
154+
fallback_signers=[
155+
{"digest_method": hashlib.sha256},
156+
(Signer, {"digest_method": hashlib.sha256}),
157+
Signer256,
158+
],
159+
)
160+
161+
unsigners = serializer.iter_unsigners()
162+
assert next(unsigners).digest_method == hashlib.sha1
163+
164+
for signer in unsigners:
165+
assert signer.digest_method == hashlib.sha256
166+
147167

148168
def test_digests():
149169
factory = partial(Serializer, secret_key="dev key", salt="dev salt")

0 commit comments

Comments
 (0)