def test_parse_mcdata_fcport() -> None:
    assert parse_mcdata_fcport(
        [
            [
                "1",
                "2",
                "4",
                [0, 0, 0, 0, 0, 0, 0, 0],
                [0, 0, 0, 0, 0, 0, 0, 0],
                [0, 0, 0, 0, 0, 0, 0, 0],
                [0, 0, 0, 0, 0, 0, 0, 0],
                [0, 0, 0, 0, 0, 0, 0, 0],
                "0",
            ],
            [
                "2",
                "1",
                "3",
                [0, 0, 1, 146, 209, 24, 114, 84],
                [0, 0, 0, 0, 27, 195, 137, 220],
                [0, 0, 0, 0, 198, 226, 194, 153],
                [0, 0, 0, 0, 1, 249, 185, 120],
                [0, 0, 0, 0, 0, 0, 0, 0],
                "0",
            ],
            [
                "32",
                "1",
                "3",
                [0, 0, 0, 53, 6, 92, 201, 237],
                [0, 0, 0, 0, 222, 78, 147, 38],
                [0, 0, 0, 0, 26, 119, 228, 49],
                [0, 0, 0, 0, 1, 26, 227, 84],
                [0, 0, 0, 0, 0, 0, 0, 0],
                "0",
            ],
        ],
    ) == [
        Interface(
            index="01",
            descr="01",
            alias="01",
            type="6",
            speed=0,
            oper_status="2",
            in_octets=0,
            in_ucast=0,
            in_mcast=0,
            in_bcast=0,
            in_discards=0,
            in_errors=0,
            out_octets=0,
            out_ucast=0,
            out_mcast=0,
            out_bcast=0,
            out_discards=0,
            out_errors=0,
            out_qlen=0,
            oper_status_name="down",
            total_octets=0,
        ),
        Interface(
            index="02",
            descr="02",
            alias="02",
            type="6",
            speed=2000000000,
            oper_status="1",
            in_octets=2064761100,
            in_ucast=36144795,
            in_mcast=0,
            in_bcast=0,
            in_discards=0,
            in_errors=0,
            out_octets=8123033736776,
            out_ucast=3700628163,
            out_mcast=0,
            out_bcast=0,
            out_discards=0,
            out_errors=0,
            out_qlen=0,
            oper_status_name="up",
            total_octets=8125098497876,
        ),
        Interface(
            index="32",
            descr="32",
            alias="32",
            type="6",
            speed=2000000000,
            oper_status="1",
            in_octets=16547413172,
            in_ucast=20495714,
            in_mcast=0,
            in_bcast=0,
            in_discards=0,
            in_errors=0,
            out_octets=1045961420308,
            out_ucast=492267494,
            out_mcast=0,
            out_bcast=0,
            out_discards=0,
            out_errors=0,
            out_qlen=0,
            oper_status_name="up",
            total_octets=1062508833480,
        ),
    ]
