def test_hit_registered_for_None(self): from zope.interface import Interface from zope.interface import implementer from guillotina.component import getGlobalSiteManager class IFoo(Interface): pass @implementer(IFoo) class Baz(object): def __init__(self, context): self.context = context getGlobalSiteManager().registerAdapter(Baz, (None,), IFoo, '') ctx = object() adapted = IFoo(ctx) self.assertTrue(adapted.__class__ is Baz) self.assertTrue(adapted.context is ctx)
def del_async_utility(self, config): self.cancel_async_utility(config['provides']) interface = import_class(config['provides']) utility = getUtility(interface) gsm = getGlobalSiteManager() gsm.unregisterUtility(utility, provided=interface) del self._async_utilities[config['provides']]
def test_hit(self): from zope.interface import Interface from zope.interface import implementer from guillotina.component import getGlobalSiteManager class IFoo(Interface): pass class IBar(Interface): pass @implementer(IBar) class Bar(object): pass @implementer(IFoo) class Baz(object): def __init__(self, context): self.context = context getGlobalSiteManager().registerAdapter(Baz, (IBar,), IFoo, '') bar = Bar() adapted = IFoo(bar) self.assertTrue(adapted.__class__ is Baz) self.assertTrue(adapted.context is bar)
async def get_all_subscribers(context, request): subscribers = { } sm = component.getGlobalSiteManager() for registration in sm.registeredHandlers(): if len(registration.required) != 2: continue handler = get_dotted_name(registration.handler) event = get_dotted_name(registration.required[1]) resource = get_dotted_name(registration.required[0]) if resource not in subscribers: subscribers[resource] = {} if event not in subscribers[resource]: subscribers[resource][event] = [] subscribers[resource][event].append(handler) return subscribers