예제 #1
0
def test_cluster_missing_item():
    section: Dict[str, Dict[str, local.LocalResult]] = {
        "node0": {
            "item":
            local.LocalResult(
                cached=None,
                item="Clustered service",
                state=0,
                text="Service is OK",
                perfdata=[],
            )
        },
        "node1": {},
    }

    worst = local.cluster_check_local("item", Parameters({}), section)
    best = local.cluster_check_local(
        "item", Parameters({"outcome_on_cluster": "best"}), section)

    assert list(worst) == [
        Result(state=state.OK, summary="[node0]: Service is OK"),
    ]
    assert list(best) == [
        Result(state=state.OK, summary="[node0]: Service is OK"),
    ]
예제 #2
0
def test_cluster():
    section: Dict[str, Dict[str, local.LocalResult]] = {
        "node0": {
            "item":
            local.LocalResult(
                cached=None,
                item="Clustered service",
                state=0,
                text="Service is OK",
                perfdata=[],
            )
        },
        "node1": {
            "item":
            local.LocalResult(
                cached=None,
                item="Clustered service",
                state=1,
                text="Service is WARN",
                perfdata=[],
            )
        },
        "node2": {
            "item":
            local.LocalResult(
                cached=None,
                item="Clustered service",
                state=2,
                text="Service is CRIT",
                perfdata=[],
            )
        },
    }

    worst = local.cluster_check_local("item", Parameters({}), section)
    best = local.cluster_check_local(
        "item", Parameters({"outcome_on_cluster": "best"}), section)

    assert list(worst) == [
        Result(state=state.CRIT, notice="[node2]: Service is CRIT"),
        Result(state=state.OK, notice="[node0]: Service is OK"),
        Result(state=state.WARN, notice="[node1]: Service is WARN(!)"),
    ]
    assert list(best) == [
        Result(state=state.OK, summary="[node0]: Service is OK"),
        Result(state=state.OK, notice="[node1]: Service is WARN(!)"),
        Result(state=state.OK, notice="[node2]: Service is CRIT(!!)"),
    ]
예제 #3
0
def test_check_netscaler_vservers_clustered_best(clustered_vservers):
    assert list(
        _check_netscaler_vservers(
            Parameters({
                "health_levels": (100.0, 0.1),
                "cluster_status": "best",
            }),
            clustered_vservers,
        )
    ) == [
        Result(state=state.OK, summary='Status: up (node1)'),
        Result(state=state.OK, summary='Status: busy (node2)'),
        Result(state=state.WARN,
               summary='Health: 75.2% (warn/crit below 100%/0.10%)',
               details='Health: 75.2% (warn/crit below 100%/0.10%)'),
        Metric('health_perc', 75.2, boundaries=(0.0, 100.0)),
        Result(
            state=state.OK,
            summary='Type: loadbalancing, Protocol: ssl, Socket: 0.0.0.0:0',
            details='Type: loadbalancing, Protocol: ssl, Socket: 0.0.0.0:0'),
        Result(state=state.OK, summary='Request rate: 1/s'),
        Metric('request_rate', 1.0),
        Result(state=state.OK, summary='In: 16.0 Bit/s'),
        Metric('if_in_octets', 2.0),
        Result(state=state.OK, summary='Out: 40.0 Bit/s'),
        Metric('if_out_octets', 5.0),
    ]
예제 #4
0
def test_check_aws_ec2_network_io():
    assert list(
        check_aws_ec2_network_io(
            "Summary",
            Parameters({}),
            {
                "NetworkIn": 1,
                "NetworkOut": 2,
            },
        )) == [
            Result(state=State.OK, summary='[0]'),
            Result(state=State.OK,
                   summary='(up)',
                   details='Operational state: up'),
            Result(state=State.OK, summary='Speed: unknown'),
            Metric('in', 0.016666666666666666, boundaries=(0.0, None)),
            Metric('inmcast', 0.0),
            Metric('inbcast', 0.0),
            Metric('inucast', 0.0),
            Metric('innucast', 0.0),
            Metric('indisc', 0.0),
            Metric('inerr', 0.0),
            Metric('out', 0.03333333333333333, boundaries=(0.0, None)),
            Metric('outmcast', 0.0),
            Metric('outbcast', 0.0),
            Metric('outucast', 0.0),
            Metric('outnucast', 0.0),
            Metric('outdisc', 0.0),
            Metric('outerr', 0.0),
            Metric('outqlen', 0.0),
            Result(state=State.OK, summary='In: 0.02 B/s'),
            Result(state=State.OK, summary='Out: 0.03 B/s'),
        ]
