pact_broker-client 1.49.0 → 1.51.2
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 +2 -2
- data/CHANGELOG.md +30 -0
- data/README.md +661 -230
- data/doc/CAN_I_DEPLOY_USAGE_WITH_TAGS.md +107 -0
- data/doc/pacts/markdown/Pact Broker Client - Pact Broker.md +77 -80
- data/example/scripts/verify-changed-pact.sh +30 -0
- data/lib/pact_broker/client/cli/can_i_deploy_long_desc.txt +13 -98
- data/lib/pact_broker/client/cli/environment_commands.rb +1 -1
- data/lib/pact_broker/client/cli/matrix_commands.rb +2 -2
- data/lib/pact_broker/client/cli/webhook_commands.rb +5 -0
- data/lib/pact_broker/client/matrix/abbreviate_version_number.rb +27 -5
- data/lib/pact_broker/client/publish_pacts.rb +5 -6
- data/lib/pact_broker/client/publish_pacts_the_old_way.rb +4 -49
- data/lib/pact_broker/client/version.rb +1 -1
- data/pact-broker-client.gemspec +1 -1
- data/script/publish-pact.sh +1 -1
- data/script/update-cli-usage-in-readme.rb +152 -0
- data/spec/lib/pact_broker/client/matrix/abbreviate_version_number_spec.rb +42 -0
- data/spec/lib/pact_broker/client/publish_pacts_the_old_way_spec.rb +3 -74
- data/spec/pacts/pact_broker_client-pact_broker.json +106 -106
- data/spec/readme_spec.rb +16 -0
- data/spec/service_providers/publish_pacts_spec.rb +3 -6
- metadata +12 -10
- data/doc/markdown/Pact Broker Client - Pact Broker.md +0 -582
- data/doc/markdown/README.md +0 -3
- data/script/generate-cli-usage.sh +0 -20
- data/spec/service_providers/pact_broker_client_create_version_spec.rb +0 -89
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pact_broker-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.51.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Beth Skurrie
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-09-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: httparty
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 0.18.1
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: 0.18.1
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: term-ansicolor
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -227,8 +227,7 @@ files:
|
|
227
227
|
- appveyor.yml
|
228
228
|
- bin/pact-broker
|
229
229
|
- ci.sh
|
230
|
-
- doc/
|
231
|
-
- doc/markdown/README.md
|
230
|
+
- doc/CAN_I_DEPLOY_USAGE_WITH_TAGS.md
|
232
231
|
- doc/pacts/markdown/Pact Broker Client - Pact Broker.md
|
233
232
|
- doc/pacts/markdown/Pact Broker Client - Pactflow.md
|
234
233
|
- doc/pacts/markdown/README.md
|
@@ -238,6 +237,7 @@ files:
|
|
238
237
|
- example/scripts/publish-pact.sh
|
239
238
|
- example/scripts/publish-verification.sh
|
240
239
|
- example/scripts/verification.json
|
240
|
+
- example/scripts/verify-changed-pact.sh
|
241
241
|
- lib/pact_broker/client.rb
|
242
242
|
- lib/pact_broker/client/backports.rb
|
243
243
|
- lib/pact_broker/client/base_client.rb
|
@@ -320,13 +320,13 @@ files:
|
|
320
320
|
- pact-broker-client.gemspec
|
321
321
|
- script/approve-all.sh
|
322
322
|
- script/create-pacticipant.sh
|
323
|
-
- script/generate-cli-usage.sh
|
324
323
|
- script/publish-pact.sh
|
325
324
|
- script/record-deployment.sh
|
326
325
|
- script/record-deployments-and-releases.sh
|
327
326
|
- script/record-undeployment.sh
|
328
327
|
- script/release.sh
|
329
328
|
- script/trigger-release.sh
|
329
|
+
- script/update-cli-usage-in-readme.rb
|
330
330
|
- script/webhook-commands.sh
|
331
331
|
- spec/fixtures/approvals/can_i_deploy_failure_dry_run.approved.txt
|
332
332
|
- spec/fixtures/approvals/can_i_deploy_ignore.approved.txt
|
@@ -359,6 +359,7 @@ files:
|
|
359
359
|
- spec/lib/pact_broker/client/hal/entity_spec.rb
|
360
360
|
- spec/lib/pact_broker/client/hal/http_client_spec.rb
|
361
361
|
- spec/lib/pact_broker/client/hal/link_spec.rb
|
362
|
+
- spec/lib/pact_broker/client/matrix/abbreviate_version_number_spec.rb
|
362
363
|
- spec/lib/pact_broker/client/matrix/resource_spec.rb
|
363
364
|
- spec/lib/pact_broker/client/matrix/text_formatter_spec.rb
|
364
365
|
- spec/lib/pact_broker/client/matrix_spec.rb
|
@@ -374,11 +375,11 @@ files:
|
|
374
375
|
- spec/lib/pact_broker/client/webhooks/create_spec.rb
|
375
376
|
- spec/pacts/pact_broker_client-pact_broker.json
|
376
377
|
- spec/pacts/pact_broker_client-pactflow.json
|
378
|
+
- spec/readme_spec.rb
|
377
379
|
- spec/service_providers/create_environment_spec.rb
|
378
380
|
- spec/service_providers/extra_goodies_spec.rb
|
379
381
|
- spec/service_providers/list_environments_spec.rb
|
380
382
|
- spec/service_providers/list_latest_pact_versions_spec.rb.bak
|
381
|
-
- spec/service_providers/pact_broker_client_create_version_spec.rb
|
382
383
|
- spec/service_providers/pact_broker_client_matrix_ignore_spec.rb
|
383
384
|
- spec/service_providers/pact_broker_client_matrix_spec.rb
|
384
385
|
- spec/service_providers/pact_broker_client_pacticipant_version_spec.rb
|
@@ -429,7 +430,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
429
430
|
- !ruby/object:Gem::Version
|
430
431
|
version: '0'
|
431
432
|
requirements: []
|
432
|
-
rubygems_version: 3.2.
|
433
|
+
rubygems_version: 3.2.28
|
433
434
|
signing_key:
|
434
435
|
specification_version: 4
|
435
436
|
summary: See description
|
@@ -465,6 +466,7 @@ test_files:
|
|
465
466
|
- spec/lib/pact_broker/client/hal/entity_spec.rb
|
466
467
|
- spec/lib/pact_broker/client/hal/http_client_spec.rb
|
467
468
|
- spec/lib/pact_broker/client/hal/link_spec.rb
|
469
|
+
- spec/lib/pact_broker/client/matrix/abbreviate_version_number_spec.rb
|
468
470
|
- spec/lib/pact_broker/client/matrix/resource_spec.rb
|
469
471
|
- spec/lib/pact_broker/client/matrix/text_formatter_spec.rb
|
470
472
|
- spec/lib/pact_broker/client/matrix_spec.rb
|
@@ -480,11 +482,11 @@ test_files:
|
|
480
482
|
- spec/lib/pact_broker/client/webhooks/create_spec.rb
|
481
483
|
- spec/pacts/pact_broker_client-pact_broker.json
|
482
484
|
- spec/pacts/pact_broker_client-pactflow.json
|
485
|
+
- spec/readme_spec.rb
|
483
486
|
- spec/service_providers/create_environment_spec.rb
|
484
487
|
- spec/service_providers/extra_goodies_spec.rb
|
485
488
|
- spec/service_providers/list_environments_spec.rb
|
486
489
|
- spec/service_providers/list_latest_pact_versions_spec.rb.bak
|
487
|
-
- spec/service_providers/pact_broker_client_create_version_spec.rb
|
488
490
|
- spec/service_providers/pact_broker_client_matrix_ignore_spec.rb
|
489
491
|
- spec/service_providers/pact_broker_client_matrix_spec.rb
|
490
492
|
- spec/service_providers/pact_broker_client_pacticipant_version_spec.rb
|
@@ -1,582 +0,0 @@
|
|
1
|
-
### A pact between Pact Broker Client and Pact Broker
|
2
|
-
|
3
|
-
#### Requests from Pact Broker Client to Pact Broker
|
4
|
-
|
5
|
-
* [A request for the latest version](#a_request_for_the_latest_version_given_no_version_exists_for_the_Pricing_Service) given no version exists for the Pricing Service
|
6
|
-
|
7
|
-
* [A request for the latest version tagged with 'prod'](#a_request_for_the_latest_version_tagged_with_'prod'_given_a_version_with_production_details_exists_for_the_Pricing_Service) given a version with production details exists for the Pricing Service
|
8
|
-
|
9
|
-
* [A request retrieve a pact for a specific version](#a_request_retrieve_a_pact_for_a_specific_version_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
|
10
|
-
|
11
|
-
* [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
|
12
|
-
|
13
|
-
* [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
|
14
|
-
|
15
|
-
* [A request to list pacticipants](#a_request_to_list_pacticipants_given_'Condor'_exists_in_the_pact-broker) given 'Condor' exists in the pact-broker
|
16
|
-
|
17
|
-
* [A request to list the latest pacts](#a_request_to_list_the_latest_pacts_given_a_pact_between_Condor_and_the_Pricing_Service_exists) given a pact between Condor and the Pricing Service exists
|
18
|
-
|
19
|
-
* [A request to publish a pact](#a_request_to_publish_a_pact_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
|
20
|
-
|
21
|
-
* [A request to publish a pact](#a_request_to_publish_a_pact_given_'Condor'_already_exist_in_the_pact-broker,_but_the_'Pricing_Service'_does_not) given 'Condor' already exist in the pact-broker, but the 'Pricing Service' does not
|
22
|
-
|
23
|
-
* [A request to publish a pact](#a_request_to_publish_a_pact_given_the_'Pricing_Service'_already_exists_in_the_pact-broker) given the 'Pricing Service' already exists in the pact-broker
|
24
|
-
|
25
|
-
* [A request to publish a pact](#a_request_to_publish_a_pact_given_an_error_occurs_while_publishing_a_pact) given an error occurs while publishing a pact
|
26
|
-
|
27
|
-
* [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
|
28
|
-
|
29
|
-
* [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
|
30
|
-
|
31
|
-
* [A request to retrieve the latest pact between Condor and the Pricing Service](#a_request_to_retrieve_the_latest_pact_between_Condor_and_the_Pricing_Service_given_a_pact_between_Condor_and_the_Pricing_Service_exists) given a pact between Condor and the Pricing Service exists
|
32
|
-
|
33
|
-
* [A request to retrieve the latest pact between Condor and the Pricing Service](#a_request_to_retrieve_the_latest_pact_between_Condor_and_the_Pricing_Service_given_no_pact_between_Condor_and_the_Pricing_Service_exists) given no pact between Condor and the Pricing Service exists
|
34
|
-
|
35
|
-
* [A request to retrieve the pact between the production verison of Condor and the Pricing Service](#a_request_to_retrieve_the_pact_between_the_production_verison_of_Condor_and_the_Pricing_Service_given_a_pact_between_Condor_and_the_Pricing_Service_exists_for_the_production_version_of_Condor) given a pact between Condor and the Pricing Service exists for the production version of Condor
|
36
|
-
|
37
|
-
* [A request to tag the production version of Condor](#a_request_to_tag_the_production_version_of_Condor_given_'Condor'_exists_in_the_pact-broker_with_version_1.3.0,_tagged_with_'prod') given 'Condor' exists in the pact-broker with version 1.3.0, tagged with 'prod'
|
38
|
-
|
39
|
-
* [A request to tag the production version of Condor](#a_request_to_tag_the_production_version_of_Condor_given_'Condor'_does_not_exist_in_the_pact-broker) given 'Condor' does not exist in the pact-broker
|
40
|
-
|
41
|
-
* [A request to tag the production version of Condor](#a_request_to_tag_the_production_version_of_Condor_given_'Condor'_exists_in_the_pact-broker) given 'Condor' exists in the pact-broker
|
42
|
-
|
43
|
-
#### Interactions
|
44
|
-
|
45
|
-
<a name="a_request_for_the_latest_version_given_no_version_exists_for_the_Pricing_Service"></a>
|
46
|
-
Given **no version exists for the Pricing Service**, upon receiving **a request for the latest version** from Pact Broker Client, with
|
47
|
-
```json
|
48
|
-
{
|
49
|
-
"method": "get",
|
50
|
-
"path": "/pacticipants/Pricing%20Service/versions/latest",
|
51
|
-
"headers": {
|
52
|
-
"Accept": "application/json"
|
53
|
-
}
|
54
|
-
}
|
55
|
-
```
|
56
|
-
Pact Broker will respond with:
|
57
|
-
```json
|
58
|
-
{
|
59
|
-
"status": 404
|
60
|
-
}
|
61
|
-
```
|
62
|
-
<a name="a_request_for_the_latest_version_tagged_with_'prod'_given_a_version_with_production_details_exists_for_the_Pricing_Service"></a>
|
63
|
-
Given **a version with production details exists for the Pricing Service**, upon receiving **a request for the latest version tagged with 'prod'** from Pact Broker Client, with
|
64
|
-
```json
|
65
|
-
{
|
66
|
-
"method": "get",
|
67
|
-
"path": "/pacticipants/Pricing%20Service/versions/latest",
|
68
|
-
"query": "tag=prod",
|
69
|
-
"headers": {
|
70
|
-
"Accept": "application/json"
|
71
|
-
}
|
72
|
-
}
|
73
|
-
```
|
74
|
-
Pact Broker will respond with:
|
75
|
-
```json
|
76
|
-
{
|
77
|
-
"status": 200,
|
78
|
-
"headers": {
|
79
|
-
"Content-Type": "application/json"
|
80
|
-
},
|
81
|
-
"body": {
|
82
|
-
"number": "1.2.3",
|
83
|
-
"repository_ref": "package/pricing-service-1.2.3",
|
84
|
-
"tags": [
|
85
|
-
"prod"
|
86
|
-
]
|
87
|
-
}
|
88
|
-
}
|
89
|
-
```
|
90
|
-
<a name="a_request_retrieve_a_pact_for_a_specific_version_given_the_'Pricing_Service'_and_'Condor'_already_exist_in_the_pact-broker,_and_Condor_already_has_a_pact_published_for_version_1.3.0"></a>
|
91
|
-
Given **the 'Pricing Service' and 'Condor' already exist in the pact-broker, and Condor already has a pact published for version 1.3.0**, upon receiving **a request retrieve a pact for a specific version** from Pact Broker Client, with
|
92
|
-
```json
|
93
|
-
{
|
94
|
-
"method": "get",
|
95
|
-
"path": "/pact/provider/Pricing%20Service/consumer/Condor/version/1.3.0"
|
96
|
-
}
|
97
|
-
```
|
98
|
-
Pact Broker will respond with:
|
99
|
-
```json
|
100
|
-
{
|
101
|
-
"status": 200,
|
102
|
-
"body": {
|
103
|
-
"consumer": {
|
104
|
-
"name": "Condor"
|
105
|
-
},
|
106
|
-
"provider": {
|
107
|
-
"name": "Pricing Service"
|
108
|
-
},
|
109
|
-
"interactions": [
|
110
|
-
|
111
|
-
]
|
112
|
-
}
|
113
|
-
}
|
114
|
-
```
|
115
|
-
<a name="a_request_to_get_the_Pricing_Service_given_the_'Pricing_Service'_already_exists_in_the_pact-broker"></a>
|
116
|
-
Given **the 'Pricing Service' already exists in the pact-broker**, upon receiving **a request to get the Pricing Service** from Pact Broker Client, with
|
117
|
-
```json
|
118
|
-
{
|
119
|
-
"method": "get",
|
120
|
-
"path": "/pacticipants/Pricing%20Service"
|
121
|
-
}
|
122
|
-
```
|
123
|
-
Pact Broker will respond with:
|
124
|
-
```json
|
125
|
-
{
|
126
|
-
"status": 200,
|
127
|
-
"headers": {
|
128
|
-
"Content-Type": "application/hal+json"
|
129
|
-
},
|
130
|
-
"body": {
|
131
|
-
"_links": {
|
132
|
-
"self": {
|
133
|
-
"href": "http://example.org/pacticipants/Pricing%20Service"
|
134
|
-
},
|
135
|
-
"versions": {
|
136
|
-
"href": "http://example.org/pacticipants/Pricing%20Service/versions"
|
137
|
-
},
|
138
|
-
"latest_version": {
|
139
|
-
"href": "http://example.org/pacticipants/Pricing%20Service/versions/latest"
|
140
|
-
}
|
141
|
-
},
|
142
|
-
"name": "Pricing Service",
|
143
|
-
"repository_url": "git@git.realestate.com.au:business-systems/pricing-service",
|
144
|
-
"_embedded": {
|
145
|
-
"latest_version": {
|
146
|
-
"_links": {
|
147
|
-
"self": {
|
148
|
-
"href": "http://example.org/pacticipants/Pricing%20Service/versions/1.3.0"
|
149
|
-
}
|
150
|
-
},
|
151
|
-
"number": "1.3.0"
|
152
|
-
}
|
153
|
-
}
|
154
|
-
}
|
155
|
-
}
|
156
|
-
```
|
157
|
-
<a name="a_request_to_get_the_Pricing_Service_given_the_'Pricing_Service'_does_not_exist_in_the_pact-broker"></a>
|
158
|
-
Given **the 'Pricing Service' does not exist in the pact-broker**, upon receiving **a request to get the Pricing Service** from Pact Broker Client, with
|
159
|
-
```json
|
160
|
-
{
|
161
|
-
"method": "get",
|
162
|
-
"path": "/pacticipants/Pricing%20Service"
|
163
|
-
}
|
164
|
-
```
|
165
|
-
Pact Broker will respond with:
|
166
|
-
```json
|
167
|
-
{
|
168
|
-
"status": 404
|
169
|
-
}
|
170
|
-
```
|
171
|
-
<a name="a_request_to_list_pacticipants_given_'Condor'_exists_in_the_pact-broker"></a>
|
172
|
-
Given **'Condor' exists in the pact-broker**, upon receiving **a request to list pacticipants** from Pact Broker Client, with
|
173
|
-
```json
|
174
|
-
{
|
175
|
-
"method": "get",
|
176
|
-
"path": "/pacticipants"
|
177
|
-
}
|
178
|
-
```
|
179
|
-
Pact Broker will respond with:
|
180
|
-
```json
|
181
|
-
{
|
182
|
-
"status": 200,
|
183
|
-
"headers": {
|
184
|
-
"Content-Type": "application/hal+json"
|
185
|
-
},
|
186
|
-
"body": {
|
187
|
-
"_links": {
|
188
|
-
"self": {
|
189
|
-
"href": "http://example.org/pacticipants"
|
190
|
-
},
|
191
|
-
"pacticipants": [
|
192
|
-
{
|
193
|
-
"href": "http://example.org/pacticipants/Condor",
|
194
|
-
"title": "Condor"
|
195
|
-
}
|
196
|
-
]
|
197
|
-
},
|
198
|
-
"pacticipants": [
|
199
|
-
{
|
200
|
-
"_links": {
|
201
|
-
"self": {
|
202
|
-
"href": "http://example.org/pacticipants/Condor"
|
203
|
-
}
|
204
|
-
},
|
205
|
-
"name": "Condor",
|
206
|
-
"_embedded": {
|
207
|
-
"latest_version": {
|
208
|
-
"_links": {
|
209
|
-
"self": {
|
210
|
-
"href": "http://example.org/pacticipants/Condor/versions/1.3.0"
|
211
|
-
}
|
212
|
-
},
|
213
|
-
"number": "1.3.0"
|
214
|
-
}
|
215
|
-
}
|
216
|
-
}
|
217
|
-
]
|
218
|
-
}
|
219
|
-
}
|
220
|
-
```
|
221
|
-
<a name="a_request_to_list_the_latest_pacts_given_a_pact_between_Condor_and_the_Pricing_Service_exists"></a>
|
222
|
-
Given **a pact between Condor and the Pricing Service exists**, upon receiving **a request to list the latest pacts** from Pact Broker Client, with
|
223
|
-
```json
|
224
|
-
{
|
225
|
-
"method": "get",
|
226
|
-
"path": "/pacts/latest"
|
227
|
-
}
|
228
|
-
```
|
229
|
-
Pact Broker will respond with:
|
230
|
-
```json
|
231
|
-
{
|
232
|
-
"status": 200,
|
233
|
-
"headers": {
|
234
|
-
"Content-Type": "application/hal+json"
|
235
|
-
},
|
236
|
-
"body": {
|
237
|
-
"_links": {
|
238
|
-
"self": {
|
239
|
-
"href": "http://example.org/pacts/latest"
|
240
|
-
}
|
241
|
-
},
|
242
|
-
"pacts": [
|
243
|
-
{
|
244
|
-
"_links": {
|
245
|
-
"self": [
|
246
|
-
{
|
247
|
-
"href": "http://example.org/pact/provider/Pricing%20Service/consumer/Condor/latest"
|
248
|
-
},
|
249
|
-
{
|
250
|
-
"href": "http://example.org/pact/provider/Pricing%20Service/consumer/Condor/version/1.3.0"
|
251
|
-
}
|
252
|
-
]
|
253
|
-
},
|
254
|
-
"_embedded": {
|
255
|
-
"consumer": {
|
256
|
-
"name": "Condor",
|
257
|
-
"_links": {
|
258
|
-
"self": {
|
259
|
-
"href": "http://example.org/pacticipants/Condor"
|
260
|
-
}
|
261
|
-
},
|
262
|
-
"_embedded": {
|
263
|
-
"version": {
|
264
|
-
"number": "1.3.0"
|
265
|
-
}
|
266
|
-
}
|
267
|
-
},
|
268
|
-
"provider": {
|
269
|
-
"_links": {
|
270
|
-
"self": {
|
271
|
-
"href": "http://example.org/pacticipants/Pricing%20Service"
|
272
|
-
}
|
273
|
-
},
|
274
|
-
"name": "Pricing Service"
|
275
|
-
}
|
276
|
-
}
|
277
|
-
}
|
278
|
-
]
|
279
|
-
}
|
280
|
-
}
|
281
|
-
```
|
282
|
-
<a name="a_request_to_publish_a_pact_given_the_'Pricing_Service'_and_'Condor'_already_exist_in_the_pact-broker,_and_Condor_already_has_a_pact_published_for_version_1.3.0"></a>
|
283
|
-
Given **the 'Pricing Service' and 'Condor' already exist in the pact-broker, and Condor already has a pact published for version 1.3.0**, upon receiving **a request to publish a pact** from Pact Broker Client, with
|
284
|
-
```json
|
285
|
-
{
|
286
|
-
"method": "put",
|
287
|
-
"path": "/pact/provider/Pricing%20Service/consumer/Condor/version/1.3.0",
|
288
|
-
"headers": {
|
289
|
-
"Content-Type": "application/json"
|
290
|
-
},
|
291
|
-
"body": {
|
292
|
-
"consumer": {
|
293
|
-
"name": "Condor"
|
294
|
-
},
|
295
|
-
"provider": {
|
296
|
-
"name": "Pricing Service"
|
297
|
-
},
|
298
|
-
"interactions": [
|
299
|
-
|
300
|
-
]
|
301
|
-
}
|
302
|
-
}
|
303
|
-
```
|
304
|
-
Pact Broker will respond with:
|
305
|
-
```json
|
306
|
-
{
|
307
|
-
"status": 200
|
308
|
-
}
|
309
|
-
```
|
310
|
-
<a name="a_request_to_publish_a_pact_given_'Condor'_already_exist_in_the_pact-broker,_but_the_'Pricing_Service'_does_not"></a>
|
311
|
-
Given **'Condor' already exist in the pact-broker, but the 'Pricing Service' does not**, upon receiving **a request to publish a pact** from Pact Broker Client, with
|
312
|
-
```json
|
313
|
-
{
|
314
|
-
"method": "put",
|
315
|
-
"path": "/pact/provider/Pricing%20Service/consumer/Condor/version/1.3.0",
|
316
|
-
"headers": {
|
317
|
-
"Content-Type": "application/json"
|
318
|
-
},
|
319
|
-
"body": {
|
320
|
-
"consumer": {
|
321
|
-
"name": "Condor"
|
322
|
-
},
|
323
|
-
"provider": {
|
324
|
-
"name": "Pricing Service"
|
325
|
-
},
|
326
|
-
"interactions": [
|
327
|
-
|
328
|
-
]
|
329
|
-
}
|
330
|
-
}
|
331
|
-
```
|
332
|
-
Pact Broker will respond with:
|
333
|
-
```json
|
334
|
-
{
|
335
|
-
"status": 201
|
336
|
-
}
|
337
|
-
```
|
338
|
-
<a name="a_request_to_publish_a_pact_given_the_'Pricing_Service'_already_exists_in_the_pact-broker"></a>
|
339
|
-
Given **the 'Pricing Service' already exists in the pact-broker**, upon receiving **a request to publish a pact** from Pact Broker Client, with
|
340
|
-
```json
|
341
|
-
{
|
342
|
-
"method": "put",
|
343
|
-
"path": "/pact/provider/Pricing%20Service/consumer/Condor/version/1.3.0",
|
344
|
-
"headers": {
|
345
|
-
"Content-Type": "application/json"
|
346
|
-
},
|
347
|
-
"body": {
|
348
|
-
"consumer": {
|
349
|
-
"name": "Condor"
|
350
|
-
},
|
351
|
-
"provider": {
|
352
|
-
"name": "Pricing Service"
|
353
|
-
},
|
354
|
-
"interactions": [
|
355
|
-
|
356
|
-
]
|
357
|
-
}
|
358
|
-
}
|
359
|
-
```
|
360
|
-
Pact Broker will respond with:
|
361
|
-
```json
|
362
|
-
{
|
363
|
-
"status": 201
|
364
|
-
}
|
365
|
-
```
|
366
|
-
<a name="a_request_to_publish_a_pact_given_an_error_occurs_while_publishing_a_pact"></a>
|
367
|
-
Given **an error occurs while publishing a pact**, upon receiving **a request to publish a pact** from Pact Broker Client, with
|
368
|
-
```json
|
369
|
-
{
|
370
|
-
"method": "put",
|
371
|
-
"path": "/pact/provider/Pricing%20Service/consumer/Condor/version/1.3.0",
|
372
|
-
"headers": {
|
373
|
-
"Content-Type": "application/json"
|
374
|
-
},
|
375
|
-
"body": {
|
376
|
-
"consumer": {
|
377
|
-
"name": "Condor"
|
378
|
-
},
|
379
|
-
"provider": {
|
380
|
-
"name": "Pricing Service"
|
381
|
-
},
|
382
|
-
"interactions": [
|
383
|
-
|
384
|
-
]
|
385
|
-
}
|
386
|
-
}
|
387
|
-
```
|
388
|
-
Pact Broker will respond with:
|
389
|
-
```json
|
390
|
-
{
|
391
|
-
"status": 500,
|
392
|
-
"headers": {
|
393
|
-
"Content-Type": "application/json"
|
394
|
-
},
|
395
|
-
"body": {
|
396
|
-
"message": "An error occurred"
|
397
|
-
}
|
398
|
-
}
|
399
|
-
```
|
400
|
-
<a name="a_request_to_register_the_repository_URL_of_a_pacticipant_given_the_'Pricing_Service'_already_exists_in_the_pact-broker"></a>
|
401
|
-
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
|
402
|
-
```json
|
403
|
-
{
|
404
|
-
"method": "patch",
|
405
|
-
"path": "/pacticipants/Pricing%20Service",
|
406
|
-
"headers": {
|
407
|
-
"Content-Type": "application/json"
|
408
|
-
},
|
409
|
-
"body": {
|
410
|
-
"repository_url": "git@git.realestate.com.au:business-systems/pricing-service"
|
411
|
-
}
|
412
|
-
}
|
413
|
-
```
|
414
|
-
Pact Broker will respond with:
|
415
|
-
```json
|
416
|
-
{
|
417
|
-
"status": 200
|
418
|
-
}
|
419
|
-
```
|
420
|
-
<a name="a_request_to_register_the_repository_URL_of_a_pacticipant_given_the_'Pricing_Service'_does_not_exist_in_the_pact-broker"></a>
|
421
|
-
Given **the 'Pricing Service' does not exist in the pact-broker**, upon receiving **a request to register the repository URL of a pacticipant** from Pact Broker Client, with
|
422
|
-
```json
|
423
|
-
{
|
424
|
-
"method": "patch",
|
425
|
-
"path": "/pacticipants/Pricing%20Service",
|
426
|
-
"headers": {
|
427
|
-
"Content-Type": "application/json"
|
428
|
-
},
|
429
|
-
"body": {
|
430
|
-
"repository_url": "git@git.realestate.com.au:business-systems/pricing-service"
|
431
|
-
}
|
432
|
-
}
|
433
|
-
```
|
434
|
-
Pact Broker will respond with:
|
435
|
-
```json
|
436
|
-
{
|
437
|
-
"status": 201
|
438
|
-
}
|
439
|
-
```
|
440
|
-
<a name="a_request_to_retrieve_the_latest_pact_between_Condor_and_the_Pricing_Service_given_a_pact_between_Condor_and_the_Pricing_Service_exists"></a>
|
441
|
-
Given **a pact between Condor and the Pricing Service exists**, upon receiving **a request to retrieve the latest pact between Condor and the Pricing Service** from Pact Broker Client, with
|
442
|
-
```json
|
443
|
-
{
|
444
|
-
"method": "get",
|
445
|
-
"path": "/pact/provider/Pricing%20Service/consumer/Condor/latest"
|
446
|
-
}
|
447
|
-
```
|
448
|
-
Pact Broker will respond with:
|
449
|
-
```json
|
450
|
-
{
|
451
|
-
"status": 200,
|
452
|
-
"headers": {
|
453
|
-
"Content-Type": "application/json",
|
454
|
-
"X-Pact-Consumer-Version": "1.3.0"
|
455
|
-
},
|
456
|
-
"body": {
|
457
|
-
"consumer": {
|
458
|
-
"name": "Condor"
|
459
|
-
},
|
460
|
-
"provider": {
|
461
|
-
"name": "Pricing Service"
|
462
|
-
},
|
463
|
-
"interactions": [
|
464
|
-
|
465
|
-
]
|
466
|
-
}
|
467
|
-
}
|
468
|
-
```
|
469
|
-
<a name="a_request_to_retrieve_the_latest_pact_between_Condor_and_the_Pricing_Service_given_no_pact_between_Condor_and_the_Pricing_Service_exists"></a>
|
470
|
-
Given **no pact between Condor and the Pricing Service exists**, upon receiving **a request to retrieve the latest pact between Condor and the Pricing Service** from Pact Broker Client, with
|
471
|
-
```json
|
472
|
-
{
|
473
|
-
"method": "get",
|
474
|
-
"path": "/pact/provider/Pricing%20Service/consumer/Condor/latest"
|
475
|
-
}
|
476
|
-
```
|
477
|
-
Pact Broker will respond with:
|
478
|
-
```json
|
479
|
-
{
|
480
|
-
"status": 404
|
481
|
-
}
|
482
|
-
```
|
483
|
-
<a name="a_request_to_retrieve_the_pact_between_the_production_verison_of_Condor_and_the_Pricing_Service_given_a_pact_between_Condor_and_the_Pricing_Service_exists_for_the_production_version_of_Condor"></a>
|
484
|
-
Given **a pact between Condor and the Pricing Service exists for the production version of Condor**, upon receiving **a request to retrieve the pact between the production verison of Condor and the Pricing Service** from Pact Broker Client, with
|
485
|
-
```json
|
486
|
-
{
|
487
|
-
"method": "get",
|
488
|
-
"path": "/pact/provider/Pricing%20Service/consumer/Condor/latest/prod",
|
489
|
-
"headers": {
|
490
|
-
"Accept": "application/json"
|
491
|
-
}
|
492
|
-
}
|
493
|
-
```
|
494
|
-
Pact Broker will respond with:
|
495
|
-
```json
|
496
|
-
{
|
497
|
-
"status": 200,
|
498
|
-
"body": {
|
499
|
-
"consumer": {
|
500
|
-
"name": "Condor"
|
501
|
-
},
|
502
|
-
"provider": {
|
503
|
-
"name": "Pricing Service"
|
504
|
-
},
|
505
|
-
"interactions": [
|
506
|
-
|
507
|
-
]
|
508
|
-
}
|
509
|
-
}
|
510
|
-
```
|
511
|
-
<a name="a_request_to_tag_the_production_version_of_Condor_given_'Condor'_exists_in_the_pact-broker_with_version_1.3.0,_tagged_with_'prod'"></a>
|
512
|
-
Given **'Condor' exists in the pact-broker with version 1.3.0, tagged with 'prod'**, upon receiving **a request to tag the production version of Condor** from Pact Broker Client, with
|
513
|
-
```json
|
514
|
-
{
|
515
|
-
"method": "put",
|
516
|
-
"path": "/pacticipants/Condor/versions/1.3.0/tags/prod",
|
517
|
-
"headers": {
|
518
|
-
"Content-Type": "application/json"
|
519
|
-
}
|
520
|
-
}
|
521
|
-
```
|
522
|
-
Pact Broker will respond with:
|
523
|
-
```json
|
524
|
-
{
|
525
|
-
"status": 200,
|
526
|
-
"body": {
|
527
|
-
"_links": {
|
528
|
-
"self": {
|
529
|
-
"href": "http://localhost:1234/pacticipants/Condor/versions/1.3.0/tags/prod"
|
530
|
-
}
|
531
|
-
}
|
532
|
-
}
|
533
|
-
}
|
534
|
-
```
|
535
|
-
<a name="a_request_to_tag_the_production_version_of_Condor_given_'Condor'_does_not_exist_in_the_pact-broker"></a>
|
536
|
-
Given **'Condor' does not exist in the pact-broker**, upon receiving **a request to tag the production version of Condor** from Pact Broker Client, with
|
537
|
-
```json
|
538
|
-
{
|
539
|
-
"method": "put",
|
540
|
-
"path": "/pacticipants/Condor/versions/1.3.0/tags/prod",
|
541
|
-
"headers": {
|
542
|
-
"Content-Type": "application/json"
|
543
|
-
}
|
544
|
-
}
|
545
|
-
```
|
546
|
-
Pact Broker will respond with:
|
547
|
-
```json
|
548
|
-
{
|
549
|
-
"status": 201,
|
550
|
-
"body": {
|
551
|
-
"_links": {
|
552
|
-
"self": {
|
553
|
-
"href": "http://localhost:1234/pacticipants/Condor/versions/1.3.0/tags/prod"
|
554
|
-
}
|
555
|
-
}
|
556
|
-
}
|
557
|
-
}
|
558
|
-
```
|
559
|
-
<a name="a_request_to_tag_the_production_version_of_Condor_given_'Condor'_exists_in_the_pact-broker"></a>
|
560
|
-
Given **'Condor' exists in the pact-broker**, upon receiving **a request to tag the production version of Condor** from Pact Broker Client, with
|
561
|
-
```json
|
562
|
-
{
|
563
|
-
"method": "put",
|
564
|
-
"path": "/pacticipants/Condor/versions/1.3.0/tags/prod",
|
565
|
-
"headers": {
|
566
|
-
"Content-Type": "application/json"
|
567
|
-
}
|
568
|
-
}
|
569
|
-
```
|
570
|
-
Pact Broker will respond with:
|
571
|
-
```json
|
572
|
-
{
|
573
|
-
"status": 201,
|
574
|
-
"body": {
|
575
|
-
"_links": {
|
576
|
-
"self": {
|
577
|
-
"href": "http://localhost:1234/pacticipants/Condor/versions/1.3.0/tags/prod"
|
578
|
-
}
|
579
|
-
}
|
580
|
-
}
|
581
|
-
}
|
582
|
-
```
|