@@ -885,6 +885,8 @@ def test__generate_and_write_metadata(self):
885
885
# (specifically 'snapshot') and keys to be available in 'tuf.roledb'.
886
886
tuf .roledb .create_roledb_from_root_metadata (root_signable ['signed' ],
887
887
repository_name )
888
+ tuf .keydb .create_keydb_from_root_metadata (root_signable ['signed' ],
889
+ repository_name )
888
890
temporary_directory = tempfile .mkdtemp (dir = self .temporary_directory )
889
891
targets_directory = os .path .join (temporary_directory , 'targets' )
890
892
os .mkdir (targets_directory )
@@ -897,6 +899,14 @@ def test__generate_and_write_metadata(self):
897
899
securesystemslib .util .ensure_parent_dir (obsolete_metadata )
898
900
shutil .copyfile (targets_metadata , obsolete_metadata )
899
901
902
+ keystore_path = os .path .join ('repository_data' , 'keystore' )
903
+ targets_private_keypath = os .path .join (keystore_path , 'targets_key' )
904
+ targets_private_key = repo_lib .import_ed25519_privatekey_from_file (targets_private_keypath ,
905
+ 'password' )
906
+ tuf .keydb .remove_key (targets_private_key ['keyid' ],
907
+ repository_name = repository_name )
908
+ tuf .keydb .add_key (targets_private_key , repository_name = repository_name )
909
+
900
910
# Verify that obsolete metadata (a metadata file exists on disk, but the
901
911
# role is unavailable in 'tuf.roledb'). First add the obsolete
902
912
# role to 'tuf.roledb' so that its metadata file can be written to disk.
@@ -906,6 +916,7 @@ def test__generate_and_write_metadata(self):
906
916
tuf .formats .unix_timestamp_to_datetime (int (time .time () + 86400 ))
907
917
expiration = expiration .isoformat () + 'Z'
908
918
targets_roleinfo ['expires' ] = expiration
919
+ targets_roleinfo ['signing_keyids' ] = targets_roleinfo ['keyids' ]
909
920
tuf .roledb .add_role ('obsolete_role' , targets_roleinfo ,
910
921
repository_name = repository_name )
911
922
@@ -1004,14 +1015,24 @@ def test__load_top_level_metadata(self):
1004
1015
roleinfo ['version' ] = 1
1005
1016
tuf .roledb .add_role ('role1' , roleinfo , repository_name )
1006
1017
1018
+ keystore_path = os .path .join ('repository_data' , 'keystore' )
1019
+ root_privkey_path = os .path .join (keystore_path , 'root_key' )
1020
+ targets_privkey_path = os .path .join (keystore_path , 'targets_key' )
1021
+ snapshot_privkey_path = os .path .join (keystore_path , 'snapshot_key' )
1022
+ timestamp_privkey_path = os .path .join (keystore_path , 'timestamp_key' )
1023
+
1024
+ repository .root .load_signing_key (repo_lib .import_rsa_privatekey_from_file (root_privkey_path , 'password' ))
1025
+ repository .targets .load_signing_key (repo_lib .import_ed25519_privatekey_from_file (targets_privkey_path , 'password' ))
1026
+ repository .snapshot .load_signing_key (repo_lib .import_ed25519_privatekey_from_file (snapshot_privkey_path , 'password' ))
1027
+ repository .timestamp .load_signing_key (repo_lib .import_ed25519_privatekey_from_file (timestamp_privkey_path , 'password' ))
1007
1028
1008
1029
# Partially write all top-level roles (we increase the threshold of each
1009
1030
# top-level role so that they are flagged as partially written.
1010
1031
repository .root .threshold = repository .root .threshold + 1
1011
1032
repository .snapshot .threshold = repository .snapshot .threshold + 1
1012
1033
repository .targets .threshold = repository .targets .threshold + 1
1013
1034
repository .timestamp .threshold = repository .timestamp .threshold + 1
1014
- repository .write ('root' , )
1035
+ repository .write ('root' )
1015
1036
repository .write ('snapshot' )
1016
1037
repository .write ('targets' )
1017
1038
repository .write ('timestamp' )
0 commit comments