Пример #1
0
def test_check__warning__exited(mocker):
    """
    Test "check" method must return human readable statuses and exit code
    (warning case) (exited state).

    :param mocker: mock
    :type mocker: MockerFixture
    """

    expected = (
        "WARNING: something curiously with 'example-warning': (EXITED), 'example': OK"
    )
    data = [
        {
            "description": "pid 666, uptime 0 days, 0:00:00",
            "pid": 666,
            "stderr_logfile": "",
            "stop": 0,
            "logfile": "/var/log/example.log",
            "exitstatus": 0,
            "spawnerr": "",
            "now": 0,
            "group": "example",
            "name": "example",
            "statename": "RUNNING",
            "start": 0,
            "state": 20,
            "stdout_logfile": "/var/log/example.log",
        },
        {
            "description": "pid 666, uptime 0 days, 0:00:00",
            "pid": 666,
            "stderr_logfile": "",
            "stop": 0,
            "logfile": "/var/log/example.log",
            "exitstatus": 0,
            "spawnerr": "",
            "now": 0,
            "group": "example-warning",
            "name": "example-warning",
            "statename": "EXITED",
            "start": 0,
            "state": 100,
            "stdout_logfile": "/var/log/example.log",
        },
    ]
    mocker.patch("sys.argv",
                 ["check_supervisord.py", "-s", "127.0.0.1", "-p", "9001"])
    mocker.patch(
        "{name}._Method.__call__".format(**{"name": xmlrpclib.__name__}),
        return_value=data,
    )
    checker = CheckSupervisord()
    result, code = checker.check()

    assert result.strip() == expected  # nosec: B101
    assert code == 1  # nosec: B101
Пример #2
0
def test_check__unknown(mocker):
    """
    Test "check" method must return human readable statuses and exit code
    (unknown case).

    :param mocker: mock
    :type mocker: MockerFixture
    """

    expected = "UNKNOWN: 'example-unknown' not found in server response, 'example': OK"
    data = [
        {
            "description": "pid 666, uptime 0 days, 0:00:00",
            "pid": 666,
            "stderr_logfile": "",
            "stop": 0,
            "logfile": "/var/log/example.log",
            "exitstatus": 0,
            "spawnerr": "",
            "now": 0,
            "group": "example",
            "name": "example",
            "statename": "RUNNING",
            "start": 0,
            "state": 20,
            "stdout_logfile": "/var/log/example.log",
        },
        {
            "description": "pid 666, uptime 0 days, 0:00:00",
            "pid": 666,
            "stderr_logfile": "",
            "stop": 0,
            "logfile": "/var/log/example.log",
            "exitstatus": 0,
            "spawnerr": "",
            "now": 0,
            "group": "example-unknown",
            "name": "example-unknown",
            "statename": "UNKNOWN",
            "start": 0,
            "state": 1000,
            "stdout_logfile": "/var/log/example.log",
        },
    ]
    mocker.patch("sys.argv",
                 ["check_supervisord.py", "-s", "127.0.0.1", "-p", "9001"])
    mocker.patch(
        "{name}._Method.__call__".format(**{"name": xmlrpclib.__name__}),
        return_value=data,
    )
    checker = CheckSupervisord()
    result, code = checker.check()

    assert result.strip() == expected  # nosec: B101
    assert code == 3  # nosec: B101
Пример #3
0
def test_check__unknown__no_data(mocker):
    """
    Test "check" method must return human readable statuses and exit code (unknown case)
    (no data).

    :param mocker: mock
    :type mocker: MockerFixture
    """

    expected = "UNKNOWN: No program configured/found"
    data = []
    mocker.patch("sys.argv",
                 ["check_supervisord.py", "-s", "127.0.0.1", "-p", "9001"])
    mocker.patch(
        "{name}._Method.__call__".format(**{"name": xmlrpclib.__name__}),
        return_value=data,
    )
    checker = CheckSupervisord()
    result, code = checker.check()

    assert result.strip() == expected  # nosec: B101
    assert code == 3  # nosec: B101