def test_convert_esx_counters_if():
    assert esx_vsphere_counters.convert_esx_counters_if({
        "net.bandwidth": {
            "vmnic0": [(["1000000000"], "bytes")],
            "vmnic4": [(["10000000000"], "bytes")],
            "vmnic5": [(["10000000000"], "bytes")],
        },
        "net.broadcastRx": {
            "": [(["660", "592"], "number")],
            "vmnic0": [(["220", "200"], "number")],
            "vmnic1": [(["0", "0"], "number")],
            "vmnic2": [(["0", "0"], "number")],
            "vmnic3": [(["0", "0"], "number")],
            "vmnic4": [(["220", "196"], "number")],
            "vmnic5": [(["220", "196"], "number")],
        },
        "net.broadcastTx": {
            "": [(["0", "4"], "number")],
            "vmnic0": [(["0", "0"], "number")],
            "vmnic1": [(["0", "0"], "number")],
            "vmnic2": [(["0", "0"], "number")],
            "vmnic3": [(["0", "0"], "number")],
            "vmnic4": [(["0", "4"], "number")],
            "vmnic5": [(["0", "0"], "number")],
        },
        "net.bytesRx": {
            "": [(["84", "234"], "kiloBytesPerSecond")],
            "vmnic0": [(["1", "1"], "kiloBytesPerSecond")],
            "vmnic1": [(["0", "0"], "kiloBytesPerSecond")],
            "vmnic2": [(["0", "0"], "kiloBytesPerSecond")],
            "vmnic3": [(["0", "0"], "kiloBytesPerSecond")],
            "vmnic4": [(["19", "187"], "kiloBytesPerSecond")],
            "vmnic5": [(["63", "46"], "kiloBytesPerSecond")],
        },
        "net.bytesTx": {
            "": [(["962", "675"], "kiloBytesPerSecond")],
            "vmnic0": [(["0", "0"], "kiloBytesPerSecond")],
            "vmnic1": [(["0", "0"], "kiloBytesPerSecond")],
            "vmnic2": [(["0", "0"], "kiloBytesPerSecond")],
            "vmnic3": [(["0", "0"], "kiloBytesPerSecond")],
            "vmnic4": [(["33", "118"], "kiloBytesPerSecond")],
            "vmnic5": [(["928", "557"], "kiloBytesPerSecond")],
        },
        "net.droppedRx": {
            "": [(["0", "0"], "number")],
            "vmnic0": [(["0", "0"], "number")],
            "vmnic1": [(["0", "0"], "number")],
            "vmnic2": [(["0", "0"], "number")],
            "vmnic3": [(["0", "0"], "number")],
            "vmnic4": [(["0", "0"], "number")],
            "vmnic5": [(["0", "0"], "number")],
        },
        "net.droppedTx": {
            "": [(["0", "0"], "number")],
            "vmnic0": [(["0", "0"], "number")],
            "vmnic1": [(["0", "0"], "number")],
            "vmnic2": [(["0", "0"], "number")],
            "vmnic3": [(["0", "0"], "number")],
            "vmnic4": [(["0", "0"], "number")],
            "vmnic5": [(["0", "0"], "number")],
        },
        "net.errorsRx": {
            "": [(["0", "0"], "number")],
            "vmnic0": [(["0", "0"], "number")],
            "vmnic1": [(["0", "0"], "number")],
            "vmnic2": [(["0", "0"], "number")],
            "vmnic3": [(["0", "0"], "number")],
            "vmnic4": [(["0", "0"], "number")],
            "vmnic5": [(["0", "0"], "number")],
        },
        "net.errorsTx": {
            "": [(["0", "0"], "number")],
            "vmnic0": [(["0", "0"], "number")],
            "vmnic1": [(["0", "0"], "number")],
            "vmnic2": [(["0", "0"], "number")],
            "vmnic3": [(["0", "0"], "number")],
            "vmnic4": [(["0", "0"], "number")],
            "vmnic5": [(["0", "0"], "number")],
        },
        "net.macaddress": {
            "vmnic0": [(["1c:c1:de:1b:ec:dc"], "mac")],
            "vmnic1": [(["1c:c1:de:1b:ec:de"], "mac")],
            "vmnic2": [(["1c:c1:de:1b:ec:e0"], "mac")],
            "vmnic3": [(["1c:c1:de:1b:ec:e2"], "mac")],
            "vmnic4": [(["64:51:06:f0:c5:d0"], "mac")],
            "vmnic5": [(["64:51:06:f0:c5:d4"], "mac")],
        },
        "net.multicastRx": {
            "": [(["470", "212"], "number")],
            "vmnic0": [(["157", "71"], "number")],
            "vmnic1": [(["0", "0"], "number")],
            "vmnic2": [(["0", "0"], "number")],
            "vmnic3": [(["0", "0"], "number")],
            "vmnic4": [(["157", "70"], "number")],
            "vmnic5": [(["156", "71"], "number")],
        },
        "net.multicastTx": {
            "": [(["0", "0"], "number")],
            "vmnic0": [(["0", "0"], "number")],
            "vmnic1": [(["0", "0"], "number")],
            "vmnic2": [(["0", "0"], "number")],
            "vmnic3": [(["0", "0"], "number")],
            "vmnic4": [(["0", "0"], "number")],
            "vmnic5": [(["0", "0"], "number")],
        },
        "net.packetsRx": {
            "": [(["7417", "7204"], "number")],
            "vmnic0": [(["383", "266"], "number")],
            "vmnic1": [(["0", "0"], "number")],
            "vmnic2": [(["0", "0"], "number")],
            "vmnic3": [(["0", "0"], "number")],
            "vmnic4": [(["952", "3922"], "number")],
            "vmnic5": [(["6082", "3016"], "number")],
        },
        "net.packetsTx": {
            "": [(["3162", "3488"], "number")],
            "vmnic0": [(["0", "0"], "number")],
            "vmnic1": [(["0", "0"], "number")],
            "vmnic2": [(["0", "0"], "number")],
            "vmnic3": [(["0", "0"], "number")],
            "vmnic4": [(["401", "1892"], "number")],
            "vmnic5": [(["2761", "1596"], "number")],
        },
        "net.received": {
            "": [(["84", "234"], "kiloBytesPerSecond")],
            "vmnic0": [(["1", "1"], "kiloBytesPerSecond")],
            "vmnic1": [(["0", "0"], "kiloBytesPerSecond")],
            "vmnic2": [(["0", "0"], "kiloBytesPerSecond")],
            "vmnic3": [(["0", "0"], "kiloBytesPerSecond")],
            "vmnic4": [(["19", "187"], "kiloBytesPerSecond")],
            "vmnic5": [(["63", "46"], "kiloBytesPerSecond")],
        },
        "net.state": {
            "vmnic0": [(["1"], "state")],
            "vmnic1": [(["2"], "state")],
            "vmnic2": [(["2"], "state")],
            "vmnic3": [(["2"], "state")],
            "vmnic4": [(["1"], "state")],
            "vmnic5": [(["1"], "state")],
        },
        "net.transmitted": {
            "": [(["962", "675"], "kiloBytesPerSecond")],
            "vmnic0": [(["0", "0"], "kiloBytesPerSecond")],
            "vmnic1": [(["0", "0"], "kiloBytesPerSecond")],
            "vmnic2": [(["0", "0"], "kiloBytesPerSecond")],
            "vmnic3": [(["0", "0"], "kiloBytesPerSecond")],
            "vmnic4": [(["33", "118"], "kiloBytesPerSecond")],
            "vmnic5": [(["928", "557"], "kiloBytesPerSecond")],
        },
        "net.unknownProtos": {
            "": [(["0", "0"], "number")],
            "vmnic0": [(["0", "0"], "number")],
            "vmnic1": [(["0", "0"], "number")],
            "vmnic2": [(["0", "0"], "number")],
            "vmnic3": [(["0", "0"], "number")],
            "vmnic4": [(["0", "0"], "number")],
            "vmnic5": [(["0", "0"], "number")],
        },
        "net.usage": {
            "": [(["1046", "910"], "kiloBytesPerSecond")],
            "vmnic0": [(["1", "1"], "kiloBytesPerSecond")],
            "vmnic1": [(["0", "0"], "kiloBytesPerSecond")],
            "vmnic2": [(["0", "0"], "kiloBytesPerSecond")],
            "vmnic3": [(["0", "0"], "kiloBytesPerSecond")],
            "vmnic4": [(["53", "305"], "kiloBytesPerSecond")],
            "vmnic5": [(["991", "603"], "kiloBytesPerSecond")],
        },
    }) == [
        Interface(
            index="1",
            descr="vmnic0",
            alias="vmnic0",
            type="6",
            speed=1000000000,
            oper_status="1",
            in_octets=1024,
            in_ucast=324,
            in_mcast=114,
            in_bcast=210,
            in_discards=0,
            in_errors=0,
            out_octets=0,
            out_ucast=0,
            out_mcast=0,
            out_bcast=0,
            out_discards=0,
            out_errors=0,
            out_qlen=0,
            phys_address="\x1cÁÞ\x1bìÜ",
            oper_status_name="up",
            speed_as_text="",
            group=None,
            node=None,
            admin_status=None,
        ),
        Interface(
            index="2",
            descr="vmnic1",
            alias="vmnic1",
            type="6",
            speed=0,
            oper_status="2",
            in_octets=0,
            in_ucast=0,
            in_mcast=0,
            in_bcast=0,
            in_discards=0,
            in_errors=0,
            out_octets=0,
            out_ucast=0,
            out_mcast=0,
            out_bcast=0,
            out_discards=0,
            out_errors=0,
            out_qlen=0,
            phys_address="\x1cÁÞ\x1bìÞ",
            oper_status_name="down",
            speed_as_text="",
            group=None,
            node=None,
            admin_status=None,
        ),
        Interface(
            index="3",
            descr="vmnic2",
            alias="vmnic2",
            type="6",
            speed=0,
            oper_status="2",
            in_octets=0,
            in_ucast=0,
            in_mcast=0,
            in_bcast=0,
            in_discards=0,
            in_errors=0,
            out_octets=0,
            out_ucast=0,
            out_mcast=0,
            out_bcast=0,
            out_discards=0,
            out_errors=0,
            out_qlen=0,
            phys_address="\x1cÁÞ\x1bìà",
            oper_status_name="down",
            speed_as_text="",
            group=None,
            node=None,
            admin_status=None,
        ),
        Interface(
            index="4",
            descr="vmnic3",
            alias="vmnic3",
            type="6",
            speed=0,
            oper_status="2",
            in_octets=0,
            in_ucast=0,
            in_mcast=0,
            in_bcast=0,
            in_discards=0,
            in_errors=0,
            out_octets=0,
            out_ucast=0,
            out_mcast=0,
            out_bcast=0,
            out_discards=0,
            out_errors=0,
            out_qlen=0,
            phys_address="\x1cÁÞ\x1bìâ",
            oper_status_name="down",
            speed_as_text="",
            group=None,
            node=None,
            admin_status=None,
        ),
        Interface(
            index="5",
            descr="vmnic4",
            alias="vmnic4",
            type="6",
            speed=10000000000,
            oper_status="1",
            in_octets=105472,
            in_ucast=2437,
            in_mcast=113,
            in_bcast=208,
            in_discards=0,
            in_errors=0,
            out_octets=76800,
            out_ucast=1146,
            out_mcast=0,
            out_bcast=2,
            out_discards=0,
            out_errors=0,
            out_qlen=0,
            phys_address="dQ\x06ðÅÐ",
            oper_status_name="up",
            speed_as_text="",
            group=None,
            node=None,
            admin_status=None,
        ),
        Interface(
            index="6",
            descr="vmnic5",
            alias="vmnic5",
            type="6",
            speed=10000000000,
            oper_status="1",
            in_octets=55296,
            in_ucast=4549,
            in_mcast=113,
            in_bcast=208,
            in_discards=0,
            in_errors=0,
            out_octets=759808,
            out_ucast=2178,
            out_mcast=0,
            out_bcast=0,
            out_discards=0,
            out_errors=0,
            out_qlen=0,
            phys_address="dQ\x06ðÅÔ",
            oper_status_name="up",
            speed_as_text="",
            group=None,
            node=None,
            admin_status=None,
        ),
    ]
