示例#1
0
 def test_incrementing_sleep(self):
     r = Retrying(wait='incrementing_sleep',
                  wait_incrementing_start=500,
                  wait_incrementing_increment=100)
     self.assertEqual(500, r.wait(1, 6546))
     self.assertEqual(600, r.wait(2, 6546))
     self.assertEqual(700, r.wait(3, 6546))
示例#2
0
 def test_exponential(self):
     r = Retrying(wait_exponential_max=100000)
     self.assertEqual(r.wait(1, 0), 2)
     self.assertEqual(r.wait(2, 0), 4)
     self.assertEqual(r.wait(3, 0), 8)
     self.assertEqual(r.wait(4, 0), 16)
     self.assertEqual(r.wait(5, 0), 32)
     self.assertEqual(r.wait(6, 0), 64)
示例#3
0
 def test_exponential(self):
     r = Retrying(wait_exponential_max=100000)
     self.assertEqual(r.wait(1, 0), 2)
     self.assertEqual(r.wait(2, 0), 4)
     self.assertEqual(r.wait(3, 0), 8)
     self.assertEqual(r.wait(4, 0), 16)
     self.assertEqual(r.wait(5, 0), 32)
     self.assertEqual(r.wait(6, 0), 64)
示例#4
0
 def test_exponential_with_max_wait_and_multiplier(self):
     r = Retrying(wait_exponential_max=50000, wait_exponential_multiplier=1000)
     self.assertEqual(r.wait(1, 0), 2000)
     self.assertEqual(r.wait(2, 0), 4000)
     self.assertEqual(r.wait(3, 0), 8000)
     self.assertEqual(r.wait(4, 0), 16000)
     self.assertEqual(r.wait(5, 0), 32000)
     self.assertEqual(r.wait(6, 0), 50000)
     self.assertEqual(r.wait(7, 0), 50000)
     self.assertEqual(r.wait(50, 0), 50000)
示例#5
0
 def test_exponential_with_max_wait(self):
     r = Retrying(wait_exponential_max=40)
     self.assertEqual(r.wait(1, 0), 2)
     self.assertEqual(r.wait(2, 0), 4)
     self.assertEqual(r.wait(3, 0), 8)
     self.assertEqual(r.wait(4, 0), 16)
     self.assertEqual(r.wait(5, 0), 32)
     self.assertEqual(r.wait(6, 0), 40)
     self.assertEqual(r.wait(7, 0), 40)
     self.assertEqual(r.wait(50, 0), 40)
示例#6
0
 def test_exponential_with_max_wait(self):
     r = Retrying(wait_exponential_max=40)
     self.assertEqual(r.wait(1, 0), 2)
     self.assertEqual(r.wait(2, 0), 4)
     self.assertEqual(r.wait(3, 0), 8)
     self.assertEqual(r.wait(4, 0), 16)
     self.assertEqual(r.wait(5, 0), 32)
     self.assertEqual(r.wait(6, 0), 40)
     self.assertEqual(r.wait(7, 0), 40)
     self.assertEqual(r.wait(50, 0), 40)
示例#7
0
 def test_exponential_with_max_wait_and_multiplier(self):
     r = Retrying(wait='exponential_sleep', wait_exponential_max=50000, wait_exponential_multiplier=1000)
     self.assertEqual(r.wait(1, 0), 2000)
     self.assertEqual(r.wait(2, 0), 4000)
     self.assertEqual(r.wait(3, 0), 8000)
     self.assertEqual(r.wait(4, 0), 16000)
     self.assertEqual(r.wait(5, 0), 32000)
     self.assertEqual(r.wait(6, 0), 50000)
     self.assertEqual(r.wait(7, 0), 50000)
     self.assertEqual(r.wait(50, 0), 50000)
示例#8
0
 def test_wait_aggregation_func(self):
     r = Retrying(wait_exponential_max=50000, wait_exponential_multiplier=1000, wait_fixed=1,
                  wait_aggregation_func=sum)
     self.assertEqual(r.wait(1, 0), 2001)
     self.assertEqual(r.wait(2, 0), 4001)
     self.assertEqual(r.wait(3, 0), 8001)
     self.assertEqual(r.wait(4, 0), 16001)
     self.assertEqual(r.wait(5, 0), 32001)
     self.assertEqual(r.wait(6, 0), 50001)
     self.assertEqual(r.wait(7, 0), 50001)
     self.assertEqual(r.wait(50, 0), 50001)
示例#9
0
 def test_random_sleep_without_min(self):
     r = Retrying(wait='random_sleep', wait_random_max=2000)
     times = set()
     times.add(r.wait(1, 6546))
     times.add(r.wait(1, 6546))
     times.add(r.wait(1, 6546))
     times.add(r.wait(1, 6546))
     self.assertTrue(len(times) > 1) # this is kind of non-deterministic...
     for t in times:
         self.assertTrue(t >= 0)
         self.assertTrue(t <= 2000)
示例#10
0
 def test_random_sleep_without_min(self):
     r = Retrying(wait_random_max=2000)
     times = set()
     times.add(r.wait(1, 6546))
     times.add(r.wait(1, 6546))
     times.add(r.wait(1, 6546))
     times.add(r.wait(1, 6546))
     self.assertTrue(len(times) > 1) # this is kind of non-deterministic...
     for t in times:
         self.assertTrue(t >= 0)
         self.assertTrue(t <= 2000)
示例#11
0
    def test_random_sleep(self):
        r = Retrying(wait_random_min=1000, wait_random_max=2000)
        times = set()
        times.add(r.wait(1, 6546))
        times.add(r.wait(1, 6546))
        times.add(r.wait(1, 6546))
        times.add(r.wait(1, 6546))

        # this is kind of non-deterministic...
        self.assertTrue(len(times) > 1)
        for t in times:
            self.assertTrue(t >= 1000)
            self.assertTrue(t <= 2000)
示例#12
0
 def test_incrementing_sleep(self):
     r = Retrying(wait_incrementing_start=500, wait_incrementing_increment=100)
     self.assertEqual(500, r.wait(1, 6546))
     self.assertEqual(600, r.wait(2, 6546))
     self.assertEqual(700, r.wait(3, 6546))
示例#13
0
 def test_fixed_sleep(self):
     r = Retrying(wait_fixed=1000)
     self.assertEqual(1000, r.wait(12, 6546))
示例#14
0
 def test_no_sleep(self):
     r = Retrying()
     self.assertEqual(0, r.wait(18, 9879))
示例#15
0
 def test_wait_func(self):
     r = Retrying(wait_func=lambda attempt, delay: attempt * delay)
     self.assertEqual(r.wait(1, 5), 5)
     self.assertEqual(r.wait(2, 11), 22)
     self.assertEqual(r.wait(10, 100), 1000)
示例#16
0
 def test_fixed_sleep(self):
     r = Retrying(wait_fixed=1000)
     self.assertEqual(1000, r.wait(12, 6546))
示例#17
0
 def test_no_sleep(self):
     r = Retrying()
     self.assertEqual(0, r.wait(18, 9879))
示例#18
0
 def test_wait_func(self):
     r = Retrying(wait_func=lambda attempt, delay: attempt * delay)
     self.assertEqual(r.wait(1, 5), 5)
     self.assertEqual(r.wait(2, 11), 22)
     self.assertEqual(r.wait(10, 100), 1000)