Skip to content

Commit 3886aa7

Browse files
committed
Fix errors
Signed-off-by: Tushar Goel <tushar.goel.dav@gmail.com>
1 parent c805418 commit 3886aa7

9 files changed

Lines changed: 15 additions & 62 deletions

File tree

‎vulnerabilities/pipelines/__init__.py‎

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
from aboutcode.pipeline import PipelineDefinition
2121
from aboutcode.pipeline import humanize_time
2222

23+
from vulnerabilities.importer import AdvisoryDataV2
2324
from vulnerabilities.models import PipelineRun
2425
from vulnerabilities.models import PipelineSchedule
2526
from vulnerabilities.pipes.advisory import insert_advisory_v2
@@ -196,17 +197,17 @@ def steps(cls):
196197
# Add step for removing downloaded/cloned resource as required.
197198
)
198199

199-
def collect_advisories(self) -> Iterable[AdvisoryData]:
200+
def collect_advisories(self) -> Iterable[AdvisoryDataV2]:
200201
"""
201-
Yield AdvisoryData for importer pipeline.
202+
Yield AdvisoryDataV2 for importer pipeline.
202203
203-
Populate the `self.collected_advisories_count` field and yield AdvisoryData
204+
Populate the `self.collected_advisories_count` field and yield AdvisoryDataV2
204205
"""
205206
raise NotImplementedError
206207

207208
def advisories_count(self) -> int:
208209
"""
209-
Return the estimated AdvisoryData to be yielded by ``collect_advisories``.
210+
Return the estimated AdvisoryDataV2 to be yielded by ``collect_advisories``.
210211
211212
Used by ``collect_and_store_advisories`` to log the progress of advisory collection.
212213
"""

‎vulnerabilities/pipelines/v2_importers/alpine_linux_importer.py‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ def check_for_attributes(record, logger) -> bool:
109109

110110
def process_record(record: dict, url: str, logger: callable) -> Iterable[AdvisoryDataV2]:
111111
"""
112-
Return a list of AdvisoryData objects by processing data
112+
Return a list of AdvisoryDataV2 objects by processing data
113113
present in that `record`
114114
"""
115115
if not record.get("packages"):
@@ -147,7 +147,7 @@ def load_advisories(
147147
logger: callable,
148148
) -> Iterable[AdvisoryDataV2]:
149149
"""
150-
Yield AdvisoryData by mapping data from `pkg_infos`
150+
Yield AdvisoryDataV2 by mapping data from `pkg_infos`
151151
and form PURL for AffectedPackages by using
152152
`distroversion`, `reponame`, `archs`
153153
"""

‎vulnerabilities/pipes/osv_v2.py‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ def parse_advisory_data_v3(
6565
advisory_id: Optional[str] = None,
6666
) -> Optional[AdvisoryDataV2]:
6767
"""
68-
Return an AdvisoryData build from a ``raw_data`` mapping of OSV advisory and
68+
Return an AdvisoryDataV2 build from a ``raw_data`` mapping of OSV advisory and
6969
a ``supported_ecosystem`` string.
7070
"""
7171
adv_id = raw_data.get("id")
@@ -215,7 +215,7 @@ def parse_advisory_data_v3(
215215
or json.dumps(raw_data, indent=2, ensure_ascii=False),
216216
)
217217
except Exception as e:
218-
logger.error(f"Invalid AdvisoryData for {advisory_id}: {e}")
218+
logger.error(f"Invalid AdvisoryDataV2 for {advisory_id}: {e}")
219219

220220

221221
def extract_events(range_data) -> Iterable[str]:

‎vulnerabilities/pipes/vcs_collector_utils.py‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -99,9 +99,9 @@ def collect_fix_commits(self):
9999

100100
def collect_advisories(self):
101101
"""
102-
Generate AdvisoryData objects for each vulnerability ID grouped with its related commits.
102+
Generate AdvisoryDataV2 objects for each vulnerability ID grouped with its related commits.
103103
"""
104-
self.log("Generating AdvisoryData objects from grouped commits.")
104+
self.log("Generating AdvisoryDataV2 objects from grouped commits.")
105105
grouped_commits = self.collect_fix_commits()
106106
purl = url2purl(self.repo_url)
107107
for vuln_id, commits_data in grouped_commits.items():

‎vulnerabilities/tests/pipelines/v2_importers/test_nvd_importer_v2.py‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ def load_test_data(file):
2525

