mirror of
https://github.com/ArchiveBox/ArchiveBox.git
synced 2026-09-14 02:56:11 +05:00
35 lines
1.0 KiB
Python
35 lines
1.0 KiB
Python
"""Root pytest bootstrap.
|
|
|
|
This file is intentionally outside the ``archivebox`` package so pytest can
|
|
load it before importing ``archivebox/__init__.py``. ArchiveBox constants are
|
|
computed at import time, so DATA_DIR must already point at a temp collection.
|
|
"""
|
|
|
|
import os
|
|
import tempfile
|
|
from pathlib import Path
|
|
|
|
|
|
REPO_ROOT = Path(__file__).resolve().parent
|
|
SESSION_DATA_DIR = Path(
|
|
os.environ.get("ARCHIVEBOX_PYTEST_SESSION_DATA_DIR") or tempfile.mkdtemp(prefix="archivebox-pytest-session-"),
|
|
).resolve()
|
|
|
|
os.environ["ARCHIVEBOX_PYTEST_SESSION_DATA_DIR"] = str(SESSION_DATA_DIR)
|
|
os.environ["DATA_DIR"] = str(SESSION_DATA_DIR)
|
|
(SESSION_DATA_DIR / "tests").mkdir(parents=True, exist_ok=True)
|
|
os.chdir(SESSION_DATA_DIR)
|
|
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "archivebox.core.settings")
|
|
os.environ.pop("ARCHIVE_DIR", None)
|
|
os.environ.pop("USERS_DIR", None)
|
|
os.environ.pop("CRAWL_DIR", None)
|
|
os.environ.pop("SNAP_DIR", None)
|
|
|
|
|
|
def pytest_configure():
|
|
import django
|
|
from django.apps import apps
|
|
|
|
if not apps.ready:
|
|
django.setup()
|