def test_key_mismatch(): called = defaultdict(int) repo = RepositoryDefinition( name='some_repo', pipeline_dict={ 'foo': lambda: create_single_node_pipeline('bar', called) }) with pytest.raises(Exception, match='Name does not match'): repo.get_pipeline('foo')
def test_repo_definition(): called = defaultdict(int) repo = RepositoryDefinition( name='some_repo', pipeline_dict={ 'foo': lambda: create_single_node_pipeline('foo', called), 'bar': lambda: create_single_node_pipeline('bar', called), }, ) foo_pipeline = repo.get_pipeline('foo') assert isinstance(foo_pipeline, PipelineDefinition) assert foo_pipeline.name == 'foo' assert 'foo' in called assert called['foo'] == 1 assert 'bar' not in called bar_pipeline = repo.get_pipeline('bar') assert isinstance(bar_pipeline, PipelineDefinition) assert bar_pipeline.name == 'bar' assert 'foo' in called assert called['foo'] == 1 assert 'bar' in called assert called['bar'] == 1 foo_pipeline = repo.get_pipeline('foo') assert isinstance(foo_pipeline, PipelineDefinition) assert foo_pipeline.name == 'foo' assert 'foo' in called assert called['foo'] == 1 pipelines = repo.get_all_pipelines() assert set(['foo', 'bar']) == set([pipeline.name for pipeline in pipelines]) assert repo.get_solid_def('foo_solid').name == 'foo_solid' assert repo.get_solid_def('bar_solid').name == 'bar_solid'
def test_non_lazy_pipeline_dict(): called = defaultdict(int) repo = RepositoryDefinition( name='some_repo', pipeline_defs=[ create_single_node_pipeline('foo', called), create_single_node_pipeline('bar', called), ], ) assert repo.get_pipeline('foo').name == 'foo' assert repo.get_pipeline('bar').name == 'bar'