Skip to content

Commit 3131477

Browse files
committed
Update the test fixture to use the new alias field
Signed-off-by: Keshav Priyadarshi <[email protected]>
1 parent 30d61ca commit 3131477

11 files changed

+2115
-2973
lines changed

vulnerabilities/tests/pipelines/test_base_pipeline.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
from vulnerabilities.importer import Reference
2121
from vulnerabilities.pipelines import VulnerableCodeBaseImporterPipeline
2222
from vulnerabilities.pipelines import VulnerableCodePipeline
23+
from vulnerabilities.pipes.advisory import get_or_create_aliases
2324
from vulnerabilities.tests.pipelines import TestLogger
2425

2526
advisory_data1 = AdvisoryData(
@@ -38,15 +39,16 @@
3839

3940

4041
def get_advisory1(created_by="test_pipeline"):
41-
return models.Advisory.objects.create(
42-
aliases=advisory_data1.aliases,
42+
adv = models.Advisory.objects.create(
4343
summary=advisory_data1.summary,
4444
affected_packages=[pkg.to_dict() for pkg in advisory_data1.affected_packages],
4545
references=[ref.to_dict() for ref in advisory_data1.references],
4646
url=advisory_data1.url,
4747
created_by=created_by,
4848
date_collected=timezone.now(),
4949
)
50+
adv.aliases.add(*get_or_create_aliases(advisory_data1.aliases))
51+
return adv
5052

5153

5254
class TestVulnerableCodePipeline(TestCase):
@@ -101,7 +103,7 @@ def test_collect_and_store_advisories(self, mock_advisories_count, mock_collect_
101103
self.assertEqual(1, models.Advisory.objects.count())
102104

103105
collected_advisory = models.Advisory.objects.first()
104-
result_aliases = collected_advisory.aliases
106+
result_aliases = [item.alias for item in collected_advisory.aliases.all()]
105107
expected_aliases = advisory_data1.aliases
106108

107109
self.assertEqual(expected_aliases, result_aliases)
@@ -122,4 +124,5 @@ def test_import_new_advisories(self):
122124
self.assertEqual(1, imported_vulnerability.aliases.count())
123125

124126
expected_alias = imported_vulnerability.aliases.first()
125-
self.assertEqual(advisory1.aliases[0], expected_alias.alias)
127+
result_alias = advisory1.aliases.first()
128+
self.assertEqual(result_alias.alias, expected_alias.alias)

vulnerabilities/tests/pipelines/test_nginx_importer_pipeline.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@
3030

3131
ADVISORY_FIELDS_TO_TEST = (
3232
"unique_content_id",
33-
"aliases",
3433
"summary",
3534
"affected_packages",
3635
"references",

vulnerabilities/tests/pipes/test_advisory.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,10 @@
1616
from vulnerabilities.importer import AdvisoryData
1717
from vulnerabilities.importer import AffectedPackage
1818
from vulnerabilities.importer import Reference
19+
from vulnerabilities.pipes.advisory import get_or_create_aliases
1920
from vulnerabilities.pipes.advisory import import_advisory
2021

2122
advisory_data1 = AdvisoryData(
22-
aliases=["CVE-2020-13371337"],
2323
summary="vulnerability description here",
2424
affected_packages=[
2525
AffectedPackage(
@@ -34,15 +34,16 @@
3434

3535

3636
def get_advisory1(created_by="test_pipeline"):
37-
return models.Advisory.objects.create(
38-
aliases=advisory_data1.aliases,
37+
advisory = models.Advisory.objects.create(
3938
summary=advisory_data1.summary,
4039
affected_packages=[pkg.to_dict() for pkg in advisory_data1.affected_packages],
4140
references=[ref.to_dict() for ref in advisory_data1.references],
4241
url=advisory_data1.url,
4342
created_by=created_by,
4443
date_collected=timezone.now(),
4544
)
45+
advisory.aliases.add(*get_or_create_aliases(advisory_data1.aliases))
46+
return advisory
4647

4748

4849
def get_all_vulnerability_relationships_objects():

vulnerabilities/tests/test_add_cvsssv31.py

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,29 @@
1-
import unittest
2-
from unittest.mock import Mock
3-
from unittest.mock import patch
1+
#
2+
# Copyright (c) nexB Inc. and others. All rights reserved.
3+
# VulnerableCode is a trademark of nexB Inc.
4+
# SPDX-License-Identifier: Apache-2.0
5+
# See http://www.apache.org/licenses/LICENSE-2.0 for the license text.
6+
# See https://github.com/aboutcode-org/vulnerablecode for support or download.
7+
# See https://aboutcode.org for more information about nexB OSS projects.
8+
#
9+
410

511
from django.test import TestCase
612

713
from vulnerabilities.models import Advisory
8-
from vulnerabilities.models import Alias
914
from vulnerabilities.models import Vulnerability
1015
from vulnerabilities.models import VulnerabilitySeverity
1116
from vulnerabilities.pipelines.add_cvss31_to_CVEs import CVEAdvisoryMappingPipeline
17+
from vulnerabilities.pipes.advisory import get_or_create_aliases
1218
from vulnerabilities.severity_systems import CVSSV3
1319
from vulnerabilities.severity_systems import CVSSV31
1420

1521

1622
class TestCVEAdvisoryMappingPipeline(TestCase):
1723
def setUp(self):
1824
self.pipeline = CVEAdvisoryMappingPipeline()
19-
Advisory.objects.create(
25+
advisory = Advisory.objects.create(
2026
created_by="nvd_importer",
21-
aliases=["CVE-2024-1234"],
2227
references=[
2328
{
2429
"severities": [
@@ -33,6 +38,7 @@ def setUp(self):
3338
],
3439
date_collected="2024-09-27T19:38:00Z",
3540
)
41+
advisory.aliases.add(*get_or_create_aliases(["CVE-2024-1234"]))
3642
vuln = Vulnerability.objects.create(vulnerability_id="CVE-2024-1234")
3743
sev = VulnerabilitySeverity.objects.create(
3844
scoring_system=CVSSV3.identifier,

0 commit comments

Comments
 (0)