how publish pact contract pact broker
In diesem Tutorial werden zwei Optionen zum Einrichten des Pact Broker erläutert. Sie können den Paktvertrag mit dem Pact-js-Framework und mit Postman beim Pact Broker veröffentlichen:
SQL Server Interview Fragen und Antworten für erfahrene PDF
Was ist Pact Broker?
Pact Broker ist ein Tool, das von den Erstellern des Pact-Frameworks bereitgestellt wird. Es erleichtert das Speichern von Verträgen, das Visualisieren von Verbrauchern und den Status von Überprüfungsverträgen.
Der Grund für die Speicherung der Verträge durch einen separaten Broker liegt darin, dass jeder Testsatz häufig in verschiedenen Repositorys und sogar in verschiedenen Sprachen geschrieben wird.
=> Entdecken Sie hier die Simple Contract Testing Training Series
Was du lernen wirst:
Veröffentlichen Sie den Paktvertrag an Pact Broker
Bevor wir uns mit der Veröffentlichung eines Vertrags befassen, müssen Sie entscheiden, ob Sie den Pact Broker selbst hosten oder einen gehosteten Dienst wie z Paktfluss .
Persönlich haben wir uns für Pactflow entschieden, da dies die zusätzlichen Vorteile bietet, die in der folgenden Tabelle aufgeführt sind:
Merkmal | Paktfluss | Selbst gehostet |
---|---|---|
SSO (Github) | Ja | Unterlassen Sie |
Serverwartung | Unterlassen Sie | Ja |
Sichere Token / Geheimnisse | Ja | Unterlassen Sie |
Webhooks | Benutzeroberfläche konfigurierbar | Manuelle Konfiguration |
Infrastruktur als Code | Terraform | Dockerfile |
Pact Broker mit Pactflow einrichten
Paktfluss bietet eine kostenlose Option, die Ihnen erst nach der 180-monatigen Testversion (Stand Mai 2020) in Rechnung gestellt wird.
- Registrieren Sie Ihre E-Mail-Adresse bei Pactflow (beachten Sie, dass Sie später jederzeit weitere Benutzer hinzufügen können).
- Richten Sie die Unternehmensinformationen und die Subdomain für Ihren Pact Broker ein.
- Sie sollten jetzt eine E-Mail mit Ihrem temporären Benutzernamen und Passwort erhalten.
- Navigieren Sie zu Ihrer Subdomain (hier ist meine Subdomain ) und melden Sie sich an. Wenn dies erfolgreich war, sollten Sie die Beispiel-App mit einem bereits eingerichteten Vertrag sehen.
Wir werden später in diesem Lernprogramm untersuchen, wie Sie Verträge in Pactflow überprüfen können.
Einrichten von Pact Broker mit Docker (Docker-Compose)
Pact bietet Docker-Bilder, mit denen Sie mit Docker-Compose in Sekundenschnelle Ihren eigenen Pact Broker starten können. Das Github-Repository erklärt, wie dies getan werden kann. Lassen Sie uns später darauf näher eingehen.
Nachfolgend sind einige zusätzliche Schritte aufgeführt, die hinzugefügt werden, um sicherzustellen, dass der Dienst stabil ist:
- Fügen Sie 'restart: always' zum hinzu Docker-Compose Dienstleistungen.
- Starten Sie Docker-Compose auf dem Server mit dem getrennten Argument '-d', damit es im Hintergrund ausgeführt werden kann.
Veröffentlichungsvertrag mit pact-js
Jede Pact-Sprachimplementierung verfügt über eigene Methoden zum Veröffentlichen der Verträge beim Broker. Bei der Veröffentlichung auf dem Pact Broker in JavaScript sollte die Konfiguration ähnlich aussehen.
Das oben gezeigte Pact Broker Token wird unter Einstellungen in Pactflow gespeichert. Screenshots werden unten gezeigt. Stellen Sie sicher, dass Sie das CI-Token verwenden, das über Lese- und Schreibberechtigungen verfügt.
Gehe zu Einstellungen und dann API-Token in Pactflow.
Wahrscheinlich sollten Geheimnisse und Passwörter nicht in git gespeichert werden, daher sollte eine .env-Datei verwendet und im Code mit etwas wie unten gezeigt referenziert werden.
Zusammen mit 'PublishVerificationResult' Wert, möchten Sie keine Verträge in Ihrer lokalen Umgebung überprüfen. Daher sollte eine andere Umgebungsvariable festgelegt werden, wie unten gezeigt.
Jetzt kann der Vertrag direkt im Code veröffentlicht werden.
Veröffentlichungsvertrag mit Postbote
Um den ersten Vertrag zu überprüfen, verwenden wir normalerweise Postman, um sicherzustellen, dass der Broker korrekt eingerichtet ist. Postbote wurde auch verwendet, wenn die Verbraucher Pact nur langsam in ihrem Team einführten. Daher haben wir den Vertrag beim Pact Broker veröffentlicht und das Verbraucherteam gebeten, zu überprüfen, ob sie mit dem Vertrag zufrieden sind.
Dies ermöglichte es uns als Anbieterteam, den Vertrag zu überprüfen und mehr Vertrauen in unsere Bereitstellungen zu haben. Auch als das Verbraucherteam bereit war, den Pakt zu übernehmen, hatte es bereits ein funktionierendes Beispiel.
Die Schritte zum Veröffentlichen von Postman sind unten angegeben:
# 1) PUT: Konstruieren Sie die Anfrage
- Navigieren Sie zu Subdomain
- Anbietername
- Verbrauchername
- Ausführung
# 2) Autorisierung: Fügen Sie das Inhaber-Token hinzu (das dem oben erwähnten API-Token entspricht).
# 3) Fügen Sie den Pact JSON als Body ein (der JSON kann direkt in das Body-Feld kopiert werden, wodurch sichergestellt wird, dass der Header Content: Type auf 'application / json' gesetzt wird).
Pakte mit API-Anbietern teilen
Sobald Ihre Verträge veröffentlicht wurden, kann der Anbieter den Paktvertrag abrufen, indem er die Paktbroker-URL anfordert mit:
Normalerweise möchten Sie mit einer bestimmten Version der API überprüfen. Zum Beispiel, In einer Microservices-Architektur nimmt das Verbraucherteam ständig Änderungen an den Informationen vor, die es von der API benötigt.
Daneben nimmt der API-Anbieter gleichzeitig Änderungen vor und muss sich mit der Version vergleichen, die derzeit für die Produktion bereitgestellt wird, da dies eine nahtlose Bereitstellung gewährleistet.
Fazit
Schließlich haben Sie einen Pact Broker mit einem veröffentlichten Vertrag. Im nächsten Tutorial erfahren Sie, wie Sie Ihren Provider-Test schreiben, indem Sie eine .Net Core-API umschließen, den neuesten Vertrag abrufen und anhand der lokalen API überprüfen.
Das Pact-Framework ist nicht nur zu Beginn Ihres Projekts auf verbraucherorientierte Weise wertvoll, sondern der Vorteil der Visualisierung Ihrer Verbraucher mit dem Pact Broker ist definitiv ein wesentlicher Faktor für die Verwendung dieses Tools.
Außerdem kann die Fähigkeit, die Interaktionen der Verbraucher besser zu verstehen und wie die API tatsächlich verwendet wird, bei der Übersetzung häufig verloren gehen und zu einem Produktionsproblem führen, das möglicherweise auftritt. Dies führt zu stundenlangem Debuggen und Durchsuchen der Anwendungsprotokolle.
In diesem Tutorial haben wir zwei verschiedene Optionen zum Einrichten Ihres Pact Broker kennengelernt. Sie haben Ihren Vertrag im Rahmen von pact-js und auch bei Postman veröffentlicht.
An diesem Punkt müssen Sie darüber nachdenken, Ihre Versionen über die Microservices hinweg auszurichten und Ihre Anbieter konsistent zu benennen, um ein einfach zu lesendes und verständliches Pact Broker-Netzwerk zu erstellen.
=> Besuchen Sie hier, um Vertragstests von Grund auf zu lernen
Literatur-Empfehlungen
- Wie schreibe ich einen Consumer Pact Test in JavaScript
- Einführung in das Testen von Verträgen anhand von Beispielen
- Überprüfen Sie den Paktvertrag und die kontinuierliche Bereitstellung mit Pact CLI
- Docker-Tutorial: Installation und Einführung in Docker
- Erweitertes Scripting für komplexe Testworkflows in Postman
- Wie erstelle ich eine API-Dokumentation in Postman?
- Wie verwende ich Postman zum Testen verschiedener API-Formate?
- Top 10 der beliebtesten Fragen zum Postboteninterview mit Antworten