def test_sched_info(self): ready_queue = Queue() sched = Scheduler(ready_queue) item = MockItem("foo") sched.enter(item, eta=10, callback=None) self.assertDictEqual({"eta": 10, "priority": 0, "item": item}, sched.info().next())
def test_sched_clear(self): ready_queue = Queue() sched = Scheduler(ready_queue) sched.enter(MockItem("foo"), eta=datetime.now(), callback=None) self.assertFalse(sched.empty()) sched.clear() self.assertTrue(sched.empty())
def test_sched_info(self): ready_queue = Queue() sched = Scheduler(ready_queue) item = MockItem("foo") sched.enter(item, eta=10, callback=None) self.assertDictEqual({ "eta": 10, "priority": 0, "item": item }, sched.info().next())
def test_sched_and_run_now(self): ready_queue = Queue() sched = Scheduler(ready_queue) now = datetime.now() callback_called = [False] def callback(): callback_called[0] = True sched.enter("foo", eta=now, callback=callback) remaining = iter(sched).next() self.assertEquals(remaining, 0) self.assertTrue(callback_called[0]) self.assertEquals(ready_queue.get_nowait(), "foo")
def test_sched_revoked(self): ready_queue = Queue() sched = Scheduler(ready_queue) now = datetime.now() callback_called = [False] def callback(): callback_called[0] = True sched.enter(MockItem("foo", revoked=True), eta=now, callback=callback) iter(sched).next() self.assertFalse(callback_called[0]) self.assertRaises(Empty, ready_queue.get_nowait) self.assertFalse(sched.queue) sched.clear()
def test_sched_run_later(self): ready_queue = Queue() sched = Scheduler(ready_queue) now = datetime.now() callback_called = [False] def callback(): callback_called[0] = True eta = now + timedelta(seconds=10) sched.enter("foo", eta=eta, callback=callback) remaining = iter(sched).next() self.assertTrue(remaining > 7) self.assertFalse(callback_called[0]) self.assertRaises(Empty, ready_queue.get_nowait)
def test_sched_and_run_now(self): ready_queue = Queue() sched = Scheduler(ready_queue) now = datetime.now() callback_called = [False] def callback(): callback_called[0] = True sched.enter(MockItem("foo"), eta=now, callback=callback) remaining = iter(sched).next() self.assertIsNone(remaining) self.assertTrue(callback_called[0]) self.assertEqual(ready_queue.get_nowait().task_id, "foo")
def test_sched_run_later(self): ready_queue = Queue() sched = Scheduler(ready_queue) now = datetime.now() callback_called = [False] def callback(): callback_called[0] = True eta = now + timedelta(seconds=10) sched.enter(MockItem("foo"), eta=eta, callback=callback) remaining = iter(sched).next() self.assertTrue(remaining > 7 or remaining == sched.max_interval) self.assertFalse(callback_called[0]) self.assertRaises(Empty, ready_queue.get_nowait)