diff --git a/test_apprise.py b/test_apprise.py new file mode 100644 index 0000000..37e8acc --- /dev/null +++ b/test_apprise.py @@ -0,0 +1,99 @@ +#!/usr/bin/env python3 +""" +Einfacher Test für Apprise Mattermost-Verbindung +""" + +import os +from dotenv import load_dotenv +import apprise + +# Lade .env Datei +load_dotenv() + +def test_mattermost_connection(): + """Testet die Mattermost-Verbindung über Apprise""" + + # Hole Apprise URL aus .env + apprise_url = os.getenv('APPRISE_URL') + + if not apprise_url: + print("❌ APPRISE_URL nicht in .env gefunden!") + print("Bitte erstelle eine .env Datei mit deiner Apprise URL") + return False + + print(f"🔗 Teste Apprise URL: {apprise_url}") + + try: + # Erstelle Apprise Objekt + apobj = apprise.Apprise() + + # Füge die URL hinzu + apobj.add(apprise_url) + + # Teste die Verbindung + print("📡 Sende Test-Nachricht...") + + # Sende eine Test-Nachricht + result = apobj.notify( + title="🧪 TI-Status Test", + body="Dies ist eine Test-Nachricht von der TI-Status2Mattermost App.\n\n✅ Apprise-Verbindung funktioniert!", + body_format=apprise.NotifyFormat.MARKDOWN + ) + + if result: + print("✅ Test erfolgreich! Nachricht wurde gesendet.") + return True + else: + print("❌ Test fehlgeschlagen. Keine Nachricht gesendet.") + return False + + except Exception as e: + print(f"❌ Fehler beim Test: {e}") + return False + +def test_without_env(): + """Testet mit einer direkten Mattermost URL""" + + print("\n🔧 Alternative: Teste mit direkter URL") + print("Beispiel für Mattermost Webhook:") + print("mattermost://username:password@mattermost.medisoftware.org/channel?webhook=your_webhook_id") + + # Hier könntest du eine Test-URL direkt eingeben + test_url = input("Gib deine Apprise URL ein (oder Enter für Skip): ").strip() + + if not test_url: + print("⏭️ Test übersprungen") + return + + try: + apobj = apprise.Apprise() + apobj.add(test_url) + + result = apobj.notify( + title="🧪 Direkter Test", + body="Direkter Apprise-Test erfolgreich!", + body_format=apprise.NotifyFormat.MARKDOWN + ) + + if result: + print("✅ Direkter Test erfolgreich!") + else: + print("❌ Direkter Test fehlgeschlagen") + + except Exception as e: + print(f"❌ Fehler beim direkten Test: {e}") + +if __name__ == "__main__": + print("🧪 Apprise Mattermost-Verbindungstest") + print("=" * 40) + + # Test mit .env + success = test_mattermost_connection() + + if not success: + test_without_env() + + print("\n📋 Nächste Schritte:") + print("1. Überprüfe deine .env Datei") + print("2. Stelle sicher, dass die Mattermost URL korrekt ist") + print("3. Teste das Hauptskript: python ti_status_checker.py") \ No newline at end of file