def test_check_mssql_transactionlogs(section):
    assert list(
        msdt.check_mssql_transactionlogs(
            'MSSQL46.CorreLog_Report_T.CorreLog_Report_T_log',
            Parameters({}),
            section,
            None,
        ), ) == [
            Result(
                state=state.OK,
                summary='Used: 16.0 MiB',
            ),
            Metric('data_size', 16777216.0, boundaries=(0, 2199023255552.0)),
            Result(
                state=state.OK,
                summary='Allocated used: 16.0 MiB',
            ),
            Result(
                state=state.OK,
                summary='Allocated: 256 MiB',
            ),
            Metric('allocated_size',
                   268435456.0,
                   boundaries=(0, 2199023255552.0)),
            Result(
                state=state.OK,
                summary="Maximum size: 2.00 TiB",
            ),
        ]
def test_discovery_mssql_transactionlogs(section):

    section_db = msdb.parse_mssql_databases([
        ['MSSQL46', 'master', 'ONLINE', 'SIMPLE', '0', '0'],
        ['MSSQL46', 'tempdb', 'ONLINE', 'SIMPLE', '0', '0'],
        ['MSSQL46', 'model', 'ONLINE', 'FULL', '0', '0'],
        ['MSSQL46', 'msdb', 'ONLINE', 'SIMPLE', '0', '0'],
        ['MSSQL46', 'NOC_CONFIG_T', 'ONLINE', 'FULL', '0', '0'],
        ['MSSQL46', 'DASH_CONFIG_T', 'ONLINE', 'FULL', '0', '0'],
        ['MSSQL46', 'NOC_ALARM_T', 'ONLINE', 'FULL', '0', '1'],
        ['MSSQL46', 'CorreLog_Report_T', 'ONLINE', 'FULL', '0', '0'],
        ['MSSQL46', 'test_autoclose', 'ONLINE', 'FULL', '1', '0'],
    ])

    assert sorted(
        msdt.discover_mssql_transactionlogs([Parameters({})], section,
                                            section_db),
        key=lambda s: s.item,  # type: ignore[attr-defined]
    ) == [
        Service(item='MSSQL46.CorreLog_Report_T.CorreLog_Report_T_log'),
        Service(item='MSSQL46.DASH_CONFIG_T.DASH_CONFIG_T_log'),
        Service(item='MSSQL46.NOC_ALARM_T.NOC_ALARM_T_log'),
        Service(item='MSSQL46.NOC_CONFIG_T.NOC_CONFIG_T_log'),
        Service(item='MSSQL46.model.modellog'),
        Service(item='MSSQL46.test_autoclose.test_autoclose_log'),
    ]
예제 #7
0
def test_check_huawei_osn_if(item, params, expected_result):
    assert list(
        adva_fsp_if.check_adva_fsp_if(
            item,
            Parameters(params),
            SECTION,
        )) == expected_result
예제 #8
0
def test_check_warn_auto_shrink(section):

    assert list(check_mssql_databases("MSSQL_MSSQL46 NOC_ALARM_T", Parameters({}), section)) == [
        Result(state=state.OK, summary="Status: ONLINE"),
        Result(state=state.OK, summary="Recovery: FULL"),
        Result(state=state.OK, summary="Auto close: off"),
        Result(state=state.WARN, summary="Auto shrink: on"),
    ]
예제 #9
0
def test_check_winperf_section():
    assert list(tcp_conn_stats.check_tcp_connections(Parameters({}), {'ESTABLISHED': 3})) == [
        Result(
            state=State.OK,
            summary="Established: 3",
        ),
        Metric("ESTABLISHED", 3),
    ]
