-
Notifications
You must be signed in to change notification settings - Fork 105
Open
Description
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
- How compatible/interchangeable are versions
- 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
- Is this every feature?
- 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
mefellows
Metadata
Metadata
Assignees
Labels
No labels