pact-foundation / pact-ruby

Enables consumer driven contract testing, providing a mock service and DSL for the consumer project, and interaction playback and verification for the service provider project.
https://pact.io
MIT License
2.16k stars 215 forks source link

Include the pact specification version on the metadata section #43

Closed uglyog closed 9 years ago

uglyog commented 10 years ago

This will allow us to start implementing the new matching, but still be able to validate pacts generated from the older versions.

bethesque commented 10 years ago

It's there already?

bethesque commented 10 years ago

What needs to be added is some code that, if it tries to verify a non-compatible (ie. major version does not match) pact, it fails with an error message saying that the consumer or provider library needs to be upgraded. I want to fix the 'provider_state' to 'providerState' and that's going to mean a major version change.

uglyog commented 10 years ago

Cool, I thought it might still have the pact version, not the pact specification version. If that's the case we can close this.

I'm adding the pact specification version to pact-jvm tomorrow

bethesque commented 10 years ago

The .net pact implementation has gone straight to "providerState" (instead of "provider_state") making it incompatible with the current ruby pact. I am considering making pact-spec 2.0 with "providerState" being the only change, and then making the matchers 2.1 (it will be backwards compatible, because the matchers will just be ignored). Or should the matchers then be 3.0?

bethesque commented 9 years ago

Is the "new" field in pact-jvm? Can we close this @uglyog ?

uglyog commented 9 years ago

Closed. Don't know about any "new" fields.