예제 #10
0
def test_uptime_check_zero():
    with on_time('2018-04-15 16:50', 'CET'):
        assert list(
            uptime_utils.check(Parameters({}), uptime_utils.Section(
                0, None))) == [
                    Result(state=State.OK,
                           summary='Up since Apr 15 2018 18:50:00'),
                    Result(state=State.OK, summary='Uptime: 0 seconds'),
                    Metric("uptime", 0.0),
                ]
예제 #11
0
def test_check_function(monkeypatch):
    monkeypatch.setattr(
        apache_status,
        "get_value_store",
        lambda: {
            'apache_status_MY CHECK MK_accesses': (0, 62878),
            'apache_status_MY CHECK MK_bytes': (0, 104212480.0),
        },
    )

    assert list(
        apache_status.check_apache_status("MY CHECK MK", Parameters({}),
                                          SECTION_2)
    ) == [
        Result(state=State.OK, summary='Uptime: 1 day 3 hours'),
        Metric('Uptime', 99739),
        Result(state=State.OK, summary='Idle workers: 49'),
        Metric('IdleWorkers', 49),
        Result(state=State.OK, summary='Busy workers: 1'),
        Metric('BusyWorkers', 1),
        Result(state=State.OK, summary='Total slots: 150'),
        Metric('TotalSlots', 150),
        Result(state=State.OK, notice='Open slots: 100'),
        Metric('OpenSlots', 100),
        Result(state=State.OK, notice='CPU load: 0.00'),
        Metric('CPULoad', 0.00482259),
        Result(state=State.OK, notice='Requests per second: 0.00'),
        Metric('ReqPerSec', 0.0),
        Result(state=State.OK, notice='Bytes per request: 1657.38'),
        Metric('BytesPerReq', 1657.38),
        Result(state=State.OK, notice='Bytes per second: 0.00'),
        Metric('BytesPerSec', 0.0),
        Result(state=State.OK, notice='Total connections: 0'),
        Metric('ConnsTotal', 0),
        Result(state=State.OK, notice='Async writing connections: 0'),
        Metric('ConnsAsyncWriting', 0),
        Result(state=State.OK, notice='Async keep alive connections: 0'),
        Metric('ConnsAsyncKeepAlive', 0),
        Result(state=State.OK, notice='Async closing connections: 0'),
        Metric('ConnsAsyncClosing', 0),
        Metric('State_Waiting', 49),
        Metric('State_StartingUp', 0),
        Metric('State_ReadingRequest', 0),
        Metric('State_SendingReply', 1),
        Metric('State_Keepalive', 0),
        Metric('State_DNS', 0),
        Metric('State_Closing', 0),
        Metric('State_Logging', 0),
        Metric('State_Finishing', 0),
        Metric('State_IdleCleanup', 0),
        Result(
            state=State.OK,
            notice=('Scoreboard states:\n  Waiting: 49\n  SendingReply: 1')),
    ]
예제 #12
0
def test_uptime_check_basic():

    with on_time('2018-04-15 16:50', 'CET'):
        assert list(
            uptime_utils.check(Parameters({}), uptime_utils.Section(
                123, None))) == [
                    Result(state=State.OK,
                           summary='Up since Apr 15 2018 18:47:57'),
                    Result(state=State.OK,
                           summary='Uptime: 2 minutes 3 seconds'),
                    Metric("uptime", 123.0),
                ]
예제 #13
0
def test_uptime_solaris_inputs(info, reference):

    section = uptime.parse_uptime(info)
    assert section is not None

    # This time freeze has no correlation with the uptime of the test. It
    # is needed for the check output to always return the same infotext.
    # The true test happens on state and perfdata
    with on_time('2018-04-15 16:50', 'CET'):
        result = list(uptime_utils.check(Parameters({}), section))

    assert result == reference
예제 #14
0
def test__check_k8s_stats_fs(section, expected_results):
    vs: ValueStore = {}
    for _ in range(2):
        results = list(
            _check__k8s_stats_fs__core(
                vs,
                "/dev/sda1",
                Parameters({}),
                section,
            ))

    print("\n", "\n".join(str(r) for r in results))
    assert results == expected_results
