"""Test setup: configure the environment before importing the app. The API fails closed on missing configuration (by design), so tests provide a complete, isolated environment pointing at a temp directory. """ import os import sys import tempfile from pathlib import Path API_DIR = Path(__file__).resolve().parent.parent / "api" sys.path.insert(0, str(API_DIR)) _TMP = tempfile.mkdtemp(prefix="certauth-test-") os.environ["YK_ROOT_SERIAL"] = "10000001" os.environ["YK_INT_SERIAL"] = "10000002" os.environ["YK_ROOT_PIN"] = "123456" os.environ["YK_INT_PIN"] = "234567" os.environ["JWT_SECRET"] = "test-secret-0123456789abcdef0123456789abcdef" os.environ["ADMIN_USERNAME"] = "certauth" os.environ["ADMIN_PASSWORD"] = "test-admin-pass-123" os.environ["CERTAUTH_DB_PATH"] = os.path.join(_TMP, "test.db") os.environ["CERTAUTH_TMP_DIR"] = os.path.join(_TMP, "tmp") os.environ["CERTAUTH_CA_BASE"] = os.path.join(_TMP, "ca") os.environ["CERTAUTH_ISSUED_DIR"] = os.path.join(_TMP, "ca", "issued") os.environ["PKCS11_MODULE"] = "/usr/lib/opensc-pkcs11.so" os.makedirs(os.environ["CERTAUTH_ISSUED_DIR"], exist_ok=True) os.makedirs(os.environ["CERTAUTH_TMP_DIR"], exist_ok=True)