import asyncio
import sys
from pathlib import Path

PROJECT_ROOT = Path(__file__).resolve().parents[1]
if str(PROJECT_ROOT) not in sys.path:
    sys.path.insert(0, str(PROJECT_ROOT))

from backend.app.config import get_settings  # noqa: E402
from backend.app.email_service import send_email  # noqa: E402


async def main() -> None:
    settings = get_settings()
    recipients = list(settings.notification_recipients)
    if not settings.notifications_enabled:
        raise RuntimeError("NOTIFICATIONS_ENABLED doit être true pour lancer le test SMTP.")
    await send_email(
        recipients,
        "Test SMTP - Portail frelons AULA TernoisCom",
        "Ce message confirme que la configuration SMTP du portail frelons fonctionne.",
    )
    print("Message de test envoyé à : " + ", ".join(recipients))


if __name__ == "__main__":
    asyncio.run(main())
