def test_request_not_annotatable(self): context = FauxContext() request = FauxRequest() setRequest(request) configlet= CachePurgingConfiglet() provideUtility(configlet, ICachePurgingConfiglet) settings = getUtility(ICachePurgingConfiglet) settings.enabled = True settings.cachingProxies = ('http://localhost:1234',) class FauxPurgePaths(object): implements(IPurgePaths) adapts(FauxContext) def __init__(self, context): self.context = context def getRelativePaths(self): return ['/foo', '/bar'] def getAbsolutePaths(self): return [] provideAdapter(FauxPurgePaths, name="test1") try: notify(Purge(context)) except: self.fail()
def test_request_not_annotatable(self): request = FauxRequest() configlet= CachePurgingConfiglet() provideUtility(configlet, ICachePurgingConfiglet) settings = getUtility(ICachePurgingConfiglet) settings.enabled = True settings.cachingProxies = ('http://localhost:1234',) class FauxPurger(object): implements(IPurger) def __init__(self): self.purged = [] def purgeAsync(self, url, httpVerb='PURGE'): self.purged.append(url) purger = FauxPurger() provideUtility(purger) notify(EndRequestEvent(None, request)) self.assertEquals([], purger.purged)
def test_purge(self): request = FauxRequest() alsoProvides(request, IAttributeAnnotatable) IAnnotations(request)['zojax.cachepurging.urls'] = set(['/foo', '/bar']) configlet= CachePurgingConfiglet() provideUtility(configlet, ICachePurgingConfiglet) settings = getUtility(ICachePurgingConfiglet) settings.enabled = True settings.cachingProxies = ('http://localhost:1234',) class FauxPurger(object): implements(IPurger) def __init__(self): self.purged = [] def purgeAsync(self, url, httpVerb='PURGE'): self.purged.append(url) purger = FauxPurger() provideUtility(purger) notify(EndRequestEvent(None, request)) self.assertEquals(['http://localhost:1234/foo', 'http://localhost:1234/bar'], purger.purged)
def test_enabled(self): context = FauxContext() request = FauxRequest() alsoProvides(request, IAttributeAnnotatable) setRequest(request) configlet= CachePurgingConfiglet() provideUtility(configlet, ICachePurgingConfiglet) settings = getUtility(ICachePurgingConfiglet) settings.enabled = True settings.cachingProxies = ('http://localhost:1234',) class FauxPurgePaths(object): implements(IPurgePaths) adapts(FauxContext) def __init__(self, context): self.context = context def getRelativePaths(self): return ['/foo', '/bar'] def getAbsolutePaths(self): return [] provideAdapter(FauxPurgePaths, name="test1") notify(Purge(context)) self.assertEquals({'zojax.cachepurging.urls': set(['/foo', '/bar'])}, dict(IAnnotations(request)))
def setUp(self): #self.registry = Registry() #self.registry.registerInterface(ICachePurgingConfiglet) #provideUtility(self.registry, IRegistry) self.settings = CachePurgingConfiglet() self.settings.enabled = True self.settings.cachingProxies = ('http://localhost:1234',) class FauxPurgePaths(object): implements(IPurgePaths) adapts(FauxContext) def __init__(self, context): self.context = context def getRelativePaths(self): return ['/foo', '/bar'] def getAbsolutePaths(self): return [] provideAdapter(FauxPurgePaths, name="test1") class FauxPurger(object): implements(IPurger) def purgeSync(self, url, httpVerb='PURGE'): return "200 OK", "cached", None provideUtility(FauxPurger())
def setUp(self): #self.registry = queryUtility(IRegistry) #self.registry = Registry() #self.registry.registerInterface(ICachePurgingConfiglet) #provideUtility(self.registry, IRegistry) context = FauxContext() self.settings = CachePurgingConfiglet() self.settings.enabled = True self.settings.cachingProxies = ('http://localhost:1234',) self.handler = Handler() provideHandler(self.handler.handler)
def test_no_purger(self): request = FauxRequest() alsoProvides(request, IAttributeAnnotatable) IAnnotations(request)['zojax.cachepurging.urls'] = set(['/foo', '/bar']) configlet= CachePurgingConfiglet() provideUtility(configlet, ICachePurgingConfiglet) settings = getUtility(ICachePurgingConfiglet) settings.enabled = True settings.cachingProxies = ('http://localhost:1234',) try: notify(EndRequestEvent(None, request)) except: self.fail()
def test_enabled_no_paths(self): context = FauxContext() request = FauxRequest() alsoProvides(request, IAttributeAnnotatable) setRequest(request) configlet= CachePurgingConfiglet() provideUtility(configlet, ICachePurgingConfiglet) settings = getUtility(ICachePurgingConfiglet) settings.enabled = True settings.cachingProxies = ('http://localhost:1234',) notify(Purge(context)) self.assertEquals({'zojax.cachepurging.urls': set()}, dict(IAnnotations(request)))