pact_broker-client 1.44.0 → 1.47.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (47) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/test.yml +15 -1
  3. data/CHANGELOG.md +36 -0
  4. data/README.md +54 -54
  5. data/doc/pacts/markdown/Pact Broker Client - Pact Broker.md +315 -1
  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/base_command.rb +3 -0
  9. data/lib/pact_broker/client/can_i_deploy.rb +40 -5
  10. data/lib/pact_broker/client/cli/broker.rb +7 -137
  11. data/lib/pact_broker/client/cli/custom_thor.rb +0 -16
  12. data/lib/pact_broker/client/cli/deployment_commands.rb +25 -5
  13. data/lib/pact_broker/client/cli/matrix_commands.rb +93 -0
  14. data/lib/pact_broker/client/cli/webhook_commands.rb +122 -0
  15. data/lib/pact_broker/client/deployments.rb +4 -4
  16. data/lib/pact_broker/client/deployments/record_support_ended.rb +103 -0
  17. data/lib/pact_broker/client/deployments/record_undeployment.rb +43 -36
  18. data/lib/pact_broker/client/hal/entity.rb +17 -2
  19. data/lib/pact_broker/client/matrix/resource.rb +4 -0
  20. data/lib/pact_broker/client/pacticipants/create.rb +1 -1
  21. data/lib/pact_broker/client/verification_required.rb +34 -0
  22. data/lib/pact_broker/client/version.rb +1 -1
  23. data/lib/pact_broker/client/webhooks/create.rb +14 -8
  24. data/script/record-deployment.sh +1 -1
  25. data/script/record-deployments-and-releases.sh +11 -5
  26. data/script/record-undeployment.sh +1 -1
  27. data/script/webhook-commands.sh +12 -0
  28. data/spec/fixtures/approvals/can_i_deploy_failure_dry_run.approved.txt +7 -0
  29. data/spec/fixtures/approvals/can_i_deploy_success_dry_run.approved.txt +7 -0
  30. data/spec/lib/pact_broker/client/can_i_deploy_spec.rb +62 -2
  31. data/spec/lib/pact_broker/client/cli/broker_can_i_deploy_spec.rb +15 -2
  32. data/spec/lib/pact_broker/client/cli/broker_run_webhook_commands_spec.rb +4 -2
  33. data/spec/lib/pact_broker/client/deployments/record_support_ended_spec.rb +208 -0
  34. data/spec/lib/pact_broker/client/deployments/record_undeployment_spec.rb +219 -0
  35. data/spec/pacts/pact_broker_client-pact_broker.json +317 -1
  36. data/spec/pacts/pact_broker_client-pactflow.json +118 -0
  37. data/spec/service_providers/pact_broker_client_register_repository_spec.rb +2 -2
  38. data/spec/service_providers/pact_helper.rb +15 -10
  39. data/spec/service_providers/pactflow_webhooks_create_spec.rb +86 -0
  40. data/spec/service_providers/record_deployment_spec.rb +1 -3
  41. data/spec/service_providers/record_release_spec.rb +2 -7
  42. data/spec/service_providers/record_undeployment_spec.rb +164 -0
  43. data/spec/service_providers/webhooks_create_spec.rb +1 -1
  44. data/spec/spec_helper.rb +1 -0
  45. data/spec/support/shared_context.rb +2 -1
  46. data/tasks/pact.rake +8 -6
  47. metadata +23 -3
@@ -134,7 +134,7 @@ RSpec.describe "creating a webhook", pact: true do
134
134
  context "when an invalid webhook is submitted" do
135
135
  before do
136
136
  params[:url] = nil
137
- request_body["request"]["url"] = nil
137
+ request_body["request"].delete("url")
138
138
 
139
139
  pact_broker
140
140
  .given("the 'Pricing Service' and 'Condor' already exist in the pact-broker")
data/spec/spec_helper.rb CHANGED
@@ -15,6 +15,7 @@ RSpec.configure do | config |
15
15
  ENV.delete('PACT_BROKER_BASE_URL')
16
16
  ENV.delete('PACT_BROKER_USERNAME')
17
17
  ENV.delete('PACT_BROKER_PASSWORD')
18
+ ENV.delete('PACT_BROKER_TOKEN')
18
19
  end
19
20
 
20
21
  config.after(:all) do
@@ -17,7 +17,8 @@ shared_context "pact broker" do
17
17
  let(:pact_broker_version) { Pact::Term.new(:matcher => /\d+\.\d+\.\d+/, :generate => '1.0.0') }
18
18
  let(:pact_broker_response_headers) { {'Content-Type' => 'application/hal+json;charset=utf-8'} }
19
19
  let(:default_request_headers) { { 'Content-Type' => 'application/json'} }
20
- let(:patch_request_headers) { { 'Content-Type' => 'application/json'} }
20
+ let(:old_patch_request_headers) { { 'Content-Type' => 'application/json'} }
21
+ let(:patch_request_headers) { { 'Content-Type' => 'application/merge-patch+json'} }
21
22
  let(:put_request_headers) { { 'Content-Type' => 'application/json', 'Accept' => 'application/hal+json'} }