예제 #15
0
파일: test_ps.py 프로젝트: tboerger/checkmk
def test_host_labels_ps_no_match_pattern():
    section = (
        1,
        [
            (
                ps.ps_info("(root,4056,1512,0.0/52-04:56:05,5689)".split()
                           ),  # type: ignore[call-arg]
                ["/usr/lib/ssh/sshd"],
            ),
        ])
    params = [
        Parameters({
            "default_params": {},
            "descr": "SSH",
            "match": "~wat?",
            "label": {
                'marco': 'polo'
            },
        }),
        Parameters({}),
    ]
    assert list(ps.host_labels_ps(params, section)) == []
예제 #16
0
def test_logwatch_discover_single_restrict(monkeypatch):
    monkeypatch.setattr(logwatch, '_get_discovery_groups', lambda: [])
    monkeypatch.setattr(
        logwatch.logwatch,
        'get_ec_rule_params',
        lambda: [Parameters({'restrict_logfiles': [u'.*2']})],
    )
    assert sorted(
        logwatch.discover_logwatch_single(SECTION2),
        key=lambda s: s.item,
    ) == [
        Service(item='log1'),
        Service(item='log5'),
    ]
예제 #17
0
def test__check_k8s_stats_network(section, expected_results):
    vs: ValueStore = {}
    for _ in range(2):
        section["timestamp"] = section["timestamp"] + 1
        results = list(
            _check__k8s_stats_network__proxy_results(
                vs,
                "eth1",
                Parameters({}),
                section,
                None,
            ))

    print("\n", "\n".join(str(r) for r in results))
    assert results == expected_results
예제 #18
0
def test_discovery_mssql_transactionlogs(section):
    assert sorted(
        msdt.discover_mssql_transactionlogs([Parameters({})], section),
        key=lambda s: s.item or "",  # type: ignore[attr-defined]
    ) == [
        Service(item='MSSQL46.CorreLog_Report_T.CorreLog_Report_T_log'),
        Service(item='MSSQL46.DASH_CONFIG_T.DASH_CONFIG_T_log'),
        Service(item='MSSQL46.NOC_ALARM_T.NOC_ALARM_T_log'),
        Service(item='MSSQL46.NOC_CONFIG_T.NOC_CONFIG_T_log'),
        Service(item='MSSQL46.master.mastlog'),
        Service(item='MSSQL46.model.modellog'),
        Service(item='MSSQL46.msdb.MSDBLog'),
        Service(item='MSSQL46.tempdb.templog'),
        Service(item='MSSQL46.test_autoclose.test_autoclose_log'),
    ]
예제 #19
0
def test_check_netscaler_vservers_clustered_worst(clustered_vservers):
    clustered_vservers[0]['service_state'] = (
        1,
        "transition to out of service",
    )
    assert next(
        _check_netscaler_vservers(
            Parameters({
                "health_levels": (100.0, 0.1),
                "cluster_status": "worst",
            }),
            clustered_vservers,
        )) == Result(
            state=state.WARN,
            summary='Status: transition to out of service (node1)',
            details='Status: transition to out of service (node1)',
        )
예제 #20
0
def test_check_tcp_conn_section():
    assert list(
        tcp_conn_stats.check_tcp_connections(
            Parameters({}),
            {
                'ESTABLISHED': 29,
                'LISTEN': 26,
                # ...
            })) == [
                Result(
                    state=State.OK,
                    summary="Established: 29",
                ),
                Metric("ESTABLISHED", 29),
                Result(
                    state=State.OK,
                    notice="Listen: 26",
                ),
                Metric("LISTEN", 26),
            ]
예제 #21
0
def test_cluster_check_f5_bigip_cluster_status(arg, result):
    assert list(cluster_check_f5_bigip_cluster_status(Parameters(arg[0]), arg[1])) == result
예제 #22
0
def test_check_error(section):

    assert list(check_mssql_databases("MSSQL_Mouse -", Parameters(
        {}), section)) == [
            Result(state=state.CRIT, summary="We are out of cheese!"),
        ]
