how publish pact contract pact broker
Questo tutorial spiega due opzioni per configurare il Pact Broker. Puoi pubblicare il Pact Contract sul Pact Broker utilizzando il framework pact-js e con Postman:
convertitore da youtube a wav online gratuito
Cos'è Pact Broker?
Pact Broker è uno strumento fornito dai creatori del framework Pact. Facilita l'archiviazione dei contratti, la visualizzazione dei consumatori e la verifica dello stato del contratto.
Il motivo per avere un broker separato per archiviare i contratti è perché ogni set di test è spesso scritto in diversi repository e persino in lingue diverse.
=> Esplora la serie di formazione sul test del contratto semplice qui
Cosa imparerai:
Pubblica il contratto del patto su Pact Broker
Prima di passare alla pubblicazione di un contratto, è necessario prendere una decisione se si desidera ospitare tu stesso il Pact Broker o utilizzare un servizio ospitato come Pactflow .
Personalmente, abbiamo scelto Pactflow in quanto offre i vantaggi aggiuntivi come mostrato nella tabella seguente:
Caratteristica | Pactflow | Ospitato in autonomia |
---|---|---|
SSO (Github) | sì | Non |
Manutenzione del server | Non | sì |
Token / segreti protetti | sì | Non |
Webhook | UI configurabile | Configurazione manuale |
Infrastruttura come codice | Terraform | Dockerfile |
Configurazione di Pact Broker con Pactflow
Pactflow offre un'opzione gratuita che ti addebiterà solo dopo il periodo di prova di 180 mesi (a partire da maggio 2020), ovvero 10 anni e mezzo.
- Registra il tuo indirizzo email con Pactflow (tieni presente che puoi sempre aggiungere altri utenti in seguito).
- Imposta le informazioni sulla società e il sottodominio per il tuo Pact Broker.
- Ora dovresti ricevere un'e-mail con il tuo nome utente e password temporanei.
- Passa al tuo sottodominio, (ecco il mio sottodominio ) e accedi. Se l'operazione è andata a buon fine, dovresti vedere l'app di esempio con un contratto già configurato.
Più avanti nel tutorial vedremo come verificare i contratti all'interno di Pactflow.
Configurazione di Pact Broker con Docker (docker-compose)
Pact offre immagini docker per avviare facilmente il tuo Pact Broker in pochi secondi con docker-compose. Il repository github spiega come si può fare, entriamo nei dettagli più avanti.
Di seguito sono riportati alcuni passaggi aggiuntivi che vengono aggiunti per garantire che il servizio sia stabile:
- Aggiungi 'riavvia: sempre' al file docker-compose Servizi.
- Avvia docker-compose sul server utilizzando l'argomento '-d' per consentire l'esecuzione in background.
Contratto di pubblicazione con pact-js
Ogni implementazione del linguaggio Pact ha i propri metodi su come pubblicare i contratti sul broker. Pubblicando su Pact Broker in JavaScript, la configurazione dovrebbe essere simile a questa.
Il token Pact Broker mostrato sopra è memorizzato in Pactflow sotto le impostazioni. Gli screenshot sono mostrati di seguito. Assicurati di utilizzare il token CI con autorizzazioni di lettura e scrittura.
Vai a Impostazioni e quindi token API in Pactflow.
Probabilmente segreti e password non dovrebbero essere memorizzati in git, quindi un file `.env` dovrebbe essere usato e referenziato all'interno del codice con qualcosa come mostrato di seguito.
Insieme con il 'PublishVerificationResult' valore, non vuoi verificare i contratti nel tuo ambiente locale. Pertanto è necessario impostare un'altra variabile di ambiente, come mostrato di seguito.
Ora il contratto può essere pubblicato direttamente nel codice.
Contratto di pubblicazione con il postino
Di solito, per verificare il primo contratto, utilizziamo Postman per assicurarci che il broker sia impostato correttamente. Postino è stato utilizzato anche quando i consumatori erano lenti ad adottare Pact all'interno del loro team, quindi abbiamo pubblicato il contratto al Pact Broker e abbiamo chiesto al team dei consumatori di verificare se sono soddisfatti del contratto.
Questo ci ha consentito, in qualità di team del fornitore, di verificare rispetto al contratto e di avere maggiore fiducia nelle nostre implementazioni. Inoltre, quando il team dei consumatori era pronto ad adottare Pact, aveva già un esempio funzionante da utilizzare.
Di seguito sono riportati i passaggi per la pubblicazione di Postman:
# 1) PUT: costruisci la richiesta
- Vai al file sottodominio
- Nome del provider
- Nome del consumatore
- Versione
# 2) Autorizzazione: aggiungi il token del portatore (che è equivalente al token API come menzionato sopra)
# 3) Includere il Pact JSON come body (il JSON può essere copiato direttamente nel campo body, assicurandosi così di impostare l'intestazione Content: Type su 'application / json').
Patti di condivisione con fornitori di API
Una volta che i tuoi contratti sono stati pubblicati, il fornitore può recuperare il contratto Pact richiedendo l'URL di Pact Broker con:
Di solito, vorrai verificare con una versione specifica dell'API. Per esempio, in un'architettura a microservizi, il team dei consumatori apporta costantemente modifiche alle informazioni richieste dall'API.
Oltre a ciò, il provider API sta apportando modifiche allo stesso tempo e dovrà verificare la versione attualmente distribuita in produzione in quanto ciò garantirà una distribuzione senza interruzioni.
Conclusione
Infine, hai un Pact Broker con un contratto pubblicato, nel prossimo tutorial vedremo come scrivere il test del tuo provider avvolgendo un'API .Net Core, tirando l'ultimo contratto e verificando con l'API locale.
Il framework Pact non è solo prezioso all'inizio del tuo progetto, in modo orientato al consumatore, ma il vantaggio di visualizzare i tuoi consumatori con il Pact Broker è sicuramente un fattore chiave per l'utilizzo di questo strumento.
Inoltre, la capacità di comprendere meglio le interazioni dei consumatori e il modo in cui l'API viene effettivamente utilizzata può spesso essere persa nella traduzione e può causare un problema di produzione che potrebbe verificarsi. Ciò porta a ore di debug e pesca a strascico attraverso i registri dell'applicazione.
In questo tutorial, abbiamo appreso due diverse opzioni per configurare il tuo Pact Broker. Hai pubblicato il tuo contratto utilizzando il framework pact-js e anche con Postman.
A questo punto, devi pensare ad allineare le tue versioni attraverso i microservizi e anche a nominare i tuoi fornitori in modo coerente per creare una rete Pact Broker facile da leggere e comprensibile.
=> Visita qui per imparare da zero i test dei contratti
Lettura consigliata
- Come scrivere un test del patto dei consumatori in JavaScript
- Introduzione al test del contratto con esempi
- Verifica il contratto Pact e la distribuzione continua con Pact CLI
- Tutorial Docker: installazione e introduzione a Docker
- Scripting avanzato per flussi di lavoro di test complessi in Postman
- Come creare la documentazione API in Postman?
- Come utilizzare Postman per testare diversi formati API?
- Le 10 domande più popolari dell'intervista al postino con risposte