Skip to content

Commit ee046b2

Browse files
committed
feat: pick_random_key algorithm parameter is optional
1 parent bc13ead commit ee046b2

File tree

2 files changed

+4
-2
lines changed

2 files changed

+4
-2
lines changed

src/joserfc/_keys.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -152,8 +152,8 @@ def get_by_kid(self, kid: str | None = None, parameters: KeyParameters | None =
152152
return keys[0]
153153
raise InvalidKeyIdError(f"No key for kid: '{kid}'")
154154

155-
def pick_random_key(self, algorithm: str, parameters: KeyParameters | None = None) -> t.Optional[Key]:
156-
key_types = self.algorithm_keys.get(algorithm)
155+
def pick_random_key(self, algorithm: str | None = None, parameters: KeyParameters | None = None) -> t.Optional[Key]:
156+
key_types = self.algorithm_keys.get(algorithm) if algorithm else None
157157
if key_types:
158158
keys = [k for k in self.keys if k.key_type in key_types]
159159
else:

tests/jwk/test_jwk_set.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,8 @@ def test_random_key(self):
5252
self.assertIsNotNone(key1)
5353
key2 = key_set.pick_random_key("RS256")
5454
self.assertIsNone(key2)
55+
key3 = key_set.pick_random_key()
56+
self.assertIsNotNone(key3)
5557

5658
def test_key_set_methods(self):
5759
key_set = KeySet.generate_key_set("oct", 8)

0 commit comments

Comments
 (0)