def test_stop_when_disabled(self): timer = MockTimer() eventer = MockDispatcher() eventer.enabled = False h = Heart(timer, eventer) h.stop() assert not eventer.sent
def test_stop(self): timer = MockTimer() eventer = MockDispatcher() h = Heart(timer, eventer, interval=1) h.start() self.assertTrue(h.tref) h.stop() self.assertIsNone(h.tref)
def test_start_stop(self): timer = MockTimer() eventer = MockDispatcher() h = Heart(timer, eventer, interval=1) h.start() assert h.tref h.stop() assert h.tref is None h.stop()
def test_start_stop(self): timer = MockTimer() eventer = MockDispatcher() h = Heart(timer, eventer, interval=1) h.start() assert h.tref h.stop() assert h.tref is None h.stop()
def test_run_manages_cycle(self): eventer = MockDispatcher() heart = Heart(MockTimer(), eventer, interval=0.1) eventer.heart = heart heart.start() msecs, fun, args, kwargs = tref = heart.tref self.assertEqual(msecs, 0.1 * 1000) self.assertEqual(tref.fun, eventer.send) self.assertTrue(tref.args) self.assertTrue(tref.kwargs) heart.stop() self.assertTrue(tref.cancelled)
def test_message_retries(self): timer = MockTimer() eventer = MockDispatcher() eventer.enabled = True h = Heart(timer, eventer, interval=1) h.start() assert eventer.sent[-1][0] == "worker-online" # Invoke a heartbeat h.tref[1](*h.tref[2], **h.tref[3]) assert eventer.sent[-1][0] == "worker-heartbeat" assert eventer.sent[-1][1]["retry"] h.stop() assert eventer.sent[-1][0] == "worker-offline" assert not eventer.sent[-1][1]["retry"]
def test_run(self): eventer = MockDispatcher() heart = Heart(eventer, interval=1) heart._shutdown.set() heart.run() self.assertEqual(heart._state, "RUN") self.assertIn("worker-online", eventer.sent) self.assertIn("worker-heartbeat", eventer.sent) self.assertIn("worker-offline", eventer.sent) heart.stop() heart.stop() self.assertEqual(heart._state, "CLOSE") heart = Heart(eventer, interval=0.00001) heart._shutdown.set() for i in range(10): heart.run()
def test_run(self): eventer = MockDispatcher() heart = Heart(eventer, interval=1) heart._shutdown.set() heart.run() self.assertTrue(heart._state == "RUN") self.assertTrue("worker-online" in eventer.sent) self.assertTrue("worker-heartbeat" in eventer.sent) self.assertTrue("worker-offline" in eventer.sent) self.assertTrue(heart._stopped.isSet()) heart.stop() heart.stop() self.assertTrue(heart._state == "CLOSE") heart = Heart(eventer, interval=0.00001) heart._shutdown.set() for i in range(10): heart.run()
def test_stop_when_disabled(self): timer = MockTimer() eventer = MockDispatcher() eventer.enabled = False h = Heart(timer, eventer) h.stop()