def test_handle_error(self): from datetime import datetime to_timestamp = timer2.to_timestamp scratch = [None] def _overflow(x): raise OverflowError(x) def on_error(exc_info): scratch[0] = exc_info s = timer2.Schedule(on_error=on_error) timer2.to_timestamp = _overflow try: s.enter(timer2.Entry(lambda: None, (), {}), eta=datetime.now()) s.enter(timer2.Entry(lambda: None, (), {}), eta=None) s.on_error = None with self.assertRaises(OverflowError): s.enter(timer2.Entry(lambda: None, (), {}), eta=datetime.now()) finally: timer2.to_timestamp = to_timestamp exc = scratch[0] self.assertIsInstance(exc, OverflowError)
def test_call(self): scratch = [None] def timed(x, y, moo='foo'): scratch[0] = (x, y, moo) tref = timer2.Entry(timed, (4, 4), {'moo': 'baz'}) tref() self.assertTupleEqual(scratch[0], (4, 4, 'baz'))
def test_handle_error(self): from datetime import datetime scratch = [None] def on_error(exc_info): scratch[0] = exc_info s = timer2.Schedule(on_error=on_error) with patch('kombu.async.timer.to_timestamp') as tot: tot.side_effect = OverflowError() s.enter_at(timer2.Entry(lambda: None, (), {}), eta=datetime.now()) s.enter_at(timer2.Entry(lambda: None, (), {}), eta=None) s.on_error = None with self.assertRaises(OverflowError): s.enter_at(timer2.Entry(lambda: None, (), {}), eta=datetime.now()) exc = scratch[0] self.assertIsInstance(exc, OverflowError)
def test_call(self): scratch = [None] def timed(x, y, moo="foo"): scratch[0] = (x, y, moo) tref = timer2.Entry(timed, (4, 4), {"moo": "baz"}) tref() self.assertTupleEqual(scratch[0], (4, 4, "baz"))
def test_handle_error(self): from datetime import datetime mktime = timer2.mktime scratch = [None] def _overflow(x): raise OverflowError(x) def on_error(exc_info): scratch[0] = exc_info s = timer2.Schedule(on_error=on_error) timer2.mktime = _overflow try: s.enter(timer2.Entry(lambda: None, (), {}), eta=datetime.now()) finally: timer2.mktime = mktime _, exc, _ = scratch[0] self.assertIsInstance(exc, OverflowError)
def test_cancel(self): tref = timer2.Entry(lambda x: x, (1, ), {}) tref.cancel() self.assertTrue(tref.cancelled)
def test_repr(self): tref = timer2.Entry(lambda x: x(1, ), {}) self.assertTrue(repr(tref))