mirror of
https://framagit.org/framasoft/framaspace/argos.git
synced 2025-04-28 18:02:41 +02:00
- 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.
25 lines
520 B
Python
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
|