Y el pacto se publicó con éxito en el broker. Volvamos y revisemos aquí el contrato. Este es el contrato, el PACT, ¿vale? Hace unos segundos. Si haces clic en ver interacciones PACT, podemos ver esta lista de direcciones que describen cómo el consumidor espera que se comporte el proveedor. Vale, con estado 200, test json a uno, test json dos, etcétera.
Ahora, los siguientes pasos son desde el lado del proveedor, desde la utilidad, que deberían verificar el contrato. ¿Cómo pueden hacer esto? La forma más sencilla es utilizar un archivo local, lo que significa que si no tienes un broker, entonces el consumidor escribe la prueba y copian el contrato a un sistema de archivos compartido. Pero si tienes un broker PACT, como hicimos en nuestro ejemplo, no extraes el archivo PACT del sistema de archivos, sino del broker utilizando una URL.
Así que creas un webhook. Para crear un webhook, puedes utilizar la herramienta CLI de PACT o la interfaz de usuario del broker PACT. Así que si uso la herramienta CLI de PACT, puedo ir aquí y crear una prueba, una prueba de muestra, compré la biblioteca, tengo el nombre del proveedor, la URL base del proveedor, la URL del broker PACT, y uso el método verify provider. Y digo publish verification results true. Verificar un contrato es la mitad de la historia. Deberías publicar los resultados de nuevo en el broker. Puedes usar el comando docker, verificar de nuevo el conjunto, tienes que decir dar el token del broker, los resultados de la verificación pública, etcétera. Así que si ejecutas esto, va a rechazar o verificar el contrato. Vale. Pero por supuesto, puedes usar la interfaz de usuario del broker PACT. Si vas a configuración, a los webhooks, puedes crear aquí un webhook. Eso va a ser activado por tu flujo de trabajo CI-CD. Y ya que dije flujo de trabajo CI-CD, voy a mostrarte un ejemplo de flujo de trabajo CI de consumidor. Así que aquí está el inicio, el checkout, luego la instalación, ejecutas la prueba del consumidor con Cypress, publicas el contrato, el archivo packed al broker PACT, luego el flujo de trabajo CI del proveedor es activado por un webhook para verificar el pacto, el contrato, y envía de vuelta los resultados con un nuevo webhook. Y entonces, puedo usar el, puedo usar el comando de despliegue del CLI de PACT que pregunta si podemos desplegar en un entorno particular. Así que, este sería un ejemplo de, de un flujo de trabajo CI de consumidor.
Así que, resumen. Los codetests aseguran una comunicación fluida entre los microservicios reduciendo el riesgo de errores y averías. Los MOCs de Cypress pueden transformarse en contratos de consumidor de pacto utilizando el adaptador correcto y por favor usa PackBroker para gestionar tus contratos y tu flujo de trabajo CI, CD. Espero que hayas encontrado útiles los Codetests de Cypress para tu viaje de software de bueno a excelente. Gracias.
Comments