Skip to content

Commit 9a397b9

Browse files
author
Jussi Kukkonen
authored
Merge pull request #1386 from sechkova/root_add_key
Fix Root.add_key() argument's type
2 parents 2ef8546 + 167e179 commit 9a397b9

File tree

2 files changed

+10
-11
lines changed

2 files changed

+10
-11
lines changed

tests/test_api.py

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -48,10 +48,6 @@
4848
import_ed25519_privatekey_from_file
4949
)
5050

51-
from securesystemslib.keys import (
52-
format_keyval_to_metadata
53-
)
54-
5551
from securesystemslib.signer import (
5652
SSlibSigner
5753
)
@@ -234,7 +230,7 @@ def test_metadata_base(self):
234230
is_expired = md.signed.is_expired(md.signed.expires - timedelta(days=1))
235231
self.assertFalse(is_expired)
236232

237-
# Test is_expired without reference_time,
233+
# Test is_expired without reference_time,
238234
# manipulating md.signed.expires
239235
expires = md.signed.expires
240236
md.signed.expires = datetime.utcnow()
@@ -244,7 +240,7 @@ def test_metadata_base(self):
244240
is_expired = md.signed.is_expired()
245241
self.assertFalse(is_expired)
246242
md.signed.expires = expires
247-
243+
248244
def test_metadata_snapshot(self):
249245
snapshot_path = os.path.join(
250246
self.repo_dir, 'metadata', 'snapshot.json')
@@ -394,9 +390,10 @@ def test_metadata_root(self):
394390
root_key2 = import_ed25519_publickey_from_file(
395391
os.path.join(self.keystore_dir, 'root_key2.pub'))
396392

393+
397394
keyid = root_key2['keyid']
398-
key_metadata = format_keyval_to_metadata(
399-
root_key2['keytype'], root_key2['scheme'], root_key2['keyval'])
395+
key_metadata = Key(root_key2['keytype'], root_key2['scheme'],
396+
root_key2['keyval'])
400397

401398
# Assert that root does not contain the new key
402399
self.assertNotIn(keyid, root.signed.roles['root'].keyids)
@@ -409,6 +406,10 @@ def test_metadata_root(self):
409406
self.assertIn(keyid, root.signed.roles['root'].keyids)
410407
self.assertIn(keyid, root.signed.keys)
411408

409+
# Confirm that the newly added key does not break
410+
# the object serialization
411+
root.to_dict()
412+
412413
# Try adding the same key again and assert its ignored.
413414
pre_add_keyid = root.signed.roles['root'].keyids.copy()
414415
root.signed.add_key('root', keyid, key_metadata)

tuf/api/metadata.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -578,9 +578,7 @@ def to_dict(self) -> Dict[str, Any]:
578578
return root_dict
579579

580580
# Update key for a role.
581-
def add_key(
582-
self, role: str, keyid: str, key_metadata: Dict[str, Any]
583-
) -> None:
581+
def add_key(self, role: str, keyid: str, key_metadata: Key) -> None:
584582
"""Adds new key for 'role' and updates the key store."""
585583
self.roles[role].keyids.add(keyid)
586584
self.keys[keyid] = key_metadata

0 commit comments

Comments
 (0)