def test_convert_esx_counters_if():
    assert esx_vsphere_counters.convert_esx_counters_if({
        'net.bandwidth': {
            'vmnic0': [(['1000000000'], 'bytes')],
            'vmnic4': [(['10000000000'], 'bytes')],
            'vmnic5': [(['10000000000'], 'bytes')]
        },
        'net.broadcastRx': {
            '': [(['660', '592'], 'number')],
            'vmnic0': [(['220', '200'], 'number')],
            'vmnic1': [(['0', '0'], 'number')],
            'vmnic2': [(['0', '0'], 'number')],
            'vmnic3': [(['0', '0'], 'number')],
            'vmnic4': [(['220', '196'], 'number')],
            'vmnic5': [(['220', '196'], 'number')]
        },
        'net.broadcastTx': {
            '': [(['0', '4'], 'number')],
            'vmnic0': [(['0', '0'], 'number')],
            'vmnic1': [(['0', '0'], 'number')],
            'vmnic2': [(['0', '0'], 'number')],
            'vmnic3': [(['0', '0'], 'number')],
            'vmnic4': [(['0', '4'], 'number')],
            'vmnic5': [(['0', '0'], 'number')]
        },
        'net.bytesRx': {
            '': [(['84', '234'], 'kiloBytesPerSecond')],
            'vmnic0': [(['1', '1'], 'kiloBytesPerSecond')],
            'vmnic1': [(['0', '0'], 'kiloBytesPerSecond')],
            'vmnic2': [(['0', '0'], 'kiloBytesPerSecond')],
            'vmnic3': [(['0', '0'], 'kiloBytesPerSecond')],
            'vmnic4': [(['19', '187'], 'kiloBytesPerSecond')],
            'vmnic5': [(['63', '46'], 'kiloBytesPerSecond')]
        },
        'net.bytesTx': {
            '': [(['962', '675'], 'kiloBytesPerSecond')],
            'vmnic0': [(['0', '0'], 'kiloBytesPerSecond')],
            'vmnic1': [(['0', '0'], 'kiloBytesPerSecond')],
            'vmnic2': [(['0', '0'], 'kiloBytesPerSecond')],
            'vmnic3': [(['0', '0'], 'kiloBytesPerSecond')],
            'vmnic4': [(['33', '118'], 'kiloBytesPerSecond')],
            'vmnic5': [(['928', '557'], 'kiloBytesPerSecond')]
        },
        'net.droppedRx': {
            '': [(['0', '0'], 'number')],
            'vmnic0': [(['0', '0'], 'number')],
            'vmnic1': [(['0', '0'], 'number')],
            'vmnic2': [(['0', '0'], 'number')],
            'vmnic3': [(['0', '0'], 'number')],
            'vmnic4': [(['0', '0'], 'number')],
            'vmnic5': [(['0', '0'], 'number')]
        },
        'net.droppedTx': {
            '': [(['0', '0'], 'number')],
            'vmnic0': [(['0', '0'], 'number')],
            'vmnic1': [(['0', '0'], 'number')],
            'vmnic2': [(['0', '0'], 'number')],
            'vmnic3': [(['0', '0'], 'number')],
            'vmnic4': [(['0', '0'], 'number')],
            'vmnic5': [(['0', '0'], 'number')]
        },
        'net.errorsRx': {
            '': [(['0', '0'], 'number')],
            'vmnic0': [(['0', '0'], 'number')],
            'vmnic1': [(['0', '0'], 'number')],
            'vmnic2': [(['0', '0'], 'number')],
            'vmnic3': [(['0', '0'], 'number')],
            'vmnic4': [(['0', '0'], 'number')],
            'vmnic5': [(['0', '0'], 'number')]
        },
        'net.errorsTx': {
            '': [(['0', '0'], 'number')],
            'vmnic0': [(['0', '0'], 'number')],
            'vmnic1': [(['0', '0'], 'number')],
            'vmnic2': [(['0', '0'], 'number')],
            'vmnic3': [(['0', '0'], 'number')],
            'vmnic4': [(['0', '0'], 'number')],
            'vmnic5': [(['0', '0'], 'number')]
        },
        'net.macaddress': {
            'vmnic0': [(['1c:c1:de:1b:ec:dc'], 'mac')],
            'vmnic1': [(['1c:c1:de:1b:ec:de'], 'mac')],
            'vmnic2': [(['1c:c1:de:1b:ec:e0'], 'mac')],
            'vmnic3': [(['1c:c1:de:1b:ec:e2'], 'mac')],
            'vmnic4': [(['64:51:06:f0:c5:d0'], 'mac')],
            'vmnic5': [(['64:51:06:f0:c5:d4'], 'mac')]
        },
        'net.multicastRx': {
            '': [(['470', '212'], 'number')],
            'vmnic0': [(['157', '71'], 'number')],
            'vmnic1': [(['0', '0'], 'number')],
            'vmnic2': [(['0', '0'], 'number')],
            'vmnic3': [(['0', '0'], 'number')],
            'vmnic4': [(['157', '70'], 'number')],
            'vmnic5': [(['156', '71'], 'number')]
        },
        'net.multicastTx': {
            '': [(['0', '0'], 'number')],
            'vmnic0': [(['0', '0'], 'number')],
            'vmnic1': [(['0', '0'], 'number')],
            'vmnic2': [(['0', '0'], 'number')],
            'vmnic3': [(['0', '0'], 'number')],
            'vmnic4': [(['0', '0'], 'number')],
            'vmnic5': [(['0', '0'], 'number')]
        },
        'net.packetsRx': {
            '': [(['7417', '7204'], 'number')],
            'vmnic0': [(['383', '266'], 'number')],
            'vmnic1': [(['0', '0'], 'number')],
            'vmnic2': [(['0', '0'], 'number')],
            'vmnic3': [(['0', '0'], 'number')],
            'vmnic4': [(['952', '3922'], 'number')],
            'vmnic5': [(['6082', '3016'], 'number')]
        },
        'net.packetsTx': {
            '': [(['3162', '3488'], 'number')],
            'vmnic0': [(['0', '0'], 'number')],
            'vmnic1': [(['0', '0'], 'number')],
            'vmnic2': [(['0', '0'], 'number')],
            'vmnic3': [(['0', '0'], 'number')],
            'vmnic4': [(['401', '1892'], 'number')],
            'vmnic5': [(['2761', '1596'], 'number')]
        },
        'net.received': {
            '': [(['84', '234'], 'kiloBytesPerSecond')],
            'vmnic0': [(['1', '1'], 'kiloBytesPerSecond')],
            'vmnic1': [(['0', '0'], 'kiloBytesPerSecond')],
            'vmnic2': [(['0', '0'], 'kiloBytesPerSecond')],
            'vmnic3': [(['0', '0'], 'kiloBytesPerSecond')],
            'vmnic4': [(['19', '187'], 'kiloBytesPerSecond')],
            'vmnic5': [(['63', '46'], 'kiloBytesPerSecond')]
        },
        'net.state': {
            'vmnic0': [(['1'], 'state')],
            'vmnic1': [(['2'], 'state')],
            'vmnic2': [(['2'], 'state')],
            'vmnic3': [(['2'], 'state')],
            'vmnic4': [(['1'], 'state')],
            'vmnic5': [(['1'], 'state')]
        },
        'net.transmitted': {
            '': [(['962', '675'], 'kiloBytesPerSecond')],
            'vmnic0': [(['0', '0'], 'kiloBytesPerSecond')],
            'vmnic1': [(['0', '0'], 'kiloBytesPerSecond')],
            'vmnic2': [(['0', '0'], 'kiloBytesPerSecond')],
            'vmnic3': [(['0', '0'], 'kiloBytesPerSecond')],
            'vmnic4': [(['33', '118'], 'kiloBytesPerSecond')],
            'vmnic5': [(['928', '557'], 'kiloBytesPerSecond')]
        },
        'net.unknownProtos': {
            '': [(['0', '0'], 'number')],
            'vmnic0': [(['0', '0'], 'number')],
            'vmnic1': [(['0', '0'], 'number')],
            'vmnic2': [(['0', '0'], 'number')],
            'vmnic3': [(['0', '0'], 'number')],
            'vmnic4': [(['0', '0'], 'number')],
            'vmnic5': [(['0', '0'], 'number')]
        },
        'net.usage': {
            '': [(['1046', '910'], 'kiloBytesPerSecond')],
            'vmnic0': [(['1', '1'], 'kiloBytesPerSecond')],
            'vmnic1': [(['0', '0'], 'kiloBytesPerSecond')],
            'vmnic2': [(['0', '0'], 'kiloBytesPerSecond')],
            'vmnic3': [(['0', '0'], 'kiloBytesPerSecond')],
            'vmnic4': [(['53', '305'], 'kiloBytesPerSecond')],
            'vmnic5': [(['991', '603'], 'kiloBytesPerSecond')]
        },
    }) == [
        Interface(index='1',
                  descr='vmnic0',
                  alias='vmnic0',
                  type='6',
                  speed=1000000000,
                  oper_status='1',
                  in_octets=1024,
                  in_ucast=324,
                  in_mcast=114,
                  in_bcast=210,
                  in_discards=0,
                  in_errors=0,
                  out_octets=0,
                  out_ucast=0,
                  out_mcast=0,
                  out_bcast=0,
                  out_discards=0,
                  out_errors=0,
                  out_qlen=0,
                  phys_address='\x1cÁÞ\x1bìÜ',
                  oper_status_name='up',
                  speed_as_text='',
                  group=None,
                  node=None,
                  admin_status=None),
        Interface(index='2',
                  descr='vmnic1',
                  alias='vmnic1',
                  type='6',
                  speed=0,
                  oper_status='2',
                  in_octets=0,
                  in_ucast=0,
                  in_mcast=0,
                  in_bcast=0,
                  in_discards=0,
                  in_errors=0,
                  out_octets=0,
                  out_ucast=0,
                  out_mcast=0,
                  out_bcast=0,
                  out_discards=0,
                  out_errors=0,
                  out_qlen=0,
                  phys_address='\x1cÁÞ\x1bìÞ',
                  oper_status_name='down',
                  speed_as_text='',
                  group=None,
                  node=None,
                  admin_status=None),
        Interface(index='3',
                  descr='vmnic2',
                  alias='vmnic2',
                  type='6',
                  speed=0,
                  oper_status='2',
                  in_octets=0,
                  in_ucast=0,
                  in_mcast=0,
                  in_bcast=0,
                  in_discards=0,
                  in_errors=0,
                  out_octets=0,
                  out_ucast=0,
                  out_mcast=0,
                  out_bcast=0,
                  out_discards=0,
                  out_errors=0,
                  out_qlen=0,
                  phys_address='\x1cÁÞ\x1bìà',
                  oper_status_name='down',
                  speed_as_text='',
                  group=None,
                  node=None,
                  admin_status=None),
        Interface(index='4',
                  descr='vmnic3',
                  alias='vmnic3',
                  type='6',
                  speed=0,
                  oper_status='2',
                  in_octets=0,
                  in_ucast=0,
                  in_mcast=0,
                  in_bcast=0,
                  in_discards=0,
                  in_errors=0,
                  out_octets=0,
                  out_ucast=0,
                  out_mcast=0,
                  out_bcast=0,
                  out_discards=0,
                  out_errors=0,
                  out_qlen=0,
                  phys_address='\x1cÁÞ\x1bìâ',
                  oper_status_name='down',
                  speed_as_text='',
                  group=None,
                  node=None,
                  admin_status=None),
        Interface(index='5',
                  descr='vmnic4',
                  alias='vmnic4',
                  type='6',
                  speed=10000000000,
                  oper_status='1',
                  in_octets=105472,
                  in_ucast=2437,
                  in_mcast=113,
                  in_bcast=208,
                  in_discards=0,
                  in_errors=0,
                  out_octets=76800,
                  out_ucast=1146,
                  out_mcast=0,
                  out_bcast=2,
                  out_discards=0,
                  out_errors=0,
                  out_qlen=0,
                  phys_address='dQ\x06ðÅÐ',
                  oper_status_name='up',
                  speed_as_text='',
                  group=None,
                  node=None,
                  admin_status=None),
        Interface(index='6',
                  descr='vmnic5',
                  alias='vmnic5',
                  type='6',
                  speed=10000000000,
                  oper_status='1',
                  in_octets=55296,
                  in_ucast=4549,
                  in_mcast=113,
                  in_bcast=208,
                  in_discards=0,
                  in_errors=0,
                  out_octets=759808,
                  out_ucast=2178,
                  out_mcast=0,
                  out_bcast=0,
                  out_discards=0,
                  out_errors=0,
                  out_qlen=0,
                  phys_address='dQ\x06ðÅÔ',
                  oper_status_name='up',
                  speed_as_text='',
                  group=None,
                  node=None,
                  admin_status=None),
    ]
