[Majeur] Boucle de reconnexion WebSocket : 0 % de couverture de tests #92
Labels
No labels
v1.0 · bloquant
v1.0 · majeur
v1.0 · mineur
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
mat/homeassistant-comwatt#92
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problème
Le cœur temps réel de l'intégration (
stream.py:148-177) n'est jamais exécuté dans les tests. Lignes non couvertes :except ComwattAuthError(warning +break, lignes 158-163)except Exception→ retry (164-165)_stop(167)for msg in ... loop.call_soon_threadsafe(queue.put_nowait, msg)(177 — le générateur mocké rend toujoursiter([]))Une régression dans le backoff ou l'arrêt sur auth error passerait la CI silencieusement.
Recommandation — tests prioritaires
stream_measurements.side_effectlève 2× puis réussit → vérifier retry, croissance du backoff (1 s → 2 s, plafond 60 s) viapatch("asyncio.sleep"), reset après succès.ComwattAuthError→ warning, break sans retry, tâche terminée proprement, pas d'exception propagée.Measurement→ les messages transitent parcall_soon_threadsafejusqu'à la queue puis le consumer →coordinator.datamis à jour.async_stop()avantasync_start()et doubleasync_stop()(idempotence revendiquée) ; site sanssiteUid→ aucune tâche créée ; cancellation du consumer pendantqueue.get().Constaté lors de la review de code pré-v1.0 (v0.8.1).