Skip to content

Commit 6cc5bd3

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

12 files changed

+2190
-3049
lines changed

vulnerabilities/migrations/0089_migrate_advisory_aliases.py renamed to vulnerabilities/migrations/0090_migrate_advisory_aliases.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ def bulk_update(model, items, fields, logger):
3232
class Migration(migrations.Migration):
3333

3434
dependencies = [
35-
("vulnerabilities", "0088_fix_alpine_purl_type"),
35+
("vulnerabilities", "0089_alter_advisory_unique_content_id"),
3636
]
3737

3838
def populate_new_advisory_aliases_field(apps, schema_editor):

vulnerabilities/tests/pipelines/test_base_pipeline.py

+7-4
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

-1
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

+4-3
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

+12-6
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": [
@@ -35,6 +40,7 @@ def setUp(self):
3540
],
3641
date_collected="2024-09-27T19:38:00Z",
3742
)
43+
advisory.aliases.add(*get_or_create_aliases(["CVE-2024-1234"]))
3844
vuln = Vulnerability.objects.create(vulnerability_id="CVE-2024-1234")
3945
sev = VulnerabilitySeverity.objects.create(
4046
scoring_system=CVSSV3.identifier,

0 commit comments

Comments
 (0)