diff options
| author | Sarah Boyce <42296566+sarahboyce@users.noreply.github.com> | 2026-05-06 12:49:41 +0200 |
|---|---|---|
| committer | Jacob Walls <jacobtylerwalls@gmail.com> | 2026-05-07 11:41:40 -0400 |
| commit | 2469b99c2217d08c4772578469c6499b3d18ba7c (patch) | |
| tree | 692f5cf42d2d7005c08fcb9b3484a519894c8502 /checklists/tests/test_models.py | |
| parent | 0c05b1b09f67838af63a3e99655a83f9a65e4e82 (diff) | |
[checklists] Added RegexValidator to cve_year_number to ensure created issues are compatible with cve_sort_key.
Diffstat (limited to 'checklists/tests/test_models.py')
| -rw-r--r-- | checklists/tests/test_models.py | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/checklists/tests/test_models.py b/checklists/tests/test_models.py index 73ad4851..192df301 100644 --- a/checklists/tests/test_models.py +++ b/checklists/tests/test_models.py @@ -3,6 +3,7 @@ import re import zoneinfo from datetime import UTC, date, datetime +from django.core.exceptions import ValidationError from django.db import IntegrityError from django.template.loader import render_to_string from django.test import RequestFactory, TestCase, override_settings @@ -872,6 +873,43 @@ class GetCvssSeverityTests(TestCase): self.assertEqual(get_cvss_severity(10.0), "CRITICAL") +class SecurityIssueTestCase(TestCase): + def test_cve_year_number_invalid(self): + invalid_cve_numbers = [ + "CVE-2026-1", + "CVE-2026-XXXX", + "CVE-20026-1111", + ] + for cve in invalid_cve_numbers: + with self.subTest(cve=cve): + with self.assertRaises(ValidationError) as context: + SecurityIssue(cve_year_number=cve).full_clean() + + self.assertEqual( + context.exception.message_dict.get("cve_year_number"), + ["Enter a valid value."], + ) + + def test_cve_year_number_valid(self): + valid_cve_numbers = [ + "CVE-2026-12345", + "CVE-2026-1234", + ] + for cve in valid_cve_numbers: + with self.subTest(cve=cve): + # No ValidationError raised. + SecurityIssue(cve_year_number=cve).full_clean( + exclude=( + "summary", + "description", + "cve_type", + "impact", + "confirmed_at", + "reported_at", + ) + ) + + class CvssMetricsInCveDataTests(TestCase): factory = Factory() |
