Skip to content

Commit 11ac5c4

Browse files
committed
Add new unit tests for unchanged alerts
Signed-off-by: lelia <2418071+lelia@users.noreply.github.com>
1 parent 802515c commit 11ac5c4

File tree

1 file changed

+46
-0
lines changed

1 file changed

+46
-0
lines changed

tests/unit/test_gitlab_format.py

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -507,6 +507,52 @@ def test_dependency_files_skips_unknown_manifest(self):
507507
report = Messages.create_security_comment_gitlab(diff)
508508
assert report["dependency_files"] == []
509509

510+
def test_unchanged_alerts_included_in_report(self):
511+
"""Test that unchanged_alerts are included alongside new_alerts in the GitLab report"""
512+
diff = Diff()
513+
diff.id = "test-scan-id"
514+
diff.diff_url = "https://socket.dev/test"
515+
516+
diff.new_alerts = [
517+
Issue(
518+
pkg_name="new-pkg", pkg_version="1.0.0", type="malware", severity="high",
519+
title="New Alert", manifests="package.json", pkg_type="npm", key="k1", purl="pkg:npm/new-pkg@1.0.0"
520+
),
521+
]
522+
diff.unchanged_alerts = [
523+
Issue(
524+
pkg_name="existing-pkg", pkg_version="2.0.0", type="vulnerability", severity="medium",
525+
title="Existing Alert", manifests="package.json", pkg_type="npm", key="k2", purl="pkg:npm/existing-pkg@2.0.0"
526+
),
527+
]
528+
529+
report = Messages.create_security_comment_gitlab(diff)
530+
assert len(report["vulnerabilities"]) == 2
531+
532+
names = {v["name"] for v in report["vulnerabilities"]}
533+
assert "New Alert" in names
534+
assert "Existing Alert" in names
535+
536+
def test_only_unchanged_alerts_produces_nonempty_report(self):
537+
"""Test that a diff with no new alerts but unchanged alerts still populates the report"""
538+
diff = Diff()
539+
diff.id = "test-scan-id"
540+
diff.diff_url = "https://socket.dev/test"
541+
542+
diff.new_alerts = []
543+
diff.unchanged_alerts = [
544+
Issue(
545+
pkg_name="stable-pkg", pkg_version="3.0.0", type="vulnerability", severity="critical",
546+
title="Known Issue", manifests="requirements.txt", pkg_type="pypi", key="k1", purl="pkg:pypi/stable-pkg@3.0.0"
547+
),
548+
]
549+
550+
report = Messages.create_security_comment_gitlab(diff)
551+
assert len(report["vulnerabilities"]) == 1
552+
assert report["vulnerabilities"][0]["name"] == "Known Issue"
553+
assert len(report["dependency_files"]) == 1
554+
assert report["dependency_files"][0]["path"] == "requirements.txt"
555+
510556
def test_pkg_type_to_package_manager_mapping(self):
511557
"""Test package manager mapping covers common ecosystems"""
512558
assert Messages._pkg_type_to_package_manager("npm") == "npm"

0 commit comments

Comments
 (0)