Beispiel #4
0
def test_parse_emc_vplex_if():
    assert parse_emc_vplex_if([
        [['director-1-1-A', '128.221.252.35'], ['director-1-1-B', '128.221.252.36']],
        [['A0-FC00', '159850409786880', '118814791148032', '128.221.252.35.1'],
         ['B0-FC00', '325205070345216', '198559903067648', '128.221.252.36.1']],
        [['A1-FC00', '186252890510666', '187929275117112', '128.221.252.35.1'],
         ['B1-FC00', '245631087709370', '155375928891392', '128.221.252.36.1']],
    ]) == [
        Interface(index='1',
                  descr='A0-FC00',
                  alias='director-1-1-A A0-FC00',
                  type='',
                  speed=0,
                  oper_status='1',
                  in_octets=159850409786880,
                  in_ucast=0,
                  in_mcast=0,
                  in_bcast=0,
                  in_discards=0,
                  in_errors=0,
                  out_octets=118814791148032,
                  out_ucast=0,
                  out_mcast=0,
                  out_bcast=0,
                  out_discards=0,
                  out_errors=0,
                  out_qlen=0,
                  phys_address='',
                  oper_status_name='up',
                  speed_as_text='',
                  group=None,
                  node=None,
                  admin_status=None),
        Interface(index='2',
                  descr='B0-FC00',
                  alias='director-1-1-B B0-FC00',
                  type='',
                  speed=0,
                  oper_status='1',
                  in_octets=325205070345216,
                  in_ucast=0,
                  in_mcast=0,
                  in_bcast=0,
                  in_discards=0,
                  in_errors=0,
                  out_octets=198559903067648,
                  out_ucast=0,
                  out_mcast=0,
                  out_bcast=0,
                  out_discards=0,
                  out_errors=0,
                  out_qlen=0,
                  phys_address='',
                  oper_status_name='up',
                  speed_as_text='',
                  group=None,
                  node=None,
                  admin_status=None),
        Interface(index='3',
                  descr='A1-FC00',
                  alias='director-1-1-A A1-FC00',
                  type='',
                  speed=0,
                  oper_status='1',
                  in_octets=186252890510666,
                  in_ucast=0,
                  in_mcast=0,
                  in_bcast=0,
                  in_discards=0,
                  in_errors=0,
                  out_octets=187929275117112,
                  out_ucast=0,
                  out_mcast=0,
                  out_bcast=0,
                  out_discards=0,
                  out_errors=0,
                  out_qlen=0,
                  phys_address='',
                  oper_status_name='up',
                  speed_as_text='',
                  group=None,
                  node=None,
                  admin_status=None),
        Interface(index='4',
                  descr='B1-FC00',
                  alias='director-1-1-B B1-FC00',
                  type='',
                  speed=0,
                  oper_status='1',
                  in_octets=245631087709370,
                  in_ucast=0,
                  in_mcast=0,
                  in_bcast=0,
                  in_discards=0,
                  in_errors=0,
                  out_octets=155375928891392,
                  out_ucast=0,
                  out_mcast=0,
                  out_bcast=0,
                  out_discards=0,
                  out_errors=0,
                  out_qlen=0,
                  phys_address='',
                  oper_status_name='up',
                  speed_as_text='',
                  group=None,
                  node=None,
                  admin_status=None),
    ]
