how publish pact contract pact broker
Ce didacticiel explique deux options pour configurer Pact Broker. Vous pouvez publier le contrat Pact sur le courtier Pact en utilisant le framework pact-js et avec Postman:
meilleur logiciel de mise à jour de pilote windows 10
Qu'est-ce que Pact Broker?
Pact Broker est un outil fourni par les créateurs du framework Pact. Il facilite le stockage des contrats, la visualisation des consommateurs et le statut du contrat de vérification.
La raison d'avoir un courtier distinct pour stocker les contrats est que chaque ensemble de tests est souvent écrit dans différents référentiels et même dans différentes langues.
=> Découvrez la série de formations sur les tests de contrats simples ici
Ce que vous apprendrez:
Publier le contrat Pact pour Pact Broker
Avant de vous lancer dans la publication d'un contrat, vous devez décider si vous souhaitez héberger le Pact Broker vous-même ou utiliser un service hébergé tel que Pactflow .
Personnellement, nous avons opté pour Pactflow car il offre les avantages supplémentaires indiqués dans le tableau ci-dessous:
Fonctionnalité | Pactflow | Auto-hébergé |
---|---|---|
SSO (Github) | Oui | Ne pas |
Maintenance du serveur | Ne pas | Oui |
Jetons / Secrets sécurisés | Oui | Ne pas |
Webhooks | UI configurable | Configuration manuelle |
Infrastructure en tant que code | Terraform | Dockerfile |
Configurer Pact Broker avec Pactflow
Pactflow offre une option gratuite qui ne vous sera facturée qu'après les 180 mois d'essai (à compter de mai 2020), soit 10 ans et demi.
- Enregistrez votre adresse e-mail avec Pactflow (notez que vous pouvez toujours ajouter des utilisateurs supplémentaires plus tard).
- Configurez les informations sur la société et le sous-domaine de votre courtier Pact.
- Vous devriez maintenant recevoir un e-mail avec votre nom d'utilisateur et votre mot de passe temporaires.
- Accédez à votre sous-domaine, (voici mon sous-domaine ) et connectez-vous. Si cela réussit, vous devriez voir l'exemple d'application avec un contrat déjà configuré.
Nous verrons comment vérifier les contrats dans Pactflow plus tard dans le didacticiel.
Configurer Pact Broker avec Docker (docker-compose)
Pact propose des images de docker pour créer facilement votre propre Pact Broker en quelques secondes avec docker-compose. Le référentiel github explique comment cela peut être fait, entrons dans les détails plus tard.
Certaines étapes supplémentaires qui sont ajoutées pour garantir la stabilité du service sont indiquées ci-dessous:
- Ajoutez «redémarrer: toujours» au docker-composer prestations de service.
- Lancez docker-compose sur le serveur en utilisant l'argument détaché `-d` pour lui permettre de s'exécuter en arrière-plan.
Contrat d'édition avec pact-js
Chaque implémentation du langage Pact a ses propres méthodes pour publier les contrats auprès du courtier. Publication sur Pact Broker en JavaScript, la configuration doit ressembler à ceci.
Le jeton Pact Broker illustré ci-dessus est stocké dans Pactflow sous les paramètres. Les captures d'écran sont présentées ci-dessous. Assurez-vous que vous utilisez le jeton CI qui dispose des autorisations de lecture et d'écriture.
Aller à Paramètres puis jetons API dans Pactflow.
Probablement les secrets et les mots de passe ne doivent pas être stockés dans git, donc un fichier `.env` doit être utilisé et référencé dans le code avec quelque chose comme indiqué ci-dessous.
Avec le 'PublishVerificationResult' valeur, vous ne voulez pas vérifier les contrats dans votre environnement local. Par conséquent, une autre variable d'environnement doit être définie, comme indiqué ci-dessous.
Désormais, le contrat peut être publié directement dans le code.
Contrat d'édition avec le facteur
Habituellement, pour vérifier le premier contrat, nous utilisons Postman pour nous assurer que le courtier est correctement configuré. Facteur a également été utilisé lorsque les consommateurs tardaient à adopter Pact au sein de leur équipe, nous avons donc publié le contrat auprès du courtier Pact et demandé à l'équipe des consommateurs de vérifier s'ils étaient satisfaits du contrat.
Cela nous a permis en tant qu'équipe fournisseur de vérifier le contrat et d'avoir plus confiance dans nos déploiements. De même, lorsque l'équipe des consommateurs était prête à adopter Pact, elle avait déjà un exemple fonctionnel à utiliser.
Les étapes de publication de Postman sont indiquées ci-dessous:
# 1) PUT: Construisez la requête
- Accédez au sous-domaine
- Nom du fournisseur
- Nom du consommateur
- Version
# 2) Autorisation: ajoutez le jeton de support (qui est équivalent au jeton API comme mentionné ci-dessus)
# 3) Incluez le Pact JSON comme corps (le JSON peut être copié directement dans le champ body, en vous assurant ainsi de définir l'en-tête Content: Type sur «application / json»).
Partage de pactes avec les fournisseurs d'API
Une fois vos contrats publiés, le fournisseur peut récupérer le contrat Pact en demandant l'URL de Pact Broker avec:
Habituellement, vous voudrez vérifier avec une version spécifique de l'API. Par exemple, dans une architecture de microservices, l'équipe consommateur modifie en permanence les informations dont elle a besoin de l'API.
Parallèlement, le fournisseur d'API apporte des modifications en même temps, et il devra vérifier par rapport à la version actuellement déployée en production, car cela garantira un déploiement transparent.
Conclusion
Enfin, vous avez un Pact Broker avec un contrat publié.Dans le prochain tutoriel, nous verrons comment écrire votre test de fournisseur en encapsulant une API .Net Core, en extrayant le dernier contrat et en effectuant une vérification par rapport à l'API locale.
Le framework Pact n'est pas seulement précieux au début de votre projet, d'une manière axée sur le consommateur, mais l'avantage de visualiser vos consommateurs avec Pact Broker est certainement un contributeur clé à l'utilisation de cet outil.
En outre, la capacité à mieux comprendre les interactions des consommateurs et la manière dont l'API est réellement utilisée peut souvent être perdue lors de la traduction et peut entraîner un problème de production qui pourrait survenir. Cela conduit à des heures de débogage et de navigation dans les journaux d'application.
Dans ce tutoriel, nous avons appris deux options différentes pour configurer votre Pact Broker. Vous avez publié votre contrat en utilisant le framework pact-js et également avec Postman.
À ce stade, vous devez penser à aligner vos versions sur les microservices et à nommer vos fournisseurs de manière cohérente pour créer un réseau Pact Broker facile à lire et compréhensible.
=> Visitez ici pour apprendre les tests de contrat à partir de zéro
lecture recommandée
- Comment rédiger un test de pacte de consommation en JavaScript
- Introduction aux tests de contrat avec des exemples
- Vérifiez le contrat Pact et le déploiement continu avec Pact CLI
- Tutoriel Docker: Installation et introduction à Docker
- Script avancé pour les flux de travail de test complexes dans Postman
- Comment créer une documentation API dans Postman?
- Comment utiliser Postman pour tester différents formats d'API?
- Top 10 des questions d'entretien de facteur les plus populaires avec réponses