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
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
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
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
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'
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'
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'
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'
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'
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'
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'
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'
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'
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'
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'