keys-Auto-Receipts-Studio / tests /test_camera.py
drowzeys's picture
Upload folder using huggingface_hub
676f5d4 verified
Raw
History Blame Contribute Delete
1.25 kB
from __future__ import annotations
from pathlib import Path
import httpx
from app.camera import aim, snapshot
from app.config import Settings
def test_snapshot_reads_path(settings: Settings, tmp_path: Path) -> None:
saved = tmp_path / "snap.jpg"
saved.write_bytes(b"x")
def handler(request: httpx.Request) -> httpx.Response:
assert "width=1280" in str(request.url)
return httpx.Response(200, json={"path": str(saved)})
client = httpx.Client(transport=httpx.MockTransport(handler), base_url="http://hal.test")
settings = settings.model_copy(update={"camera_url": "http://hal.test"})
assert snapshot(settings, client=client) == saved
def test_aim_posts_direction(settings: Settings) -> None:
seen: list[str] = []
def handler(request: httpx.Request) -> httpx.Response:
seen.append(request.method + " " + str(request.url))
assert b"down" in request.content
return httpx.Response(200, json={"ok": True})
client = httpx.Client(transport=httpx.MockTransport(handler), base_url="http://hal.test")
settings = settings.model_copy(update={"camera_url": "http://hal.test"})
aim(settings, "down", client=client)
assert any("servo/aim" in url for url in seen)