2626
def sorted_advisory_data(advisory_data):
2727
"""
28-
Return ``advisory_data`` of AdvisoryData mappings where each mapping nested
28+
Return ``advisory_data`` of AdvisoryDataV2 mappings where each mapping nested
2929
list is sorted for stable testing results.
3030
"""
3131
sorter = lambda dct: tuple(dct.items())

‎vulnerabilities/tests/pipelines/v2_importers/test_pypa_importer_pipeline_v2.py‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ def test_collect_advisories(mock_pathlib, mock_vcs_response, mock_fetch_via_vcs)
8888
# Mock `vcs_response.dest_dir` to point to the temporary directory
8989
mock_vcs_response.dest_dir = str(mock_pathlib.parent)
9090

91-
# Mock `parse_advisory_data` to return an AdvisoryData object
91+
# Mock `parse_advisory_data` to return an AdvisoryDataV2 object
9292
with patch(
9393
"vulnerabilities.pipelines.v2_importers.pypa_importer.parse_advisory_data_v3"
9494
) as mock_parse:

‎vulnerabilities/tests/pipelines/v2_importers/test_pysec_importer_v2.py‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ def test_collect_advisories(mock_requests_get, mock_zip_data):
7878
# Fetch the zip data
7979
pipeline.fetch_zip()
8080

81-
# Mock the `parse_advisory_data_v2` function to return a dummy AdvisoryData
81+
# Mock the `parse_advisory_data_v2` function to return a dummy AdvisoryDataV2
8282
with patch(
8383
"vulnerabilities.pipelines.v2_importers.pysec_importer.parse_advisory_data_v3"
8484
) as mock_parse:

‎vulnerabilities/tests/pipelines/v2_importers/test_vulnrichment_importer_v2.py‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ def test_collect_advisories(mock_pathlib, mock_vcs_response, mock_fetch_via_vcs)
9999
# Mock `vcs_response.dest_dir` to point to the temporary directory
100100
mock_vcs_response.dest_dir = str(mock_pathlib.parent)
101101

102-
# Mock `parse_cve_advisory` to return an AdvisoryData object
102+
# Mock `parse_cve_advisory` to return an AdvisoryDataV2 object
103103
with patch(
104104
"vulnerabilities.pipelines.v2_importers.vulnrichment_importer.VulnrichImporterPipeline.parse_cve_advisory"
105105
) as mock_parse:

‎vulnerabilities/utils.py‎

Lines changed: 0 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -643,54 +643,6 @@ def sha256_digest(normalized_data):
643643
return hashlib.sha256(normalized_json.encode("utf-8")).hexdigest()
644644

645645

646-
def compute_content_id(advisory_data):
647-
"""
648-
Compute a unique content_id for an advisory by normalizing its data and hashing it.
649-
650-
:param advisory_data: An AdvisoryData object
651-
:return: SHA-256 hash digest as content_id
652-
"""
653-
654-
# Normalize fields
655-
from vulnerabilities.importer import AdvisoryData
656-
from vulnerabilities.models import Advisory
657-
658-
if isinstance(advisory_data, Advisory):
659-
normalized_data = {
660-
"aliases": normalize_list(advisory_data.aliases),
661-
"summary": normalize_text(advisory_data.summary),
662-
"affected_packages": [
663-
pkg for pkg in normalize_list(advisory_data.affected_packages) if pkg
664-
],
665-
"references": [ref for ref in normalize_list(advisory_data.references) if ref],
666-
"weaknesses": normalize_list(advisory_data.weaknesses),
667-
}
668-
normalized_data["url"] = advisory_data.url
669-
670-
elif isinstance(advisory_data, AdvisoryData):
671-
normalized_data = {
672-
"aliases": normalize_list(advisory_data.aliases),
673-
"summary": normalize_text(advisory_data.summary),
674-
"affected_packages": [
675-
pkg.to_dict() for pkg in normalize_list(advisory_data.affected_packages) if pkg
676-
],
677-
"references": [
678-
ref.to_dict() for ref in normalize_list(advisory_data.references) if ref
679-
],
680-
"weaknesses": normalize_list(advisory_data.weaknesses),
681-
}
682-
683-
normalized_data["url"] = advisory_data.url
684-
685-
else:
686-
raise ValueError("Unsupported advisory data type for content ID computation")
687-
688-
normalized_json = json.dumps(normalized_data, separators=(",", ":"), sort_keys=True)
689-
content_id = hashlib.sha256(normalized_json.encode("utf-8")).hexdigest()
690-
691-
return content_id
692-
693-
694646
def compute_content_id_v2(advisory_data):
695647
"""
696648
Compute a unique content_id for an advisory by normalizing its data and hashing it.

0 commit comments

Comments
 (0)