Beispiel #5
0
def test_parse_vms_if() -> None:
    assert parse_vms_if([
        [
            "SE0", "0", "6680", "0", "0", "0", "0", "0", "3649", "0", "0", "0",
            "0"
        ],
        ["WE0", "-357453266", "0", "1246887166", "0", "0"],
        ["WE4", "6061662", "0", "4858067", "0", "0"],
    ]) == [
        Interface(
            index="1",
            descr="SE0",
            alias="SE0",
            type="6",
            speed=1000000000,
            oper_status="1",
            in_octets=0,
            in_ucast=6680,
            in_mcast=0,
            in_bcast=0,
            in_discards=0,
            in_errors=0,
            out_octets=0,
            out_ucast=3649,
            out_mcast=0,
            out_bcast=0,
            out_discards=0,
            out_errors=0,
            out_qlen=0,
            oper_status_name="up",
            total_octets=0,
        ),
        Interface(
            index="2",
            descr="WE0",
            alias="WE0",
            type="6",
            speed=1000000000,
            oper_status="1",
            in_octets=3937514030,
            in_ucast=0,
            in_mcast=1246887166,
            in_bcast=0,
            in_discards=0,
            in_errors=0,
            out_octets=0,
            out_ucast=0,
            out_mcast=0,
            out_bcast=0,
            out_discards=0,
            out_errors=0,
            out_qlen=0,
            oper_status_name="up",
            total_octets=3937514030,
        ),
        Interface(
            index="3",
            descr="WE4",
            alias="WE4",
            type="6",
            speed=1000000000,
            oper_status="1",
            in_octets=6061662,
            in_ucast=0,
            in_mcast=4858067,
            in_bcast=0,
            in_discards=0,
            in_errors=0,
            out_octets=0,
            out_ucast=0,
            out_mcast=0,
            out_bcast=0,
            out_discards=0,
            out_errors=0,
            out_qlen=0,
            oper_status_name="up",
            total_octets=6061662,
        ),
    ]
