Skip to content

Commit d470a88

Browse files
ruff
1 parent 0e8b766 commit d470a88

File tree

1 file changed

+23
-22
lines changed

1 file changed

+23
-22
lines changed

unittests/tools/test_tenable_parser.py

Lines changed: 23 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
from pathlib import Path
12
from dojo.models import Engagement, Finding, Product, Test
23
from dojo.tools.tenable.parser import TenableParser
34
from unittests.dojo_test_case import DojoTestCase, get_unit_tests_scans_path
@@ -11,7 +12,7 @@ def create_test(self):
1112
return test
1213

1314
def test_parse_some_findings_nessus_legacy(self):
14-
with open(get_unit_tests_scans_path("tenable/nessus") / "nessus_many_vuln.xml", encoding="utf-8") as testfile:
15+
with Path(get_unit_tests_scans_path("tenable/nessus") / "nessus_many_vuln.xml").open(encoding="utf-8") as testfile:
1516
parser = TenableParser()
1617
findings = parser.get_findings(testfile, self.create_test())
1718
for finding in findings:
@@ -28,7 +29,7 @@ def test_parse_some_findings_nessus_legacy(self):
2829

2930
def test_parse_some_findings_csv_nessus_legacy(self):
3031
"""Test one report provided by a user"""
31-
with open(get_unit_tests_scans_path("tenable/nessus") / "nessus_many_vuln.csv", encoding="utf-8") as testfile:
32+
with Path(get_unit_tests_scans_path("tenable/nessus") / "nessus_many_vuln.csv").open(encoding="utf-8") as testfile:
3233
parser = TenableParser()
3334
findings = parser.get_findings(testfile, self.create_test())
3435
for finding in findings:
@@ -58,7 +59,7 @@ def test_parse_some_findings_csv_nessus_legacy(self):
5859

5960
def test_parse_some_findings_csv2_nessus_legacy(self):
6061
"""Test that use default columns of Nessus Pro 8.13.1 (#257)"""
61-
with open(get_unit_tests_scans_path("tenable/nessus") / "nessus_many_vuln2-default.csv", encoding="utf-8") as testfile:
62+
with Path(get_unit_tests_scans_path("tenable/nessus") / "nessus_many_vuln2-default.csv").open(encoding="utf-8") as testfile:
6263
parser = TenableParser()
6364
findings = parser.get_findings(testfile, self.create_test())
6465
for finding in findings:
@@ -80,7 +81,7 @@ def test_parse_some_findings_csv2_nessus_legacy(self):
8081

8182
def test_parse_some_findings_csv2_all_nessus_legacy(self):
8283
"""Test that use a report with all columns of Nessus Pro 8.13.1 (#257)"""
83-
with open(get_unit_tests_scans_path("tenable/nessus") / "nessus_many_vuln2-all.csv", encoding="utf-8") as testfile:
84+
with Path(get_unit_tests_scans_path("tenable/nessus") / "nessus_many_vuln2-all.csv").open(encoding="utf-8") as testfile:
8485
parser = TenableParser()
8586
findings = parser.get_findings(testfile, self.create_test())
8687
for finding in findings:
@@ -102,7 +103,7 @@ def test_parse_some_findings_csv2_all_nessus_legacy(self):
102103

103104
def test_parse_findings_all_nessus(self):
104105
"""Test that use a report with all columns selected in generate CSV Report 2025-04-14"""
105-
with open(get_unit_tests_scans_path("tenable/nessus") / "nessus-template.csv", encoding="utf-8") as testfile:
106+
with Path(get_unit_tests_scans_path("tenable/nessus") / "nessus-template.csv").open(encoding="utf-8") as testfile:
106107
parser = TenableParser()
107108
findings = parser.get_findings(testfile, self.create_test())
108109
for finding in findings:
@@ -128,19 +129,19 @@ def test_parse_findings_all_nessus(self):
128129

129130
def test_parse_some_findings_csv_bytes_nessus_legacy(self):
130131
"""This tests is designed to test the parser with different read modes"""
131-
with open(get_unit_tests_scans_path("tenable/nessus") / "nessus_many_vuln2-all.csv", encoding="utf-8") as testfile:
132+
with Path(get_unit_tests_scans_path("tenable/nessus") / "nessus_many_vuln2-all.csv").open(encoding="utf-8") as testfile:
132133
parser = TenableParser()
133134
findings = parser.get_findings(testfile, self.create_test())
134135
for finding in findings:
135136
for endpoint in finding.unsaved_endpoints:
136137
endpoint.clean()
137-
with open(get_unit_tests_scans_path("tenable/nessus") / "nessus_many_vuln2-all.csv", encoding="utf-8") as testfile:
138+
with Path(get_unit_tests_scans_path("tenable/nessus") / "nessus_many_vuln2-all.csv").open(encoding="utf-8") as testfile:
138139
parser = TenableParser()
139140
findings = parser.get_findings(testfile, self.create_test())
140141
for finding in findings:
141142
for endpoint in finding.unsaved_endpoints:
142143
endpoint.clean()
143-
with open(get_unit_tests_scans_path("tenable/nessus") / "nessus_many_vuln2-all.csv", "rb") as testfile:
144+
with Path(get_unit_tests_scans_path("tenable/nessus") / "nessus_many_vuln2-all.csv").open(encoding="utf-8") as testfile:
144145
parser = TenableParser()
145146
findings = parser.get_findings(testfile, self.create_test())
146147
for finding in findings:
@@ -149,7 +150,7 @@ def test_parse_some_findings_csv_bytes_nessus_legacy(self):
149150