22
23
  let(:post_request_headers) { { 'Content-Type' => 'application/json', 'Accept' => 'application/hal+json'} }
23
24
  let(:get_request_headers) { { 'Accept' => 'application/hal+json'} }
data/tasks/pact.rake CHANGED
@@ -18,17 +18,19 @@ PactBroker::Client::PublicationTask.new(:remote) do | task |
18
18
  end
19
19
 
20
20
  PactBroker::Client::PublicationTask.new(:pactflow) do | task |
21
- version = ENV['GITHUB_SHA']
22
- tags = ENV['GITHUB_REF'] ? [ENV['GITHUB_REF'].gsub("refs/heads/", "")] : []
21
+ version = ENV.fetch('GITHUB_SHA')
22
+ branch = ENV.fetch('GITHUB_REF').gsub("refs/heads/", "")
23
+ feature = ENV.fetch('TEST_FEATURE', '')
24
+ tag = branch
23
25
 
24
- if ENV.fetch('TEST_FEATURE', '') != ''
25
- version = "#{version}+#{ENV['TEST_FEATURE']}"
26
- tags = ENV['TEST_FEATURE']
26
+ if feature != ''
27
+ version = "#{version}+#{feature}"
28
+ tag = "#{tag}+#{feature}"
27
29
  end
28
30
 
29
31
  require 'pact_broker/client/version'
30
32
  task.auto_detect_version_properties = false
31
- task.tags = tags
33
+ task.tags = [tag]
32
34
  task.branch = nil
33
35
  task.consumer_version = version
34
36
  task.pact_broker_base_url = "https://pact-oss.pactflow.io"
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.44.0
4
+ version: 1.47.1
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-06-09 00:00:00.000000000 Z
11
+ date: 2021-07-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httparty
@@ -230,6 +230,7 @@ files:
230
230
  - doc/markdown/Pact Broker Client - Pact Broker.md
231
231
  - doc/markdown/README.md
232
232
  - doc/pacts/markdown/Pact Broker Client - Pact Broker.md
233
+ - doc/pacts/markdown/Pact Broker Client - Pactflow.md
233
234
  - doc/pacts/markdown/README.md
234
235
  - example/scripts/README.md
235
236
  - example/scripts/deploy-consumer.sh
@@ -249,15 +250,18 @@ files:
249
250
  - lib/pact_broker/client/cli/custom_thor.rb
250
251
  - lib/pact_broker/client/cli/deployment_commands.rb
251
252
  - lib/pact_broker/client/cli/environment_commands.rb
253
+ - lib/pact_broker/client/cli/matrix_commands.rb
252
254
  - lib/pact_broker/client/cli/pacticipant_commands.rb
253
255
  - lib/pact_broker/client/cli/record_deployment_long_desc.txt
254
256
  - lib/pact_broker/client/cli/version_selector_options_parser.rb
257
+ - lib/pact_broker/client/cli/webhook_commands.rb
255
258
  - lib/pact_broker/client/colorize_notices.rb
256
259
  - lib/pact_broker/client/command_result.rb
257
260
  - lib/pact_broker/client/create_tag.rb
258
261
  - lib/pact_broker/client/deployments.rb
259
262
  - lib/pact_broker/client/deployments/record_deployment.rb
260
263
  - lib/pact_broker/client/deployments/record_release.rb
264
+ - lib/pact_broker/client/deployments/record_support_ended.rb
261
265
  - lib/pact_broker/client/deployments/record_undeployment.rb
262
266
  - lib/pact_broker/client/describe_text_formatter.rb
263
267
  - lib/pact_broker/client/environments.rb
@@ -303,6 +307,7 @@ files:
303
307
  - lib/pact_broker/client/string_refinements.rb
304
308
  - lib/pact_broker/client/tasks.rb
305
309
  - lib/pact_broker/client/tasks/publication_task.rb
310
+ - lib/pact_broker/client/verification_required.rb
306
311
  - lib/pact_broker/client/version.rb
307
312
  - lib/pact_broker/client/versions.rb
308
313
  - lib/pact_broker/client/versions/describe.rb
@@ -322,7 +327,10 @@ files:
322
327
  - script/record-undeployment.sh
323
328
  - script/release.sh
324
329
  - script/trigger-release.sh
330
+ - script/webhook-commands.sh
331
+ - spec/fixtures/approvals/can_i_deploy_failure_dry_run.approved.txt
325
332
  - spec/fixtures/approvals/can_i_deploy_ignore.approved.txt
333
+ - spec/fixtures/approvals/can_i_deploy_success_dry_run.approved.txt
326
334
  - spec/fixtures/approvals/describe_environment.approved.txt
327
335
  - spec/fixtures/approvals/describe_pacticipant.approved.txt
328
336
  - spec/fixtures/approvals/list_environments.approved.txt
@@ -340,6 +348,8 @@ files:
340
348
  - spec/lib/pact_broker/client/cli/custom_thor_spec.rb
