from __future__ import annotations from collections.abc import Iterator from pathlib import Path import pytest from fastapi.testclient import TestClient from lumaops_backend.config import Settings from lumaops_backend.main import create_app @pytest.fixture def settings(tmp_path: Path) -> Settings: return Settings( LUMAOPS_ENV="test", connector_mode="mock", auth_enabled=False, config_dir=tmp_path / "config", openrgb_config_dir=tmp_path / "openrgb", data_dir=tmp_path / "data", logs_dir=tmp_path / "logs", static_dir=tmp_path / "static", database_url=f"sqlite:///{(tmp_path / 'data' / 'lumaops.db').as_posix()}", log_level="ERROR", ) @pytest.fixture def client(settings: Settings) -> Iterator[TestClient]: with TestClient(create_app(settings)) as test_client: yield test_client