def test_apply_now(self): def task(pt): pt.context['count'] += 1 return pt.context['count'] pt = PeriodicTask('test', 99, task) pt.context['count'] = 0 with self.run_periodic_task_context(pt): sleep(0.01) promise = pt.apply_now() assert promise.result(0.01) is 2
def test_apply_now_with_failure(self): class MyException(Exception): pass def task(pt): if pt.context['apply_now_mode']: raise MyException() pt = PeriodicTask('test', 99, task) pt.context['apply_now_mode'] = False with self.run_periodic_task_context(pt): sleep(0.01) pt.context['apply_now_mode'] = True promise = pt.apply_now() assert isinstance(promise.exception(), MyException)