Пример #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_cause_handlers(cause)

    assert len(handlers) == 1
    assert handlers[0].fn is some_fn
Пример #2
0
def test_simple_registry_with_minimal_signature(mocker):
    cause = mocker.Mock(event=None, diff=None)

    registry = SimpleRegistry()
    registry.register(some_fn)
    with pytest.deprecated_call(
            match=r"use ResourceChangingRegistry.get_handlers\(\)"):
        handlers = registry.get_cause_handlers(cause)

    assert len(handlers) == 1
    assert handlers[0].fn is some_fn
Пример #3
0
def test_simple_registry_with_minimal_signature(cause_factory):

    cause = cause_factory()
    registry = SimpleRegistry()
    with pytest.deprecated_call(match=r"use @kopf.on"):
        registry.register(some_fn)
    with pytest.deprecated_call(match=r"cease using the internal registries"):
        handlers = registry.get_cause_handlers(cause)

    assert len(handlers) == 1
    assert handlers[0].fn is some_fn
Пример #4
0
def test_simple_registry_with_minimal_signature(cause_factory):

    cause = cause_factory()
    registry = SimpleRegistry()
    with pytest.deprecated_call(match=r"registry.register\(\) is deprecated"):
        registry.register(some_fn)
    with pytest.deprecated_call(
            match=r"use ResourceChangingRegistry.get_handlers\(\)"):
        handlers = registry.get_cause_handlers(cause)

    assert len(handlers) == 1
    assert handlers[0].fn is some_fn
Пример #5
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'
Пример #6
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)
    with pytest.deprecated_call(match=r"get_cause_handlers\(\) is deprecated"):
        handlers = registry.get_cause_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'
Пример #7
0
def test_with_no_hints(mocker):
    get_fn_id = mocker.patch('kopf.reactor.registries.get_callable_id',
                             return_value='some-id')

    registry = SimpleRegistry()
    registry.register(some_fn)
    handlers = registry.get_cause_handlers(mocker.MagicMock())

    assert get_fn_id.called

    assert len(handlers) == 1
    assert handlers[0].fn is some_fn
    assert handlers[0].id == 'some-id'
Пример #8
0
def test_with_explicit_id_and_prefix_and_suffix(mocker, field):
    get_fn_id = mocker.patch('kopf.reactor.registry.get_callable_id',
                             return_value='some-id')

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

    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'
Пример #9
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)
    with pytest.deprecated_call(match=r"get_cause_handlers\(\) is deprecated"):
        handlers = registry.get_cause_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'
Пример #10
0
def test_with_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, field=field)
    handlers = registry.get_handlers(mocker.MagicMock(diff=diff))

    assert get_fn_id.called

    assert len(handlers) == 1
    assert handlers[0].fn is some_fn
    assert handlers[0].id == 'some-prefix/some-id/some-field.sub-field'
Пример #11
0
def test_with_prefix(mocker, cause_factory):
    get_fn_id = mocker.patch('kopf.reactor.registries.get_callable_id',
                             return_value='some-id')
    cause = cause_factory()

    registry = SimpleRegistry()
    with pytest.deprecated_call(match=r"use @kopf.on"):
        registry.register(some_fn)
    with pytest.deprecated_call(match=r"cease using the internal registries"):
        handlers = registry.get_cause_handlers(cause)

    assert get_fn_id.called

    assert len(handlers) == 1
    assert handlers[0].fn is some_fn
    assert handlers[0].id == 'some-prefix/some-id'
Пример #12
0
def test_with_no_hints(mocker, cause_factory):
    get_fn_id = mocker.patch('kopf.reactor.registries.get_callable_id',
                             return_value='some-id')
    cause = cause_factory()

    registry = SimpleRegistry()
    with pytest.deprecated_call(match=r"registry.register\(\) is deprecated"):
        registry.register(some_fn)
    with pytest.deprecated_call(match=r"get_cause_handlers\(\) is deprecated"):
        handlers = registry.get_cause_handlers(cause)

    assert get_fn_id.called

    assert len(handlers) == 1
    assert handlers[0].fn is some_fn
    assert handlers[0].id == 'some-id'
Пример #13
0
def test_with_explicit_id_and_prefix_and_suffix(mocker, field, cause_factory):
    get_fn_id = mocker.patch('kopf.reactor.registries.get_callable_id',
                             return_value='some-id')
    diff = [('add', ('some-field', 'sub-field'), 'old', 'new')]
    cause = cause_factory(diff=diff)

    registry = SimpleRegistry(prefix='some-prefix')
    with pytest.deprecated_call(match=r"use @kopf.on"):
        registry.register(some_fn, id='explicit-id', field=field)
    with pytest.deprecated_call(match=r"cease using the internal registries"):
        handlers = registry.get_cause_handlers(cause)

    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'
Пример #14
0
def test_with_suffix(mocker, field, cause_factory):
    get_fn_id = mocker.patch('kopf.reactor.registries.get_callable_id',
                             return_value='some-id')
    diff = [('add', ('some-field', 'sub-field'), 'old', 'new')]
    cause = cause_factory(diff=diff)

    registry = SimpleRegistry()
    with pytest.deprecated_call(match=r"registry.register\(\) is deprecated"):
        registry.register(some_fn, field=field)
    with pytest.deprecated_call(match=r"get_cause_handlers\(\) is deprecated"):
        handlers = registry.get_cause_handlers(cause)

    assert get_fn_id.called

    assert len(handlers) == 1
    assert handlers[0].fn is some_fn
    assert handlers[0].id == 'some-id/some-field.sub-field'
Пример #15
0
def test_with_suffix(mocker, field, cause_factory):
    get_fn_id = mocker.patch('kopf.reactor.registries.get_callable_id',
                             return_value='some-id')
    old = {'some-field': {'sub-field': 'old'}}
    new = {'some-field': {'sub-field': 'new'}}
    cause = cause_factory(old=old, new=new, body=new)

    registry = SimpleRegistry()
    with pytest.deprecated_call(match=r"use @kopf.on"):
        registry.register(some_fn, field=field)
    with pytest.deprecated_call(match=r"cease using the internal registries"):
        handlers = registry.get_cause_handlers(cause)

    assert get_fn_id.called

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