def test_retry_function(self): """The retry wrapper can be used for a function.""" self.setup_always_retryable() results = [fail(zookeeper.ConnectionLossException()), fail(zookeeper.ConnectionLossException()), succeed(21)] def original(zebra): """Hello World""" return results.pop(0) result = yield retry(ZookeeperClient(), original, "magic") self.assertEqual(result, 21)
def test_retry_method(self): """The retry wrapper can be used for a method.""" self.setup_always_retryable() results = [fail(zookeeper.ConnectionLossException()), fail(zookeeper.ConnectionLossException()), succeed(21)] class Foobar(object): def original(self, zebra): """Hello World""" return results.pop(0) client = ZookeeperClient() foo = Foobar() result = yield retry(client, foo.original, "magic") self.assertEqual(result, 21)