pact_broker-client 1.41.0 → 1.46.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (93) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/test.yml +21 -0
  3. data/CHANGELOG.md +57 -0
  4. data/README.md +69 -48
  5. data/doc/pacts/markdown/Pact Broker Client - Pact Broker.md +79 -102
  6. data/doc/pacts/markdown/Pact Broker Client - Pactflow.md +94 -0
  7. data/doc/pacts/markdown/README.md +1 -0
  8. data/lib/pact_broker/client/backports.rb +9 -0
  9. data/lib/pact_broker/client/base_command.rb +98 -0
  10. data/lib/pact_broker/client/can_i_deploy.rb +40 -5
  11. data/lib/pact_broker/client/cli/broker.rb +18 -160
  12. data/lib/pact_broker/client/cli/custom_thor.rb +12 -16
  13. data/lib/pact_broker/client/cli/deployment_commands.rb +94 -0
  14. data/lib/pact_broker/client/cli/environment_commands.rb +70 -0
  15. data/lib/pact_broker/client/cli/pacticipant_commands.rb +53 -0
  16. data/lib/pact_broker/client/cli/webhook_commands.rb +122 -0
  17. data/lib/pact_broker/client/deployments.rb +4 -0
  18. data/lib/pact_broker/client/deployments/record_deployment.rb +38 -0
  19. data/lib/pact_broker/client/deployments/record_release.rb +99 -0
  20. data/lib/pact_broker/client/deployments/record_support_ended.rb +103 -0
  21. data/lib/pact_broker/client/deployments/record_undeployment.rb +127 -0
  22. data/lib/pact_broker/client/describe_text_formatter.rb +23 -0
  23. data/lib/pact_broker/client/environments.rb +6 -0
  24. data/lib/pact_broker/client/environments/create_environment.rb +31 -0
  25. data/lib/pact_broker/client/environments/delete_environment.rb +27 -0
  26. data/lib/pact_broker/client/environments/describe_environment.rb +26 -0
  27. data/lib/pact_broker/client/environments/environment_command.rb +66 -0
  28. data/lib/pact_broker/client/environments/list_environments.rb +30 -0
  29. data/lib/pact_broker/client/environments/text_formatter.rb +30 -0
  30. data/lib/pact_broker/client/environments/update_environment.rb +31 -0
  31. data/lib/pact_broker/client/generate_display_name.rb +27 -0
  32. data/lib/pact_broker/client/hal/entity.rb +31 -6
  33. data/lib/pact_broker/client/hal/http_client.rb +8 -2
  34. data/lib/pact_broker/client/hal/link.rb +8 -0
  35. data/lib/pact_broker/client/hal_client_methods.rb +1 -3
  36. data/lib/pact_broker/client/matrix/text_formatter.rb +21 -13
  37. data/lib/pact_broker/client/pacticipants.rb +6 -0
  38. data/lib/pact_broker/client/pacticipants/create.rb +24 -34
  39. data/lib/pact_broker/client/pacticipants/describe.rb +33 -0
  40. data/lib/pact_broker/client/pacticipants/list.rb +34 -0
  41. data/lib/pact_broker/client/pacticipants/text_formatter.rb +41 -0
  42. data/lib/pact_broker/client/string_refinements.rb +56 -0
  43. data/lib/pact_broker/client/version.rb +1 -1
  44. data/lib/pact_broker/client/versions.rb +4 -1
  45. data/lib/pact_broker/client/versions/describe.rb +3 -1
  46. data/lib/pact_broker/client/versions/formatter.rb +3 -1
  47. data/lib/pact_broker/client/versions/json_formatter.rb +5 -3
  48. data/lib/pact_broker/client/versions/text_formatter.rb +3 -1
  49. data/lib/pact_broker/client/webhooks/create.rb +14 -8
  50. data/pact-broker-client.gemspec +1 -0
  51. data/script/record-deployments-and-releases.sh +18 -0
  52. data/script/webhook-commands.sh +12 -0
  53. data/spec/fixtures/approvals/can_i_deploy_failure_dry_run.approved.txt +7 -0
  54. data/spec/fixtures/approvals/can_i_deploy_success_dry_run.approved.txt +7 -0
  55. data/spec/fixtures/approvals/describe_environment.approved.txt +7 -0
  56. data/spec/fixtures/approvals/describe_pacticipant.approved.txt +2 -0
  57. data/spec/fixtures/approvals/list_environments.approved.txt +3 -0
  58. data/spec/integration/describe_environment_spec.rb +31 -0
  59. data/spec/lib/pact_broker/client/can_i_deploy_spec.rb +62 -2
  60. data/spec/lib/pact_broker/client/cli/broker_can_i_deploy_spec.rb +17 -4
  61. data/spec/lib/pact_broker/client/cli/broker_publish_spec.rb +1 -1
  62. data/spec/lib/pact_broker/client/cli/broker_run_webhook_commands_spec.rb +7 -5
  63. data/spec/lib/pact_broker/client/deployments/record_deployment_spec.rb +204 -0
  64. data/spec/lib/pact_broker/client/deployments/record_support_ended_spec.rb +208 -0
  65. data/spec/lib/pact_broker/client/deployments/record_undeployment_spec.rb +219 -0
  66. data/spec/lib/pact_broker/client/environments/delete_environment_spec.rb +120 -0
  67. data/spec/lib/pact_broker/client/environments/describe_environment_spec.rb +89 -0
  68. data/spec/lib/pact_broker/client/environments/update_environment_spec.rb +167 -0
  69. data/spec/lib/pact_broker/client/generate_display_name_spec.rb +39 -0
  70. data/spec/lib/pact_broker/client/hal/entity_spec.rb +2 -2
  71. data/spec/lib/pact_broker/client/pacticipants/create_spec.rb +2 -2
  72. data/spec/pacts/pact_broker_client-pact_broker.json +88 -108
  73. data/spec/pacts/pact_broker_client-pactflow.json +118 -0
  74. data/spec/service_providers/create_environment_spec.rb +78 -0
  75. data/spec/service_providers/list_environments_spec.rb +77 -0
  76. data/spec/service_providers/pact_broker_client_matrix_ignore_spec.rb +1 -1
  77. data/spec/service_providers/pact_broker_client_register_repository_spec.rb +2 -2
  78. data/spec/service_providers/pact_helper.rb +15 -10
  79. data/spec/service_providers/pactflow_webhooks_create_spec.rb +86 -0
  80. data/spec/service_providers/pacticipants_create_spec.rb +5 -4
  81. data/spec/service_providers/publish_pacts_spec.rb +3 -1
  82. data/spec/service_providers/record_deployment_spec.rb +14 -32
  83. data/spec/service_providers/record_release_spec.rb +132 -0
  84. data/spec/service_providers/record_undeployment_spec.rb +166 -0
  85. data/spec/service_providers/webhooks_create_spec.rb +1 -1
  86. data/spec/spec_helper.rb +15 -2
  87. data/spec/support/approvals.rb +1 -1
  88. data/spec/support/shared_context.rb +2 -1
  89. data/tasks/pact.rake +21 -1
  90. metadata +82 -7
  91. data/lib/pact_broker/client/versions/record_deployment.rb +0 -109
  92. data/lib/pact_broker/client/versions/record_undeployment.rb +0 -102
  93. data/spec/lib/pact_broker/client/versions/record_deployment_spec.rb +0 -82
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b929ba48b8f21f7cafeb339e925fac9ecf7a4a83cd3392f5170c769c725998c3
4
- data.tar.gz: 1b50eef690671dfdf9a78f1bb8da0f2f1e58cf380b199a554b5a9e770d40a825
3
+ metadata.gz: fde8c782e40832e6e989a59a78e0bdedf62d117ceb4e44d322fe38e3911ff714
4
+ data.tar.gz: be91210f775ccf15d2bf49a2cecf3aebf1fc68133b87b5343224d75153b28254
5
5
  SHA512:
6
- metadata.gz: e527702e1d7d9cc3644f3c4db48c7e02060435699b0104f9048ab6142228475405fac9abea025c713bbf8a3a15b71660a56973515b72464814ff8dee62518289
7
- data.tar.gz: 0b81d80a4ab02de7f7d71a7e5c991a6e322731c1803c7c85fd0b53379d92f4739e3296c0acd76cf528567b14147fb3743c352322104da46e4064116bc531514b
6
+ metadata.gz: 31ec264efd314d6cc03059f2eddfc5f0a842055e79c3d68fcbe20896619b6469aad06aa57e26c60585727d94443d7f5fd6e11626c14775e0dadb7fba63afbbe8
7
+ data.tar.gz: 1b78604dfa9f2860523432eea37d4943b7f222b685238ca60d0a8605e87afd42398f02568ddfd35ee330e3b055738db07a3331e800bc4ef839e63a1e2f6c26e5
@@ -21,3 +21,24 @@ jobs:
21
21
  ruby-version: ${{ matrix.ruby_version }}
22
22
  - run: "bundle install"
23
23
  - run: "bundle exec rake"
24
+ pact:
25
+ runs-on: "ubuntu-latest"
26
+ continue-on-error: true
27
+ strategy:
28
+ fail-fast: false
29
+ matrix:
30
+ feature: ["", "publish_contracts", "deployments"]
31
+ steps:
32
+ - uses: actions/checkout@v2
33
+ - uses: ruby/setup-ruby@v1
34
+ with:
35
+ ruby-version: "2.7"
36
+ - run: "bundle install"
37
+ - run: |
38
+ rm -rf spec/pacts/*
39
+ bundle exec rspec spec/service_providers/
40
+ bundle exec rake pact:publish:pactflow
41
+ env:
42
+ PACT_BROKER_TOKEN: ${{ secrets.PACTFLOW_PACT_OSS_TOKEN }}
43
+ PACT_BROKER_FEATURES: ${{ matrix.feature }}
44
+ TEST_FEATURE: ${{ matrix.feature }}
data/CHANGELOG.md CHANGED
@@ -1,3 +1,60 @@
1
+ <a name="v1.46.0"></a>
2
+ ### v1.46.0 (2021-06-24)
3
+
4
+ #### Features
5
+
6
+ * support specifying team UUID when creating a webhook in Pactflow ([c4201e1](/../../commit/c4201e1))
7
+
8
+ <a name="v1.45.0"></a>
9
+ ### v1.45.0 (2021-06-16)
10
+
11
+ #### Features
12
+
13
+ * **can-i-deploy**
14
+ * allow dry-run to be enabled by setting ACT_BROKER_CAN_I_DEPLOY_DRY_RUN=true ([0562436](/../../commit/0562436))
15
+ * add --dry-run option ([9d90c79](/../../commit/9d90c79))
16
+
17
+ * add record-support-ended (feature toggled off) ([8f6b593](/../../commit/8f6b593))
18
+ * update record-undeployment (feature toggled off) ([0c0dd15](/../../commit/0c0dd15))
19
+ * update record-undeployment (feature toggled off) ([93046d5](/../../commit/93046d5))
20
+
21
+ <a name="v1.44.0"></a>
22
+ ### v1.44.0 (2021-06-09)
23
+
24
+ #### Features
25
+
26
+ * add record-undeployment (feature toggled off) ([951d334](/../../commit/951d334))
27
+ * add describe-environment command ([cd11ebb](/../../commit/cd11ebb))
28
+ * add record-release (feature toggled off) ([e32e4e5](/../../commit/e32e4e5))
29
+
30
+ #### Bug Fixes
31
+
32
+ * hardcode file requires Fixes: https://github.com/pact-foundation/pact_broker-client/issues/88 ([581f2fd](/../../commit/581f2fd))
33
+
34
+ <a name="v1.43.0"></a>
35
+ ### v1.43.0 (2021-06-03)
36
+
37
+ #### Features
38
+
39
+ * enable --ignore option for can-i-deploy without a feature toggle ([bcc9dfe](/../../commit/bcc9dfe))
40
+
41
+ <a name="v1.42.0"></a>
42
+ ### v1.42.0 (2021-05-31)
43
+
44
+ #### Features
45
+
46
+ * add list-pacticipants ([fc8ce3b](/../../commit/fc8ce3b))
47
+ * add --display-name to create-or-update-pacticipant ([76f323b](/../../commit/76f323b))
48
+ * add backtrace to error output when verbose is true ([abf1ef0](/../../commit/abf1ef0))
49
+ * add list-environments and describe-environment ([4472d48](/../../commit/4472d48))
50
+ * add delete-environment ([361eed1](/../../commit/361eed1))
51
+ * add update-environment command ([95276cd](/../../commit/95276cd))
52
+ * add create-environment command ([a9fab50](/../../commit/a9fab50))
53
+
54
+ #### Bug Fixes
55
+
56
+ * stop long values in columns from being truncated ([18063fd](/../../commit/18063fd))
57
+
1
58
  <a name="v1.41.0"></a>
2
59
  ### v1.41.0 (2021-05-25)
3
60
 
data/README.md CHANGED
@@ -78,28 +78,45 @@ Usage:
78
78
  pact-broker can-i-deploy -a, --pacticipant=PACTICIPANT -b, --broker-base-url=BROKER_BASE_URL
79
79
 
80
80
  Options:
81
- -a, --pacticipant=PACTICIPANT # The pacticipant name. Use once for each pacticipant being checked.
82
- -e, [--version=VERSION] # The pacticipant version. Must be entered after the --pacticipant that it relates to.
83
- -l, [--latest=[TAG]] # Use the latest pacticipant version. Optionally specify a TAG to use the latest version with the specified tag.
84
- [--to=TAG] # This is too hard to explain in a short sentence. Look at the examples.
85
- -b, --broker-base-url=BROKER_BASE_URL # The base URL of the Pact Broker
86
- -u, [--broker-username=BROKER_USERNAME] # Pact Broker basic auth username
87
- -p, [--broker-password=BROKER_PASSWORD] # Pact Broker basic auth password
88
- -k, [--broker-token=BROKER_TOKEN] # Pact Broker bearer token
89
- -o, [--output=OUTPUT] # json or table
90
- # Default: table
91
- -v, [--verbose], [--no-verbose] # Verbose output. Default: false
92
- [--retry-while-unknown=TIMES] # The number of times to retry while there is an unknown verification result (ie. the provider verification is likely still running)
93
- # Default: 0
94
- [--retry-interval=SECONDS] # The time between retries in seconds. Use in conjuction with --retry-while-unknown
95
- # Default: 10
96
-
97
- Description:
98
- Returns exit code 0 or 1, indicating whether or not the specified pacticipant versions are compatible. Prints out the relevant
99
- pact/verification details.
100
-
101
- The environment variables PACT_BROKER_BASE_URL, PACT_BROKER_BASE_URL_USERNAME and PACT_BROKER_BASE_URL_PASSWORD may be used
102
- instead of their respective command line options.
81
+ -a, --pacticipant=PACTICIPANT
82
+ # The pacticipant name. Use once for each pacticipant being checked.
83
+ -e, [--version=VERSION]
84
+ # The pacticipant version. Must be entered after the --pacticipant that it relates to.
85
+ [--ignore=IGNORE]
86
+ # The pacticipant name to ignore. Use once for each pacticipant being ignored.
87
+ A specific version can be ignored by also specifying a --version after the
88
+ pacticipant name option.
89
+ -l, [--latest=[TAG]]
90
+ # Use the latest pacticipant version. Optionally specify a TAG to use the
91
+ latest version with the specified tag.
92
+ [--to=TAG]
93
+ # This is too hard to explain in a short sentence. Look at the examples.
94
+ -o, [--output=OUTPUT]
95
+ # json or table
96
+
97
+ # Default: table
98
+ [--retry-while-unknown=TIMES]
99
+ # The number of times to retry while there is an unknown verification result
100
+ (ie. the provider verification is likely still running)
101
+
102
+ # Default: 0
103
+ [--retry-interval=SECONDS]
104
+ # The time between retries in seconds. Use in conjuction with --retry-while-unknown
105
+
106
+ # Default: 10
107
+ [--dry-run], [--no-dry-run]
108
+ # When enabled, always exits process with a success code. Can also be enabled by setting
109
+ the environment variable PACT_BROKER_CAN_I_DEPLOY_DRY_RUN=true.
110
+ -b, --broker-base-url=BROKER_BASE_URL
111
+ # The base URL of the Pact Broker
112
+ -u, [--broker-username=BROKER_USERNAME]
113
+ # Pact Broker basic auth username
114
+ -p, [--broker-password=BROKER_PASSWORD]
115
+ # Pact Broker basic auth password
116
+ -k, [--broker-token=BROKER_TOKEN]
117
+ # Pact Broker bearer token
118
+ -v, [--verbose], [--no-verbose]
119
+ # Verbose output. Default: false
103
120
  ```
104
121
 
105
122
  Returns exit code 0 or 1, indicating whether or not the specified application (pacticipant) versions are compatible (ie. safe to deploy). Prints out the relevant pact/verification details, indicating any missing or failed verification results.
@@ -218,27 +235,19 @@ Usage:
218
235
 
219
236
  Options:
220
237
  -X, --request=METHOD
221
- # HTTP method
238
+ # Webhook HTTP method
222
239
  -H, [--header=one two three]
223
- # Header
240
+ # Webhook Header
224
241
  -d, [--data=DATA]
225
- # Data
242
+ # Webhook payload (file or string)
226
243
  -u, [--user=USER]
227
- # Basic auth username and password eg. username:password
244
+ # Webhook basic auth username and password eg. username:password
228
245
  [--consumer=CONSUMER]
229
246
  # Consumer name
230
247
  [--provider=PROVIDER]
231
248
  # Provider name
232
- -b, --broker-base-url=BROKER_BASE_URL
233
- # The base URL of the Pact Broker
234
- [--broker-username=BROKER_USERNAME]
235
- # Pact Broker basic auth username
236
- -p, [--broker-password=BROKER_PASSWORD]
237
- # Pact Broker basic auth password
238
- -k, [--broker-token=BROKER_TOKEN]
239
- # Pact Broker bearer token
240
249
  [--description=DESCRIPTION]
241
- # The description of the webhook
250
+ # Webhook description
242
251
  [--contract-content-changed], [--no-contract-content-changed]
243
252
  # Trigger this webhook when the pact content changes
244
253
  [--contract-published], [--no-contract-published]
@@ -249,6 +258,16 @@ Options:
249
258
  # Trigger this webhook when a failed provider verification result is published
250
259
  [--provider-verification-succeeded], [--no-provider-verification-succeeded]
251
260
  # Trigger this webhook when a successful provider verification result is published
261
+ [--team-uuid=UUID]
262
+ # UUID of the Pactflow team to which the webhook should be assigned (Pactflow only)
263
+ -b, --broker-base-url=BROKER_BASE_URL
264
+ # The base URL of the Pact Broker
265
+ -u, [--broker-username=BROKER_USERNAME]
266
+ # Pact Broker basic auth username
267
+ -p, [--broker-password=BROKER_PASSWORD]
268
+ # Pact Broker basic auth password
269
+ -k, [--broker-token=BROKER_TOKEN]
270
+ # Pact Broker bearer token
252
271
  -v, [--verbose], [--no-verbose]
253
272
  # Verbose output. Default: false
254
273
 
@@ -266,27 +285,19 @@ Usage:
266
285
 
267
286
  Options:
268
287
  -X, --request=METHOD
269
- # HTTP method
288
+ # Webhook HTTP method
270
289
  -H, [--header=one two three]
271
- # Header
290
+ # Webhook Header
272
291
  -d, [--data=DATA]
273
- # Data
292
+ # Webhook payload (file or string)
274
293
  -u, [--user=USER]
275
- # Basic auth username and password eg. username:password
294
+ # Webhook basic auth username and password eg. username:password
276
295
  [--consumer=CONSUMER]
277
296
  # Consumer name
278
297
  [--provider=PROVIDER]
279
298
  # Provider name
280
- -b, --broker-base-url=BROKER_BASE_URL
281
- # The base URL of the Pact Broker
282
- [--broker-username=BROKER_USERNAME]
283
- # Pact Broker basic auth username
284
- -p, [--broker-password=BROKER_PASSWORD]
285
- # Pact Broker basic auth password
286
- -k, [--broker-token=BROKER_TOKEN]
287
- # Pact Broker bearer token
288
299
  [--description=DESCRIPTION]
289
- # The description of the webhook
300
+ # Webhook description
290
301
  [--contract-content-changed], [--no-contract-content-changed]
291
302
  # Trigger this webhook when the pact content changes
292
303
  [--contract-published], [--no-contract-published]
@@ -297,6 +308,16 @@ Options:
297
308
  # Trigger this webhook when a failed provider verification result is published
298
309
  [--provider-verification-succeeded], [--no-provider-verification-succeeded]
299
310
  # Trigger this webhook when a successful provider verification result is published
311
+ [--team-uuid=UUID]
312
+ # UUID of the Pactflow team to which the webhook should be assigned (Pactflow only)
313
+ -b, --broker-base-url=BROKER_BASE_URL
314
+ # The base URL of the Pact Broker
315
+ -u, [--broker-username=BROKER_USERNAME]
316
+ # Pact Broker basic auth username
317
+ -p, [--broker-password=BROKER_PASSWORD]
318
+ # Pact Broker basic auth password
319
+ -k, [--broker-token=BROKER_TOKEN]
320
+ # Pact Broker bearer token
300
321
  -v, [--verbose], [--no-verbose]
301
322
  # Verbose output. Default: false
302
323
  --uuid=UUID
@@ -30,8 +30,6 @@
30
30
 
31
31
  * [A request for the index resource](#a_request_for_the_index_resource_given_the_pb:pacticipant-version_relation_exists_in_the_index_resource) given the pb:pacticipant-version relation exists in the index resource
32
32
 
33
- * [A request for the index resource](#a_request_for_the_index_resource_given_the_pb:publish-contracts_relations_exists_in_the_index_resource) given the pb:publish-contracts relations exists in the index resource
34
-
35
33
  * [A request for the index resource with the webhook relation](#a_request_for_the_index_resource_with_the_webhook_relation)
36
34
 
37
35
  * [A request for the list of the latest pacts from all consumers for the Pricing Service'](#a_request_for_the_list_of_the_latest_pacts_from_all_consumers_for_the_Pricing_Service&#39;_given_a_latest_pact_between_Condor_and_the_Pricing_Service_exists) given a latest pact between Condor and the Pricing Service exists
@@ -66,6 +64,8 @@
66
64
 
67
65
  * [A request to create a webhook with every possible event type](#a_request_to_create_a_webhook_with_every_possible_event_type_given_the_&#39;Pricing_Service&#39;_and_&#39;Condor&#39;_already_exist_in_the_pact-broker) given the 'Pricing Service' and 'Condor' already exist in the pact-broker
68
66
 
67
+ * [A request to determine if Bar can be deployed with all Foo tagged prod, ignoring the verification for Foo version 3.4.5](#a_request_to_determine_if_Bar_can_be_deployed_with_all_Foo_tagged_prod,_ignoring_the_verification_for_Foo_version_3.4.5_given_provider_Bar_version_4.5.6_has_a_successful_verification_for_Foo_version_1.2.3_tagged_prod_and_a_failed_verification_for_version_3.4.5_tagged_prod) given provider Bar version 4.5.6 has a successful verification for Foo version 1.2.3 tagged prod and a failed verification for version 3.4.5 tagged prod
68
+
69
69
  * [A request to get the Pricing Service](#a_request_to_get_the_Pricing_Service_given_the_&#39;Pricing_Service&#39;_already_exists_in_the_pact-broker) given the 'Pricing Service' already exists in the pact-broker
70
70
 
71
71
  * [A request to get the Pricing Service](#a_request_to_get_the_Pricing_Service_given_the_&#39;Pricing_Service&#39;_does_not_exist_in_the_pact-broker) given the 'Pricing Service' does not exist in the pact-broker
@@ -84,8 +84,6 @@
84
84
 
85
85
  * [A request to publish a pact with method put](#a_request_to_publish_a_pact_with_method_put_given_the_&#39;Pricing_Service&#39;_and_&#39;Condor&#39;_already_exist_in_the_pact-broker,_and_Condor_already_has_a_pact_published_for_version_1.3.0) given the 'Pricing Service' and 'Condor' already exist in the pact-broker, and Condor already has a pact published for version 1.3.0
86
86
 
87
- * [A request to publish contracts](#a_request_to_publish_contracts)
88
-
89
87
  * [A request to register the repository URL of a pacticipant](#a_request_to_register_the_repository_URL_of_a_pacticipant_given_the_&#39;Pricing_Service&#39;_already_exists_in_the_pact-broker) given the 'Pricing Service' already exists in the pact-broker
90
88
 
91
89
  * [A request to register the repository URL of a pacticipant](#a_request_to_register_the_repository_URL_of_a_pacticipant_given_the_&#39;Pricing_Service&#39;_does_not_exist_in_the_pact-broker) given the 'Pricing Service' does not exist in the pact-broker
@@ -683,33 +681,6 @@ Pact Broker will respond with:
683
681
  }
684
682
  }
685
683
  ```
686
- <a name="a_request_for_the_index_resource_given_the_pb:publish-contracts_relations_exists_in_the_index_resource"></a>
687
- Given **the pb:publish-contracts relations exists in the index resource**, upon receiving **a request for the index resource** from Pact Broker Client, with
688
- ```json
689
- {
690
- "method": "GET",
691
- "path": "/",
692
- "headers": {
693
- "Accept": "application/hal+json"
694
- }
695
- }
696
- ```
697
- Pact Broker will respond with:
698
- ```json
699
- {
700
- "status": 200,
701
- "headers": {
702
- "Content-Type": "application/hal+json;charset=utf-8"
703
- },
704
- "body": {
705
- "_links": {
706
- "pb:publish-contracts": {
707
- "href": "http://localhost:1234/HAL-REL-PLACEHOLDER-PB-PUBLISH-CONTRACTS"
708
- }
709
- }
710
- }
711
- }
712
- ```
713
684
  <a name="a_request_for_the_index_resource_with_the_webhook_relation"></a>
714
685
  Upon receiving **a request for the index resource with the webhook relation** from Pact Broker Client, with
715
686
  ```json
@@ -1454,6 +1425,83 @@ Pact Broker will respond with:
1454
1425
  }
1455
1426
  }
1456
1427
  ```
1428
+ <a name="a_request_to_determine_if_Bar_can_be_deployed_with_all_Foo_tagged_prod,_ignoring_the_verification_for_Foo_version_3.4.5_given_provider_Bar_version_4.5.6_has_a_successful_verification_for_Foo_version_1.2.3_tagged_prod_and_a_failed_verification_for_version_3.4.5_tagged_prod"></a>
1429
+ Given **provider Bar version 4.5.6 has a successful verification for Foo version 1.2.3 tagged prod and a failed verification for version 3.4.5 tagged prod**, upon receiving **a request to determine if Bar can be deployed with all Foo tagged prod, ignoring the verification for Foo version 3.4.5** from Pact Broker Client, with
1430
+ ```json
1431
+ {
1432
+ "method": "get",
1433
+ "path": "/matrix",
1434
+ "query": "q%5B%5D%5Bpacticipant%5D=Bar&q%5B%5D%5Bversion%5D=4.5.6&q%5B%5D%5Bpacticipant%5D=Foo&q%5B%5D%5Btag%5D=prod&latestby=cvpv&ignore%5B%5D%5Bpacticipant%5D=Foo&ignore%5B%5D%5Bversion%5D=3.4.5"
1435
+ }
1436
+ ```
1437
+ Pact Broker will respond with:
1438
+ ```json
1439
+ {
1440
+ "status": 200,
1441
+ "headers": {
1442
+ "Content-Type": "application/hal+json;charset=utf-8"
1443
+ },
1444
+ "body": {
1445
+ "summary": {
1446
+ "deployable": true,
1447
+ "ignored": 1
1448
+ },
1449
+ "notices": [
1450
+ {
1451
+ "text": "some notice",
1452
+ "type": "info"
1453
+ }
1454
+ ],
1455
+ "matrix": [
1456
+ {
1457
+ "consumer": {
1458
+ "name": "Foo",
1459
+ "version": {
1460
+ "number": "1.2.3"
1461
+ }
1462
+ },
1463
+ "provider": {
1464
+ "name": "Bar",
1465
+ "version": {
1466
+ "number": "4.5.6"
1467
+ }
1468
+ },
1469
+ "verificationResult": {
1470
+ "success": true,
1471
+ "_links": {
1472
+ "self": {
1473
+ "href": "http://result"
1474
+ }
1475
+ }
1476
+ }
1477
+ },
1478
+ {
1479
+ "consumer": {
1480
+ "name": "Foo",
1481
+ "version": {
1482
+ "number": "3.4.5"
1483
+ }
1484
+ },
1485
+ "provider": {
1486
+ "name": "Bar",
1487
+ "version": {
1488
+ "number": "4.5.6"
1489
+ }
1490
+ },
1491
+ "verificationResult": {
1492
+ "success": false,
1493
+ "_links": {
1494
+ "self": {
1495
+ "href": "http://result"
1496
+ }
1497
+ }
1498
+ },
1499
+ "ignored": true
1500
+ }
1501
+ ]
1502
+ }
1503
+ }
1504
+ ```
1457
1505
  <a name="a_request_to_get_the_Pricing_Service_given_the_&#39;Pricing_Service&#39;_already_exists_in_the_pact-broker"></a>
1458
1506
  Given **the 'Pricing Service' already exists in the pact-broker**, upon receiving **a request to get the Pricing Service** from Pact Broker Client, with
1459
1507
  ```json
@@ -1806,76 +1854,6 @@ Pact Broker will respond with:
1806
1854
  }
1807
1855
  }
1808
1856
  ```
1809
- <a name="a_request_to_publish_contracts"></a>
1810
- Upon receiving **a request to publish contracts** from Pact Broker Client, with
1811
- ```json
1812
- {
1813
- "method": "POST",
1814
- "path": "/HAL-REL-PLACEHOLDER-PB-PUBLISH-CONTRACTS",
1815
- "headers": {
1816
- "Content-Type": "application/json",
1817
- "Accept": "application/hal+json"
1818
- },
1819
- "body": {
1820
- "pacticipantName": "Foo",
1821
- "pacticipantVersionNumber": "5556b8149bf8bac76bc30f50a8a2dd4c22c85f30",
1822
- "branch": "main",
1823
- "tags": [
1824
- "dev"
1825
- ],
1826
- "buildUrl": "http://build",
1827
- "contracts": [
1828
- {
1829
- "consumerName": "Foo",
1830
- "providerName": "Bar",
1831
- "specification": "pact",
1832
- "contentType": "application/json",
1833
- "content": "eyJjb25zdW1lciI6eyJuYW1lIjoiRm9vIn0sInByb3ZpZGVyIjp7Im5hbWUiOiJCYXIifSwiaW50ZXJhY3Rpb25zIjpbeyJkZXNjcmlwdGlvbiI6ImFuIGV4YW1wbGUgcmVxdWVzdCIsInByb3ZpZGVyU3RhdGUiOiJhIHByb3ZpZGVyIHN0YXRlIiwicmVxdWVzdCI6eyJtZXRob2QiOiJHRVQiLCJwYXRoIjoiLyIsImhlYWRlcnMiOnt9fSwicmVzcG9uc2UiOnsic3RhdHVzIjoyMDAsImhlYWRlcnMiOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vaGFsK2pzb24ifX19XSwibWV0YWRhdGEiOnsicGFjdFNwZWNpZmljYXRpb24iOnsidmVyc2lvbiI6IjIuMC4wIn19fQ==",
1834
- "writeMode": "overwrite",
1835
- "onConflict": "overwrite"
1836
- }
1837
- ]
1838
- }
1839
- }
1840
- ```
1841
- Pact Broker will respond with:
1842
- ```json
1843
- {
1844
- "status": 200,
1845
- "headers": {
1846
- "Content-Type": "application/hal+json;charset=utf-8"
1847
- },
1848
- "body": {
1849
- "_embedded": {
1850
- "pacticipant": {
1851
- "name": "Foo"
1852
- },
1853
- "version": {
1854
- "number": "5556b8149bf8bac76bc30f50a8a2dd4c22c85f30",
1855
- "buildUrl": "http://build"
1856
- }
1857
- },
1858
- "logs": [
1859
- {
1860
- "level": "info",
1861
- "message": "some message"
1862
- }
1863
- ],
1864
- "_links": {
1865
- "pb:pacticipant-version-tags": [
1866
- {
1867
- "name": "dev"
1868
- }
1869
- ],
1870
- "pb:contracts": [
1871
- {
1872
- "href": "http://some-pact"
1873
- }
1874
- ]
1875
- }
1876
- }
1877
- }
1878
- ```
1879
1857
  <a name="a_request_to_register_the_repository_URL_of_a_pacticipant_given_the_&#39;Pricing_Service&#39;_already_exists_in_the_pact-broker"></a>
1880
1858
  Given **the 'Pricing Service' already exists in the pact-broker**, upon receiving **a request to register the repository URL of a pacticipant** from Pact Broker Client, with
1881
1859
  ```json
@@ -2286,7 +2264,6 @@ Given **the 'Pricing Service' and 'Condor' already exist in the pact-broker**, u
2286
2264
  }
2287
2265
  ],
2288
2266
  "request": {
2289
- "url": null,
2290
2267
  "method": "POST",
2291
2268
  "headers": {
2292
2269
  "Foo": "bar",