예제 #23
0
def test_inventory_if():
    with on_time(1601310544, 'UTC'):
        assert list(inventory_if(
            Parameters({}),
            SECTION_INV_IF,
            uptime.Section(7612999, None),
        )) == [
            TableRow(path=['networking', 'interfaces'],
                     key_columns={'index': 1},
                     inventory_columns={
                         'speed': 0,
                         'phys_address': '74:DA:88:58:16:11',
                         'oper_status': 1,
                         'admin_status': 1,
                         'port_type': 6,
                         'available': False
                     },
                     status_columns={
                         'description': 'Vlan-interface1',
                         'alias': '',
                         'last_change': 1593648000
                     }),
            TableRow(path=['networking', 'interfaces'],
                     key_columns={'index': 32769},
                     inventory_columns={
                         'speed': 1000000000,
                         'phys_address': '74:DA:88:58:16:11',
                         'oper_status': 1,
                         'admin_status': 1,
                         'port_type': 6,
                         'available': False
                     },
                     status_columns={
                         'description': 'port-channel 1',
                         'alias': '',
                         'last_change': 1601251200
                     }),
            TableRow(path=['networking', 'interfaces'],
                     key_columns={'index': 49152},
                     inventory_columns={
                         'speed': 0,
                         'phys_address': '',
                         'oper_status': 1,
                         'admin_status': 1,
                         'port_type': 23
                     },
                     status_columns={
                         'description': 'AUX0',
                         'alias': '',
                         'last_change': 1593648000
                     }),
            TableRow(path=['networking', 'interfaces'],
                     key_columns={'index': 49153},
                     inventory_columns={
                         'speed': 1000000000,
                         'phys_address': '74:DA:88:58:16:11',
                         'oper_status': 1,
                         'admin_status': 1,
                         'port_type': 6,
                         'available': False
                     },
                     status_columns={
                         'description': 'gigabitEthernet 1/0/1',
                         'alias': 'Uplink sw-ks-01',
                         'last_change': 1593648000
                     }),
            TableRow(path=['networking', 'interfaces'],
                     key_columns={'index': 49154},
                     inventory_columns={
                         'speed': 0,
                         'phys_address': '74:DA:88:58:16:11',
                         'oper_status': 2,
                         'admin_status': 1,
                         'port_type': 6,
                         'available': False
                     },
                     status_columns={
                         'description': 'gigabitEthernet 1/0/2',
                         'alias': 'Uplink sw-ks-01',
                         'last_change': 1601251200
                     }),
            TableRow(path=['networking', 'interfaces'],
                     key_columns={'index': 49155},
                     inventory_columns={
                         'speed': 1000000000,
                         'phys_address': '74:DA:88:58:16:11',
                         'oper_status': 1,
                         'admin_status': 1,
                         'port_type': 6,
                         'available': False
                     },
                     status_columns={
                         'description': 'gigabitEthernet 1/0/3',
                         'alias': 'pve-muc',
                         'last_change': 1596240000
                     }),
            TableRow(path=['networking', 'interfaces'],
                     key_columns={'index': 49156},
                     inventory_columns={
                         'speed': 0,
                         'phys_address': '74:DA:88:58:16:11',
                         'oper_status': 2,
                         'admin_status': 1,
                         'port_type': 6,
                         'available': True
                     },
                     status_columns={
                         'description': 'gigabitEthernet 1/0/4',
                         'alias': 'pve-muc-ipmi',
                         'last_change': 1593648000
                     }),
            TableRow(path=['networking', 'interfaces'],
                     key_columns={'index': 49157},
                     inventory_columns={
                         'speed': 1000000000,
                         'phys_address': '74:DA:88:58:16:11',
                         'oper_status': 1,
                         'admin_status': 1,
                         'port_type': 6,
                         'available': False
                     },
                     status_columns={
                         'description': 'gigabitEthernet 1/0/5',
                         'alias': 'monitoring',
                         'last_change': 1593648000
                     }),
            TableRow(path=['networking', 'interfaces'],
                     key_columns={'index': 49158},
                     inventory_columns={
                         'speed': 1000000000,
                         'phys_address': '74:DA:88:58:16:11',
                         'oper_status': 1,
                         'admin_status': 1,
                         'port_type': 6,
                         'available': False
                     },
                     status_columns={
                         'description': 'gigabitEthernet 1/0/6',
                         'alias': 'monitoring-ipmi',
                         'last_change': 1593648000
                     }),
            TableRow(path=['networking', 'interfaces'],
                     key_columns={'index': 49159},
                     inventory_columns={
                         'speed': 10000000,
                         'phys_address': '74:DA:88:58:16:11',
                         'oper_status': 1,
                         'admin_status': 1,
                         'port_type': 6,
                         'available': False
                     },
                     status_columns={
                         'description': 'gigabitEthernet 1/0/7',
                         'alias': 'pve-muc',
                         'last_change': 1593648000
                     }),
            TableRow(path=['networking', 'interfaces'],
                     key_columns={'index': 49160},
                     inventory_columns={
                         'speed': 1000000000,
                         'phys_address': '74:DA:88:58:16:11',
                         'oper_status': 1,
                         'admin_status': 1,
                         'port_type': 6,
                         'available': False
                     },
                     status_columns={
                         'description': 'gigabitEthernet 1/0/8',
                         'alias': 'pve-muc1-ipmi',
                         'last_change': 1601251200
                     }),
            TableRow(path=['networking', 'interfaces'],
                     key_columns={'index': 49161},
                     inventory_columns={
                         'speed': 0,
                         'phys_address': '74:DA:88:58:16:11',
                         'oper_status': 2,
                         'admin_status': 1,
                         'port_type': 6,
                         'available': False
                     },
                     status_columns={
                         'description': 'gigabitEthernet 1/0/9',
                         'alias': 'esxi',
                         'last_change': 1599004800
                     }),
            TableRow(path=['networking', 'interfaces'],
                     key_columns={'index': 49162},
                     inventory_columns={
                         'speed': 0,
                         'phys_address': '74:DA:88:58:16:11',
                         'oper_status': 2,
                         'admin_status': 1,
                         'port_type': 6,
                         'available': True
                     },
                     status_columns={
                         'description': 'gigabitEthernet 1/0/10',
                         'alias': '',
                         'last_change': 1593648000
                     }),
            TableRow(path=['networking', 'interfaces'],
                     key_columns={'index': 49163},
                     inventory_columns={
                         'speed': 0,
                         'phys_address': '74:DA:88:58:16:11',
                         'oper_status': 2,
                         'admin_status': 1,
                         'port_type': 6,
                         'available': True
                     },
                     status_columns={
                         'description': 'gigabitEthernet 1/0/11',
                         'alias': '',
                         'last_change': 1593648000
                     }),
            TableRow(path=['networking', 'interfaces'],
                     key_columns={'index': 49164},
                     inventory_columns={
                         'speed': 0,
                         'phys_address': '74:DA:88:58:16:11',
                         'oper_status': 2,
                         'admin_status': 1,
                         'port_type': 6,
                         'available': True
                     },
                     status_columns={
                         'description': 'gigabitEthernet 1/0/12',
                         'alias': '',
                         'last_change': 1593648000
                     }),
            TableRow(path=['networking', 'interfaces'],
                     key_columns={'index': 49165},
                     inventory_columns={
                         'speed': 0,
                         'phys_address': '74:DA:88:58:16:11',
                         'oper_status': 2,
                         'admin_status': 1,
                         'port_type': 6,
                         'available': True
                     },
                     status_columns={
                         'description': 'gigabitEthernet 1/0/13',
                         'alias': '',
                         'last_change': 1593648000
                     }),
            TableRow(path=['networking', 'interfaces'],
                     key_columns={'index': 49166},
                     inventory_columns={
                         'speed': 0,
                         'phys_address': '74:DA:88:58:16:11',
                         'oper_status': 2,
                         'admin_status': 1,
                         'port_type': 6,
                         'available': True
                     },
                     status_columns={
                         'description': 'gigabitEthernet 1/0/14',
                         'alias': '',
                         'last_change': 1593648000
                     }),
            TableRow(path=['networking', 'interfaces'],
                     key_columns={'index': 49167},
                     inventory_columns={
                         'speed': 1000000000,
                         'phys_address': '74:DA:88:58:16:11',
                         'oper_status': 1,
                         'admin_status': 1,
                         'port_type': 6,
                         'available': False
                     },
                     status_columns={
                         'description': 'gigabitEthernet 1/0/15',
                         'alias': '',
                         'last_change': 1597190400
                     }),
            TableRow(path=['networking', 'interfaces'],
                     key_columns={'index': 49168},
                     inventory_columns={
                         'speed': 0,
                         'phys_address': '74:DA:88:58:16:11',
                         'oper_status': 2,
                         'admin_status': 1,
                         'port_type': 6,
                         'available': True
                     },
                     status_columns={
                         'description': 'gigabitEthernet 1/0/16',
                         'alias': '',
                         'last_change': 1593648000
                     }),
            TableRow(path=['networking', 'interfaces'],
                     key_columns={'index': 49169},
                     inventory_columns={
                         'speed': 0,
                         'phys_address': '74:DA:88:58:16:11',
                         'oper_status': 2,
                         'admin_status': 1,
                         'port_type': 6,
                         'available': True
                     },
                     status_columns={
                         'description': 'gigabitEthernet 1/0/17',
                         'alias': '',
                         'last_change': 1593648000
                     }),
            TableRow(path=['networking', 'interfaces'],
                     key_columns={'index': 49170},
                     inventory_columns={
                         'speed': 0,
                         'phys_address': '74:DA:88:58:16:11',
                         'oper_status': 2,
                         'admin_status': 1,
                         'port_type': 6,
                         'available': True
                     },
                     status_columns={
                         'description': 'gigabitEthernet 1/0/18',
                         'alias': '',
                         'last_change': 1593648000
                     }),
            TableRow(path=['networking', 'interfaces'],
                     key_columns={'index': 49171},
                     inventory_columns={
                         'speed': 0,
                         'phys_address': '74:DA:88:58:16:11',
                         'oper_status': 2,
                         'admin_status': 1,
                         'port_type': 6,
                         'available': True
                     },
                     status_columns={
                         'description': 'gigabitEthernet 1/0/19',
                         'alias': '',
                         'last_change': 1593648000
                     }),
            TableRow(path=['networking', 'interfaces'],
                     key_columns={'index': 49172},
                     inventory_columns={
                         'speed': 0,
                         'phys_address': '74:DA:88:58:16:11',
                         'oper_status': 2,
                         'admin_status': 1,
                         'port_type': 6,
                         'available': True
                     },
                     status_columns={
                         'description': 'gigabitEthernet 1/0/20',
                         'alias': '',
                         'last_change': 1593648000
                     }),
            TableRow(path=['networking', 'interfaces'],
                     key_columns={'index': 49173},
                     inventory_columns={
                         'speed': 0,
                         'phys_address': '74:DA:88:58:16:11',
                         'oper_status': 2,
                         'admin_status': 1,
                         'port_type': 6,
                         'available': True
                     },
                     status_columns={
                         'description': 'gigabitEthernet 1/0/21',
                         'alias': '',
                         'last_change': 1593648000
                     }),
            TableRow(path=['networking', 'interfaces'],
                     key_columns={'index': 49174},
                     inventory_columns={
                         'speed': 0,
                         'phys_address': '74:DA:88:58:16:11',
                         'oper_status': 2,
                         'admin_status': 1,
                         'port_type': 6,
                         'available': True
                     },
                     status_columns={
                         'description': 'gigabitEthernet 1/0/22',
                         'alias': '',
                         'last_change': 1593648000
                     }),
            TableRow(path=['networking', 'interfaces'],
                     key_columns={'index': 49175},
                     inventory_columns={
                         'speed': 0,
                         'phys_address': '74:DA:88:58:16:11',
                         'oper_status': 2,
                         'admin_status': 1,
                         'port_type': 6,
                         'available': True
                     },
                     status_columns={
                         'description': 'gigabitEthernet 1/0/23',
                         'alias': ' ',
                         'last_change': 1593648000
                     }),
            TableRow(path=['networking', 'interfaces'],
                     key_columns={'index': 49176},
                     inventory_columns={
                         'speed': 0,
                         'phys_address': '74:DA:88:58:16:11',
                         'oper_status': 2,
                         'admin_status': 1,
                         'port_type': 6,
                         'available': True
                     },
                     status_columns={
                         'description': 'gigabitEthernet 1/0/24',
                         'alias': ' ',
                         'last_change': 1593648000
                     }),
            TableRow(path=['networking', 'interfaces'],
                     key_columns={'index': 49177},
                     inventory_columns={
                         'speed': 0,
                         'phys_address': '74:DA:88:58:16:11',
                         'oper_status': 2,
                         'admin_status': 1,
                         'port_type': 6,
                         'available': True
                     },
                     status_columns={
                         'description': 'gigabitEthernet 1/0/25',
                         'alias': '',
                         'last_change': 1593648000
                     }),
            TableRow(path=['networking', 'interfaces'],
                     key_columns={'index': 49178},
                     inventory_columns={
                         'speed': 0,
                         'phys_address': '74:DA:88:58:16:11',
                         'oper_status': 2,
                         'admin_status': 1,
                         'port_type': 6,
                         'available': True
                     },
                     status_columns={
                         'description': 'gigabitEthernet 1/0/26',
                         'alias': '',
                         'last_change': 1593648000
                     }),
            TableRow(path=['networking', 'interfaces'],
                     key_columns={'index': 49179},
                     inventory_columns={
                         'speed': 0,
                         'phys_address': '74:DA:88:58:16:11',
                         'oper_status': 2,
                         'admin_status': 1,
                         'port_type': 6,
                         'available': True
                     },
                     status_columns={
                         'description': 'gigabitEthernet 1/0/27',
                         'alias': '',
                         'last_change': 1593648000
                     }),
            TableRow(path=['networking', 'interfaces'],
                     key_columns={'index': 49180},
                     inventory_columns={
                         'speed': 0,
                         'phys_address': '74:DA:88:58:16:11',
                         'oper_status': 2,
                         'admin_status': 1,
                         'port_type': 6,
                         'available': True
                     },
                     status_columns={
                         'description': 'gigabitEthernet 1/0/28',
                         'alias': '',
                         'last_change': 1593648000
                     }),
            Attributes(path=['networking'],
                       inventory_attributes={
                           'available_ethernet_ports': '19',
                           'total_ethernet_ports': '30',
                           'total_interfaces': '31'
                       },
                       status_attributes={}),
        ]