150151
def test_parse_some_findings_samples_nessus_legacy(self):
151152
"""Test that come from samples repo"""
152-
with open(get_unit_tests_scans_path("tenable/nessus") / "nessus_v_unknown.xml", encoding="utf-8") as testfile:
153+
with Path(get_unit_tests_scans_path("tenable/nessus") / "nessus_v_unknown.xml").open(encoding="utf-8") as testfile:
153154
parser = TenableParser()
154155
findings = parser.get_findings(testfile, self.create_test())
155156
for finding in findings:
@@ -180,7 +181,7 @@ def test_parse_some_findings_samples_nessus_legacy(self):
180181

181182
def test_parse_some_findings_with_cvssv3_nessus_legacy(self):
182183
"""Test with cvssv3"""
183-
with open(get_unit_tests_scans_path("tenable/nessus") / "nessus_with_cvssv3.nessus", encoding="utf-8") as testfile:
184+
with Path(get_unit_tests_scans_path("tenable/nessus") / "nessus_with_cvssv3.nessus").open(encoding="utf-8") as testfile:
184185
parser = TenableParser()
185186
findings = parser.get_findings(testfile, self.create_test())
186187
for finding in findings:
@@ -195,7 +196,7 @@ def test_parse_some_findings_with_cvssv3_nessus_legacy(self):
195196
self.assertEqual("CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N", finding.cvssv3)
196197

197198
def test_parse_many_findings_xml_nessus_was_legacy(self):
198-
with open(get_unit_tests_scans_path("tenable/nessus_was") / "nessus_was_many_vuln.xml", encoding="utf-8") as testfile:
199+
with Path(get_unit_tests_scans_path("tenable/nessus_was") / "nessus_was_many_vuln.xml").open(encoding="utf-8") as testfile:
199200
parser = TenableParser()
200201
findings = parser.get_findings(testfile, self.create_test())
201202
for finding in findings:
@@ -213,7 +214,7 @@ def test_parse_many_findings_xml_nessus_was_legacy(self):
213214
# self.assertEqual(79, finding.cwe)
214215

215216
def test_parse_one_findings_xml_nessus_was_legacy(self):
216-
with open(get_unit_tests_scans_path("tenable/nessus_was") / "nessus_was_one_vuln.xml", encoding="utf-8") as testfile:
217+
with Path(get_unit_tests_scans_path("tenable/nessus_was") / "nessus_was_one_vuln.xml").open(encoding="utf-8") as testfile:
217218
parser = TenableParser()
218219
findings = parser.get_findings(testfile, self.create_test())
219220
for finding in findings:
@@ -228,7 +229,7 @@ def test_parse_one_findings_xml_nessus_was_legacy(self):
228229
self.assertEqual("Cross-Site Scripting (XSS)", finding.title)
229230

230231
def test_parse_no_findings_xml_nessus_was_legacy(self):
231-
with open(get_unit_tests_scans_path("tenable/nessus_was") / "nessus_was_no_vuln.xml", encoding="utf-8") as testfile:
232+
with Path(get_unit_tests_scans_path("tenable/nessus_was") / "nessus_was_no_vuln.xml").open(encoding="utf-8") as testfile:
232233
parser = TenableParser()
233234
findings = parser.get_findings(testfile, self.create_test())
234235
for finding in findings:
@@ -237,7 +238,7 @@ def test_parse_no_findings_xml_nessus_was_legacy(self):
237238
self.assertEqual(0, len(findings))
238239

239240
def test_parse_many_findings_csv_nessus_was_legacy(self):
240-
with open(get_unit_tests_scans_path("tenable/nessus_was") / "nessus_was_many_vuln.csv", encoding="utf-8") as testfile:
241+
with Path(get_unit_tests_scans_path("tenable/nessus_was") / "nessus_was_many_vuln.csv").open(encoding="utf-8") as testfile:
241242
parser = TenableParser()
242243
findings = parser.get_findings(testfile, self.create_test())
243244
for finding in findings:
@@ -256,7 +257,7 @@ def test_parse_many_findings_csv_nessus_was_legacy(self):
256257
self.assertEqual(0, finding.cwe)
257258

