from __future__ import annotations import os import time import pytest def pytest_configure(config): # noqa: ARG001 config.addinivalue_line( "markers", "integration: integration test requiring live backend" ) def pytest_collection_modifyitems(items): for item in items: if "integration" in item.nodeid: item.add_marker(pytest.mark.integration) @pytest.fixture(scope="session") def api_base_url() -> str: return os.environ.get("ERYAO_TEST_BASE_URL", "http://localhost:5775") @pytest.fixture def unique_test_email() -> str: base_email = os.environ.get("ERYAO_TEST__EMAIL", "test@example.com").strip().lower() if "@" in base_email: name, domain = base_email.split("@", 1) else: name, domain = base_email, "example.com" return f"{name}+fb{int(time.time() * 1000)}@{domain}" @pytest.fixture def test_verify_code() -> str: return os.environ.get("ERYAO_TEST__CODE", "123456") @pytest.fixture def test_identity(unique_test_email: str, test_verify_code: str) -> dict[str, str]: return {"email": unique_test_email, "code": test_verify_code}