pact_broker-client 1.49.0 → 1.50.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,42 @@
1
+
2
+ require 'pact_broker/client/matrix/abbreviate_version_number'
3
+
4
+ module PactBroker
5
+ module Client
6
+ describe Matrix::AbbreviateVersionNumber do
7
+ describe '.call' do
8
+ subject(:result) { described_class.call(version) }
9
+
10
+ context 'when version is nil' do
11
+ let(:version) { nil }
12
+ it { is_expected.to be_nil }
13
+ end
14
+
15
+ context 'when version is git sha' do
16
+ let(:version) { '182f9c6e4d7a5779c4507cb8b3e505ac927d0394' }
17
+ it { is_expected.to eq('182f9c6...') }
18
+ end
19
+
20
+ context 'when version is too long' do
21
+ let(:version) { '182f9c6e4d7a5779c4507cb8b3e505ac927d0394' * 2 }
22
+ it { is_expected.to eq(version[0...60] + '...') }
23
+ end
24
+
25
+ context 'when the version is something unknown and fits max length' do
26
+ let(:version) { '123' }
27
+ it { is_expected.to eq('123') }
28
+ end
29
+
30
+ context 'when version is embedded into semantic version v1' do
31
+ let(:version) { 'v1.3.4+182f9c6e4d7a5779c4507cb8b3e505ac927d0394' }
32
+ it { is_expected.to eq('v1.3.4+182f9c6...') }
33
+ end
34
+
35
+ context 'when version is embedded into semantic version v2' do
36
+ let(:version) { '1.3.4(182f9c6e4d7a5779c4507cb8b3e505ac927d0394)' }
37
+ it { is_expected.to eq('1.3.4(182f9c6...)') }
38
+ end
39
+ end
40
+ end
41
+ end
42
+ end
@@ -238,7 +238,6 @@
238
238
  },
239
239
  "body": {
240
240
  "number": "26f353580936ad3b9baddb17b00e84f33c69e7cb",
241
- "branch": "main",
242
241
  "buildUrl": "http://my-ci/builds/1",
243
242
  "_links": {
244
243
  "self": {
@@ -276,7 +275,6 @@
276
275
  },
277
276
  "body": {
278
277
  "number": "26f353580936ad3b9baddb17b00e84f33c69e7cb",
279
- "branch": "main",
280
278
  "buildUrl": "http://my-ci/builds/1",
281
279
  "_links": {
282
280
  "self": {
@@ -0,0 +1,16 @@
1
+ require "pact_broker/client/cli/broker"
2
+
3
+ RSpec.describe "the README" do
4
+ NOT_DOCUMENTED = ["version"]
5
+ COMMANDS = PactBroker::Client::CLI::Broker
6
+ .commands
7
+ .values
8
+ .collect(&:usage).collect { | usage | usage.split(" ").first } - NOT_DOCUMENTED
9
+ README = File.read("README.md")
10
+
11
+ COMMANDS.each do | command |
12
+ it "includes the documentation for #{command}" do
13
+ expect(README.include?("\n#### " + command)).to be_truthy
14
+ end
15
+ end
16
+ end
@@ -60,7 +60,6 @@ describe PactBroker::Client::Versions, pact: true do
60
60
  headers: pact_broker_response_headers,
61
61
  body: {
62
62
  number: number,
63
- branch: branch,
64
63
  buildUrl: build_url,
65
64
  _links: {
66
65
  self: {
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.49.0
4
+ version: 1.50.0
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-08-05 00:00:00.000000000 Z
11
+ date: 2021-08-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httparty
@@ -227,8 +227,7 @@ files:
227
227
  - appveyor.yml
228
228
  - bin/pact-broker
229
229
  - ci.sh
230
- - doc/markdown/Pact Broker Client - Pact Broker.md
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,6 +375,7 @@ 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
@@ -429,7 +431,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
429
431
  - !ruby/object:Gem::Version
430
432
  version: '0'
431
433
  requirements: []
432
- rubygems_version: 3.2.25
434
+ rubygems_version: 3.2.26
433
435
  signing_key:
434
436
  specification_version: 4
435
437
  summary: See description
@@ -465,6 +467,7 @@ test_files:
465
467
  - spec/lib/pact_broker/client/hal/entity_spec.rb
466
468
  - spec/lib/pact_broker/client/hal/http_client_spec.rb
467
469
  - spec/lib/pact_broker/client/hal/link_spec.rb
470
+ - spec/lib/pact_broker/client/matrix/abbreviate_version_number_spec.rb
468
471
  - spec/lib/pact_broker/client/matrix/resource_spec.rb
469
472
  - spec/lib/pact_broker/client/matrix/text_formatter_spec.rb
470
473
  - spec/lib/pact_broker/client/matrix_spec.rb
@@ -480,6 +483,7 @@ test_files:
480
483
  - spec/lib/pact_broker/client/webhooks/create_spec.rb
481
484
  - spec/pacts/pact_broker_client-pact_broker.json
482
485
  - spec/pacts/pact_broker_client-pactflow.json
486
+ - spec/readme_spec.rb
483
487
  - spec/service_providers/create_environment_spec.rb
484
488
  - spec/service_providers/extra_goodies_spec.rb
485
489
  - spec/service_providers/list_environments_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
- ```