Exemple #1
0
    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)
Exemple #3
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)
Exemple #5
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()
Exemple #6
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()
Exemple #7
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()