diff --git a/CHANGELOG.md b/CHANGELOG.md index 8ae588300..bc1aa0e68 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -97,6 +97,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- `pipeline.tests.utils.run_test()` now allows passing `PipelineParams` instead + of individual parameters. + - Updated `daily-python` to 0.19.8. - `PipelineTask` now waits for `StartFrame` to reach the end of the pipeline diff --git a/src/pipecat/tests/utils.py b/src/pipecat/tests/utils.py index a763dbc86..5306a0ed0 100644 --- a/src/pipecat/tests/utils.py +++ b/src/pipecat/tests/utils.py @@ -8,7 +8,7 @@ import asyncio 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 ( EndFrame, @@ -128,7 +128,7 @@ async def run_test( expected_up_frames: Optional[Sequence[type]] = None, ignore_start: bool = True, observers: Optional[List[BaseObserver]] = None, - start_metadata: Optional[Dict[str, Any]] = None, + pipeline_params: Optional[PipelineParams] = None, send_end_frame: bool = True, ) -> Tuple[Sequence[Frame], Sequence[Frame]]: """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). ignore_start: Whether to ignore StartFrames in frame validation. 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. Returns: @@ -154,7 +154,6 @@ async def run_test( AssertionError: If the received frames don't match the expected frame types. """ observers = observers or [] - start_metadata = start_metadata or {} received_up = asyncio.Queue() received_down = asyncio.Queue() @@ -173,7 +172,7 @@ async def run_test( task = PipelineTask( pipeline, - params=PipelineParams(start_metadata=start_metadata), + params=pipeline_params, observers=observers, cancel_on_idle_timeout=False, ) diff --git a/tests/test_pipeline.py b/tests/test_pipeline.py index f6c8304a9..f36c0cf2f 100644 --- a/tests/test_pipeline.py +++ b/tests/test_pipeline.py @@ -65,7 +65,7 @@ class TestPipeline(unittest.IsolatedAsyncioTestCase): frames_to_send=frames_to_send, expected_down_frames=expected_down_frames, ignore_start=False, - start_metadata={"foo": "bar"}, + pipeline_params=PipelineParams(start_metadata={"foo": "bar"}), ) assert "foo" in received_down[-1].metadata