@@ -122,38 +122,17 @@ def setUp(self):
122
122
metadata_url ,
123
123
targets_url )
124
124
125
- # Metadata role keys are needed by the test cases to make changes to the
126
- # repository (e.g., adding a new target file to 'targets.json' and then
127
- # requesting a refresh()).
128
- self .role_keys = _load_role_keys (self .keystore_directory )
129
-
130
-
131
-
132
125
def tearDown (self ):
133
126
# We are inheriting from custom class.
134
127
unittest_toolbox .Modified_TestCase .tearDown (self )
135
128
136
129
# Logs stdout and stderr from the sever subprocess.
137
130
self .server_process_handler .flush_log ()
138
131
139
-
140
-
141
- # UNIT TESTS.
142
132
def test_refresh (self ):
143
133
144
134
self .repository_updater .refresh ()
145
135
146
- for role in ['root' , 'timestamp' , 'snapshot' , 'targets' ]:
147
- metadata_obj = metadata .Metadata .from_file (os .path .join (
148
- self .client_directory , role + '.json' ))
149
-
150
- metadata_obj_2 = metadata .Metadata .from_file (os .path .join (
151
- self .repository_directory , 'metadata' , role + '.json' ))
152
-
153
-
154
- self .assertDictEqual (metadata_obj .to_dict (),
155
- metadata_obj_2 .to_dict ())
156
-
157
136
# Get targetinfo for 'file1.txt' listed in targets
158
137
targetinfo1 = self .repository_updater .get_one_valid_targetinfo ('file1.txt' )
159
138
# Get targetinfo for 'file3.txt' listed in the delegated role1
@@ -178,60 +157,16 @@ def test_refresh(self):
178
157
179
158
self .assertListEqual (updated_targets , [])
180
159
160
+ def test_refresh_with_only_local_root (self ):
161
+ os .remove (os .path .join (self .client_directory , "timestamp.json" ))
162
+ os .remove (os .path .join (self .client_directory , "snapshot.json" ))
163
+ os .remove (os .path .join (self .client_directory , "targets.json" ))
164
+ os .remove (os .path .join (self .client_directory , "role1.json" ))
165
+
166
+ self .repository_updater .refresh ()
181
167
182
- def _load_role_keys (keystore_directory ):
183
-
184
- # Populating 'self.role_keys' by importing the required public and private
185
- # keys of 'tuf/tests/repository_data/'. The role keys are needed when
186
- # modifying the remote repository used by the test cases in this unit test.
187
-
188
- # The pre-generated key files in 'repository_data/keystore' are all encrypted with
189
- # a 'password' passphrase.
190
- EXPECTED_KEYFILE_PASSWORD = 'password'
191
-
192
- # Store and return the cryptography keys of the top-level roles, including 1
193
- # delegated role.
194
- role_keys = {}
195
-
196
- root_key_file = os .path .join (keystore_directory , 'root_key' )
197
- targets_key_file = os .path .join (keystore_directory , 'targets_key' )
198
- snapshot_key_file = os .path .join (keystore_directory , 'snapshot_key' )
199
- timestamp_key_file = os .path .join (keystore_directory , 'timestamp_key' )
200
- delegation_key_file = os .path .join (keystore_directory , 'delegation_key' )
201
-
202
- role_keys = {'root' : {}, 'targets' : {}, 'snapshot' : {}, 'timestamp' : {},
203
- 'role1' : {}}
204
-
205
- # Import the top-level and delegated role public keys.
206
- role_keys ['root' ]['public' ] = \
207
- repo_tool .import_rsa_publickey_from_file (root_key_file + '.pub' )
208
- role_keys ['targets' ]['public' ] = \
209
- repo_tool .import_ed25519_publickey_from_file (targets_key_file + '.pub' )
210
- role_keys ['snapshot' ]['public' ] = \
211
- repo_tool .import_ed25519_publickey_from_file (snapshot_key_file + '.pub' )
212
- role_keys ['timestamp' ]['public' ] = \
213
- repo_tool .import_ed25519_publickey_from_file (timestamp_key_file + '.pub' )
214
- role_keys ['role1' ]['public' ] = \
215
- repo_tool .import_ed25519_publickey_from_file (delegation_key_file + '.pub' )
216
-
217
- # Import the private keys of the top-level and delegated roles.
218
- role_keys ['root' ]['private' ] = \
219
- repo_tool .import_rsa_privatekey_from_file (root_key_file ,
220
- EXPECTED_KEYFILE_PASSWORD )
221
- role_keys ['targets' ]['private' ] = \
222
- repo_tool .import_ed25519_privatekey_from_file (targets_key_file ,
223
- EXPECTED_KEYFILE_PASSWORD )
224
- role_keys ['snapshot' ]['private' ] = \
225
- repo_tool .import_ed25519_privatekey_from_file (snapshot_key_file ,
226
- EXPECTED_KEYFILE_PASSWORD )
227
- role_keys ['timestamp' ]['private' ] = \
228
- repo_tool .import_ed25519_privatekey_from_file (timestamp_key_file ,
229
- EXPECTED_KEYFILE_PASSWORD )
230
- role_keys ['role1' ]['private' ] = \
231
- repo_tool .import_ed25519_privatekey_from_file (delegation_key_file ,
232
- EXPECTED_KEYFILE_PASSWORD )
233
-
234
- return role_keys
168
+ # Get targetinfo for 'file3.txt' listed in the delegated role1
169
+ targetinfo3 = self .repository_updater .get_one_valid_targetinfo ('file3.txt' )
235
170
236
171
if __name__ == '__main__' :
237
172
utils .configure_test_logging (sys .argv )
0 commit comments