Skip to content

Commit 8f9b6eb

Browse files
authored
Merge pull request #2397 from w3lld1/fix/advisory-invalid-id-404
fix: return 404 for unknown advisory IDs
2 parents adc81cb + 717630c commit 8f9b6eb

2 files changed

Lines changed: 12 additions & 1 deletion

File tree

vulnerabilities/models.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2926,7 +2926,10 @@ def to_dict(self):
29262926

29272927
class AdvisoryV2QuerySet(BaseQuerySet):
29282928
def latest_for_avid(self, avid: str):
2929-
return self.get(avid=avid, is_latest=True)
2929+
try:
2930+
return self.get(avid=avid, is_latest=True)
2931+
except self.model.DoesNotExist:
2932+
return None
29302933

29312934
def latest_per_avid(self):
29322935
return self.filter(is_latest=True)

vulnerabilities/tests/test_same_avid_different_content_id.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,14 @@ def test_latest_for_avid_returns_latest_by_date_collected(
5555
assert result.id != older.id
5656

5757

58+
@pytest.mark.django_db
59+
def test_latest_for_avid_returns_none_when_advisory_does_not_exist(django_assert_num_queries):
60+
with django_assert_num_queries(1):
61+
result = AdvisoryV2.objects.latest_for_avid("pysec/PYSEC-3000-0")
62+
63+
assert result is None
64+
65+
5866
@pytest.mark.django_db
5967
def test_latest_for_avid_tie_breaks_by_id(advisory_factory, django_assert_num_queries):
6068
avid = "source/ADV-2"

0 commit comments

Comments
 (0)