Beispiel #1
0
    def factory(snmp_config, enforce_stored_walks):
        # type: (SNMPHostConfig, bool) -> snmp_utils.ABCSNMPBackend
        if enforce_stored_walks or snmp_config.is_usewalk_host:
            return StoredWalkSNMPBackend()

        if snmp_config.is_inline_snmp_host:
            return inline_snmp.InlineSNMPBackend()

        return classic_snmp.ClassicSNMPBackend()
Beispiel #2
0
def walk_for_export(snmp_config, oid):
    # type: (SNMPHostConfig, OID) -> SNMPRowInfoForStoredWalk
    if snmp_config.is_inline_snmp_host:
        backend = inline_snmp.InlineSNMPBackend()  # type: snmp_utils.ABCSNMPBackend
    else:
        backend = classic_snmp.ClassicSNMPBackend()

    rows = backend.walk(snmp_config, oid)
    return _convert_rows_for_stored_walk(rows)
Beispiel #3
0
def walk_for_export(snmp_config, oid):
    # type: (snmp_utils.SNMPHostConfig, str) -> List[Tuple[str, str]]
    if snmp_config.is_inline_snmp_host:
        backend = inline_snmp.InlineSNMPBackend(
        )  # type: snmp_utils.ABCSNMPBackend
    else:
        backend = classic_snmp.ClassicSNMPBackend()

    rows = backend.walk(snmp_config, oid)
    return _convert_rows_for_stored_walk(rows)
Beispiel #4
0
def test_snmp_proto_spec(monkeypatch, is_ipv6, expected):
    snmp_config = snmp_utils.SNMPHostConfig(
        is_ipv6_primary=is_ipv6,
        hostname="localhost",
        ipaddress="127.0.0.1",
        credentials="public",
        port=161,
        is_bulkwalk_host=False,
        is_snmpv2or3_without_bulkwalk_host=False,
        bulk_walk_size_of=10,
        timing={},
        oid_range_limits=[],
        snmpv3_contexts=[],
        character_encoding=None,
        is_usewalk_host=False,
        is_inline_snmp_host=False,
    )
    assert classic_snmp.ClassicSNMPBackend()._snmp_proto_spec(snmp_config) == expected
Beispiel #5
0
def test_snmp_walk_command(monkeypatch, settings, expected):
    assert classic_snmp.ClassicSNMPBackend()._snmp_walk_command(
        settings.snmp_config, settings.context_name) == expected