Spaces:
Running
Running
Download tests/tools/test_camera.py from stephenslee/peachy: direct link, hf CLI and curl.
- Browser
- Download file 1.74 kB
-
https://huggingface.co/spaces/stephenslee/peachy/resolve/main/tests/tools/test_camera.py
- Command line
-
hf download hf://spaces/stephenslee/peachy/tests/tools/test_camera.py
-
curl -L -o test_camera.py https://huggingface.co/spaces/stephenslee/peachy/resolve/main/tests/tools/test_camera.py
1.74 kB
| """Tests for the camera tool.""" | |
| import base64 | |
| from unittest.mock import MagicMock | |
| import pytest | |
| from peachy.tools.camera import Camera | |
| from peachy.tools.core_tools import ToolDependencies | |
| async def test_camera_tool_returns_base64_of_sdk_jpeg() -> None: | |
| """The tool base64-encodes the JPEG bytes returned by the SDK.""" | |
| jpeg_bytes = b"\xff\xd8jpeg\xff\xd9" | |
| reachy_mini = MagicMock() | |
| reachy_mini.media.get_frame_jpeg.return_value = jpeg_bytes | |
| deps = ToolDependencies( | |
| reachy_mini=reachy_mini, | |
| movement_manager=MagicMock(), | |
| camera_enabled=True, | |
| ) | |
| result = await Camera()(deps, question="What color is this?") | |
| assert result["b64_im"] == base64.b64encode(jpeg_bytes).decode("utf-8") | |
| async def test_camera_tool_reports_error_when_no_frame() -> None: | |
| """With no frame available the tool returns an error.""" | |
| reachy_mini = MagicMock() | |
| reachy_mini.media.get_frame_jpeg.return_value = None | |
| deps = ToolDependencies( | |
| reachy_mini=reachy_mini, | |
| movement_manager=MagicMock(), | |
| camera_enabled=True, | |
| ) | |
| result = await Camera()(deps, question="What color is this?") | |
| assert "error" in result | |
| async def test_camera_tool_reports_error_when_camera_disabled() -> None: | |
| """With the camera disabled the tool returns an error and never reads a frame.""" | |
| reachy_mini = MagicMock() | |
| deps = ToolDependencies( | |
| reachy_mini=reachy_mini, | |
| movement_manager=MagicMock(), | |
| camera_enabled=False, | |
| ) | |
| result = await Camera()(deps, question="What color is this?") | |
| assert "error" in result | |
| reachy_mini.media.get_frame_jpeg.assert_not_called() | |