def test_pipeline_subset(): @lambda_solid def return_one(): return 1 @lambda_solid def add_one(num): return num + 1 pipeline_def = PipelineDefinition( solid_defs=[return_one, add_one], dependencies={'add_one': {'num': DependencyDefinition('return_one')}}, ) pipeline_result = execute_pipeline(pipeline_def) assert pipeline_result.success assert pipeline_result.result_for_solid('add_one').output_value() == 2 env_config = {'solids': {'add_one': {'inputs': {'num': {'value': 3}}}}} subset_result = execute_pipeline( pipeline_def.build_sub_pipeline(['add_one']), environment_dict=env_config ) assert subset_result.success assert len(subset_result.solid_result_list) == 1 assert subset_result.result_for_solid('add_one').output_value() == 4 events = execute_pipeline_iterator( pipeline_def.build_sub_pipeline(['add_one']), environment_dict=env_config ) for step_event in step_output_event_filter(events): assert step_event.is_step_success
def test_pipeline_subset_with_multi_dependency(): @lambda_solid def return_one(): return 1 @lambda_solid def return_two(): return 2 @lambda_solid(inputs=[InputDefinition('dep', Nothing)]) def noop(): return 3 pipeline_def = PipelineDefinition( solid_defs=[return_one, return_two, noop], dependencies={ 'noop': { 'dep': MultiDependencyDefinition([ DependencyDefinition('return_one'), DependencyDefinition('return_two') ]) } }, ) pipeline_result = execute_pipeline(pipeline_def) assert pipeline_result.success assert pipeline_result.result_for_solid('noop').result_value() == 3 subset_result = execute_pipeline(pipeline_def.build_sub_pipeline(['noop'])) assert subset_result.success assert len(subset_result.solid_result_list) == 1 assert pipeline_result.result_for_solid('noop').result_value() == 3 events = execute_pipeline_iterator( pipeline_def.build_sub_pipeline(['noop'])) for step_event in step_output_event_filter(events): assert step_event.is_step_success subset_result = execute_pipeline( pipeline_def.build_sub_pipeline(['return_one', 'return_two', 'noop'])) assert subset_result.success assert len(subset_result.solid_result_list) == 3 assert pipeline_result.result_for_solid('noop').result_value() == 3