def test_dispatcher(self): options = { 'capabilities': { # NoneType because we're going to pass a None to the dispatcher. 'NoneType': { 'enabled': True, 'server': '127.0.0.1', 'timing': { 'active_range': '00:00 - 23:59', 'sleep_interval': '1', 'activation_probability': '1' }, 'username': '******', 'password': '******', 'port': 8080 }, } } dispatcher = BeeDispatcher(options, None, '127.0.0.1') dispatcher.max_sessions = 1 dispatcher.bee = Mock() dispatcher_greenlet = Greenlet(dispatcher.start) dispatcher_greenlet.start() time.sleep(1) dispatcher_greenlet.kill() dispatcher.bee.do_session.assert_called()
class TransformExampleProducer(StreamProcess): """ Used as a data producer in examples. It publishes input for the following examples as {'num':<int>} where <int> is the integer. The production is published every 4 seconds and the published data is incremented by 1 id_p = cc.spawn_process('myproducer', 'ion.processes.data.transforms.transform_example', 'TransformExampleProducer', {'process':{'type':'stream_process','publish_streams':{'out_stream':'forced'}},'stream_producer':{'interval':4000}}) cc.proc_manager.procs['%s.%s' %(cc.id,id_p)].start() """ def on_init(self): log.debug("StreamProducer init. Self.id=%s" % self.id) def start(self): log.debug("StreamProducer start") # Threads become efficent Greenlets with gevent streams = self.CFG.get('process',{}).get('publish_streams',None) if streams: self.output_streams = list(k for k in streams) else: self.output_streams = None self.producer_proc = Greenlet(self._trigger_func) self.producer_proc.start() def process(self, packet): pass def on_quit(self): log.debug("TransformExampleProducer quit") self.producer_proc.kill() def _trigger_func(self): interval = self.CFG.get('stream_producer').get('interval') stream_route = self.CFG.get('stream_producer').get('stream_route') if self.output_streams: pub = getattr(self,self.output_streams[0],None) else: pub = None num = 1 while True: msg = dict(num=str(num)) pub.publish(msg) log.debug("Message %s published", num) num += 1 time.sleep(interval/1000.0)
def test_dispatcher(self): options = { 'enabled': True, 'server': '127.0.0.1', 'active_range': '00:00 - 23:59', 'sleep_interval': '1', 'activation_probability': '1', 'username': '******', 'password': '******', 'port': 8080} dispatcher = BaitDispatcher(Mock(), options) dispatcher_greenlet = Greenlet(dispatcher.start) dispatcher_greenlet.start() gevent.sleep(2) dispatcher_greenlet.kill()
class TransformExampleProducer(StreamProcess): """ Used as a data producer in examples. It publishes input for the following examples as {'num':<int>} where <int> is the integer. The production is published every 4 seconds and the published data is incremented by 1 id_p = cc.spawn_process('myproducer', 'ion.processes.data.transforms.transform_example', 'TransformExampleProducer', {'process':{'type':'stream_process','publish_streams':{'out_stream':'forced'}},'stream_producer':{'interval':4000}}) cc.proc_manager.procs['%s.%s' %(cc.id,id_p)].start() """ def on_init(self): log.debug("StreamProducer init. Self.id=%s" % self.id) def start(self): log.debug("StreamProducer start") # Threads become efficent Greenlets with gevent streams = self.CFG.get('process', {}).get('publish_streams', None) if streams: self.output_streams = list(k for k in streams) else: self.output_streams = None self.producer_proc = Greenlet(self._trigger_func) self.producer_proc.start() def process(self, packet): pass def on_quit(self): log.debug("TransformExampleProducer quit") self.producer_proc.kill() def _trigger_func(self): interval = self.CFG.get('stream_producer').get('interval') stream_route = self.CFG.get('stream_producer').get('stream_route') if self.output_streams: pub = getattr(self, self.output_streams[0], None) else: pub = None num = 1 while True: msg = dict(num=str(num)) pub.publish(msg) log.debug("Message %s published", num) num += 1 time.sleep(interval / 1000.0)
def test_dispatcher(self): options = { 'enabled': True, 'server': '127.0.0.1', 'active_range': '00:00 - 23:59', 'sleep_interval': '1', 'activation_probability': '1', 'username': '******', 'password': '******', 'port': 8080 } dispatcher = BaitDispatcher({}, None, options) dispatcher.bait_type = Mock() dispatcher_greenlet = Greenlet(dispatcher.start) dispatcher_greenlet.start() time.sleep(1) dispatcher_greenlet.kill() dispatcher.bait_type.start.assert_called()
def test_dispatcher(self): options = { "enabled": True, "server": "127.0.0.1", "active_range": "00:00 - 23:59", "sleep_interval": "1", "activation_probability": "1", "username": "******", "password": "******", "port": 8080, } dispatcher = BaitDispatcher(None, options) dispatcher.bait_type = Mock() dispatcher_greenlet = Greenlet(dispatcher.start) dispatcher_greenlet.start() time.sleep(1) dispatcher_greenlet.kill() dispatcher.bait_type.start.assert_called()