예제 #1
0
    def test_decorator(self):
        """Test @pipeline decorator."""
        @pipeline(name='p1', description='description1')
        def my_pipeline1():
            pass

        @pipeline(name='p2', description='description2')
        def my_pipeline2():
            pass

        self.assertEqual(('p1', 'description1'),
                         Pipeline.get_pipeline_functions()[my_pipeline1])
        self.assertEqual(('p2', 'description2'),
                         Pipeline.get_pipeline_functions()[my_pipeline2])
예제 #2
0
    def test_decorator_metadata(self):
        """Test @pipeline decorator with metadata."""
        @pipeline(name='p1', description='description1')
        def my_pipeline1(a: {'Schema':
                             {
                                 'file_type': 'csv'
                             }} = 'good',
                         b: Integer() = 12):
            pass

        golden_meta = PipelineMeta(name='p1', description='description1')
        golden_meta.inputs.append(
            ParameterMeta(name='a',
                          description='',
                          param_type=TypeMeta(name='Schema',
                                              properties={'file_type': 'csv'}),
                          default='good'))
        golden_meta.inputs.append(
            ParameterMeta(name='b',
                          description='',
                          param_type=TypeMeta(name='Integer'),
                          default=12))

        pipeline_meta = Pipeline.get_pipeline_functions()[my_pipeline1]
        self.assertEqual(pipeline_meta, golden_meta)