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

Initial support for bi-directional contracts (OAS/Swagger) #4

Closed
4 tasks done
mefellows opened this issue Aug 24, 2020 · 5 comments
Closed
4 tasks done

Initial support for bi-directional contracts (OAS/Swagger) #4

mefellows opened this issue Aug 24, 2020 · 5 comments
Labels
developer preview Preview features available for testing prior to general release feature request New feature or request feedback-wanted Customer feedback is requested to help validate and refine the feature

Comments

@mefellows
Copy link
Contributor

mefellows commented Aug 24, 2020

Enable support for a bi-directional contract testing workflow with Open API Spec as the initial provider contract.

The initial workflow will support:

  • A general provider-driven workflow
  • Publishing of a valid OpenAPI spec (v3) from the provider, along with verification results to show the provider is compatible with the spec
  • Consumer publishing Pact tests for a provider that has an OAS
  • Pactflow will provide schema compatibility checks (e.g. during the can-i-deploy phase)

TODO

  • support publishing of an arbitrary "contract" file, specifying the specific type
  • support publication of provider self verification results from non-pact tools along with the provider contract
  • modify can-i-deploy to allow OAS/pact verification to be taken into account when calculating results
  • modify can-i-deploy to allow user to view pact/oas mismatches when can-i-deploy returns false

Deferred
* [ ] provide an endpoint to allow pact/OAS verification to be done before publishing a pact

Follow up:

  • Rendering of the OAS and verification results in the Pactflow UI

See also https://pactflow.io/blog/the-curious-case-for-the-provider-driven-contract/ and pact-foundation/pact-specification#76 for some background.

@mefellows mefellows added the feature request New feature or request label Aug 24, 2020
@mefellows mefellows added the feedback-wanted Customer feedback is requested to help validate and refine the feature label Aug 28, 2020
@mefellows mefellows added the developer preview Preview features available for testing prior to general release label Sep 8, 2020
@bethesque
Copy link

bethesque commented Jan 19, 2021

Potential "evidence" to support:

@mefellows
Copy link
Contributor Author

provide an endpoint to allow pact/OAS verification to be done before publishing a pact

We're going to defer this until after feedback from our developer preview group.

@bethesque
Copy link

Note to self: Current oas verifiers say "We've seen no evidence that this spec is wrong" rather than "the code fully implements what is described in the spec"

@mefellows mefellows changed the title Initial support for Provider Driven Contracts (OAS/Swagger) Initial support for bi-directional contracts (OAS/Swagger) Feb 25, 2021
@antoniogamiz
Copy link

Any update on this?

@mefellows
Copy link
Contributor Author

It's currently in developer preview, and you can use it now. You can see the docs for this: https://docs.pactflow.io/docs/workshops/bi-directional/

We're progressively rolling the UI support out for this over the next little while, so this has been kept as open whilst we are still in preview.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
developer preview Preview features available for testing prior to general release feature request New feature or request feedback-wanted Customer feedback is requested to help validate and refine the feature
Projects
Status: Shipped 🚀
Development

No branches or pull requests

3 participants