def test_pipeline_streaming_multiple_outputs(): events = [] @solid(output_defs=[OutputDefinition(Int, "one"), OutputDefinition(Int, "two")]) def push_one_two(_context): events.append(1) yield Output(1, "one") events.append(2) yield Output(2, "two") @pipeline def test_streaming_iterator_multiple_outputs(): push_one_two() step_event_iterator = step_output_event_filter( execute_pipeline_iterator(test_streaming_iterator_multiple_outputs) ) one_output_step_event = next(step_event_iterator) assert one_output_step_event.is_successful_output assert one_output_step_event.step_output_data.output_name == "one" assert events == [1] two_output_step_event = next(step_event_iterator) assert two_output_step_event.is_successful_output assert two_output_step_event.step_output_data.output_name == "two" assert events == [1, 2]
def test_pipeline_streaming_iterator(): events = [] @lambda_solid def push_one(): events.append(1) return 1 @lambda_solid def add_one(num): events.append(num + 1) return num + 1 @pipeline def test_streaming_iterator(): add_one(push_one()) step_event_iterator = step_output_event_filter( execute_pipeline_iterator(test_streaming_iterator) ) push_one_step_event = next(step_event_iterator) assert push_one_step_event.is_successful_output assert events == [1] add_one_step_event = next(step_event_iterator) assert add_one_step_event.is_successful_output assert events == [1, 2]
def test_execute_pipeline_iterator_with_solid_selection_query(): output_event_iterator = step_output_event_filter(execute_pipeline_iterator(foo_pipeline)) events = list(output_event_iterator) assert len(events) == 5 iterator_up = step_output_event_filter( execute_pipeline_iterator(foo_pipeline, solid_selection=['*add_nums']) ) events_up = list(iterator_up) assert len(events_up) == 3 iterator_down = step_output_event_filter( execute_pipeline_iterator( foo_pipeline, run_config={ 'solids': {'add_nums': {'inputs': {'num1': {'value': 1}, 'num2': {'value': 2}}}} }, solid_selection=['add_nums++'], ) ) events_down = list(iterator_down) assert len(events_down) == 3
def test_execute_pipeline_iterator_with_solid_selection_query(): output_event_iterator = step_output_event_filter(execute_pipeline_iterator(foo_pipeline)) events = list(output_event_iterator) assert len(events) == 5 iterator_up = step_output_event_filter( execute_pipeline_iterator(foo_pipeline, solid_selection=["*add_nums"]) ) events_up = list(iterator_up) assert len(events_up) == 3 iterator_down = step_output_event_filter( execute_pipeline_iterator( foo_pipeline, run_config={ "solids": {"add_nums": {"inputs": {"num1": {"value": 1}, "num2": {"value": 2}}}} }, solid_selection=["add_nums++"], ) ) events_down = list(iterator_down) assert len(events_down) == 3