how publish pact contract pact broker
Acest tutorial explică două opțiuni pentru a configura Pact Broker. Puteți publica contractul Pact către Pact Broker folosind cadrul pact-js și cu Postman:
de ce gateway-ul meu implicit continuă să meargă offline
Ce este Pact Broker?
Pact Broker este un instrument oferit de creatorii cadrului Pact. Facilitează stocarea contractelor, vizualizarea consumatorilor și starea contractului de verificare.
Motivul pentru care aveți un broker separat care să stocheze contractele se datorează faptului că fiecare set de teste este adesea scris în depozite diferite și chiar în limbi diferite.
=> Explorați aici seria de instruire pentru testarea contractelor simple
Ce veți învăța:
Publicați contractul Pactului către brokerul Pactului
Înainte de a intra în modul de publicare a unui contract, trebuie să luați o decizie dacă doriți să găzduiți singur Pact Broker sau să utilizați un serviciu găzduit, cum ar fi Pactflow .
Personal, am optat pentru Pactflow deoarece acesta oferă avantajele suplimentare, așa cum se arată în tabelul de mai jos:
Caracteristică | Pactflow | Găzduit de sine |
---|---|---|
SSO (Github) | da | Nu face |
Întreținere Server | Nu face | da |
Jetoane Secrete / Secrete | da | Nu face |
Webhooks | UI configurabil | Configurare manuală |
Infrastructura ca cod | Terraform | Dockerfile |
Configurarea Pact Broker cu Pactflow
Pactflow oferă o opțiune gratuită care vă va taxa doar după perioada de încercare de 180 de luni (începând din mai 2020), adică 10 ani și jumătate.
- Înregistrați-vă adresa de e-mail cu Pactflow (rețineți că puteți adăuga oricând utilizatori suplimentari ulterior).
- Configurați informațiile despre companie și subdomeniul pentru Pact Broker.
- Acum ar trebui să primiți un e-mail cu numele dvs. de utilizator și parola temporare.
- Navigați la subdomeniul dvs., (aici este al meu subdomeniu ) și conectați-vă. Dacă acest lucru a reușit, ar trebui să vedeți exemplul de aplicație cu un contract deja configurat.
Vom analiza cum să verificăm contracte în cadrul Pactflow mai târziu în tutorial.
Configurarea Pact Broker cu Docker (docker-compose)
Pact oferă imagini docker pentru a crea cu ușurință propriul Pact Broker în câteva secunde cu docker-compose. depozit github explică modul în care se poate face acest lucru, haideți să intrăm în detaliu mai târziu.
Câțiva pași suplimentari care se adaugă pentru a se asigura că serviciul este stabil sunt prezentați mai jos:
- Adăugați „reporniți: întotdeauna” la docker-compune Servicii.
- Lansați docker-compose pe server folosind argumentul detașat `-d` pentru a-i permite să ruleze în fundal.
Contract de publicare cu pact-js
Fiecare implementare a limbajului Pact are propriile sale metode de publicare a contractelor către broker. Publicând în Pact Broker în JavaScript, configurația ar trebui să arate similar cu aceasta.
Jetonul Pact Broker prezentat mai sus este stocat în Pactflow sub setări. Capturile de ecran sunt prezentate mai jos. Asigurați-vă că utilizați simbolul CI care are permisiuni de citire și scriere.
Mergi la Setări și apoi jetoane API în Pactflow.
Probabil că secretele și parolele nu ar trebui să fie stocate în git, de aceea ar trebui utilizat un fișier `.env` și referit în cod cu ceva așa cum se arată mai jos.
Impreuna cu „PublishVerificationResult” valoare, nu doriți să verificați contractele în mediul dvs. local. Prin urmare, ar trebui setată o altă variabilă de mediu, așa cum se arată mai jos.
Acum contractul poate fi publicat direct în cod.
Contract de publicare cu poștaș
De obicei, pentru a verifica primul contract, folosim Postman pentru a ne asigura că brokerul este configurat corect. Poştaş a fost folosit și atunci când consumatorii întârziau să adopte Pact în cadrul echipei lor, așa că am publicat contractul către Pact Broker și am solicitat echipei de consumatori să verifice dacă sunt mulțumiți de contract.
Acest lucru ne-a permis ca echipă a furnizorilor să verificăm împotriva contractului și să avem mai multă încredere în implementările noastre. De asemenea, atunci când echipa de consumatori a fost gata să adopte Pact, ei aveau deja un exemplu de lucru de folosit.
Pașii pentru publicarea Postman sunt prezentați mai jos:
# 1) PUT: Construiți solicitarea
- Navigați la subdomeniu
- Numele furnizorului
- Numele consumatorului
- Versiune
# 2) Autorizare: Adăugați indicativul purtător (care este echivalent cu indicativul API așa cum s-a menționat mai sus)
# 3) Includeți Pact JSON ca corp (JSON poate fi copiat direct în câmpul corpului, asigurându-vă astfel că setați antetul Conținut: Tip la „aplicație / json”).
Partajarea pactelor cu furnizorii API
Odată ce contractele dvs. au fost publicate, furnizorul poate prelua contractul Pact solicitând adresa URL a brokerului Pact cu:
De obicei, veți dori să verificați cu o versiune specifică a API-ului. De exemplu, într-o arhitectură de microservicii, echipa de consumatori face în mod constant modificări la informațiile de care au nevoie din API.
În paralel, furnizorul API face modificări în același timp și va trebui să verifice în raport cu versiunea care este implementată în prezent în producție, deoarece aceasta va asigura o implementare fără probleme.
Concluzie
În cele din urmă, aveți un Pact Broker cu un contract publicat, în următorul tutorial vom analiza cum să scrieți testul furnizorului dvs. prin încheierea unui API .Net Core, extragerea celui mai recent contract și verificarea în funcție de API-ul local.
Cadrul Pact nu este valoros doar la începutul proiectului dvs., într-un mod orientat spre consumator, dar avantajul vizualizării consumatorilor dvs. cu Pact Broker este cu siguranță un factor cheie al utilizării acestui instrument.
De asemenea, abilitatea de a înțelege mai bine interacțiunile consumatorilor și modul în care API-ul este de fapt utilizat poate fi adesea pierdută în traducere și poate duce la o problemă de producție care s-ar putea întâmpla. Acest lucru duce la ore de depanare și căutare prin jurnalele aplicației.
În acest tutorial, am învățat două opțiuni diferite pentru a vă configura Pact Broker. V-ați publicat contractul utilizând cadrul pact-js și, de asemenea, cu Postman.
În acest moment, trebuie să vă gândiți la alinierea versiunilor dvs. la microservicii și, de asemenea, la denumirea furnizorilor în mod consecvent, pentru a crea o rețea Pact Broker ușor de citit și de înțeles.
=> Vizitați aici pentru a afla testarea contractelor de la zero
Lectură recomandată
- Cum se scrie un test al pactului consumatorului în JavaScript
- Introducere în testarea contractelor cu exemple
- Verificați contractul Pact și implementarea continuă cu Pact CLI
- Tutorial Docker: Instalare și introducere în Docker
- Script avansat pentru fluxuri de lucru de testare complexă în Postman
- Cum se creează documentația API în Postman?
- Cum se folosește Postman pentru testarea diferitelor formate API?
- Top 10 Cele mai populare întrebări ale interviului poștaș cu răspunsuri