• # bonne initiative

    Posté par (site web personnel, Mastodon) . En réponse au journal Ma passerelle XMPP/Signal. Évalué à 10.

    Salut,

    merci pour ton travail, c'est bien de voir quelqu'un motivé au point d'écrire sa propre passerelle. Par contre l'organisation derrière signal (ex. Open Whisper Systems, maintenant c'est Signal Technology Foundation) est connue pour ne pas aimer les implémentations non officielles sur leurs serveurs (cf. LibreSignal), donc c'est possible qu'un jour ils causent du tort à signald et donc ton travail.

    Pour les passerelles, le logiciel sur lequel je travaille (Libervia/Salut à Toi) permet aussi d'en écrire en Python asynchrone, mais ça manque également de documentation à l'heure actuelle. Spectrum2 est probablement la solution la plus connue, et c'est bien que l'auteur t'aie répondu.

    Les tests de bout en bout c'est effectivement risqué dans ce genre de cas parce que tu peux te faire bannir de Signal, et puis ça peut être compliqué à mettre en place (il faut mettre tous les serveurs en route, attendre qu'ils soient dispo, etc.).

    Par contre tu peux faire des tests unitaires, c'est à dire vérifier que tes méthodes ont le comportement attendu. Par exemple tu peux écrire une entrée type de ce que ta passerelle attendrait d'un client XMPP, et vérifier que ça se traduit correctement en la requête que tu vas faire à signald. Jette un œil à pytest qui est très populaire, et permet d'écrire des tests avec de simples assert. Tu pourrais aussi t'intéresser au module mock de la bibliothèque standard, c'est très utile et une fois que tu as compris le truc, ça devrait de permettre de tester facilement.

    En tout cas bonne continuation, et merci de contribuer à XMPP.