SurfSense/surfsense_evals/tests/test_integration_smoke.py
DESKTOP-RTLN3BA\$punk 3737118050 chore: evals
2026-05-13 14:02:26 -07:00

35 lines
1.2 KiB
Python

"""Opt-in integration smoke against ``http://localhost:8000``.
Run with ``pytest -m integration``. Skipped by default. Touches the
real backend — requires it to be reachable, OPENROUTER_API_KEY
unrelated, and one credential mode set.
"""
from __future__ import annotations
import os
import httpx
import pytest
from surfsense_evals.core.auth import acquire_token, client_with_auth
from surfsense_evals.core.config import load_config
pytestmark = pytest.mark.integration
@pytest.mark.asyncio
async def test_smoke_against_localhost():
if "SURFSENSE_API_BASE" not in os.environ:
pytest.skip("SURFSENSE_API_BASE not set; skipping integration smoke")
config = load_config()
if config.credential_mode() == "none":
pytest.skip("No credentials in environment; skipping integration smoke")
bundle = await acquire_token(config)
async with client_with_auth(config, bundle) as client:
response = await client.get(f"{config.surfsense_api_base}/api/v1/global-new-llm-configs")
try:
response.raise_for_status()
except httpx.HTTPStatusError as exc:
pytest.fail(f"Backend rejected smoke call: {exc!s}")
assert isinstance(response.json(), list)