258259
def test_parse_one_findings_csv_nessus_was_legacy(self):
259-
with open(get_unit_tests_scans_path("tenable/nessus_was") / "nessus_was_one_vuln.csv", encoding="utf-8") as testfile:
260+
with Path(get_unit_tests_scans_path("tenable/nessus_was") / "nessus_was_one_vuln.csv").open(encoding="utf-8") as testfile:
260261
parser = TenableParser()
261262
findings = parser.get_findings(testfile, self.create_test())
262263
for finding in findings:
@@ -272,13 +273,13 @@ def test_parse_one_findings_csv_nessus_was_legacy(self):
272273
self.assertEqual("http", finding.unsaved_endpoints[0].protocol)
273274

274275
def test_parse_no_findings_csv_nessus_was_legacy(self):
275-
with open(get_unit_tests_scans_path("tenable/nessus_was") / "nessus_was_no_vuln.csv", encoding="utf-8") as testfile:
276+
with Path(get_unit_tests_scans_path("tenable/nessus_was") / "nessus_was_no_vuln.csv").open(encoding="utf-8") as testfile:
276277
parser = TenableParser()
277278
findings = parser.get_findings(testfile, self.create_test())
278279
self.assertEqual(0, len(findings))
279280

280281
def test_parse_many_tenable_vulns(self):
281-
with open(get_unit_tests_scans_path("tenable") / "tenable_many_vuln.csv", encoding="utf-8") as testfile:
282+
with Path(get_unit_tests_scans_path("tenable") / "tenable_many_vuln.csv").open(encoding="utf-8") as testfile:
282283
parser = TenableParser()
283284
findings = parser.get_findings(testfile, self.create_test())
284285
for finding in findings:
@@ -298,7 +299,7 @@ def test_parse_many_tenable_vulns(self):
298299
self.assertEqual("CVE-2023-32233", vulnerability_id)
299300

300301
def test_parse_issue_6992(self):
301-
with open(get_unit_tests_scans_path("tenable/nessus") / "issue_6992.nessus", encoding="utf-8") as testfile:
302+
with Path(get_unit_tests_scans_path("tenable/nessus") / "issue_6992.nessus").open(encoding="utf-8") as testfile:
302303
parser = TenableParser()
303304
findings = parser.get_findings(testfile, self.create_test())
304305
for finding in findings:
@@ -308,7 +309,7 @@ def test_parse_issue_6992(self):
308309
self.assertEqual("High", findings[0].severity)
309310

310311
def test_parse_nessus_new(self):
311-
with open(get_unit_tests_scans_path("tenable/nessus") / "nessus_new.csv", encoding="utf-8") as testfile:
312+
with Path(get_unit_tests_scans_path("tenable/nessus") / "nessus_new.csv").open(encoding="utf-8") as testfile:
312313
parser = TenableParser()
313314
findings = parser.get_findings(testfile, self.create_test())
314315
self.assertEqual(99, len(findings))
@@ -319,7 +320,7 @@ def test_parse_nessus_new(self):
319320
self.assertEqual("3.1", finding.cvssv3_score)
320321

321322
def test_parse_issue_9612(self):
322-
with open(get_unit_tests_scans_path("tenable") / "issue_9612.csv", encoding="utf-8") as testfile:
323+
with Path(get_unit_tests_scans_path("tenable") / "issue_9612.csv").open(encoding="utf-8") as testfile:
323324
parser = TenableParser()
324325
findings = parser.get_findings(testfile, self.create_test())
325326
for finding in findings:
@@ -329,7 +330,7 @@ def test_parse_issue_9612(self):
329330
self.assertEqual("Critical", findings[0].severity)
330331

331332
def test_parse_issue_11102(self):
332-
with open(get_unit_tests_scans_path("tenable") / "issue_11102.csv", encoding="utf-8") as testfile:
333+
with Path(get_unit_tests_scans_path("tenable") / "issue_11102.csv").open(encoding="utf-8") as testfile:
333334
parser = TenableParser()
334335
findings = parser.get_findings(testfile, self.create_test())
335336
for finding in findings:
@@ -339,7 +340,7 @@ def test_parse_issue_11102(self):
339340
self.assertEqual("Reconfigure the affected application if possible to avoid use of medium strength ciphers.", findings[0].mitigation)
340341

341342
def test_parse_issue_11127(self):
342-
with open(get_unit_tests_scans_path("tenable") / "issue_11102.csv", encoding="utf-8") as testfile:
343+
with Path(get_unit_tests_scans_path("tenable") / "issue_11102.csv").open(encoding="utf-8") as testfile:
343344
parser = TenableParser()
344345
findings = parser.get_findings(testfile, self.create_test())
345346
for finding in findings:

0 commit comments

Comments
 (0)