def test_subhandler_fails_with_no_parent_handler(): registry = ResourceChangingRegistry() subregistry_var.set(registry) # Check if the contextvar is indeed not set (as a prerequisite). with pytest.raises(LookupError): handler_var.get() # Check the actual behaviour of the decorator. with pytest.raises(LookupError): @kopf.on.this() def fn(**_): pass
def test_subhandler_imperatively(mocker): cause = mocker.MagicMock(reason=Reason.UPDATE, diff=None) registry = ResourceChangingRegistry() subregistry_var.set(registry) def fn(**_): pass kopf.register(fn) handlers = registry.get_handlers(cause) assert len(handlers) == 1 assert handlers[0].fn is fn
def test_subhandler_imperatively(mocker): cause = mocker.MagicMock(event=UPDATE, diff=None) registry = SimpleRegistry() subregistry_var.set(registry) def fn(**_): pass kopf.register(fn) handlers = registry.get_cause_handlers(cause) assert len(handlers) == 1 assert handlers[0].fn is fn
def test_subhandler_imperatively(parent_handler, cause_factory): cause = cause_factory(reason=Reason.UPDATE) registry = ResourceChangingRegistry() subregistry_var.set(registry) def fn(**_): pass with context([(handler_var, parent_handler)]): kopf.register(fn) handlers = registry.get_handlers(cause) assert len(handlers) == 1 assert handlers[0].fn is fn
def test_subhandler_declaratively(mocker, parent_handler): cause = mocker.MagicMock(reason=Reason.UPDATE, diff=None) registry = ResourceChangingRegistry() subregistry_var.set(registry) with context([(handler_var, parent_handler)]): @kopf.on.this() def fn(**_): pass handlers = registry.get_handlers(cause) assert len(handlers) == 1 assert handlers[0].fn is fn
def test_subhandler_declaratively(parent_handler, cause_factory): cause = cause_factory(reason=Reason.UPDATE) registry = SimpleRegistry() subregistry_var.set(registry) with context([(handler_var, parent_handler)]): @kopf.on.this() def fn(**_): pass 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 fn
def test_subhandler_declaratively(mocker): cause = mocker.MagicMock(reason=Reason.UPDATE, diff=None) registry = SimpleRegistry() subregistry_var.set(registry) @kopf.on.this() def fn(**_): pass 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 fn
def test_subhandler_imperatively(parent_handler, cause_factory): cause = cause_factory(reason=Reason.UPDATE) registry = SimpleRegistry() subregistry_var.set(registry) def fn(**_): pass with context([(handler_var, parent_handler)]): kopf.register(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 fn