29 lines
717 B
Python
29 lines
717 B
Python
"""Shared test fixtures for the SneakySwole test suite."""
|
|
|
|
import os
|
|
from unittest.mock import patch
|
|
|
|
import pytest
|
|
from fastapi.testclient import TestClient
|
|
|
|
|
|
@pytest.fixture(autouse=True)
|
|
def _set_test_env() -> None:
|
|
"""Ensure required env vars are set for all tests."""
|
|
with patch.dict(os.environ, {
|
|
"ADMIN_USERNAME": "testadmin",
|
|
"ADMIN_PASSWORD": "testpass123",
|
|
"APP_ENV": "development",
|
|
"DATABASE_URL": "sqlite:///data/test_sneakyswole.db",
|
|
}, clear=False):
|
|
yield
|
|
|
|
|
|
@pytest.fixture
|
|
def client() -> TestClient:
|
|
"""Create a FastAPI TestClient for integration tests."""
|
|
from app.main import create_app
|
|
|
|
app = create_app()
|
|
return TestClient(app)
|