示例#1
0
def test_call_exception_handling(mocker):
    hooks.register_builtin("bli", lambda: 1.0 / 0.0)
    hook3_mock = mocker.Mock()
    hooks.register("bli", hook3_mock)
    with pytest.raises(ZeroDivisionError, match="float division by zero"):
        hooks.call("bli")
    hook3_mock.assert_not_called()
示例#2
0
def test_hooks(logged_in_wsgi_app, mock_livestatus):
    start_func = MagicMock()
    end_func = MagicMock()
    hooks.register("request-start", start_func)
    hooks.register("request-end", end_func)
    logged_in_wsgi_app.get("/NO_SITE/check_mk/", status=200)

    start_func.assert_called_once()
    end_func.assert_called_once()
示例#3
0
def test_call(mocker):
    hook1_mock = mocker.Mock()
    hook2_mock = mocker.Mock()
    hooks.register("bla", hook1_mock)
    hooks.register("blub", hook2_mock)

    hooks.call("bla")
    hook1_mock.assert_called_once()
    hook2_mock.assert_not_called()

    hooks.call("blub")
    hook1_mock.assert_called_once()
    hook2_mock.assert_called_once()
示例#4
0
def test_hook_registration():
    assert hooks.hooks == {}

    # pre 1.6 API
    hooks.register("bla", lambda: True)
    assert hooks.get("bla")[0].is_builtin == False

    hooks.register_builtin("blub", lambda: True)
    hooks.register_from_plugin("blub", lambda: False)
    assert hooks.get("blub")[0].is_builtin == True
    assert hooks.get("blub")[1].is_builtin == False

    assert hooks.registered("bla") == True
    assert hooks.registered("blub") == True
    assert hooks.registered("bli") == False

    assert len(hooks.get("bla")) == 1
    assert len(hooks.get("blub")) == 2
    assert len(hooks.get("bli")) == 0