Coverage for tests/publisher/cve/test_cve_sort_data.py: 100%
20 statements
« prev ^ index » next coverage.py v7.8.0, created at 2025-04-28 22:05 +0000
« prev ^ index » next coverage.py v7.8.0, created at 2025-04-28 22:05 +0000
1import unittest
2from webapp.publisher.cve.cve_helper import CveHelper
5class CveSortDataTest(unittest.TestCase):
6 def setUp(self):
7 self.cves = [
8 {
9 "id": "CVE-2023-1001",
10 "cvss_severity": "high",
11 "ubuntu_priority": "medium",
12 "cvss_score": 7.5,
13 },
14 {
15 "id": "CVE-2023-1002",
16 "cvss_severity": "low",
17 "ubuntu_priority": "high",
18 "cvss_score": 4.3,
19 },
20 {
21 "id": "CVE-2023-1003",
22 "cvss_severity": "critical",
23 "ubuntu_priority": "low",
24 "cvss_score": 9.8,
25 },
26 {
27 "id": "CVE-2023-1004",
28 "cvss_severity": "medium",
29 "ubuntu_priority": "critical",
30 "cvss_score": 6.1,
31 },
32 ]
34 def test_sort_by_cvss_severity_asc(self):
35 sorted_cves = CveHelper.sort_cve_data(
36 self.cves, "cvss_severity", "asc"
37 )
38 self.assertEqual(
39 [cve["id"] for cve in sorted_cves],
40 [
41 "CVE-2023-1002",
42 "CVE-2023-1004",
43 "CVE-2023-1001",
44 "CVE-2023-1003",
45 ],
46 )
48 def test_sort_by_cvss_severity_desc(self):
49 sorted_cves = CveHelper.sort_cve_data(
50 self.cves, "cvss_severity", "desc"
51 )
52 self.assertEqual(
53 [cve["id"] for cve in sorted_cves],
54 [
55 "CVE-2023-1003",
56 "CVE-2023-1001",
57 "CVE-2023-1004",
58 "CVE-2023-1002",
59 ],
60 )
62 def test_sort_by_ubuntu_priority_asc(self):
63 sorted_cves = CveHelper.sort_cve_data(
64 self.cves, "ubuntu_priority", "asc"
65 )
66 self.assertEqual(
67 [cve["id"] for cve in sorted_cves],
68 [
69 "CVE-2023-1003",
70 "CVE-2023-1001",
71 "CVE-2023-1002",
72 "CVE-2023-1004",
73 ],
74 )
76 def test_sort_by_cvss_score_desc(self):
77 sorted_cves = CveHelper.sort_cve_data(self.cves, "cvss_score", "desc")
78 self.assertEqual(
79 [cve["id"] for cve in sorted_cves],
80 [
81 "CVE-2023-1003",
82 "CVE-2023-1001",
83 "CVE-2023-1004",
84 "CVE-2023-1002",
85 ],
86 )
88 def test_sort_by_unknown_field(self):
89 sorted_cves = CveHelper.sort_cve_data(self.cves, "id", "asc")
90 self.assertEqual(
91 [cve["id"] for cve in sorted_cves],
92 [
93 "CVE-2023-1001",
94 "CVE-2023-1002",
95 "CVE-2023-1003",
96 "CVE-2023-1004",
97 ],
98 )