Odoo-Verbindungs-Test: Echten Connection-Check statt nur Health-Check #18

Open
opened 2026-03-30 19:25:15 +00:00 by David · 0 comments
Collaborator

Beschreibung

Der "Verbindung testen"-Button in den Settings testet aktuell nur ob das Backend erreichbar ist (/api/health). Er prüft NICHT ob die Odoo-Verbindung funktioniert. Die Meldung "Odoo-Verbindung wird beim nächsten Polling-Zyklus getestet" ist irreführend.

Hintergrund

Beim Einrichten von Odoo-Credentials muss der User sofort wissen ob die Verbindung funktioniert — nicht erst beim nächsten Polling-Zyklus (bis zu 30 Minuten). Die OdooClient.authenticate() Methode existiert bereits, wird aber nicht als API-Endpoint exponiert.

Akzeptanzkriterien

  • Neuer Endpoint POST /api/test-odoo ruft OdooClient.authenticate() auf
  • Bei Erfolg: Antwort mit Odoo-Version und Datenbank-Name
  • Bei Fehler: Klare Fehlermeldung (falsche URL, falsche Credentials, Timeout)
  • Frontend-Button ruft den neuen Endpoint statt /api/health auf
  • Erfolg wird grün angezeigt mit Details ("Verbunden mit Odoo 17, DB: production")
  • Fehler wird rot angezeigt mit Ursache
  • Test mit gemocktem OdooClient

Technische Hinweise

  • Betroffene Dateien:
    • Ändern: backend/api/pipeline.py (neuer Endpoint test_odoo_connection())
    • Ändern: backend/services/odoo_poller.py (ggf. test_connection() Methode extrahieren)
    • Ändern: frontend/src/pages/Settings.tsx (handleTestOdoo() auf neuen Endpoint umstellen)
  • Ansatz: OdooClient instanzieren, authenticate() aufrufen, Ergebnis zurückgeben
  • Migration nötig: nein

Aufwand: S

## Beschreibung Der "Verbindung testen"-Button in den Settings testet aktuell nur ob das Backend erreichbar ist (`/api/health`). Er prüft NICHT ob die Odoo-Verbindung funktioniert. Die Meldung "Odoo-Verbindung wird beim nächsten Polling-Zyklus getestet" ist irreführend. ## Hintergrund Beim Einrichten von Odoo-Credentials muss der User sofort wissen ob die Verbindung funktioniert — nicht erst beim nächsten Polling-Zyklus (bis zu 30 Minuten). Die `OdooClient.authenticate()` Methode existiert bereits, wird aber nicht als API-Endpoint exponiert. ## Akzeptanzkriterien - [ ] Neuer Endpoint `POST /api/test-odoo` ruft `OdooClient.authenticate()` auf - [ ] Bei Erfolg: Antwort mit Odoo-Version und Datenbank-Name - [ ] Bei Fehler: Klare Fehlermeldung (falsche URL, falsche Credentials, Timeout) - [ ] Frontend-Button ruft den neuen Endpoint statt `/api/health` auf - [ ] Erfolg wird grün angezeigt mit Details ("Verbunden mit Odoo 17, DB: production") - [ ] Fehler wird rot angezeigt mit Ursache - [ ] Test mit gemocktem OdooClient ## Technische Hinweise - Betroffene Dateien: - Ändern: `backend/api/pipeline.py` (neuer Endpoint `test_odoo_connection()`) - Ändern: `backend/services/odoo_poller.py` (ggf. `test_connection()` Methode extrahieren) - Ändern: `frontend/src/pages/Settings.tsx` (`handleTestOdoo()` auf neuen Endpoint umstellen) - Ansatz: `OdooClient` instanzieren, `authenticate()` aufrufen, Ergebnis zurückgeben - Migration nötig: nein ## Aufwand: S
Sign in to join this conversation.
No description provided.