Files
agentrhq__authsome/tests/conftest.py
2026-06-15 14:26:23 +05:30

44 lines
1.7 KiB
Python

"""Global pytest configuration and early initialization."""
import os
import tempfile
import pytest
# Force a safe temporary AUTHSOME_HOME before any codebase imports occur
TEST_AUTHSOME_BASE_URL = "http://127.0.0.1:7998"
_tmp_dir = tempfile.TemporaryDirectory(prefix="authsome_test_home_")
os.environ["AUTHSOME_HOME"] = _tmp_dir.name
os.environ["AUTHSOME_BASE_URL"] = TEST_AUTHSOME_BASE_URL
os.environ["AUTHSOME_ENV"] = "test"
os.environ["AUTHSOME_DO_NOT_TRACK"] = "true"
os.environ.pop("AUTHSOME_DATABASE_URL", None)
os.environ.pop("DATABASE_URL", None)
os.environ.pop("AUTHSOME_REDIS_URL", None)
os.environ.pop("AUTHSOME_POSTHOG_API_KEY", None)
os.environ.pop("POSTHOG_API_KEY", None)
@pytest.fixture(autouse=True)
def _disable_analytics(monkeypatch: pytest.MonkeyPatch) -> None:
"""Tests must never initialize analytics clients or send telemetry."""
from authsome.server import analytics
from authsome.server.config import get_server_config
get_server_config.cache_clear()
monkeypatch.setenv("AUTHSOME_BASE_URL", TEST_AUTHSOME_BASE_URL)
monkeypatch.setenv("AUTHSOME_ENV", "test")
monkeypatch.setenv("AUTHSOME_DO_NOT_TRACK", "true")
monkeypatch.delenv("AUTHSOME_DATABASE_URL", raising=False)
monkeypatch.delenv("DATABASE_URL", raising=False)
monkeypatch.delenv("AUTHSOME_REDIS_URL", raising=False)
monkeypatch.delenv("AUTHSOME_POSTHOG_API_KEY", raising=False)
monkeypatch.delenv("POSTHOG_API_KEY", raising=False)
analytics.shutdown_posthog()
class AnalyticsForbidden:
def __init__(self, *args, **kwargs) -> None:
raise AssertionError("Tests must not initialize analytics clients")
monkeypatch.setattr(analytics, "Posthog", AnalyticsForbidden)