pact_broker-client 1.41.0 → 1.46.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/workflows/test.yml +21 -0
- data/CHANGELOG.md +57 -0
- data/README.md +69 -48
- data/doc/pacts/markdown/Pact Broker Client - Pact Broker.md +79 -102
- data/doc/pacts/markdown/Pact Broker Client - Pactflow.md +94 -0
- data/doc/pacts/markdown/README.md +1 -0
- data/lib/pact_broker/client/backports.rb +9 -0
- data/lib/pact_broker/client/base_command.rb +98 -0
- data/lib/pact_broker/client/can_i_deploy.rb +40 -5
- data/lib/pact_broker/client/cli/broker.rb +18 -160
- data/lib/pact_broker/client/cli/custom_thor.rb +12 -16
- data/lib/pact_broker/client/cli/deployment_commands.rb +94 -0
- data/lib/pact_broker/client/cli/environment_commands.rb +70 -0
- data/lib/pact_broker/client/cli/pacticipant_commands.rb +53 -0
- data/lib/pact_broker/client/cli/webhook_commands.rb +122 -0
- data/lib/pact_broker/client/deployments.rb +4 -0
- data/lib/pact_broker/client/deployments/record_deployment.rb +38 -0
- data/lib/pact_broker/client/deployments/record_release.rb +99 -0
- data/lib/pact_broker/client/deployments/record_support_ended.rb +103 -0
- data/lib/pact_broker/client/deployments/record_undeployment.rb +127 -0
- data/lib/pact_broker/client/describe_text_formatter.rb +23 -0
- data/lib/pact_broker/client/environments.rb +6 -0
- data/lib/pact_broker/client/environments/create_environment.rb +31 -0
- data/lib/pact_broker/client/environments/delete_environment.rb +27 -0
- data/lib/pact_broker/client/environments/describe_environment.rb +26 -0
- data/lib/pact_broker/client/environments/environment_command.rb +66 -0
- data/lib/pact_broker/client/environments/list_environments.rb +30 -0
- data/lib/pact_broker/client/environments/text_formatter.rb +30 -0
- data/lib/pact_broker/client/environments/update_environment.rb +31 -0
- data/lib/pact_broker/client/generate_display_name.rb +27 -0
- data/lib/pact_broker/client/hal/entity.rb +31 -6
- data/lib/pact_broker/client/hal/http_client.rb +8 -2
- data/lib/pact_broker/client/hal/link.rb +8 -0
- data/lib/pact_broker/client/hal_client_methods.rb +1 -3
- data/lib/pact_broker/client/matrix/text_formatter.rb +21 -13
- data/lib/pact_broker/client/pacticipants.rb +6 -0
- data/lib/pact_broker/client/pacticipants/create.rb +24 -34
- data/lib/pact_broker/client/pacticipants/describe.rb +33 -0
- data/lib/pact_broker/client/pacticipants/list.rb +34 -0
- data/lib/pact_broker/client/pacticipants/text_formatter.rb +41 -0
- data/lib/pact_broker/client/string_refinements.rb +56 -0
- data/lib/pact_broker/client/version.rb +1 -1
- data/lib/pact_broker/client/versions.rb +4 -1
- data/lib/pact_broker/client/versions/describe.rb +3 -1
- data/lib/pact_broker/client/versions/formatter.rb +3 -1
- data/lib/pact_broker/client/versions/json_formatter.rb +5 -3
- data/lib/pact_broker/client/versions/text_formatter.rb +3 -1
- data/lib/pact_broker/client/webhooks/create.rb +14 -8
- data/pact-broker-client.gemspec +1 -0
- data/script/record-deployments-and-releases.sh +18 -0
- data/script/webhook-commands.sh +12 -0
- data/spec/fixtures/approvals/can_i_deploy_failure_dry_run.approved.txt +7 -0
- data/spec/fixtures/approvals/can_i_deploy_success_dry_run.approved.txt +7 -0
- data/spec/fixtures/approvals/describe_environment.approved.txt +7 -0
- data/spec/fixtures/approvals/describe_pacticipant.approved.txt +2 -0
- data/spec/fixtures/approvals/list_environments.approved.txt +3 -0
- data/spec/integration/describe_environment_spec.rb +31 -0
- data/spec/lib/pact_broker/client/can_i_deploy_spec.rb +62 -2
- data/spec/lib/pact_broker/client/cli/broker_can_i_deploy_spec.rb +17 -4
- data/spec/lib/pact_broker/client/cli/broker_publish_spec.rb +1 -1
- data/spec/lib/pact_broker/client/cli/broker_run_webhook_commands_spec.rb +7 -5
- data/spec/lib/pact_broker/client/deployments/record_deployment_spec.rb +204 -0
- data/spec/lib/pact_broker/client/deployments/record_support_ended_spec.rb +208 -0
- data/spec/lib/pact_broker/client/deployments/record_undeployment_spec.rb +219 -0
- data/spec/lib/pact_broker/client/environments/delete_environment_spec.rb +120 -0
- data/spec/lib/pact_broker/client/environments/describe_environment_spec.rb +89 -0
- data/spec/lib/pact_broker/client/environments/update_environment_spec.rb +167 -0
- data/spec/lib/pact_broker/client/generate_display_name_spec.rb +39 -0
- data/spec/lib/pact_broker/client/hal/entity_spec.rb +2 -2
- data/spec/lib/pact_broker/client/pacticipants/create_spec.rb +2 -2
- data/spec/pacts/pact_broker_client-pact_broker.json +88 -108
- data/spec/pacts/pact_broker_client-pactflow.json +118 -0
- data/spec/service_providers/create_environment_spec.rb +78 -0
- data/spec/service_providers/list_environments_spec.rb +77 -0
- data/spec/service_providers/pact_broker_client_matrix_ignore_spec.rb +1 -1
- data/spec/service_providers/pact_broker_client_register_repository_spec.rb +2 -2
- data/spec/service_providers/pact_helper.rb +15 -10
- data/spec/service_providers/pactflow_webhooks_create_spec.rb +86 -0
- data/spec/service_providers/pacticipants_create_spec.rb +5 -4
- data/spec/service_providers/publish_pacts_spec.rb +3 -1
- data/spec/service_providers/record_deployment_spec.rb +14 -32
- data/spec/service_providers/record_release_spec.rb +132 -0
- data/spec/service_providers/record_undeployment_spec.rb +166 -0
- data/spec/service_providers/webhooks_create_spec.rb +1 -1
- data/spec/spec_helper.rb +15 -2
- data/spec/support/approvals.rb +1 -1
- data/spec/support/shared_context.rb +2 -1
- data/tasks/pact.rake +21 -1
- metadata +82 -7
- data/lib/pact_broker/client/versions/record_deployment.rb +0 -109
- data/lib/pact_broker/client/versions/record_undeployment.rb +0 -102
- 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:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: fde8c782e40832e6e989a59a78e0bdedf62d117ceb4e44d322fe38e3911ff714
|
|
4
|
+
data.tar.gz: be91210f775ccf15d2bf49a2cecf3aebf1fc68133b87b5343224d75153b28254
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 31ec264efd314d6cc03059f2eddfc5f0a842055e79c3d68fcbe20896619b6469aad06aa57e26c60585727d94443d7f5fd6e11626c14775e0dadb7fba63afbbe8
|
|
7
|
+
data.tar.gz: 1b78604dfa9f2860523432eea37d4943b7f222b685238ca60d0a8605e87afd42398f02568ddfd35ee330e3b055738db07a3331e800bc4ef839e63a1e2f6c26e5
|
data/.github/workflows/test.yml
CHANGED
|
@@ -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
|
|
82
|
-
|
|
83
|
-
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
[--
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
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
|
-
#
|
|
242
|
+
# Webhook payload (file or string)
|
|
226
243
|
-u, [--user=USER]
|
|
227
|
-
#
|
|
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
|
-
#
|
|
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
|
-
#
|
|
292
|
+
# Webhook payload (file or string)
|
|
274
293
|
-u, [--user=USER]
|
|
275
|
-
#
|
|
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
|
-
#
|
|
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'_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_'Pricing_Service'_and_'Condor'_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_'Pricing_Service'_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_'Pricing_Service'_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_'Pricing_Service'_and_'Condor'_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_'Pricing_Service'_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_'Pricing_Service'_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_'Pricing_Service'_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_'Pricing_Service'_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",
|