@@ -29,25 +29,20 @@ def vulnerability():
2929 vul = Vulnerability (vulnerability_id = "VCID-Existing" )
3030 vul .save ()
3131
32- reference1 = VulnerabilityReference .objects .create (
33- reference_id = "" ,
32+ severity1 = VulnerabilitySeverity .objects .create (
3433 url = "https://nvd.nist.gov/vuln/detail/CVE-xxxx-xxx1" ,
35- )
36-
37- VulnerabilitySeverity .objects .create (
38- reference = reference1 ,
3934 scoring_system = CVSSV3 .identifier ,
4035 scoring_elements = "CVSS:3.0/AV:P/AC:H/PR:H/UI:R/S:C/C:H/I:H/A:N/E:H/RL:O/RC:R/CR:H/MAC:H/MC:L" ,
4136 value = "6.5" ,
4237 )
4338
44- VulnerabilitySeverity .objects .create (
45- reference = reference1 ,
39+ severity2 = VulnerabilitySeverity .objects .create (
40+ url = "https://nvd.nist.gov/vuln/detail/CVE-xxxx-xxx1" ,
4641 scoring_system = GENERIC .identifier ,
4742 value = "MODERATE" , # 6.9
4843 )
49-
50- VulnerabilityRelatedReference . objects . create ( reference = reference1 , vulnerability = vul )
44+ vul . severities . add ( severity1 )
45+ vul . severities . add ( severity2 )
5146
5247 weaknesses = Weakness .objects .create (cwe_id = 119 )
5348 vul .weaknesses .add (weaknesses )
@@ -84,18 +79,13 @@ def high_epss_score():
8479 vul = Vulnerability (vulnerability_id = "VCID-HIGH-EPSS" )
8580 vul .save ()
8681
87- reference1 = VulnerabilityReference .objects .create (
88- reference_id = "" ,
82+ severity = VulnerabilitySeverity .objects .create (
8983 url = "https://nvd.nist.gov/vuln/detail/CVE-xxxx-xxx3" ,
90- )
91-
92- VulnerabilitySeverity .objects .create (
93- reference = reference1 ,
9484 scoring_system = EPSS .identifier ,
9585 value = ".9" ,
9686 )
87+ vul .severities .add (severity )
9788
98- VulnerabilityRelatedReference .objects .create (reference = reference1 , vulnerability = vul )
9989 return vul .severities
10090
10191
@@ -105,28 +95,19 @@ def low_epss_score():
10595 vul = Vulnerability (vulnerability_id = "VCID-LOW-EPSS" )
10696 vul .save ()
10797
108- reference1 = VulnerabilityReference .objects .create (
109- reference_id = "" ,
98+ severity = VulnerabilitySeverity .objects .create (
11099 url = "https://nvd.nist.gov/vuln/detail/CVE-xxxx-xxx4" ,
111- )
112-
113- VulnerabilitySeverity .objects .create (
114- reference = reference1 ,
115100 scoring_system = EPSS .identifier ,
116101 value = ".3" ,
117102 )
103+ vul .severities .add (severity )
118104
119- VulnerabilityRelatedReference .objects .create (reference = reference1 , vulnerability = vul )
120105 return vul .severities
121106
122107
123108@pytest .mark .django_db
124109def test_exploitability_level (
125- exploit ,
126- vulnerability_with_exploit_ref ,
127- high_epss_score ,
128- low_epss_score ,
129- vulnerability ,
110+ exploit , vulnerability_with_exploit_ref , high_epss_score , low_epss_score
130111):
131112
132113 assert get_exploitability_level (exploit , None , None ) == 2
@@ -137,9 +118,9 @@ def test_exploitability_level(
137118
138119 assert (
139120 get_exploitability_level (
140- None ,
141- vulnerability_with_exploit_ref .references ,
142- vulnerability_with_exploit_ref .severities ,
121+ exploits = None ,
122+ references = vulnerability_with_exploit_ref .references . all () ,
123+ severities = vulnerability_with_exploit_ref .severities . all () ,
143124 )
144125 == 1
145126 )
@@ -152,18 +133,13 @@ def test_get_weighted_severity(vulnerability):
152133 severities = vulnerability .severities .all ()
153134 assert get_weighted_severity (severities ) == 6.210000000000001
154135
155- reference2 = VulnerabilityReference .objects .create (
156- reference_id = "" ,
136+ severity2 = VulnerabilitySeverity .objects .create (
157137 url = "https://security-tracker.debian.org/tracker/CVE-2019-13057" ,
158- )
159-
160- VulnerabilitySeverity .objects .create (
161- reference = reference2 ,
162138 scoring_system = GENERIC .identifier ,
163139 value = "CRITICAL" ,
164140 )
141+ vulnerability .severities .add (severity2 )
165142
166- VulnerabilityRelatedReference .objects .create (reference = reference2 , vulnerability = vulnerability )
167143 new_severities = vulnerability .severities .all ()
168144 assert get_weighted_severity (new_severities ) == 7
169145
0 commit comments