"""Shared fixtures. Live-smoke tests read ``ISPCONFIG_TEST_URL``, ``ISPCONFIG_TEST_USER``, and ``ISPCONFIG_TEST_PASS`` from the environment. If any is missing, those tests are skipped — so the default ``pytest`` run on a laptop never phones home. Set ``ISPCONFIG_TEST_VERIFY_SSL=0`` for panels with self-signed or mismatched certs. """ from __future__ import annotations import os import pytest @pytest.fixture(scope="session") def live_creds() -> dict[str, str]: url = os.environ.get("ISPCONFIG_TEST_URL") user = os.environ.get("ISPCONFIG_TEST_USER") password = os.environ.get("ISPCONFIG_TEST_PASS") if not (url and user and password): pytest.skip("live smoke test: set ISPCONFIG_TEST_URL/USER/PASS to enable") verify = os.environ.get("ISPCONFIG_TEST_VERIFY_SSL", "1") return {"url": url, "user": user, "password": password, "verify": verify}