Coffee Rustviews
Hace un tiempo publiqué un artículo acerca de una pequeña herramienta llamada Coffee Reviews que desarrollé para crear el hábito de la revisión de código en mi equipo. Lo hace mediante simples tarjetas que listan los Merge Requests a revisar en ciertas horas del día. Estas tarjetas son enviadas al canal de Microsoft Teams del equipo (también soporta Slack).
Dado mi gran entusiasmo por desarrollar en Rust decidí que este sería un buen proyecto que me daría la oportunidad de ejercitar dicho lenguaje. Así fue como me aventuré a escribir Coffee Rustviews 🦀.
Este proyecto es finalmente el que se encuentra corriendo cada mañana en la empresa, reemplazando al anterior escrito en Typescript. La razón es que puedo publicar solamente el archivo ejecutable en nuestros servicios en la nube, es decir, no requiere descargar el código y realizar la instalación de los paquetes antes de poder ejecutarlo (a diferencia del anterior en Typescript).
Esta herramienta ahora soporta una configuración en archivo TOML además de JSON. Utiliza reqwest (basada en Tokio) para consumir datos de Gitlab así como la publicación de los mensajes en Teams o Slack.
Para los tests utiliza http-mock con la cual puedo emular las respuestas de las APIs externas y validar el comportamiento.
Si les interesa Rust y andan aprendiendo cómo realizar llamadas a una API o servicio web externo además de cómo realizar tests para estos comportamientos es muy probable que este proyecto les sea de ayuda.