def test_register_with_event_loop(self): parent = Mock(name='parent') parent.autoscale = True parent.consumer.on_task_message = set() w = autoscale.WorkerComponent(parent) self.assertIsNone(parent.autoscaler) self.assertTrue(w.enabled) hub = Mock(name='hub') w.create(parent) w.register_with_event_loop(parent, hub) self.assertIn( parent.autoscaler.maybe_scale, parent.consumer.on_task_message, ) hub.call_repeatedly.assert_called_with( parent.autoscaler.keepalive, parent.autoscaler.maybe_scale, ) parent.hub = hub hub.on_init = [] w.instantiate = Mock() w.register_with_event_loop(parent, Mock(name='loop')) self.assertTrue(parent.consumer.on_task_message)
def test_info_without_event_loop(self): parent = Mock(name='parent') parent.autoscale = True parent.max_concurrency = '10' parent.min_concurrency = '2' parent.use_eventloop = False w = autoscale.WorkerComponent(parent) w.create(parent) info = w.info(parent) assert 'autoscaler' in info assert parent.autoscaler_cls().info.called
def test_on_poll_init(self): parent = Mock() parent.autoscale = True w = autoscale.WorkerComponent(parent) self.assertIsNone(parent.autoscaler) self.assertTrue(w.enabled) hub = Mock() hub.on_task = [] scaler = Mock() scaler.keepalive = 10 w.on_poll_init(scaler, hub) self.assertIn(scaler.maybe_scale, hub.on_task) hub.timer.apply_interval.assert_called_with( 10 * 1000.0, scaler.maybe_scale, ) parent.hub = hub hub.on_init = [] w.instantiate = Mock() w.create_ev(parent) self.assertTrue(hub.on_init)