Skip to content

Commit ce4a60e

Browse files
author
Jussi Kukkonen
authored
Merge pull request #1658 from MVrachev/apply-linters
New implementation tests: apply black and isort automatic linting fixes
2 parents 589ed9e + 6fe36a0 commit ce4a60e

9 files changed

+482
-493
lines changed

tests/repository_simulator.py

Lines changed: 19 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -44,47 +44,51 @@
4444
updater.refresh()
4545
"""
4646

47-
from collections import OrderedDict
48-
from dataclasses import dataclass
49-
from datetime import datetime, timedelta
5047
import logging
5148
import os
5249
import tempfile
50+
from collections import OrderedDict
51+
from dataclasses import dataclass
52+
from datetime import datetime, timedelta
53+
from typing import Dict, Iterator, List, Optional, Tuple
54+
from urllib import parse
55+
5356
import securesystemslib.hash as sslib_hash
5457
from securesystemslib.keys import generate_ed25519_key
5558
from securesystemslib.signer import SSlibSigner
56-
from typing import Dict, Iterator, List, Optional, Tuple
57-
from urllib import parse
5859

59-
from tuf.api.metadata import TOP_LEVEL_ROLE_NAMES
60-
from tuf.api.serialization.json import JSONSerializer
61-
from tuf.exceptions import FetcherHTTPError
6260
from tuf.api.metadata import (
61+
SPECIFICATION_VERSION,
62+
TOP_LEVEL_ROLE_NAMES,
6363
DelegatedRole,
6464
Delegations,
6565
Key,
6666
Metadata,
6767
MetaFile,
6868
Role,
6969
Root,
70-
SPECIFICATION_VERSION,
7170
Snapshot,
7271
TargetFile,
7372
Targets,
7473
Timestamp,
7574
)
75+
from tuf.api.serialization.json import JSONSerializer
76+
from tuf.exceptions import FetcherHTTPError, RepositoryError
7677
from tuf.ngclient.fetcher import FetcherInterface
7778

7879
logger = logging.getLogger(__name__)
7980

8081
SPEC_VER = ".".join(SPECIFICATION_VERSION)
8182

83+
8284
@dataclass
8385
class RepositoryTarget:
8486
"""Contains actual target data and the related target metadata"""
87+
8588
data: bytes
8689
target_file: TargetFile
8790

91+
8892
class RepositorySimulator(FetcherInterface):
8993
def __init__(self):
9094
self.md_root: Metadata[Root] = None
@@ -141,7 +145,7 @@ def create_key() -> Tuple[Key, SSlibSigner]:
141145
sslib_key = generate_ed25519_key()
142146
return Key.from_securesystemslib_key(sslib_key), SSlibSigner(sslib_key)
143147

144-
def add_signer(self, role:str, signer: SSlibSigner):
148+
def add_signer(self, role: str, signer: SSlibSigner):
145149
if role not in self.signers:
146150
self.signers[role] = {}
147151
self.signers[role][signer.key_dict["keyid"]] = signer
@@ -197,7 +201,7 @@ def fetch(self, url: str) -> Iterator[bytes]:
197201
elif path.startswith("/targets/"):
198202
# figure out target path and hash prefix
199203
target_path = path[len("/targets/") :]
200-
dir_parts, sep , prefixed_filename = target_path.rpartition("/")
204+
dir_parts, sep, prefixed_filename = target_path.rpartition("/")
201205
prefix, _, filename = prefixed_filename.partition(".")
202206
target_path = f"{dir_parts}{sep}{filename}"
203207

@@ -219,7 +223,9 @@ def _fetch_target(self, target_path: str, hash: Optional[str]) -> bytes:
219223
logger.debug("fetched target %s", target_path)
220224
return repo_target.data
221225

222-
def _fetch_metadata(self, role: str, version: Optional[int] = None) -> bytes:
226+
def _fetch_metadata(
227+
self, role: str, version: Optional[int] = None
228+
) -> bytes:
223229
"""Return signed metadata for 'role', using 'version' if it is given.
224230
225231
If version is None, non-versioned metadata is being requested
@@ -264,7 +270,7 @@ def _compute_hashes_and_length(
264270
data = self._fetch_metadata(role)
265271
digest_object = sslib_hash.digest(sslib_hash.DEFAULT_HASH_ALGORITHM)
266272
digest_object.update(data)
267-
hashes = {sslib_hash.DEFAULT_HASH_ALGORITHM: digest_object.hexdigest()}
273+
hashes = {sslib_hash.DEFAULT_HASH_ALGORITHM: digest_object.hexdigest()}
268274
return hashes, len(data)
269275

270276
def update_timestamp(self):

0 commit comments

Comments
 (0)