Skip to content

Commit 7c005fc

Browse files
committed
Fixes
Signed-off-by: Tushar Goel <tushar.goel.dav@gmail.com>
1 parent 08bc72b commit 7c005fc

File tree

2 files changed

+12
-2
lines changed

2 files changed

+12
-2
lines changed

vulnerabilities/pipelines/remove_duplicate_advisories.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,9 @@ def remove_duplicates(self):
8383
"""
8484
while True:
8585
duplicate_content_ids = (
86-
Advisory.objects.values("unique_content_id")
86+
Advisory.objects.filter(unique_content_id__isnull=False)
87+
.filter(unique_content_id__length=64)
88+
.values("unique_content_id")
8789
.annotate(count=Count("id"))
8890
.filter(count__gt=1)
8991
.values_list("unique_content_id", flat=True)

vulnerabilities/tests/test_remove_duplicate_advisories.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,14 +64,22 @@ def test_remove_duplicates_keeps_oldest(advisory_data):
6464
date_collected=date,
6565
)
6666

67+
Advisory.objects.create(
68+
summary="Test summary 21",
69+
affected_packages=[pkg.to_dict() for pkg in advisory_data.affected_packages],
70+
references=[ref.to_dict() for ref in advisory_data.references],
71+
date_imported=datetime.datetime(2024, 1, 1, tzinfo=pytz.UTC),
72+
date_collected=datetime.datetime(2024, 1, 1, tzinfo=pytz.UTC),
73+
)
74+
6775
with patch("vulnerabilities.pipelines.recompute_content_ids.get_max_workers") as mock_workers:
6876
mock_workers.return_value = 0 # Simulate 4 workers with keep_available=0
6977
pipeline = RemoveDuplicateAdvisoriesPipeline()
7078
pipeline.remove_duplicates()
7179

7280
# Check that only the oldest advisory remains
7381
remaining = Advisory.objects.all()
74-
assert remaining.count() == 1
82+
assert remaining.count() == 2
7583
assert remaining.first().date_imported == dates[0]
7684

7785

0 commit comments

Comments
 (0)