33 lines
919 B
Python
33 lines
919 B
Python
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
|