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

1import unittest 

2from webapp.publisher.cve.cve_helper import CveHelper 

3 

4 

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 ] 

33 

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 ) 

47 

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 ) 

61 

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 ) 

75 

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 ) 

87 

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 )