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

Pending pacts is enabled by default in latest broker #533

Closed
1 of 3 tasks
TimothyJones opened this issue Dec 14, 2021 · 1 comment
Closed
1 of 3 tasks

Pending pacts is enabled by default in latest broker #533

TimothyJones opened this issue Dec 14, 2021 · 1 comment

Comments

@TimothyJones
Copy link
Contributor

TimothyJones commented Dec 14, 2021

Pre issue-raising checklist

I have already (please mark the applicable with an x):

  • Upgraded to the latest Pact Broker OR
  • Checked the CHANGELOG to see if the issue I am about to raise has been fixed
  • Created an executable example that demonstrates the issue using either a:
    • Dockerfile
    • Git repository with a Travis or Appveyor (or similar) build

Software versions

  • pact-broker version: eg 2.93.0
  • ruby standalone version: 1.88.77

See discussion here: https://pact-foundation.slack.com/archives/C9VBGLUM9/p1639466430380900

Pending pacts seems to still be enabled by default in the latest broker - since this inverts the behaviour of pact verification, I think this is a breaking change.

Expected behaviour

Pending pacts is not enabled by default without a breaking change

Actual behaviour

Pending pacts is enabled by default without a breaking change

Steps to reproduce

Call the broker at version 2.93.0 with the ruby standalone 1.88.77 without saying anything about pending pacts, and observe that it assumes you want them.

One way we could mitigate this is to publish 2.93.1 which restores the old behaviour, and publish 3.0.0 which brings the new behaviour (if it is intended to be the default moving forward). Alternatively, if the culprit is the Ruby standalone, then the same approach there. Or some other mitigation I haven't thought of.

Relevant log files

Provided by Haoran Lin in slack, who redacted some items with ***

2021-12-14 07:13:32.894 +0000] DEBUG (89686 on ***): pact-node@10.13.10: Starting pact binary '***/node_modules/@pact-foundation/pact-node/standalone/darwin-1.88.77/pact/bin/pact-provider-verifier', with arguments [--provider-states-setup-url http://localhost:56275/_pactSetup --log-level debug --provider *** --provider-app-version 056f6ac9 --publish-verification-results true --consumer-version-tag *** --pact-broker-base-url *** --provider-base-url http://localhost:56275 --verbose true]
[2021-12-14 07:19:13.750 +0000] DEBUG (89686 on ***): pact-node@10.13.10:
15 interactions, 0 failures, 2 pending

Pending interactions: (Failures listed here are expected and do not affect your suite's status)
@bethesque
Copy link
Member

Yeah, it was a mistake to set this to true without checking that all the clients supported disabling it properly. Unfortunately, most of the clients omitted the pending key in the request body, rather than sending false, so it was using the default value in the Pact Broker. I'm not going to set the default back to false now, because that's just going to cause more confusion, and all the clients seem to have been appropriately updated now. Thanks for raising it though.

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

2 participants