def test_stats(self):
        self.container.spawn_process('test','ion.core.process.transform','TransformBase', {}, 'test_transform')
        test_transform = self.container.proc_manager.procs['test_transform']
        test_transform._stats['hits'] = 100

        retval = TransformBase.stats('test_transform')
        self.assertEquals(retval,{'hits':100})
Example #2
0
    def test_stats(self):
        self.container.spawn_process('test', 'ion.core.process.transform',
                                     'TransformBase', {}, 'test_transform')
        test_transform = self.container.proc_manager.procs['test_transform']
        test_transform._stats['hits'] = 100

        retval = TransformBase.stats('test_transform')
        self.assertEquals(retval, {'hits': 100})
Example #3
0
    def test_stream_transforms(self):

        self.verified = Event()
        input_route = StreamRoute('test_exchange','input')
        output_route = StreamRoute('test_exchange','output')
        def verify(m, route, stream_id):
            self.assertEquals(route,output_route)
            self.assertEquals(m,'test')
            self.verified.set()
        
        #                       Create I/O Processes
        #--------------------------------------------------------------------------------

        pub_proc = TransformBase()
        pub_proc.container = self.container
        publisher = StreamPublisher(process=pub_proc, stream_route=input_route)
        

        transform = self.container.spawn_process('transform','ion.core.process.test.test_transform','EmptyDataProcess',{'process':{'queue_name':'transform_input', 'exchange_point':output_route.exchange_point, 'routing_key':output_route.routing_key}}, 'transformpid')
        transform = self.container.proc_manager.procs[transform]

        sub_proc = TransformBase()
        sub_proc.container = self.container
        subscriber = StreamSubscriber(process=sub_proc, exchange_name='subscriber', callback=verify)


        #                       Bind the transports
        #--------------------------------------------------------------------------------

        transform.subscriber.xn.bind(input_route.routing_key, publisher.xp)
        subscriber.xn.bind(output_route.routing_key, transform.publisher.xp)
        subscriber.start()
        self.addCleanup(subscriber.stop)


        publisher.publish('test')

        self.assertTrue(self.verified.wait(4))
Example #4
0
    def test_stream_transforms(self):

        self.verified = Event()
        input_route = StreamRoute('test_exchange', 'input')
        output_route = StreamRoute('test_exchange', 'output')

        def verify(m, route, stream_id):
            self.assertEquals(route, output_route)
            self.assertEquals(m, 'test')
            self.verified.set()

        #                       Create I/O Processes
        #--------------------------------------------------------------------------------

        pub_proc = TransformBase()
        pub_proc.container = self.container
        publisher = StreamPublisher(process=pub_proc, stream_route=input_route)

        transform = self.container.spawn_process(
            'transform', 'ion.core.process.test.test_transform',
            'EmptyDataProcess', {
                'process': {
                    'queue_name': 'transform_input',
                    'exchange_point': output_route.exchange_point,
                    'routing_key': output_route.routing_key
                }
            }, 'transformpid')
        transform = self.container.proc_manager.procs[transform]

        sub_proc = TransformBase()
        sub_proc.container = self.container
        subscriber = StreamSubscriber(process=sub_proc,
                                      exchange_name='subscriber',
                                      callback=verify)

        #                       Bind the transports
        #--------------------------------------------------------------------------------

        transform.subscriber.xn.bind(input_route.routing_key, publisher.xp)
        subscriber.xn.bind(output_route.routing_key, transform.publisher.xp)
        subscriber.start()
        self.addCleanup(subscriber.stop)

        publisher.publish('test')

        self.assertTrue(self.verified.wait(4))