Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature Support Overhaul #137

Open
YOU54F opened this issue Mar 31, 2022 · 1 comment
Open

Feature Support Overhaul #137

YOU54F opened this issue Mar 31, 2022 · 1 comment

Comments

@YOU54F
Copy link
Member

YOU54F commented Mar 31, 2022

Just some food for thought whilst I've been doing some digging through our docs, specifically the feature support page here

It led me to think that there is a-lot going on, even more so that what I've captured, so I am more capturing notes at this stage.

I am also working on some presentation layer, to clean up the existing feature support page and make it easier to grok, but this has long been something ripe for some love

Pact Specification Versions

  1. How compatible/interchangeable are versions
  2. Do we document the versions on our site

Language implementations

  • Where do they live
    • official (PF) under pact-foundation
    • community (PF) community owned but supported by pact-foundation
    • community - community owned, unsupported by pact-foundation
  • What features do they support
    • how do we find out
    • how do we showcase them
    • how do we update them
  • What version do they support
  • Are there any more
Language Repository support version
Java Pact-JVM official (PF)
JavaScript Pact JS official (PF)
Ruby Pact Ruby official (PF)
.NET Pact .NET official (PF)
Go Pact Go official (PF)
PHP Pact PHP official (PF)
Python Pact Python official (PF)
Python Pactman community
Swift/Objective-C PactSwift community (PF)
Swift/Objective-C pact-consumer-swift community (PF)
Scala Scala Pact community (PF)
Scala pact4s community (PF)
Rust Pact Rust official (PF)
C++ Pact C++ official (PF)

Feature Set

Source: https://docs.pact.io/roadmap/feature_support

  1. Is this every feature?
  2. Does every feature currently have at least central documentation of some sort?
  • HTTP pacts
  • Asychronous message pacts
  • Regular expression matching
  • Type based matching ("like")
  • Flexible array length ("each like")
  • Verify a pact that uses the Pact specification v3 format
  • Pact specification v3 matchers
  • Pact specification v3 generators
  • Multiple provider states (pact creation)
  • Multiple provider states (pact verification)
  • Publish pacts to Pact Broker
  • Tag consumer version in Pact Broker when publishing pact
  • Dynamically fetch pacts for provider from Pact Broker for - verification
  • Dynamically fetch pacts for provider with specified tags
  • Automatically tag consumer/provider with name of git branch
  • 'pacts for verification' Pact Broker API
  • Pending pacts
  • WIP pacts
  • JSON test results output
  • XML test results output
  • Markdown test results output
  • Run a single interaction when verifying a pact
  • Injecting values from provider state callbacks
  • Date/Time expressions with generators

Various Helper Libraries / Adapters /

  • Where do they live
  • Are there more?
  • how do we document these
Language Repository support version description
JavaScript Mocha-Pact official (PF)
JavaScript Jest-Pact official (PF)

I think regarding each language I would like to try and capture something like

  • Language
  • Repository Link
  • Implementation Guide
  • Example Consumer
  • Example Provider
  • Workshop(s) if applicable
  • Pact Specification Version(s)
  • Features
  • Official / Community
  • Supported / Unsupported
  • Any convenience libraries adapters
@YOU54F
Copy link
Member Author

YOU54F commented Apr 1, 2022

Workshops

sit under getting started -> hands on learning -> nested as heading

Workshops - https://docs.pact.io/implementation_guides/workshops#pact-workshops---from-0-to-pact-in-2-hours

Examples

sit under getting started -> hands on learning -> nested as heading

https://docs.pact.io/implementation_guides/workshops#examples

small link to pactflow.io examples and table is out of date, doesn't contain link to examples

Recipes

Recipes sites under guides

contains a mix of recipes and integration libraries (such as mocha-pact / jest-pact )
several guides tbc

Screenshot 2022-04-01 at 01 02 01

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant