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])
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)