how publish pact contract pact broker
Tento kurz vysvětluje dvě možnosti nastavení Pact Broker. Paktovou smlouvu můžete publikovat pro Pact Broker pomocí rámce pact-js a pomocí Postmana:
primární přístupová práva k souborům v unixu jsou:
Co je Pact Broker?
Pact Broker je nástroj poskytovaný tvůrci rámce Pact. Usnadňuje ukládání smluv, vizualizaci spotřebitelů a stav smlouvy o ověření.
Důvodem, proč mít samostatného makléře k ukládání smluv, je to, že každá sada testů je často napsána v různých úložištích a dokonce v různých jazycích.
=> Prozkoumejte jednoduchou sérii školení pro testování smluv zde
Co se naučíte:
Publikujte smlouvu o paktu u Pact Broker
Než se podíváme na to, jak publikovat smlouvu, musíte se rozhodnout, zda chcete hostovat Pact Broker sami, nebo použít hostovanou službu, jako je Pactflow .
Osobně jsme se rozhodli pro Pactflow, protože nabízí další výhody uvedené v následující tabulce:
Vlastnosti | Pactflow | Vlastní hostování |
---|---|---|
SSO (Github) | Ano | Ne |
Údržba serverů | Ne | Ano |
Zabezpečené tokeny / tajemství | Ano | Ne |
Webhooky | Konfigurovatelné uživatelské rozhraní | Ruční konfigurace |
Infrastruktura jako kód | Terraform | Dockerfile |
Nastavení Pact Broker s Pactflow
Pactflow poskytuje bezplatnou možnost, která vám bude účtována až po 180měsíční zkušební verzi (od května 2020), tedy 10 a půl roku.
- Zaregistrujte svou e-mailovou adresu u Pactflow (další uživatele můžete kdykoli přidat později).
- Nastavte informace o společnosti a subdoménu svého Pact Broker.
- Nyní byste měli dostat e-mail s dočasným uživatelským jménem a heslem.
- Přejděte do své subdomény (zde je moje subdoména ) a přihlaste se. Pokud to proběhlo úspěšně, měli byste vidět ukázkovou aplikaci s již nastavenou smlouvou.
Později se v tomto kurzu podíváme na to, jak ověřit proti kontraktům v Pactflow.
Nastavení Pact Broker s Dockerem (docker-compose)
Pact nabízí obrázky ukotvitelných panelů pro snadné roztočení vlastního Pact Broker během několika sekund pomocí docker-compose. The úložiště github vysvětluje, jak toho lze dosáhnout, pojďme se podrobněji věnovat později.
Níže jsou uvedeny některé další kroky, které jsou přidány k zajištění stabilní služby:
- Přidejte do souboru „restart: always“ docker-compose služby.
- Spusťte docker-compose na serveru pomocí odpojeného argumentu `-d`, aby mohl běžet na pozadí.
Publikování smlouvy s pact-js
Každá implementace jazyka Pact má své vlastní metody, jak smlouvy zveřejnit makléři. Při publikování do Pact Broker v JavaScriptu by konfigurace měla vypadat podobně.
Token Pact Broker uvedený výše je uložen v Pactflow v nastavení. Screenshoty jsou uvedeny níže. Ujistěte se, že používáte token CI, který má oprávnění pro čtení a zápis.
Jít do Nastavení a poté tokeny API v Pactflow.
Pravděpodobně by tajemství a hesla neměla být uložena v git, proto by měl být použit soubor `.env` a odkazovat na něj v kódu s něčím, jak je uvedeno níže.
Spolu s „PublishVerificationResult“ hodnotu, nechcete ověřovat smlouvy ve vašem místním prostředí. Proto by měla být nastavena jiná proměnná prostředí, jak je uvedeno níže.
Nyní lze smlouvu zveřejnit přímo v kódu.
Smlouva o publikování s poštovním doručovatelem
K ověření první smlouvy obvykle používáme Postmana, abychom se ujistili, že je broker správně nastaven. Listonoš bylo také použito, když spotřebitelé pomalu přijímali Pact v rámci svého týmu, takže jsme smlouvu zveřejnili u Pact Broker a požádali jsme spotřebitelský tým, aby ověřil, zda jsou se smlouvou spokojeni.
To nám jako týmu poskytovatelů umožnilo ověřit proti smlouvě a mít větší důvěru v naše nasazení. Když byl tým spotřebitelů připraven přijmout Pakt, měl už k dispozici funkční příklad.
Kroky pro publikování Postmana jsou uvedeny níže:
# 1) PUT: Vytvořte požadavek
- Přejděte na subdoména
- Jméno poskytovatele
- Jméno spotřebitele
- Verze
# 2) Autorizace: Přidejte nosný token (který je ekvivalentní tokenu API, jak je uvedeno výše)
# 3) Zahrňte Pact JSON jako tělo (JSON lze zkopírovat přímo do pole body, čímž zajistíte nastavení záhlaví Content: Type na „application / json“).
Sdílení paktů s poskytovateli API
Po zveřejnění vašich smluv může poskytovatel načíst smlouvu Pact vyžádáním adresy URL Pact Broker s:
Obvykle budete chtít ověřit pomocí konkrétní verze API. Například, v architektuře mikroslužeb tým spotřebitelů neustále provádí změny v informacích, které od API vyžadují.
Kromě toho poskytovatel API provádí změny současně a bude muset ověřit oproti verzi, která je aktuálně nasazena do produkce, protože to zajistí bezproblémové nasazení.
Závěr
Nakonec máte Pact Broker se zveřejněnou smlouvou, v dalším kurzu se podíváme na to, jak napsat váš test poskytovatele zabalením .Net Core API, vytažením nejnovější smlouvy a ověřením proti místnímu API.
Rámec Pact je nejen cenný na začátku vašeho projektu, a to způsobem řízeným spotřebiteli, ale výhoda vizualizace vašich zákazníků pomocí Pact Broker je rozhodně klíčovým přispěvatelem k používání tohoto nástroje.
Také schopnost lépe porozumět interakcím spotřebitelů a tomu, jak se API ve skutečnosti používá, se může často při překladu ztratit a může mít za následek produkční problém, který by se mohl stát. To vede k hodinám ladění a procházení protokolů aplikace.
V tomto kurzu jsme se naučili dvě různé možnosti nastavení vašeho Pact Broker. Svou smlouvu jste zveřejnili pomocí rámce pact-js a také s Postmanem.
V tomto okamžiku musíte přemýšlet o zarovnání svých verzí napříč mikroslužbami a také konzistentním pojmenování poskytovatelů, abyste vytvořili snadno čitelnou a srozumitelnou síť Pact Broker.
=> Navštivte zde a dozvíte se testování smluv od nuly
Doporučené čtení
- Jak napsat test spotřebitelské smlouvy v JavaScriptu
- Úvod do testování smluv s příklady
- Ověřte smlouvu Pact a nepřetržité nasazení pomocí Pact CLI
- Výukový program Docker: Instalace a úvod do Dockeru
- Pokročilé skriptování pro komplexní testování pracovních postupů v pošťákovi
- Jak vytvořit dokumentaci API v Postmanu?
- Jak používat Postman pro testování různých formátů API?
- Top 10 nejpopulárnějších dotazů na pošťák s odpověďmi