Skip to content

Commit 1034a87

Browse files
committed
feat: filter_algorithms names parameter default to all algs
1 parent bc13ead commit 1034a87

File tree

3 files changed

+16
-1
lines changed

3 files changed

+16
-1
lines changed

docs/changelog.rst

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,13 @@ Changelog
1212
.. module:: joserfc
1313
:noindex:
1414

15+
1.x.x
16+
-----
17+
18+
**Unreleased**
19+
20+
- ``filter_algorithms`` ``names`` defaults to all algs. :pr:`79`
21+
1522
1.5.0
1623
-----
1724

src/joserfc/_rfc7515/registry.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,12 +134,14 @@ def guess_alg(cls, key: Any, strategy: Strategy) -> str | None:
134134
return None
135135

136136
@classmethod
137-
def filter_algorithms(cls, key: Any, names: list[str]) -> list[JWSAlgModel]:
137+
def filter_algorithms(cls, key: Any, names: list[str] | None = None) -> list[JWSAlgModel]:
138138
"""Filter JWS algorithms based on the given algorithm names.
139139
140140
:param key: key instance
141141
:param names: list of algorithm names
142142
"""
143+
if names is None:
144+
names = list(cls.algorithms.keys())
143145
rv: list[JWSAlgModel] = []
144146
for name in names:
145147
alg = cls.algorithms[name]

tests/jws/test_registry.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,3 +39,9 @@ def test_guess_security_algorithm(self):
3939

4040
name = JWSRegistry.guess_alg(self.okp_key, JWSRegistry.Strategy.SECURITY)
4141
self.assertEqual(name, "EdDSA")
42+
43+
def test_filter_algorithms_default_names(self):
44+
all_names = list(JWSRegistry.algorithms.keys())
45+
explicit = JWSRegistry.filter_algorithms(self.rsa_key, all_names)
46+
default = JWSRegistry.filter_algorithms(self.rsa_key)
47+
self.assertEqual(explicit, default)

0 commit comments

Comments
 (0)