Esempio n. 1
0
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
Esempio n. 2
0
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
Esempio n. 3
0
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)
Esempio n. 4
0
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