_SECTION = [
    Interface(
        index="1",
        descr="lo0",
        alias="lo0",
        type="24",
        speed=0,
        oper_status="1",
        in_octets=0,
        in_ucast=0,
        in_mcast=0,
        in_bcast=0,
        in_discards=0,
        in_errors=0,
        out_octets=0,
        out_ucast=0,
        out_mcast=0,
        out_bcast=0,
        out_discards=0,
        out_errors=0,
        out_qlen=0,
        phys_address="",
        oper_status_name="up",
        speed_as_text="",
        group=None,
        node=None,
        admin_status=None,
        total_octets=0,
    ),
    Interface(
        index="2",
def test_parse_if64_tplink() -> None:
    assert parse_if64_tplink([
        [
            "1",
            "Vlan-interface1",
            "6",
            "0",
            "1",
            "377138653",
            "0",
            "322566",
            "0",
            "0",
            "0",
            "833158925",
            "0",
            "0",
            "0",
            "0",
            "0",
            "0",
            "",
            [172, 132, 198, 175, 52, 255],
            "",
        ],
        [
            "49153",
            "gigabitEthernet 1/0/1 : copper",
            "6",
            "1000",
            "1",
            "304751823764",
            "273677445",
            "622053",
            "471593",
            "0",
            "0",
            "28059984507",
            "146316671",
            "2292666",
            "221224",
            "0",
            "0",
            "0",
            "",
            [172, 132, 198, 175, 52, 255],
            "ifAlias",
        ],
    ]) == [
        Interface(
            index="1",
            descr="Vlan-interface1",
            alias="",
            type="6",
            speed=0,
            oper_status="1",
            in_octets=377138653,
            in_ucast=0,
            in_mcast=322566,
            in_bcast=0,
            in_discards=0,
            in_errors=0,
            out_octets=833158925,
            out_ucast=0,
            out_mcast=0,
            out_bcast=0,
            out_discards=0,
            out_errors=0,
            out_qlen=0,
            phys_address=[172, 132, 198, 175, 52, 255],
            oper_status_name="up",
            speed_as_text="",
            group=None,
            node=None,
            admin_status=None,
            total_octets=1210297578,
        ),
        Interface(
            index="49153",
            descr="gigabitEthernet 1/0/1 : copper",
            alias="ifAlias",
            type="6",
            speed=1000000000,
            oper_status="1",
            in_octets=304751823764,
            in_ucast=273677445,
            in_mcast=622053,
            in_bcast=471593,
            in_discards=0,
            in_errors=0,
            out_octets=28059984507,
            out_ucast=146316671,
            out_mcast=2292666,
            out_bcast=221224,
            out_discards=0,
            out_errors=0,
            out_qlen=0,
            phys_address=[172, 132, 198, 175, 52, 255],
            oper_status_name="up",
            speed_as_text="",
            group=None,
            node=None,
            admin_status=None,
            total_octets=332811808271,
        ),
    ]
Beispiel #8
0
def test_generic_parse_if64() -> None:
    assert generic_parse_if64([
        [
            "2",
            "GigabitEthernet1/1",
            "6",
            "1000000000",
            "1",
            "615170130480",
            "468482397",
            "1439303",
            "3279788",
            "0",
            "0",
            "163344362761",
            "394389414",
            "54227",
            "36274",
            "0",
            "0",
            "0",
            "** Trunk to main switch **",
            [0, 12, 206, 149, 55, 128],
        ],
        [
            "3",
            "Primary Internet connection\\nVLAN 10\\nContact data ISP:\\n",
            "6",
            "1000000000",
            "1",
            "44357143434",
            "57785953",
            "3644158",
            "0",
            "0",
            "0",
            "43529803172",
            "51011741",
            "0",
            "0",
            "0",
            "0",
            "0",
            "",
            [220, 166, 50, 183, 252, 79],
        ],
    ]) == [
        Interface(
            index="2",
            descr="GigabitEthernet1/1",
            alias="** Trunk to main switch **",
            type="6",
            speed=1000000000,
            oper_status="1",
            in_octets=615170130480,
            in_ucast=468482397,
            in_mcast=1439303,
            in_bcast=3279788,
            in_discards=0,
            in_errors=0,
            out_octets=163344362761,
            out_ucast=394389414,
            out_mcast=54227,
            out_bcast=36274,
            out_discards=0,
            out_errors=0,
            out_qlen=0,
            phys_address=[0, 12, 206, 149, 55, 128],
            oper_status_name="up",
            total_octets=778514493241,
        ),
        Interface(
            index="3",
            descr=
            "Primary Internet connection\\nVLAN 10\\nContact data ISP:\\n",
            alias="",
            type="6",
            speed=1000000000,
            oper_status="1",
            in_octets=44357143434,
            in_ucast=57785953,
            in_mcast=3644158,
            in_bcast=0,
            in_discards=0,
            in_errors=0,
            out_octets=43529803172,
            out_ucast=51011741,
            out_mcast=0,
            out_bcast=0,
            out_discards=0,
            out_errors=0,
            out_qlen=0,
            phys_address=[220, 166, 50, 183, 252, 79],
            oper_status_name="up",
            total_octets=87886946606,
        ),
    ]
Beispiel #9
0
def test_parse_ucs_bladecenter_if() -> None:
    assert parse_ucs_bladecenter_if(
        [
            [
                "fcStats",
                "Dn sys/switch-B/slot-1/switch-fc/port-5/stats",
                "BytesRx 6000859585097280",
                "BytesTx 11433477817196880",
                "PacketsRx 3199011900400260",
                "PacketsTx 2858352274430040",
                "Suspect no",
            ],
            [
                "fcStats",
                "Dn sys/switch-A/slot-1/switch-fc/port-5/stats",
                "BytesRx 6269002983258720",
                "BytesTx 11970108210903360",
                "PacketsRx 3349919871277380",
                "PacketsTx 2992509872856660",
                "Suspect no",
            ],
            [
                "fcErrStats",
                "Dn sys/switch-B/slot-1/switch-fc/port-5/err-stats",
                "Rx 714588068607510",
                "Tx 0",
                "CrcRx 0",
                "DiscardRx 0",
                "DiscardTx 0",
            ],
            [
                "fcErrStats",
                "Dn sys/switch-A/slot-1/switch-fc/port-5/err-stats",
                "Rx 748131763181460",
                "Tx 0",
                "CrcRx 0",
                "DiscardRx 0",
                "DiscardTx 0",
            ],
            [
                "fabricFcSanEp",
                "Dn fabric/san/A/phys-slot-1-port-5",
                "EpDn sys/switch-A/slot-1/switch-fc/port-5",
                "AdminState disabled",
                "OperState up",
                "PortId 5",
                "SwitchId A",
                "SlotId 1",
            ],
            [
                "fabricFcSanEp",
                "Dn fabric/san/B/phys-slot-1-port-5",
                "EpDn sys/switch-B/slot-1/switch-fc/port-5",
                "AdminState disabled",
                "OperState up",
                "PortId 5",
                "SwitchId B",
                "SlotId 1",
            ],
        ]
    ) == [
        Interface(
            index="0",
            descr="Slot 1 FC-Switch A Port 5",
            alias="Slot 1 FC-Switch A Port 5",
            type="6",
            speed=0,
            oper_status="2",
            in_octets=6269002983258720,
            in_ucast=3349919871277380,
            in_mcast=0,
            in_bcast=0,
            in_discards=0,
            in_errors=748131763181460,
            out_octets=11970108210903360,
            out_ucast=2992509872856660,
            out_mcast=0,
            out_bcast=0,
            out_discards=0,
            out_errors=0,
            out_qlen=0,
            oper_status_name="down",
            total_octets=18239111194162080,
        ),
        Interface(
            index="1",
            descr="Slot 1 FC-Switch B Port 5",
            alias="Slot 1 FC-Switch B Port 5",
            type="6",
            speed=0,
            oper_status="2",
            in_octets=6000859585097280,
            in_ucast=3199011900400260,
            in_mcast=0,
            in_bcast=0,
            in_discards=0,
            in_errors=714588068607510,
            out_octets=11433477817196880,
            out_ucast=2858352274430040,
            out_mcast=0,
            out_bcast=0,
            out_discards=0,
            out_errors=0,
            out_qlen=0,
            oper_status_name="down",
            total_octets=17434337402294160,
        ),
    ]
Beispiel #10
0
def test_parse_emc_vplex_if():
    assert parse_emc_vplex_if([
        [["director-1-1-A", "128.221.252.35"],
         ["director-1-1-B", "128.221.252.36"]],
        [
            [
                "A0-FC00", "159850409786880", "118814791148032",
                "128.221.252.35.1"
            ],
            [
                "B0-FC00", "325205070345216", "198559903067648",
                "128.221.252.36.1"
            ],
        ],
        [
            [
                "A1-FC00", "186252890510666", "187929275117112",
                "128.221.252.35.1"
            ],
            [
                "B1-FC00", "245631087709370", "155375928891392",
                "128.221.252.36.1"
            ],
        ],
    ]) == [
        Interface(
            index="1",
            descr="A0-FC00",
            alias="director-1-1-A A0-FC00",
            type="",
            speed=0,
            oper_status="1",
            in_octets=159850409786880,
            in_ucast=0,
            in_mcast=0,
            in_bcast=0,
            in_discards=0,
            in_errors=0,
            out_octets=118814791148032,
            out_ucast=0,
            out_mcast=0,
            out_bcast=0,
            out_discards=0,
            out_errors=0,
            out_qlen=0,
            phys_address="",
            oper_status_name="up",
            speed_as_text="",
            group=None,
            node=None,
            admin_status=None,
        ),
        Interface(
            index="2",
            descr="B0-FC00",
            alias="director-1-1-B B0-FC00",
            type="",
            speed=0,
            oper_status="1",
            in_octets=325205070345216,
            in_ucast=0,
            in_mcast=0,
            in_bcast=0,
            in_discards=0,
            in_errors=0,
            out_octets=198559903067648,
            out_ucast=0,
            out_mcast=0,
            out_bcast=0,
            out_discards=0,
            out_errors=0,
            out_qlen=0,
            phys_address="",
            oper_status_name="up",
            speed_as_text="",
            group=None,
            node=None,
            admin_status=None,
        ),
        Interface(
            index="3",
            descr="A1-FC00",
            alias="director-1-1-A A1-FC00",
            type="",
            speed=0,
            oper_status="1",
            in_octets=186252890510666,
            in_ucast=0,
            in_mcast=0,
            in_bcast=0,
            in_discards=0,
            in_errors=0,
            out_octets=187929275117112,
            out_ucast=0,
            out_mcast=0,
            out_bcast=0,
            out_discards=0,
            out_errors=0,
            out_qlen=0,
            phys_address="",
            oper_status_name="up",
            speed_as_text="",
            group=None,
            node=None,
            admin_status=None,
        ),
        Interface(
            index="4",
            descr="B1-FC00",
            alias="director-1-1-B B1-FC00",
            type="",
            speed=0,
            oper_status="1",
            in_octets=245631087709370,
            in_ucast=0,
            in_mcast=0,
            in_bcast=0,
            in_discards=0,
            in_errors=0,
            out_octets=155375928891392,
            out_ucast=0,
            out_mcast=0,
            out_bcast=0,
            out_discards=0,
            out_errors=0,
            out_qlen=0,
            phys_address="",
            oper_status_name="up",
            speed_as_text="",
            group=None,
            node=None,
            admin_status=None,
        ),
    ]