class MemCacheChangeNotifierTests(TestCase): def setUp(self): TestCase.setUp(self) self.memcache = InMemoryMemcacheProtocol() self.ccn = MemcacheChangeNotifier(StubURLResource(':memory:'), cachePool=self.memcache) self.ccn._newCacheToken = instancemethod(_newCacheToken, self.ccn, MemcacheChangeNotifier) def assertToken(self, expectedToken): token = self.memcache._cache['cacheToken::memory:'][1] self.assertEquals(token, expectedToken) def test_cacheTokenPropertyIsProvisioned(self): d = self.ccn.changed() d.addCallback(lambda _: self.assertToken('token0')) return d def test_changedChangesToken(self): d = self.ccn.changed() d.addCallback(lambda _: self.ccn.changed()) d.addCallback(lambda _: self.assertToken('token1')) return d def tearDown(self): for call in self.memcache._timeouts.itervalues(): call.cancel() MemcacheChangeNotifier._memcacheProtocol = None
class MemCacheChangeNotifierTests(TestCase): def setUp(self): TestCase.setUp(self) self.memcache = InMemoryMemcacheProtocol() self.ccn = MemcacheChangeNotifier( StubURLResource(':memory:'), cachePool=self.memcache) self.ccn._newCacheToken = instancemethod(_newCacheToken, self.ccn, MemcacheChangeNotifier) def assertToken(self, expectedToken): token = self.memcache._cache['cacheToken::memory:'][1] self.assertEquals(token, expectedToken) def test_cacheTokenPropertyIsProvisioned(self): d = self.ccn.changed() d.addCallback(lambda _: self.assertToken('token0')) return d def test_changedChangesToken(self): d = self.ccn.changed() d.addCallback(lambda _: self.ccn.changed()) d.addCallback(lambda _: self.assertToken('token1')) return d def tearDown(self): for call in self.memcache._timeouts.itervalues(): call.cancel() MemcacheChangeNotifier._memcacheProtocol = None
def setUp(self): TestCase.setUp(self) self.memcache = InMemoryMemcacheProtocol() self.ccn = MemcacheChangeNotifier(StubURLResource(':memory:'), cachePool=self.memcache) self.ccn._newCacheToken = instancemethod(_newCacheToken, self.ccn, MemcacheChangeNotifier)
def setUp(self): TestCase.setUp(self) self.memcache = InMemoryMemcacheProtocol() self.ccn = MemcacheChangeNotifier( StubURLResource(':memory:'), cachePool=self.memcache) self.ccn._newCacheToken = instancemethod(_newCacheToken, self.ccn, MemcacheChangeNotifier)
def doWork(self): """ Calls the function that's been assigned to "function" and passes the root resource, directory, store, and whatever has been assigned to "params". """ if (config.EnableResponseCache and config.Memcached.Pools.Default.ClientEnabled): # These class attributes need to be setup with our memcache\ # notifier CachingDelegates.cacheNotifier = MemcacheChangeNotifier( None, cacheHandle="PrincipalToken") if self.function is not None: yield self.function(self.store, *self.params)
def __init__(self, path, *args, **kwargs): super(RootResource, self).__init__(path, *args, **kwargs) if config.EnableSACLs: self.useSacls = True self.contentFilters = [] if ( config.EnableResponseCache and config.Memcached.Pools.Default.ClientEnabled ): self.responseCache = MemcacheResponseCache(self.fp) # These class attributes need to be setup with our memcache\ # notifier DirectoryPrincipalResource.cacheNotifierFactory = MemcacheChangeNotifier CachingDelegates.cacheNotifier = MemcacheChangeNotifier(None, cacheHandle="PrincipalToken") else: self.responseCache = DisabledCache() if config.ResponseCompression: from txweb2.filter import gzip self.contentFilters.append((gzip.gzipfilter, True))