Пример #1
0
    def resolve_entities(  # pylint: disable=arguments-differ
        _root,
        info: ResolveInfo,
        filter_string: FilterString = None,
        after: str = None,
        before: str = None,
        first: int = None,
        last: int = None,
    ) -> Entities:
        gmp = get_gmp(info)

        filter_string = get_filter_string_for_pagination(filter_string,
                                                         first=first,
                                                         last=last,
                                                         after=after,
                                                         before=before)

        xml: XmlElement = gmp.get_assets(
            asset_type=AssetType.OPERATING_SYSTEM,
            filter=filter_string.filter_string,
        )

        asset_elements = xml.findall('asset')
        counts = xml.find('asset_count')
        requested = xml.find('assets')

        return Entities(asset_elements, counts, requested)
Пример #2
0
    def resolve_entities(  # pylint: disable=arguments-differ
        _root,
        info: ResolveInfo,
        filter_string: FilterString = None,
        after: str = None,
        before: str = None,
        first: int = None,
        last: int = None,
    ) -> Entities:
        gmp = get_gmp(info)

        filter_string = get_filter_string_for_pagination(filter_string,
                                                         first=first,
                                                         last=last,
                                                         after=after,
                                                         before=before)

        xml: XmlElement = gmp.get_scan_configs(
            filter_string=filter_string.filter_string, details=False)

        scan_config_elements = xml.findall('config')
        counts = xml.find('config_count')
        requested = xml.find('configs')

        return Entities(scan_config_elements, counts, requested)
Пример #3
0
    def resolve_entities(  # pylint: disable=arguments-differ
        _root,
        info: ResolveInfo,
        filter_string: FilterString = None,
        after: str = None,
        before: str = None,
        first: int = None,
        last: int = None,
    ) -> Entities:
        gmp = get_gmp(info)

        filter_string = get_filter_string_for_pagination(
            filter_string, first=first, last=last, after=after, before=before
        )

        xml: XmlElement = gmp.get_reports(
            filter_string=filter_string.filter_string
        )

        reports = []

        report_elements = xml.findall('report')
        for elem in report_elements:
            report = ReportModel()
            report.outer_report = elem
            report.inner_report = elem.find('report')
            reports.append(report)
        counts = xml.find('report_count')
        requested = xml.find('reports')

        return Entities(reports, counts, requested)
Пример #4
0
    def resolve_entities(  # pylint: disable=arguments-differ
        _root,
        info: ResolveInfo,
        filter_string: FilterString = None,
        details: bool = True,
        after: str = None,
        before: str = None,
        first: int = None,
        last: int = None,
    ) -> Entities:
        gmp = get_gmp(info)

        filter_string = get_filter_string_for_pagination(filter_string,
                                                         first=first,
                                                         last=last,
                                                         after=after,
                                                         before=before)

        xml: XmlElement = gmp.get_info_list(
            filter=filter_string.filter_string,
            info_type=GvmInfoType.DFN_CERT_ADV,
            details=details,
        )

        requested = None
        dfn_cert_advisory_elements = []
        info_elements = xml.findall('info')
        for element in info_elements:
            if element.get('id'):
                dfn_cert_advisory_elements.append(element)
            else:
                requested = element
        counts = xml.find('info_count')

        return Entities(dfn_cert_advisory_elements, counts, requested)
Пример #5
0
    def resolve_entities(  # pylint: disable=arguments-differ
        _root,
        info: ResolveInfo,
        filter_string: FilterString = None,
        alerts: bool = False,
        trash: bool = False,
        after: str = None,
        before: str = None,
        first: int = None,
        last: int = None,
    ) -> Entities:
        gmp = get_gmp(info)

        filter_string = get_filter_string_for_pagination(filter_string,
                                                         first=first,
                                                         last=last,
                                                         after=after,
                                                         before=before)

        xml: XmlElement = gmp.get_filters(filter=filter_string.filter_string,
                                          alerts=alerts,
                                          trash=trash)

        filter_elements = xml.findall('filter')
        counts = xml.find('filter_count')
        requested = xml.find('filters')

        return Entities(filter_elements, counts, requested)
Пример #6
0
    def resolve_entities(  # pylint: disable=arguments-differ
        _root,
        info: ResolveInfo,
        filter_string: FilterString = None,
        after: str = None,
        before: str = None,
        first: int = None,
        last: int = None,
    ) -> Entities:
        gmp = get_gmp(info)

        filter_string = get_filter_string_for_pagination(filter_string,
                                                         first=first,
                                                         last=last,
                                                         after=after,
                                                         before=before)

        xml: XmlElement = gmp.get_tls_certificates(
            filter_string=filter_string.filter_string)

        tls_certificate_elements = xml.findall('tls_certificate')
        counts = xml.find('tls_certificate_count')
        requested = xml.find('tls_certificates')

        return Entities(tls_certificate_elements, counts, requested)
    def test_should_update_first_for_after(self):
        cursor = get_cursor('foo', 123)
        filter_string1 = FilterString('first=1 rows=10')
        filter_string2 = get_filter_string_for_pagination(filter_string1,
                                                          after=cursor)

        self.assertEqual(str(filter_string2), 'rows=10 first=125')
Пример #8
0
    def resolve_entities(  # pylint: disable=arguments-differ
        _root,
        info: ResolveInfo,
        filter_string: FilterString = None,
        after: str = None,
        before: str = None,
        first: int = None,
        last: int = None,
    ) -> Entities:
        gmp = get_gmp(info)

        filter_string = get_filter_string_for_pagination(filter_string,
                                                         first=first,
                                                         last=last,
                                                         after=after,
                                                         before=before)

        # details are required for port ranges
        xml: XmlElement = gmp.get_port_lists(
            filter_string=filter_string.filter_string, details=True)

        port_list_elements = xml.findall('port_list')
        counts = xml.find('port_list_count')
        requested = xml.find('port_lists')

        return Entities(port_list_elements, counts, requested)
    def test_should_update_first_for_before(self):
        cursor = get_cursor('foo', 123)
        filter_string1 = FilterString('first=1 rows=10')
        filter_string2 = get_filter_string_for_pagination(filter_string1,
                                                          before=cursor,
                                                          last=10)

        self.assertEqual(str(filter_string2), 'rows=10 first=114')
    def test_should_prefer_after_for_before(self):
        after = get_cursor('foo', 100)
        before = get_cursor('foo', 200)
        filter_string1 = FilterString('first=1 rows=10')
        filter_string2 = get_filter_string_for_pagination(filter_string1,
                                                          after=after,
                                                          first=5,
                                                          last=15,
                                                          before=before)

        self.assertEqual(str(filter_string2), 'rows=5 first=102')
    def test_should_update_rows_for_last(self):
        filter_string1 = FilterString('foo=1 rows=2')
        filter_string2 = get_filter_string_for_pagination(filter_string1,
                                                          last=10)

        self.assertEqual(str(filter_string2), 'foo=1 rows=10')
    def test_should_return_filter_string(self):
        filter_string1 = FilterString('foo=1 bar=2')
        filter_string2 = get_filter_string_for_pagination(filter_string1)

        self.assertEqual(str(filter_string2), 'foo=1 bar=2')
        self.assertIs(filter_string1, filter_string2)
    def test_should_parse_none(self):
        filter_string = get_filter_string_for_pagination(None)

        self.assertIsInstance(filter_string, FilterString)
        self.assertIsNone(filter_string.filter_string)