Ejemplo n.º 1
0
    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)
Ejemplo n.º 2
0
    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)