tests: allow PipelineParams instead of individual arguments
This commit is contained in:
@@ -97,6 +97,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
|
- `pipeline.tests.utils.run_test()` now allows passing `PipelineParams` instead
|
||||||
|
of individual parameters.
|
||||||
|
|
||||||
- Updated `daily-python` to 0.19.8.
|
- Updated `daily-python` to 0.19.8.
|
||||||
|
|
||||||
- `PipelineTask` now waits for `StartFrame` to reach the end of the pipeline
|
- `PipelineTask` now waits for `StartFrame` to reach the end of the pipeline
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
|
|
||||||
import asyncio
|
import asyncio
|
||||||
from dataclasses import dataclass
|
from dataclasses import dataclass
|
||||||
from typing import Any, Awaitable, Callable, Dict, List, Optional, Sequence, Tuple
|
from typing import Awaitable, Callable, List, Optional, Sequence, Tuple
|
||||||
|
|
||||||
from pipecat.frames.frames import (
|
from pipecat.frames.frames import (
|
||||||
EndFrame,
|
EndFrame,
|
||||||
@@ -128,7 +128,7 @@ async def run_test(
|
|||||||
expected_up_frames: Optional[Sequence[type]] = None,
|
expected_up_frames: Optional[Sequence[type]] = None,
|
||||||
ignore_start: bool = True,
|
ignore_start: bool = True,
|
||||||
observers: Optional[List[BaseObserver]] = None,
|
observers: Optional[List[BaseObserver]] = None,
|
||||||
start_metadata: Optional[Dict[str, Any]] = None,
|
pipeline_params: Optional[PipelineParams] = None,
|
||||||
send_end_frame: bool = True,
|
send_end_frame: bool = True,
|
||||||
) -> Tuple[Sequence[Frame], Sequence[Frame]]:
|
) -> Tuple[Sequence[Frame], Sequence[Frame]]:
|
||||||
"""Run a test pipeline with the specified processor and validate frame flow.
|
"""Run a test pipeline with the specified processor and validate frame flow.
|
||||||
@@ -144,7 +144,7 @@ async def run_test(
|
|||||||
expected_up_frames: Expected frame types flowing upstream (optional).
|
expected_up_frames: Expected frame types flowing upstream (optional).
|
||||||
ignore_start: Whether to ignore StartFrames in frame validation.
|
ignore_start: Whether to ignore StartFrames in frame validation.
|
||||||
observers: Optional list of observers to attach to the pipeline.
|
observers: Optional list of observers to attach to the pipeline.
|
||||||
start_metadata: Optional metadata to include with the StartFrame.
|
pipeline_params: Pipeline parameters.
|
||||||
send_end_frame: Whether to send an EndFrame at the end of the test.
|
send_end_frame: Whether to send an EndFrame at the end of the test.
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
@@ -154,7 +154,6 @@ async def run_test(
|
|||||||
AssertionError: If the received frames don't match the expected frame types.
|
AssertionError: If the received frames don't match the expected frame types.
|
||||||
"""
|
"""
|
||||||
observers = observers or []
|
observers = observers or []
|
||||||
start_metadata = start_metadata or {}
|
|
||||||
|
|
||||||
received_up = asyncio.Queue()
|
received_up = asyncio.Queue()
|
||||||
received_down = asyncio.Queue()
|
received_down = asyncio.Queue()
|
||||||
@@ -173,7 +172,7 @@ async def run_test(
|
|||||||
|
|
||||||
task = PipelineTask(
|
task = PipelineTask(
|
||||||
pipeline,
|
pipeline,
|
||||||
params=PipelineParams(start_metadata=start_metadata),
|
params=pipeline_params,
|
||||||
observers=observers,
|
observers=observers,
|
||||||
cancel_on_idle_timeout=False,
|
cancel_on_idle_timeout=False,
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -65,7 +65,7 @@ class TestPipeline(unittest.IsolatedAsyncioTestCase):
|
|||||||
frames_to_send=frames_to_send,
|
frames_to_send=frames_to_send,
|
||||||
expected_down_frames=expected_down_frames,
|
expected_down_frames=expected_down_frames,
|
||||||
ignore_start=False,
|
ignore_start=False,
|
||||||
start_metadata={"foo": "bar"},
|
pipeline_params=PipelineParams(start_metadata={"foo": "bar"}),
|
||||||
)
|
)
|
||||||
assert "foo" in received_down[-1].metadata
|
assert "foo" in received_down[-1].metadata
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user