mirror of
https://github.com/deepset-ai/haystack.git
synced 2025-07-30 04:10:11 +00:00

* Move complex pipeline * Move pipeline with default * Move pipeline with distinct loops * Move pipeline with double loop * Move pipeline with dynamic inputs * Move fixed decision pipeline * Move fixed merging pipeline * Move fixed decision and merge pipeline * Remove test_joiners.py * Move looping and merge pipeline * Remove test_looping.py * Move mutable input pipeline * Move parallel branches pipeline * Move same input different components pipeline * Move test_run_with_greedy_variadic_after_component_with_default_input_simple * Remove test_run_raises_if_max_visits_reached * Move test_run_with_component_that_does_not_return_dict * Move test_correct_execution_order_of_components_with_only_defaults * Move test_pipeline_is_not_stuck_with_components_with_only_defaults * Move test_pipeline_is_not_stuck_with_components_with_only_defaults_as_first_components * Move self loop pipeline * Move variable decision and merge pipeline * Remove test_variable_decision_pipeline * Move variable merging pipeline * Add FakeComponent removed by mistake
44 lines
2.1 KiB
Gherkin
44 lines
2.1 KiB
Gherkin
Feature: Pipeline running
|
|
|
|
Scenario Outline: Running a correct Pipeline
|
|
Given a pipeline <kind>
|
|
When I run the Pipeline
|
|
Then it should return the expected result
|
|
And components ran in the expected order
|
|
|
|
Examples:
|
|
| kind |
|
|
| that has no components |
|
|
| that is linear |
|
|
| that is really complex with lots of components, forks, and loops |
|
|
| that has a single component with a default input |
|
|
| that has two loops of identical lengths |
|
|
| that has two loops of different lengths |
|
|
| that has a single loop with two conditional branches |
|
|
| that has a component with dynamic inputs defined in init |
|
|
| that has two branches that don't merge |
|
|
| that has three branches that don't merge |
|
|
| that has two branches that merge |
|
|
| that has different combinations of branches that merge and do not merge |
|
|
| that has two branches, one of which loops back |
|
|
| that has a component with mutable input |
|
|
| that has a component with mutable output sent to multiple inputs |
|
|
| that has a greedy and variadic component after a component with default input |
|
|
| that has components added in a different order from the order of execution |
|
|
| that has a component with only default inputs |
|
|
| that has a component with only default inputs as first to run |
|
|
| that has only a single component that sends one of its outputs to itself |
|
|
| that has a component that sends one of its outputs to itself |
|
|
| that has multiple branches that merge into a component with a single variadic input |
|
|
| that has multiple branches of different lengths that merge into a component with a single variadic input |
|
|
|
|
Scenario Outline: Running a bad Pipeline
|
|
Given a pipeline <kind>
|
|
When I run the Pipeline
|
|
Then it must have raised <exception>
|
|
|
|
Examples:
|
|
| kind | exception |
|
|
| that has an infinite loop | PipelineMaxLoops |
|
|
| that has a component that doesn't return a dictionary | PipelineRuntimeError |
|