예제 #24
0
    ]),
])
def test_discovery_cisco_mem(string_table, expected_parsed_data):
    assert (list(discovery_cisco_mem(string_table)) == list(
        Service(item=item) for item in expected_parsed_data))


@pytest.mark.parametrize("check_args,expected_result", [
    (
        {
            "item":
            "MEMPOOL_DMA",
            "params":
            Parameters({
                'trend_perfdata': True,
                'trend_range': 24,
                'trend_showtimeleft': True,
                'trend_timeleft': (12, 6)
            }),
            "section": {
                'System memory': ['3848263744', '8765044672'],
                'MEMPOOL_MSGLYR': ['123040', '8265568'],
                'MEMPOOL_DMA': ['429262192', '378092176'],
                'MEMPOOL_GLOBAL_SHARED': ['1092814800', '95541296'],
            }
        },
        (
            Result(state=state.OK,
                   summary='Usage: 53.2% - 409 MiB of 770 MiB'),
            Metric(
                'mem_used_percent', 53.16899356888102, boundaries=(0.0, None)),
        ),
예제 #25
0
def test_check_f5_bigip_config_sync_v11_plus(section, result):
    assert list(
        check_f5_bigip_config_sync_v11_plus(
            Parameters(CONFIG_SYNC_DEFAULT_PARAMETERS),
            State(*section),
        )) == result