Example #1
0
def test_simple_registry_with_minimal_signature(mocker):
    cause = mocker.Mock(event=None, diff=None)

    registry = SimpleRegistry()
    registry.register(some_fn)
    handlers = registry.get_state_changing_handlers(cause)

    assert len(handlers) == 1
    assert handlers[0].fn is some_fn
Example #2
0
def test_simple_registry_via_list(mocker):
    cause = mocker.Mock(event=None, diff=None)

    registry = SimpleRegistry()
    handlers = registry.get_state_changing_handlers(cause)

    assert isinstance(handlers, collections.abc.Iterable)
    assert isinstance(handlers, collections.abc.Container)
    assert isinstance(handlers, collections.abc.Collection)
    assert not handlers
Example #3
0
def test_with_prefix(mocker):
    get_fn_id = mocker.patch('kopf.reactor.registries.get_callable_id',
                             return_value='some-id')

    registry = SimpleRegistry(prefix='some-prefix')
    registry.register(some_fn)
    handlers = registry.get_state_changing_handlers(mocker.MagicMock())

    assert get_fn_id.called

    assert len(handlers) == 1
    assert handlers[0].fn is some_fn
    assert handlers[0].id == 'some-prefix/some-id'
Example #4
0
def test_with_explicit_id_and_prefix_and_suffix(mocker, field):
    get_fn_id = mocker.patch('kopf.reactor.registries.get_callable_id',
                             return_value='some-id')
    diff = [('add', ('some-field', 'sub-field'), 'old', 'new')]

    registry = SimpleRegistry(prefix='some-prefix')
    registry.register(some_fn, id='explicit-id', field=field)
    handlers = registry.get_state_changing_handlers(
        mocker.MagicMock(diff=diff))

    assert not get_fn_id.called

    assert len(handlers) == 1
    assert handlers[0].fn is some_fn
    assert handlers[0].id == 'some-prefix/explicit-id/some-field.sub-field'