| from __future__ import annotations |
|
|
| import io |
| from pathlib import Path |
|
|
| import pytest |
| from PIL import Image |
|
|
| from app.config import Settings, load_settings |
|
|
|
|
| def tiny_jpeg() -> bytes: |
| image = Image.new("RGB", (16, 16), (240, 240, 240)) |
| buf = io.BytesIO() |
| image.save(buf, format="JPEG") |
| return buf.getvalue() |
|
|
|
|
| @pytest.fixture |
| def settings(tmp_path: Path) -> Settings: |
| return load_settings( |
| root_dir=tmp_path, |
| data_dir=tmp_path / "data", |
| inbox_dir=tmp_path / "inbox", |
| processing_dir=tmp_path / "processing", |
| processed_dir=tmp_path / "processed", |
| failed_dir=tmp_path / "failed", |
| exports_dir=tmp_path / "exports", |
| idle_seconds=0.05, |
| llm_backend="gemma", |
| llm_route="direct", |
| llm_base_url="http://llm.test/v1", |
| llm_model="google/gemma-4-12B-it", |
| embed_backend="omni", |
| embed_base_url="http://llm.test/v1", |
| embed_model="google/gemma-4-12B-it", |
| embed_dim=8, |
| embed_prefix=True, |
| ) |
|
|