Skip to content

Commit faff311

Browse files
committed
Yield advisory only with aliases
Signed-off-by: Tushar Goel <tushar.goel.dav@gmail.com>
1 parent 68c166d commit faff311

2 files changed

Lines changed: 21 additions & 8 deletions

File tree

vulnerabilities/importers/npm.py

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -106,14 +106,6 @@ def to_advisory_data(self, file: Path) -> List[AdvisoryData]:
106106
aliases=[alias],
107107
)
108108

109-
if not advsisory_aliases:
110-
yield AdvisoryData(
111-
summary=build_description(summary=summary, description=description),
112-
references=references,
113-
date_published=date_published,
114-
affected_packages=affected_packages,
115-
)
116-
117109
def get_affected_package(self, data, package_name):
118110
vulnerable_range = data.get("vulnerable_versions") or ""
119111

vulnerabilities/tests/test_npm.py

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,15 @@
1010

1111
import os
1212

13+
from packageurl import PackageURL
14+
from univers.version_constraint import VersionConstraint
15+
from univers.version_range import NpmVersionRange
16+
from univers.versions import SemverVersion
17+
18+
from vulnerabilities.importer import AffectedPackage
1319
from vulnerabilities.importers.npm import NpmImporter
1420
from vulnerabilities.tests import util_tests
21+
from vulnerabilities.utils import load_json
1522

1623
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
1724
TEST_DATA = os.path.join(BASE_DIR, "test_data/")
@@ -22,3 +29,17 @@ def test_npm_importer():
2229
result = [adv.to_dict() for adv in NpmImporter().to_advisory_data(file=file)]
2330
expected_file = os.path.join(TEST_DATA, f"parse-advisory-npm-expected.json")
2431
util_tests.check_results_against_json(result, expected_file)
32+
33+
34+
def test_get_affected_package():
35+
file = os.path.join(TEST_DATA, "npm_sample.json")
36+
data = load_json(file)
37+
assert AffectedPackage(
38+
package=PackageURL(
39+
type="npm", namespace=None, name="npm", version=None, qualifiers={}, subpath=None
40+
),
41+
affected_version_range=NpmVersionRange(
42+
constraints=(VersionConstraint(comparator="<", version=SemverVersion(string="1.3.3")),)
43+
),
44+
fixed_version=SemverVersion(string="1.3.3"),
45+
) == NpmImporter().get_affected_package(data, "npm")

0 commit comments

Comments
 (0)