how publish pact contract pact broker
Este tutorial explica dos opciones para configurar Pact Broker. Puede publicar el contrato del pacto para el corredor del pacto utilizando el marco pact-js y con Postman:
qa gerente entrevista preguntas respuestas pdf
¿Qué es Pact Broker?
Pact Broker es una herramienta proporcionada por los creadores del marco Pact. Facilita el almacenamiento de contratos, la visualización de los consumidores y la verificación del estado del contrato.
La razón de tener un agente independiente para almacenar los contratos es porque cada conjunto de pruebas a menudo se escribe en diferentes repositorios e incluso en diferentes idiomas.
=> Explore la serie de capacitación sobre pruebas de contrato simple aquí
Lo que vas a aprender:
Publicar contrato de pacto al corredor de pacto
Antes de pasar a cómo publicar un contrato, debe tomar una decisión sobre si desea alojar el Pact Broker usted mismo o utilizar un servicio alojado como Pactflow .
Personalmente, hemos optado por Pactflow ya que ofrece los beneficios adicionales que se muestran en la siguiente tabla:
Característica | Pactflow | Autohospedado |
---|---|---|
SSO (Github) | sí | No |
El mantenimiento del servidor | No | sí |
Tokens seguros / secretos | sí | No |
Webhooks | UI configurable | Configuración manual |
Infraestructura como código | Terraform | Dockerfile |
Configuración de Pact Broker con Pactflow
Pactflow ofrece una opción gratuita que solo le cobrará después de la prueba de 180 meses (a partir de mayo de 2020), es decir, 10 años y medio.
- Registre su dirección de correo electrónico con Pactflow (tenga en cuenta que siempre puede agregar usuarios adicionales más adelante).
- Configure la información de la empresa y el subdominio para su Pact Broker.
- Ahora debería recibir un correo electrónico con su nombre de usuario y contraseña temporales.
- Navegue a su subdominio, (aquí está mi subdominio ) e inicie sesión. Si esto tuvo éxito, debería ver la aplicación de ejemplo con un contrato ya configurado.
Veremos cómo verificar los contratos dentro de Pactflow más adelante en el tutorial.
Configuración de Pact Broker con Docker (docker-compose)
Pact ofrece imágenes de la ventana acoplable para activar fácilmente su propio Pact Broker en segundos con docker-compose. los repositorio de github explica cómo se puede hacer esto, vamos a entrar en detalles más adelante.
A continuación, se indican algunos pasos adicionales que se agregan para garantizar que el servicio sea estable:
- Agrega 'reiniciar: siempre' al docker-compose servicios.
- Ejecute docker-compose en el servidor utilizando el argumento separado `-d` para permitir que se ejecute en segundo plano.
Contrato de publicación con pact-js
Cada implementación del lenguaje del Pacto tiene sus propios métodos sobre cómo publicar los contratos para el corredor. Al publicar en Pact Broker en JavaScript, la configuración debería ser similar a esta.
El Token de Pact Broker que se muestra arriba se almacena en Pactflow en la configuración. Las capturas de pantalla se muestran a continuación. Asegúrese de que está utilizando el token de CI que tiene permisos de lectura y escritura.
Ir Configuración y luego tokens API en Pactflow.
Probablemente los secretos y las contraseñas no deberían almacenarse en git, por lo tanto, debería usarse un archivo `.env` y hacer referencia a él dentro del código con algo como se muestra a continuación.
Junto con 'PublishVerificationResult' valor, no desea verificar contratos en su entorno local. Por lo tanto, se debe establecer otra variable de entorno, como se muestra a continuación.
Ahora el contrato se puede publicar directamente en el código.
Contrato editorial con cartero
Por lo general, para verificar el primer contrato, usamos Postman para asegurarnos de que el corredor esté configurado correctamente. Cartero También se ha utilizado cuando los consumidores estaban tardando en adoptar Pact dentro de su equipo, por lo que publicamos el contrato al Pact Broker y le pedimos al equipo de consumidores que verificara si estaban contentos con el contrato.
Esto nos permitió, como equipo de proveedores, verificar el contrato y tener más confianza en nuestras implementaciones. Además, cuando el equipo de consumidores estaba listo para adoptar Pact, ya tenían un ejemplo funcional para usar.
Los pasos para publicar Postman se dan a continuación:
# 1) PUT: Construya la solicitud
- Navega al subdominio
- Nombre del proveedor
- Nombre del consumidor
- Versión
# 2) Autorización: agregue el token de portador (que es equivalente al token de API como se mencionó anteriormente)
# 3) Incluya el JSON de Pact como el cuerpo (el JSON se puede copiar directamente en el campo del cuerpo, asegurándose así de establecer el encabezado Content: Type en “application / json”).
Compartiendo pactos con proveedores de API
Una vez que se hayan publicado sus contratos, el proveedor puede recuperar el contrato de Pact solicitando la URL de Pact Broker con:
Por lo general, querrá verificar con una versión específica de la API. Por ejemplo, en una arquitectura de microservicios, el equipo de consumidores realiza cambios constantemente en la información que requieren de la API.
Junto a esto, el proveedor de API está realizando cambios al mismo tiempo, y deberán verificar con la versión que se implementa actualmente en producción, ya que esto garantizará una implementación perfecta.
Conclusión
Finalmente, tiene un Pact Broker con un contrato publicado, en el siguiente tutorial veremos cómo escribir la prueba de su proveedor envolviendo una API .Net Core, extrayendo el último contrato y verificando con la API local.
El marco de Pact no solo es valioso al comienzo de su proyecto, de una manera impulsada por el consumidor, sino que el beneficio de visualizar a sus consumidores con Pact Broker es definitivamente un factor clave para el uso de esta herramienta.
Además, la capacidad de comprender mejor las interacciones del consumidor y cómo se utiliza realmente la API a menudo se puede perder en la traducción y puede resultar en un problema de producción que podría suceder. Esto lleva a horas de depuración y rastreo de los registros de la aplicación.
En este tutorial, hemos aprendido dos opciones diferentes para configurar su Pact Broker. Ha publicado su contrato utilizando el marco pact-js y también con Postman.
En este punto, debe pensar en alinear sus versiones a través de los microservicios y también nombrar a sus proveedores de manera consistente para crear una red de Pact Broker fácil de leer y comprensible.
=> Visite aquí para aprender las pruebas de contrato desde cero
Lectura recomendada
- Cómo escribir una prueba de pacto con el consumidor en JavaScript
- Introducción a las pruebas por contrato con ejemplos
- Verifique el contrato de Pact y la implementación continua con la CLI de Pact
- Tutorial de Docker: instalación e introducción a Docker
- Scripting avanzado para flujos de trabajo de prueba complejos en Postman
- ¿Cómo crear documentación de API en Postman?
- ¿Cómo utilizar Postman para probar diferentes formatos de API?
- Las 10 preguntas más populares de la entrevista del cartero con respuestas