def test_delete_errbacks_when_any_errback(self): cache = MultiCache([ pretend.stub(delete=lambda key: fail(ValueError())) ]) d = cache.delete("foo") exc = self.failureResultOf(d) self.assertIsInstance(exc.value.subFailure.value, ValueError)
def makeService(options): from twisted.internet import task as cooperator from twisted.internet import reactor from twisted.python import log with open(options['config']) as f: data = f.read() config = yaml.safe_load(data) key_maker = FormattingKeyMaker(data["on_update"]) cache_backend = MultiCache([ MemcachedCache(TCP4ClientEndpoint(reactor, cache, DEFAULT_PORT)) for cache in config['caches'] ]) driver = Driver(key_maker, cache_backend, log) connection = BinLogStreamReader(connection_settings=config['database']) listener = MySQLDatabaseListener(reactor, connection, driver, log) return DatabaseListenerService(cooperator, listener, log)
def test_delete_returns_false_when_all_return_false(self): c1 = InMemoryCache({}) c2 = InMemoryCache({}) cache = MultiCache([c1, c2]) d = cache.delete("foo") self.assertFalse(self.successResultOf(d))
def test_delete_returns_true_when_any_return_true(self): c1 = InMemoryCache({}) c2 = InMemoryCache({"foo": "bar"}) cache = MultiCache([c1, c2]) d = cache.delete("foo") self.assertTrue(self.successResultOf(d))
def test_delete_errbacks_when_any_errback(self): cache = MultiCache( [pretend.stub(delete=lambda key: fail(ValueError()))]) d = cache.delete("foo") exc = self.failureResultOf(d) self.assertIsInstance(exc.value.subFailure.value, ValueError)