341
349
  - spec/lib/pact_broker/client/cli/version_selector_options_parser_spec.rb
342
350
  - spec/lib/pact_broker/client/deployments/record_deployment_spec.rb
351
+ - spec/lib/pact_broker/client/deployments/record_support_ended_spec.rb
352
+ - spec/lib/pact_broker/client/deployments/record_undeployment_spec.rb
343
353
  - spec/lib/pact_broker/client/environments/delete_environment_spec.rb
344
354
  - spec/lib/pact_broker/client/environments/describe_environment_spec.rb
345
355
  - spec/lib/pact_broker/client/environments/update_environment_spec.rb
@@ -363,6 +373,7 @@ files:
363
373
  - spec/lib/pact_broker/client/versions_spec.rb
364
374
  - spec/lib/pact_broker/client/webhooks/create_spec.rb
365
375
  - spec/pacts/pact_broker_client-pact_broker.json
376
+ - spec/pacts/pact_broker_client-pactflow.json
366
377
  - spec/service_providers/create_environment_spec.rb
367
378
  - spec/service_providers/extra_goodies_spec.rb
368
379
  - spec/service_providers/list_environments_spec.rb
@@ -378,10 +389,12 @@ files:
378
389
  - spec/service_providers/pact_broker_client_tags_spec.rb
379
390
  - spec/service_providers/pact_broker_client_versions_spec.rb
380
391
  - spec/service_providers/pact_helper.rb
392
+ - spec/service_providers/pactflow_webhooks_create_spec.rb
381
393
  - spec/service_providers/pacticipants_create_spec.rb
382
394
  - spec/service_providers/publish_pacts_spec.rb
383
395
  - spec/service_providers/record_deployment_spec.rb
384
396
  - spec/service_providers/record_release_spec.rb
397
+ - spec/service_providers/record_undeployment_spec.rb
385
398
  - spec/service_providers/webhooks_create_spec.rb
386
399
  - spec/spec_helper.rb
387
400
  - spec/support/approvals.rb
@@ -416,12 +429,14 @@ required_rubygems_version: !ruby/object:Gem::Requirement
416
429
  - !ruby/object:Gem::Version
417
430
  version: '0'
418
431
  requirements: []
419
- rubygems_version: 3.2.19
432
+ rubygems_version: 3.2.24
420
433
  signing_key:
421
434
  specification_version: 4
422
435
  summary: See description
423
436
  test_files:
437
+ - spec/fixtures/approvals/can_i_deploy_failure_dry_run.approved.txt
424
438
  - spec/fixtures/approvals/can_i_deploy_ignore.approved.txt
439
+ - spec/fixtures/approvals/can_i_deploy_success_dry_run.approved.txt
425
440
  - spec/fixtures/approvals/describe_environment.approved.txt
426
441
  - spec/fixtures/approvals/describe_pacticipant.approved.txt
427
442
  - spec/fixtures/approvals/list_environments.approved.txt
@@ -439,6 +454,8 @@ test_files:
439
454
  - spec/lib/pact_broker/client/cli/custom_thor_spec.rb
440
455
  - spec/lib/pact_broker/client/cli/version_selector_options_parser_spec.rb
441
456
  - spec/lib/pact_broker/client/deployments/record_deployment_spec.rb
457
+ - spec/lib/pact_broker/client/deployments/record_support_ended_spec.rb
458
+ - spec/lib/pact_broker/client/deployments/record_undeployment_spec.rb
442
459
  - spec/lib/pact_broker/client/environments/delete_environment_spec.rb
443
460
  - spec/lib/pact_broker/client/environments/describe_environment_spec.rb
444
461
  - spec/lib/pact_broker/client/environments/update_environment_spec.rb
@@ -462,6 +479,7 @@ test_files:
462
479
  - spec/lib/pact_broker/client/versions_spec.rb
463
480
  - spec/lib/pact_broker/client/webhooks/create_spec.rb
464
481
  - spec/pacts/pact_broker_client-pact_broker.json
482
+ - spec/pacts/pact_broker_client-pactflow.json
465
483
  - spec/service_providers/create_environment_spec.rb
466
484
  - spec/service_providers/extra_goodies_spec.rb
467
485
  - spec/service_providers/list_environments_spec.rb
@@ -477,10 +495,12 @@ test_files:
477
495
  - spec/service_providers/pact_broker_client_tags_spec.rb
478
496
  - spec/service_providers/pact_broker_client_versions_spec.rb
479
497
  - spec/service_providers/pact_helper.rb
498
+ - spec/service_providers/pactflow_webhooks_create_spec.rb
480
499
  - spec/service_providers/pacticipants_create_spec.rb
481
500
  - spec/service_providers/publish_pacts_spec.rb
482
501
  - spec/service_providers/record_deployment_spec.rb
483
502
  - spec/service_providers/record_release_spec.rb
503
+ - spec/service_providers/record_undeployment_spec.rb
484
504
  - spec/service_providers/webhooks_create_spec.rb
485
505
  - spec/spec_helper.rb
486
506
  - spec/support/approvals.rb