Exemplo n.º 1
0
def test_callback_registry_callbacks_default(mocker):
    callback = mocker.Mock()
    registry = CallbackRegistry()

    assert registry.callbacks() == []

    registry.register(None, callback)
    assert registry.callbacks() == [Callback(callback)]
Exemplo n.º 2
0
def test_callback_registry_callbacks(mocker):
    callback_one = mocker.Mock()
    callback_two = mocker.Mock()
    callback_default = mocker.Mock()

    registry = CallbackRegistry()
    registry.register("one", callback_one)
    registry.register("two", callback_two)
    registry.register(None, callback_default)

    assert registry.callbacks() == [Callback(callback_default)]
    assert registry.callbacks("one") == [Callback(callback_one)]
    assert registry.callbacks("two") == [Callback(callback_two)]
Exemplo n.º 3
0
def test_callback_registry_multiple(mocker):
    callback_one = mocker.Mock()
    callback_two = mocker.Mock()
    registry = CallbackRegistry(
        callbacks={"event": [callback_one, callback_two]})

    assert len(registry.callbacks("event")) == 2

    registry.dispatch("event", "event")

    callback_one.assert_called_once()
    callback_one.assert_called_once_with("event")

    callback_two.assert_called_once()
    callback_two.assert_called_once_with("event")

    callback_one.reset_mock()
    callback_two.reset_mock()

    registry.deregister("event", callback_two)
    registry.dispatch("event", "event")

    callback_one.assert_called_once()
    callback_one.assert_called_once_with("event")

    callback_two.assert_not_called()