Skip to content

Commit 73ee375

Browse files
committed
rename do_keys (and keep) to better reflect purpose
1 parent b3d1191 commit 73ee375

File tree

2 files changed

+35
-20
lines changed

2 files changed

+35
-20
lines changed

src/cryptojwt/key_bundle.py

Lines changed: 32 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -261,11 +261,11 @@ def __init__(
261261
self.source = None
262262
if isinstance(keys, dict):
263263
if "keys" in keys:
264-
self._do_keys(keys["keys"])
264+
self._add_jwk_dicts(keys["keys"])
265265
else:
266-
self._do_keys([keys])
266+
self._add_jwk_dicts([keys])
267267
else:
268-
self._do_keys(keys)
268+
self._add_jwk_dicts(keys)
269269
else:
270270
self._set_source(source, fileformat)
271271
if self.local:
@@ -306,18 +306,34 @@ def _local_update_required(self) -> bool:
306306
self.last_local = stat.st_mtime
307307
return True
308308

309-
@keys_writer
310309
def do_keys(self, keys):
311-
return self._do_keys(keys)
310+
"""Compatibility function for add_jwk_dicts()"""
311+
self.add_jwk_dicts(keys)
312312

313-
def _do_keys(self, keys):
313+
@keys_writer
314+
def add_jwk_dicts(self, keys):
314315
"""
315-
Go from JWK description to binary keys
316+
Add JWK dictionaries
316317
317-
:param keys:
318+
:param keys: List of JWK dictionaries
318319
:return:
319320
"""
320-
_new_key = []
321+
self._add_jwk_dicts(keys)
322+
323+
def _add_jwk_dicts(self, keys):
324+
_new_keys = self._jwk_dicts_to_keys(keys)
325+
if _new_keys:
326+
self._keys.extend(_new_keys)
327+
self.last_updated = time.time()
328+
329+
def _jwk_dicts_to_keys(self, keys):
330+
"""
331+
Return JWK dictionaries as list of JWK objects
332+
333+
:param keys: List of JWK dictionaries
334+
:return: List of JWK objects
335+
"""
336+
_new_keys = []
321337

322338
for inst in keys:
323339
if inst["kty"].lower() in K2C:
@@ -361,14 +377,13 @@ def _do_keys(self, keys):
361377
if _key not in self._keys:
362378
if not _key.kid:
363379
_key.add_kid()
364-
_new_key.append(_key)
380+
_new_keys.append(_key)
365381
_error = ""
366382

367383
if _error:
368384
LOGGER.warning("While loading keys, %s", _error)
369385

370-
if _new_key:
371-
self._keys.extend(_new_key)
386+
return _new_keys
372387

373388
self.last_updated = time.time()
374389

@@ -386,9 +401,9 @@ def _do_local_jwk(self, filename):
386401
with open(filename) as input_file:
387402
_info = json.load(input_file)
388403
if "keys" in _info:
389-
self._do_keys(_info["keys"])
404+
self._add_jwk_dicts(_info["keys"])
390405
else:
391-
self._do_keys([_info])
406+
self._add_jwk_dicts([_info])
392407
self.last_local = time.time()
393408
self.time_out = self.last_local + self.cache_time
394409
return True
@@ -424,7 +439,7 @@ def _do_local_der(self, filename, keytype, keyusage=None, kid=""):
424439
if kid:
425440
key_args["kid"] = kid
426441

427-
self._do_keys([key_args])
442+
self._add_jwk_dicts([key_args])
428443
self.last_local = time.time()
429444
self.time_out = self.last_local + self.cache_time
430445
return True
@@ -471,7 +486,7 @@ def do_remote(self):
471486

472487
LOGGER.debug("Loaded JWKS: %s from %s", _http_resp.text, self.source)
473488
try:
474-
self._do_keys(self.imp_jwks["keys"])
489+
self._add_jwk_dicts(self.imp_jwks["keys"])
475490
except KeyError:
476491
LOGGER.error("No 'keys' keyword in JWKS")
477492
self.ignore_errors_until = time.time() + self.ignore_errors_period
@@ -834,7 +849,7 @@ def load(self, spec):
834849
"""
835850
_keys = spec.get("keys", [])
836851
if _keys:
837-
self._do_keys(_keys)
852+
self._add_jwk_dicts(_keys)
838853

839854
for attr, default in self.params.items():
840855
val = spec.get(attr)

tests/test_03_key_bundle.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -410,7 +410,7 @@ def test_mark_as_inactive():
410410
for k in kb.keys():
411411
kb.mark_as_inactive(k.kid)
412412
desc = {"kty": "oct", "key": "highestsupersecret", "use": "enc"}
413-
kb.do_keys([desc])
413+
kb.add_jwk_dicts([desc])
414414
assert len(kb.keys()) == 2
415415
assert len(kb.active_keys()) == 1
416416

@@ -422,7 +422,7 @@ def test_copy():
422422
for k in kb.keys():
423423
kb.mark_as_inactive(k.kid)
424424
desc = {"kty": "oct", "key": "highestsupersecret", "use": "enc"}
425-
kb.do_keys([desc])
425+
kb.add_jwk_dicts([desc])
426426

427427
kbc = kb.copy()
428428
assert len(kbc.keys()) == 2
@@ -891,7 +891,7 @@ def test_export_inactive():
891891
for k in kb.keys():
892892
kb.mark_as_inactive(k.kid)
893893
desc = {"kty": "oct", "key": "highestsupersecret", "use": "enc"}
894-
kb.do_keys([desc])
894+
kb.add_jwk_dicts([desc])
895895
res = kb.dump()
896896
assert set(res.keys()) == {
897897
"cache_time",

0 commit comments

Comments
 (0)