Files
contact.allucanget.biz/tests/conftest.py
zwitschi 4cefd4e3ab
Some checks failed
CI / test (3.11) (push) Failing after 5m36s
CI / build-image (push) Has been skipped
v1
2025-10-22 16:48:55 +02:00

31 lines
950 B
Python

import os
import tempfile
import pytest
import importlib
import sys
from pathlib import Path
# Ensure the repository root is on sys.path so tests can import the server package.
ROOT = Path(__file__).resolve().parents[1]
if str(ROOT) not in sys.path:
sys.path.insert(0, str(ROOT))
server_app_module = importlib.import_module("server.app")
# Expose app and init_db from the imported module
app = server_app_module.app
init_db = server_app_module.init_db
@pytest.fixture(autouse=True, scope="function")
def setup_tmp_db(tmp_path, monkeypatch):
"""Set up the database for each test function."""
tmp_db = tmp_path / "forms.db"
# Patch the module attribute directly to avoid package name collisions
monkeypatch.setattr(server_app_module, "DB_PATH", tmp_db, raising=False)
monkeypatch.setattr("server.settings.ADMIN_USERNAME", "admin")
monkeypatch.setattr("server.settings.ADMIN_PASSWORD", "admin")
init_db()
yield