def test_double_reset(self): assert_that(next(self.sequence), equal_to(1)) assert_that(next(self.sequence), equal_to(2)) strategies.reset(self.sequence) strategies.reset(self.sequence) assert_that(next(self.sequence), equal_to(1)) assert_that(next(self.sequence), equal_to(2))
def test_double_reset(self): assert_that(next(self.sequence), equal_to(0)) assert_that(next(self.sequence), between(1 * 0.9, 1 * 1.1)) strategies.reset(self.sequence) strategies.reset(self.sequence) assert_that(next(self.sequence), equal_to(0)) assert_that(next(self.sequence), between(1 * 0.9, 1 * 1.1))
def wrapper(*args, **kwargs): for i in range(retries - 1): try: ret_value = func(*args, **kwargs) except exceptions: sleeper(next(backoff)) else: break else: try: ret_value = func(*args, **kwargs) except exceptions: raise strategies.reset(backoff) return ret_value
def test_fail(self): self.func.side_effect = KeyError() retrier = retry.retry( sleeper=self.sleeper, backoff=self.backoff, retries=4, exceptions=[Exception], )(self.func) assert_that(calling(retrier).with_args("life"), raises(KeyError)) assert_that(self.func.call_count, equal_to(4)) [[what], kwargs] = self.func.call_args assert_that(kwargs, empty()) assert_that(what, equal_to("life")) strategies.reset(self.backoff) for thing in self.sleeper.call_args_list: [[duration], kwargs] = thing assert_that(duration, equal_to(next(self.backoff)))
def test_reset(self): assert_that(next(self.sequence), equal_to("0")) assert_that(next(self.sequence), equal_to("1")) strategies.reset(self.sequence) assert_that(next(self.sequence), equal_to("0")) assert_that(next(self.sequence), equal_to("1"))