def test_repositry_has_solid_def(): @composite_solid(output_defs=[OutputDefinition()]) def inner(): return add_one(return_one()) @composite_solid def outer(): add_one(inner()) @pipeline def a_pipeline(): outer() repo_def = RepositoryDefinition(name='has_solid_def_test', pipeline_defs=[a_pipeline]) assert repo_def.solid_def_named('inner')
def test_repo_lazy_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']) == {pipeline.name for pipeline in pipelines} assert repo.solid_def_named('foo_solid').name == 'foo_solid' assert repo.solid_def_named('bar_solid').name == 'bar_solid'