argos/tests/conftest.py
Alexis Métaireau 43f8aabb2c Refactor server codebase for testing.
- Restructured server module to separate the application creation and configuration.
- Moved code dealing with SQLAlchemy database
  setup and teardown to the main application file.
- Moved functions related to configuration file loading to `argos.server.settings`.
- Fixed SQLAchemy expressions in `argos.server.queries`.
- Implemented a more granular system of setting checks' schedule on the server.
- Introduced frequency scheduling on per-website basis in the YAML config.
- Introduced Pytest fixtures for handling test database and authorized HTTP client in `tests/conftest.py`.
- Included a first test for the api
- Implemented changes to models to accommodate changes to task scheduling.
- Fixed errors concerning database concurrency arising from changes to the application setup.
2023-10-11 23:52:33 +02:00

25 lines
520 B
Python

from os import environ
import pytest
from fastapi import FastAPI
from httpx import AsyncClient
environ["APP_ENV"] = "test"
@pytest.fixture
def app() -> FastAPI:
from argos.server.main import get_application # local import for testing purpose
return get_application()
@pytest.fixture
def authorized_client(
client: AsyncClient, token: str, authorization_prefix: str
) -> AsyncClient:
client.headers = {
"Authorization": f"Bearer {token}",
**client.headers,
}
return client