def test_scan_export_bytesio(api): from io import BytesIO from tenable.reports.nessusv2 import NessusReportv2 fobj = api.scans.export(SCAN_ID_WITH_RESULTS) assert isinstance(fobj, BytesIO) counter = 0 for i in NessusReportv2(fobj): counter += 1 if counter > 10: break
def test_export_file_object(api): from tenable.reports.nessusv2 import NessusReportv2 fn = '{}.nessus'.format(uuid.uuid4()) with open(fn, 'wb') as fobj: api.scans.export(SCAN_ID_WITH_RESULTS, fobj=fobj) with open(fn, 'rb') as fobj: counter = 0 for i in NessusReportv2(fobj): counter += 1 if counter > 10: break
def test_nessus_report(datafiles): with open(os.path.join(str(datafiles), 'example.nessus'), 'rb') as nobj: for item in NessusReportv2(nobj): check(item, 'description', str) check(item, 'HOST_START', datetime.datetime) check(item, 'HOST_END', datetime.datetime) check(item, 'host-report-name', str) check(item, 'pluginFamily', str) check(item, 'pluginID', int) check(item, 'pluginName', str) check(item, 'plugin_modification_date', datetime.datetime) check(item, 'plugin_publication_date', datetime.datetime) check(item, 'plugin_type', str) check(item, 'protocol', str) check(item, 'port', int) check(item, 'risk_factor', str) check(item, 'severity', int) check(item, 'solution', str) check(item, 'synopsis', str)
def test_nessus_report_typeerror(datafiles): with open(os.path.join(str(datafiles), 'example.nessus')) as nobj: with pytest.raises(TypeError): for items in NessusReportv2(nobj): pass