pact_broker-client 1.40.0 → 1.45.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (97) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/test.yml +21 -0
  3. data/.gitignore +1 -0
  4. data/CHANGELOG.md +57 -0
  5. data/Gemfile +4 -0
  6. data/README.md +39 -22
  7. data/doc/pacts/markdown/Pact Broker Client - Pact Broker.md +79 -280
  8. data/lib/pact_broker/client/backports.rb +9 -0
  9. data/lib/pact_broker/client/base_command.rb +98 -0
  10. data/lib/pact_broker/client/can_i_deploy.rb +57 -5
  11. data/lib/pact_broker/client/cli/broker.rb +23 -76
  12. data/lib/pact_broker/client/cli/custom_thor.rb +12 -0
  13. data/lib/pact_broker/client/cli/deployment_commands.rb +94 -0
  14. data/lib/pact_broker/client/cli/environment_commands.rb +70 -0
  15. data/lib/pact_broker/client/cli/pacticipant_commands.rb +53 -0
  16. data/lib/pact_broker/client/cli/record_deployment_long_desc.txt +0 -55
  17. data/lib/pact_broker/client/cli/version_selector_options_parser.rb +4 -0
  18. data/lib/pact_broker/client/colorize_notices.rb +31 -0
  19. data/lib/pact_broker/client/deployments.rb +4 -0
  20. data/lib/pact_broker/client/deployments/record_deployment.rb +38 -0
  21. data/lib/pact_broker/client/deployments/record_release.rb +99 -0
  22. data/lib/pact_broker/client/deployments/record_support_ended.rb +103 -0
  23. data/lib/pact_broker/client/deployments/record_undeployment.rb +127 -0
  24. data/lib/pact_broker/client/describe_text_formatter.rb +23 -0
  25. data/lib/pact_broker/client/environments.rb +6 -0
  26. data/lib/pact_broker/client/environments/create_environment.rb +31 -0
  27. data/lib/pact_broker/client/environments/delete_environment.rb +27 -0
  28. data/lib/pact_broker/client/environments/describe_environment.rb +26 -0
  29. data/lib/pact_broker/client/environments/environment_command.rb +66 -0
  30. data/lib/pact_broker/client/environments/list_environments.rb +30 -0
  31. data/lib/pact_broker/client/environments/text_formatter.rb +30 -0
  32. data/lib/pact_broker/client/environments/update_environment.rb +31 -0
  33. data/lib/pact_broker/client/generate_display_name.rb +27 -0
  34. data/lib/pact_broker/client/hal/entity.rb +31 -6
  35. data/lib/pact_broker/client/hal/http_client.rb +8 -2
  36. data/lib/pact_broker/client/hal/link.rb +8 -0
  37. data/lib/pact_broker/client/hal_client_methods.rb +1 -3
  38. data/lib/pact_broker/client/matrix.rb +4 -0
  39. data/lib/pact_broker/client/matrix/abbreviate_version_number.rb +15 -0
  40. data/lib/pact_broker/client/matrix/resource.rb +26 -1
  41. data/lib/pact_broker/client/matrix/text_formatter.rb +28 -17
  42. data/lib/pact_broker/client/pacticipants.rb +6 -0
  43. data/lib/pact_broker/client/pacticipants/create.rb +24 -34
  44. data/lib/pact_broker/client/pacticipants/describe.rb +33 -0
  45. data/lib/pact_broker/client/pacticipants/list.rb +34 -0
  46. data/lib/pact_broker/client/pacticipants/text_formatter.rb +41 -0
  47. data/lib/pact_broker/client/publish_pacts.rb +6 -2
  48. data/lib/pact_broker/client/string_refinements.rb +56 -0
  49. data/lib/pact_broker/client/version.rb +1 -1
  50. data/lib/pact_broker/client/versions.rb +4 -1
  51. data/lib/pact_broker/client/versions/describe.rb +3 -1
  52. data/lib/pact_broker/client/versions/formatter.rb +3 -1
  53. data/lib/pact_broker/client/versions/json_formatter.rb +5 -3
  54. data/lib/pact_broker/client/versions/text_formatter.rb +3 -1
  55. data/pact-broker-client.gemspec +2 -0
  56. data/script/approve-all.sh +6 -0
  57. data/script/publish-pact.sh +12 -9
  58. data/script/record-deployments-and-releases.sh +18 -0
  59. data/spec/fixtures/approvals/can_i_deploy_failure_dry_run.approved.txt +7 -0
  60. data/spec/fixtures/approvals/can_i_deploy_ignore.approved.txt +13 -0
  61. data/spec/fixtures/approvals/can_i_deploy_success_dry_run.approved.txt +7 -0
  62. data/spec/fixtures/approvals/describe_environment.approved.txt +7 -0
  63. data/spec/fixtures/approvals/describe_pacticipant.approved.txt +2 -0
  64. data/spec/fixtures/approvals/list_environments.approved.txt +3 -0
  65. data/spec/integration/describe_environment_spec.rb +31 -0
  66. data/spec/lib/pact_broker/client/can_i_deploy_spec.rb +109 -7
  67. data/spec/lib/pact_broker/client/cli/broker_can_i_deploy_spec.rb +19 -6
  68. data/spec/lib/pact_broker/client/cli/broker_publish_spec.rb +1 -1
  69. data/spec/lib/pact_broker/client/cli/broker_run_webhook_commands_spec.rb +3 -3
  70. data/spec/lib/pact_broker/client/cli/version_selector_options_parser_spec.rb +21 -0
  71. data/spec/lib/pact_broker/client/deployments/record_deployment_spec.rb +204 -0
  72. data/spec/lib/pact_broker/client/deployments/record_support_ended_spec.rb +208 -0
  73. data/spec/lib/pact_broker/client/deployments/record_undeployment_spec.rb +219 -0
  74. data/spec/lib/pact_broker/client/environments/delete_environment_spec.rb +120 -0
  75. data/spec/lib/pact_broker/client/environments/describe_environment_spec.rb +89 -0
  76. data/spec/lib/pact_broker/client/environments/update_environment_spec.rb +167 -0
  77. data/spec/lib/pact_broker/client/generate_display_name_spec.rb +39 -0
  78. data/spec/lib/pact_broker/client/hal/entity_spec.rb +2 -2
  79. data/spec/lib/pact_broker/client/pacticipants/create_spec.rb +2 -2
  80. data/spec/pacts/pact_broker_client-pact_broker.json +88 -287
  81. data/spec/service_providers/create_environment_spec.rb +78 -0
  82. data/spec/service_providers/list_environments_spec.rb +77 -0
  83. data/spec/service_providers/pact_broker_client_matrix_ignore_spec.rb +98 -0
  84. data/spec/service_providers/pact_broker_client_register_repository_spec.rb +2 -2
  85. data/spec/service_providers/pacticipants_create_spec.rb +5 -4
  86. data/spec/service_providers/publish_pacts_spec.rb +5 -2
  87. data/spec/service_providers/record_deployment_spec.rb +17 -36
  88. data/spec/service_providers/record_release_spec.rb +132 -0
  89. data/spec/service_providers/record_undeployment_spec.rb +166 -0
  90. data/spec/spec_helper.rb +15 -2
  91. data/spec/support/approvals.rb +26 -0
  92. data/spec/support/shared_context.rb +8 -3
  93. data/tasks/pact.rake +21 -1
  94. metadata +104 -7
  95. data/lib/pact_broker/client/versions/record_deployment.rb +0 -109
  96. data/lib/pact_broker/client/versions/record_undeployment.rb +0 -102
  97. 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: 71ffd6b9522aa3c9ccb2bff18e3fa9b0a723aa480e312be3aa659ff3d7f07e32
4
- data.tar.gz: 4e6d7034e9bb8b1a85e64afda22fe1ee723842da63c5d67d5586c37b41a4c9a5
3
+ metadata.gz: 99a06a67fbe9da6f970649c5159443669ed9ce419911e6178594944467255dd0
4
+ data.tar.gz: c45dcfa2fd158febe01b9094e2125b4a1637c716da3a6d11d3bd13a8ce19867c
5
5
  SHA512:
6
- metadata.gz: 9139f502e90e33eb8f617aac7f49a3ca0ee92f149bc7b81849530956fb861b88425bd63a1fb9f0a7fdc0ff687112dee2c8b297832083146d88266fc5e7c8608a
7
- data.tar.gz: bff2cfc3be3e1032462afc67d34fcc1afbfdb42ceebd1c79abfe440f7f8f1f6c17e74a07b6cb9c6a0cc83df99d578cb0eb78afa99fab73871a4c23c7be24def9
6
+ metadata.gz: 6da2ec04fc73a54ae53bebc62ddb5ddfe1fe1db17b1f94d22a3e195edfb756ad6330e9a99ebfeb1a6f5d20be71c92df4c16c0a808a409623b9600fb59e2e6385
7
+ data.tar.gz: c714b39a69e0f96ffccabe9b6bc3097c0401a6c1931a0de89e57eae7c1e0c04ef5133e1c3d124df49b2dd294bdd90fe2415baeba365e1bf44fc40b45b4602164
@@ -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/.gitignore CHANGED
@@ -2,6 +2,7 @@
2
2
  *.rbc
3
3
  .bundle
4
4
  .config
5
+ .approvals
5
6
  coverage
6
7
  InstalledFiles
7
8
  lib/bundler/man
data/CHANGELOG.md CHANGED
@@ -1,3 +1,60 @@
1
+ <a name="v1.45.0"></a>
2
+ ### v1.45.0 (2021-06-16)
3
+
4
+ #### Features
5
+
6
+ * **can-i-deploy**
7
+ * allow dry-run to be enabled by setting ACT_BROKER_CAN_I_DEPLOY_DRY_RUN=true ([0562436](/../../commit/0562436))
8
+ * add --dry-run option ([9d90c79](/../../commit/9d90c79))
9
+
10
+ * add record-support-ended (feature toggled off) ([8f6b593](/../../commit/8f6b593))
11
+ * update record-undeployment (feature toggled off) ([0c0dd15](/../../commit/0c0dd15))
12
+ * update record-undeployment (feature toggled off) ([93046d5](/../../commit/93046d5))
13
+
14
+ <a name="v1.44.0"></a>
15
+ ### v1.44.0 (2021-06-09)
16
+
17
+ #### Features
18
+
19
+ * add record-undeployment (feature toggled off) ([951d334](/../../commit/951d334))
20
+ * add describe-environment command ([cd11ebb](/../../commit/cd11ebb))
21
+ * add record-release (feature toggled off) ([e32e4e5](/../../commit/e32e4e5))
22
+
23
+ #### Bug Fixes
24
+
25
+ * hardcode file requires Fixes: https://github.com/pact-foundation/pact_broker-client/issues/88 ([581f2fd](/../../commit/581f2fd))
26
+
27
+ <a name="v1.43.0"></a>
28
+ ### v1.43.0 (2021-06-03)
29
+
30
+ #### Features
31
+
32
+ * enable --ignore option for can-i-deploy without a feature toggle ([bcc9dfe](/../../commit/bcc9dfe))
33
+
34
+ <a name="v1.42.0"></a>
35
+ ### v1.42.0 (2021-05-31)
36
+
37
+ #### Features
38
+
39
+ * add list-pacticipants ([fc8ce3b](/../../commit/fc8ce3b))
40
+ * add --display-name to create-or-update-pacticipant ([76f323b](/../../commit/76f323b))
41
+ * add backtrace to error output when verbose is true ([abf1ef0](/../../commit/abf1ef0))
42
+ * add list-environments and describe-environment ([4472d48](/../../commit/4472d48))
43
+ * add delete-environment ([361eed1](/../../commit/361eed1))
44
+ * add update-environment command ([95276cd](/../../commit/95276cd))
45
+ * add create-environment command ([a9fab50](/../../commit/a9fab50))
46
+
47
+ #### Bug Fixes
48
+
49
+ * stop long values in columns from being truncated ([18063fd](/../../commit/18063fd))
50
+
51
+ <a name="v1.41.0"></a>
52
+ ### v1.41.0 (2021-05-25)
53
+
54
+ #### Features
55
+
56
+ * update colours of pact publish output ([2a51e37](/../../commit/2a51e37))
57
+
1
58
  <a name="v1.40.0"></a>
2
59
  ### v1.40.0 (2021-04-26)
3
60
 
data/Gemfile CHANGED
@@ -10,3 +10,7 @@ if ENV['X_PACT_DEVELOPMENT'] == 'true'
10
10
  gem 'pact-mock_service', path: '../pact-mock_service'
11
11
  gem 'pact-support', path: '../pact-support'
12
12
  end
13
+
14
+ group :development do
15
+ gem 'pry-byebug'
16
+ end
data/README.md CHANGED
@@ -78,28 +78,45 @@ Usage:
78
78
  pact-broker can-i-deploy -a, --pacticipant=PACTICIPANT -b, --broker-base-url=BROKER_BASE_URL
79
79
 
80
80
  Options:
81
- -a, --pacticipant=PACTICIPANT # The pacticipant name. Use once for each pacticipant being checked.
82
- -e, [--version=VERSION] # The pacticipant version. Must be entered after the --pacticipant that it relates to.
83
- -l, [--latest=[TAG]] # Use the latest pacticipant version. Optionally specify a TAG to use the latest version with the specified tag.
84
- [--to=TAG] # This is too hard to explain in a short sentence. Look at the examples.
85
- -b, --broker-base-url=BROKER_BASE_URL # The base URL of the Pact Broker
86
- -u, [--broker-username=BROKER_USERNAME] # Pact Broker basic auth username
87
- -p, [--broker-password=BROKER_PASSWORD] # Pact Broker basic auth password
88
- -k, [--broker-token=BROKER_TOKEN] # Pact Broker bearer token
89
- -o, [--output=OUTPUT] # json or table
90
- # Default: table
91
- -v, [--verbose], [--no-verbose] # Verbose output. Default: false
92
- [--retry-while-unknown=TIMES] # The number of times to retry while there is an unknown verification result (ie. the provider verification is likely still running)
93
- # Default: 0
94
- [--retry-interval=SECONDS] # The time between retries in seconds. Use in conjuction with --retry-while-unknown
95
- # Default: 10
96
-
97
- Description:
98
- Returns exit code 0 or 1, indicating whether or not the specified pacticipant versions are compatible. Prints out the relevant
99
- pact/verification details.
100
-
101
- The environment variables PACT_BROKER_BASE_URL, PACT_BROKER_BASE_URL_USERNAME and PACT_BROKER_BASE_URL_PASSWORD may be used
102
- instead of their respective command line options.
81
+ -a, --pacticipant=PACTICIPANT
82
+ # The pacticipant name. Use once for each pacticipant being checked.
83
+ -e, [--version=VERSION]
84
+ # The pacticipant version. Must be entered after the --pacticipant that it relates to.
85
+ [--ignore=IGNORE]
86
+ # The pacticipant name to ignore. Use once for each pacticipant being ignored.
87
+ A specific version can be ignored by also specifying a --version after the
88
+ pacticipant name option.
89
+ -l, [--latest=[TAG]]
90
+ # Use the latest pacticipant version. Optionally specify a TAG to use the
91
+ latest version with the specified tag.
92
+ [--to=TAG]
93
+ # This is too hard to explain in a short sentence. Look at the examples.
94
+ -o, [--output=OUTPUT]
95
+ # json or table
96
+
97
+ # Default: table
98
+ [--retry-while-unknown=TIMES]
99
+ # The number of times to retry while there is an unknown verification result
100
+ (ie. the provider verification is likely still running)
101
+
102
+ # Default: 0
103
+ [--retry-interval=SECONDS]
104
+ # The time between retries in seconds. Use in conjuction with --retry-while-unknown
105
+
106
+ # Default: 10
107
+ [--dry-run], [--no-dry-run]
108
+ # When enabled, always exits process with a success code. Can also be enabled by setting
109
+ the environment variable PACT_BROKER_CAN_I_DEPLOY_DRY_RUN=true.
110
+ -b, --broker-base-url=BROKER_BASE_URL
111
+ # The base URL of the Pact Broker
112
+ -u, [--broker-username=BROKER_USERNAME]
113
+ # Pact Broker basic auth username
114
+ -p, [--broker-password=BROKER_PASSWORD]
115
+ # Pact Broker basic auth password
116
+ -k, [--broker-token=BROKER_TOKEN]
117
+ # Pact Broker bearer token
118
+ -v, [--verbose], [--no-verbose]
119
+ # Verbose output. Default: false
103
120
  ```
104
121
 
105
122
  Returns exit code 0 or 1, indicating whether or not the specified application (pacticipant) versions are compatible (ie. safe to deploy). Prints out the relevant pact/verification details, indicating any missing or failed verification results.
@@ -2,12 +2,6 @@
2
2
 
3
3
  #### Requests from Pact Broker Client to Pact Broker
4
4
 
5
- * [A request for a pacticipant version](#a_request_for_a_pacticipant_version_given_version_5556b8149bf8bac76bc30f50a8a2dd4c22c85f30_of_pacticipant_Foo_exists_with_2_environments_that_aren&#39;t_test_available_for_deployment) given version 5556b8149bf8bac76bc30f50a8a2dd4c22c85f30 of pacticipant Foo exists with 2 environments that aren't test available for deployment
6
-
7
- * [A request for a pacticipant version](#a_request_for_a_pacticipant_version_given_version_5556b8149bf8bac76bc30f50a8a2dd4c22c85f30_of_pacticipant_Foo_exists_with_a_test_environment_available_for_deployment) given version 5556b8149bf8bac76bc30f50a8a2dd4c22c85f30 of pacticipant Foo exists with a test environment available for deployment
8
-
9
- * [A request for a pacticipant version](#a_request_for_a_pacticipant_version_given_version_5556b8149bf8bac76bc30f50a8a2dd4c22c85f30_of_pacticipant_Foo_does_not_exist) given version 5556b8149bf8bac76bc30f50a8a2dd4c22c85f30 of pacticipant Foo does not exist
10
-
11
5
  * [A request for the compatibility matrix for a pacticipant that does not exist](#a_request_for_the_compatibility_matrix_for_a_pacticipant_that_does_not_exist)
12
6
 
13
7
  * [A request for the compatibility matrix for all versions of Foo and Bar](#a_request_for_the_compatibility_matrix_for_all_versions_of_Foo_and_Bar_given_the_pact_for_Foo_version_1.2.3_and_1.2.4_has_been_verified_by_Bar_version_4.5.6) given the pact for Foo version 1.2.3 and 1.2.4 has been verified by Bar version 4.5.6
@@ -26,8 +20,6 @@
26
20
 
27
21
  * [A request for the compatibility matrix where only the version of Foo is specified](#a_request_for_the_compatibility_matrix_where_only_the_version_of_Foo_is_specified_given_the_pact_for_Foo_version_1.2.3_has_been_verified_by_Bar_version_4.5.6_and_version_5.6.7) given the pact for Foo version 1.2.3 has been verified by Bar version 4.5.6 and version 5.6.7
28
22
 
29
- * [A request for the environments](#a_request_for_the_environments_given_an_environment_with_name_test_exists) given an environment with name test exists
30
-
31
23
  * [A request for the index resource](#a_request_for_the_index_resource)
32
24
 
33
25
  * [A request for the index resource](#a_request_for_the_index_resource_given_the_pacticipant_relations_are_present) given the pacticipant relations are present
@@ -36,12 +28,8 @@
36
28
 
37
29
  * [A request for the index resource](#a_request_for_the_index_resource_given_the_pb:latest-version_relation_exists_in_the_index_resource) given the pb:latest-version relation exists in the index resource
38
30
 
39
- * [A request for the index resource](#a_request_for_the_index_resource_given_the_pb:pacticipant-version_and_pb:environments_relations_exist_in_the_index_resource) given the pb:pacticipant-version and pb:environments relations exist in the index resource
40
-
41
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
42
32
 
43
- * [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
44
-
45
33
  * [A request for the index resource with the webhook relation](#a_request_for_the_index_resource_with_the_webhook_relation)
46
34
 
47
35
  * [A request for the list of the latest pacts from all consumers for the Pricing Service'](#a_request_for_the_list_of_the_latest_pacts_from_all_consumers_for_the_Pricing_Service&#39;_given_a_latest_pact_between_Condor_and_the_Pricing_Service_exists) given a latest pact between Condor and the Pricing Service exists
@@ -76,6 +64,8 @@
76
64
 
77
65
  * [A request to create a webhook with every possible event type](#a_request_to_create_a_webhook_with_every_possible_event_type_given_the_&#39;Pricing_Service&#39;_and_&#39;Condor&#39;_already_exist_in_the_pact-broker) given the 'Pricing Service' and 'Condor' already exist in the pact-broker
78
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
+
79
69
  * [A request to get the Pricing Service](#a_request_to_get_the_Pricing_Service_given_the_&#39;Pricing_Service&#39;_already_exists_in_the_pact-broker) given the 'Pricing Service' already exists in the pact-broker
80
70
 
81
71
  * [A request to get the Pricing Service](#a_request_to_get_the_Pricing_Service_given_the_&#39;Pricing_Service&#39;_does_not_exist_in_the_pact-broker) given the 'Pricing Service' does not exist in the pact-broker
@@ -94,10 +84,6 @@
94
84
 
95
85
  * [A request to publish a pact with method put](#a_request_to_publish_a_pact_with_method_put_given_the_&#39;Pricing_Service&#39;_and_&#39;Condor&#39;_already_exist_in_the_pact-broker,_and_Condor_already_has_a_pact_published_for_version_1.3.0) given the 'Pricing Service' and 'Condor' already exist in the pact-broker, and Condor already has a pact published for version 1.3.0
96
86
 
97
- * [A request to publish contracts](#a_request_to_publish_contracts)
98
-
99
- * [A request to record a deployment](#a_request_to_record_a_deployment_given_version_5556b8149bf8bac76bc30f50a8a2dd4c22c85f30_of_pacticipant_Foo_exists_with_a_test_environment_available_for_deployment) given version 5556b8149bf8bac76bc30f50a8a2dd4c22c85f30 of pacticipant Foo exists with a test environment available for deployment
100
-
101
87
  * [A request to register the repository URL of a pacticipant](#a_request_to_register_the_repository_URL_of_a_pacticipant_given_the_&#39;Pricing_Service&#39;_already_exists_in_the_pact-broker) given the 'Pricing Service' already exists in the pact-broker
102
88
 
103
89
  * [A request to register the repository URL of a pacticipant](#a_request_to_register_the_repository_URL_of_a_pacticipant_given_the_&#39;Pricing_Service&#39;_does_not_exist_in_the_pact-broker) given the 'Pricing Service' does not exist in the pact-broker
@@ -130,87 +116,6 @@
130
116
 
131
117
  #### Interactions
132
118
 
133
- <a name="a_request_for_a_pacticipant_version_given_version_5556b8149bf8bac76bc30f50a8a2dd4c22c85f30_of_pacticipant_Foo_exists_with_2_environments_that_aren&#39;t_test_available_for_deployment"></a>
134
- Given **version 5556b8149bf8bac76bc30f50a8a2dd4c22c85f30 of pacticipant Foo exists with 2 environments that aren't test available for deployment**, upon receiving **a request for a pacticipant version** from Pact Broker Client, with
135
- ```json
136
- {
137
- "method": "GET",
138
- "path": "/HAL-REL-PLACEHOLDER-PB-PACTICIPANT-VERSION-Foo-5556b8149bf8bac76bc30f50a8a2dd4c22c85f30",
139
- "headers": {
140
- "Accept": "application/hal+json"
141
- }
142
- }
143
- ```
144
- Pact Broker will respond with:
145
- ```json
146
- {
147
- "status": 200,
148
- "headers": {
149
- "Content-Type": "application/hal+json;charset=utf-8"
150
- },
151
- "body": {
152
- "_links": {
153
- "pb:record-deployment": [
154
- {
155
- "name": "prod",
156
- "href": "href"
157
- },
158
- {
159
- "name": "dev",
160
- "href": "href"
161
- }
162
- ]
163
- }
164
- }
165
- }
166
- ```
167
- <a name="a_request_for_a_pacticipant_version_given_version_5556b8149bf8bac76bc30f50a8a2dd4c22c85f30_of_pacticipant_Foo_exists_with_a_test_environment_available_for_deployment"></a>
168
- Given **version 5556b8149bf8bac76bc30f50a8a2dd4c22c85f30 of pacticipant Foo exists with a test environment available for deployment**, upon receiving **a request for a pacticipant version** from Pact Broker Client, with
169
- ```json
170
- {
171
- "method": "GET",
172
- "path": "/HAL-REL-PLACEHOLDER-PB-PACTICIPANT-VERSION-Foo-5556b8149bf8bac76bc30f50a8a2dd4c22c85f30",
173
- "headers": {
174
- "Accept": "application/hal+json"
175
- }
176
- }
177
- ```
178
- Pact Broker will respond with:
179
- ```json
180
- {
181
- "status": 200,
182
- "headers": {
183
- "Content-Type": "application/hal+json;charset=utf-8"
184
- },
185
- "body": {
186
- "_links": {
187
- "pb:record-deployment": [
188
- {
189
- "name": "test",
190
- "href": "http://localhost:1234/HAL-REL-PLACEHOLDER-PB-RECORD-DEPLOYMENT-FOO-5556B8149BF8BAC76BC30F50A8A2DD4C22C85F30-TEST"
191
- }
192
- ]
193
- }
194
- }
195
- }
196
- ```
197
- <a name="a_request_for_a_pacticipant_version_given_version_5556b8149bf8bac76bc30f50a8a2dd4c22c85f30_of_pacticipant_Foo_does_not_exist"></a>
198
- Given **version 5556b8149bf8bac76bc30f50a8a2dd4c22c85f30 of pacticipant Foo does not exist**, upon receiving **a request for a pacticipant version** from Pact Broker Client, with
199
- ```json
200
- {
201
- "method": "GET",
202
- "path": "/HAL-REL-PLACEHOLDER-PB-PACTICIPANT-VERSION-Foo-5556b8149bf8bac76bc30f50a8a2dd4c22c85f30",
203
- "headers": {
204
- "Accept": "application/hal+json"
205
- }
206
- }
207
- ```
208
- Pact Broker will respond with:
209
- ```json
210
- {
211
- "status": 404
212
- }
213
- ```
214
119
  <a name="a_request_for_the_compatibility_matrix_for_a_pacticipant_that_does_not_exist"></a>
215
120
  Upon receiving **a request for the compatibility matrix for a pacticipant that does not exist** from Pact Broker Client, with
216
121
  ```json
@@ -632,36 +537,6 @@ Pact Broker will respond with:
632
537
  }
633
538
  }
634
539
  ```
635
- <a name="a_request_for_the_environments_given_an_environment_with_name_test_exists"></a>
636
- Given **an environment with name test exists**, upon receiving **a request for the environments** from Pact Broker Client, with
637
- ```json
638
- {
639
- "method": "GET",
640
- "path": "/HAL-REL-PLACEHOLDER-PB-ENVIRONMENTS",
641
- "headers": {
642
- "Accept": "application/hal+json"
643
- }
644
- }
645
- ```
646
- Pact Broker will respond with:
647
- ```json
648
- {
649
- "status": 200,
650
- "headers": {
651
- "Content-Type": "application/hal+json;charset=utf-8"
652
- },
653
- "body": {
654
- "_links": {
655
- "pb:environments": [
656
- {
657
- "name": "test",
658
- "href": "href"
659
- }
660
- ]
661
- }
662
- }
663
- }
664
- ```
665
540
  <a name="a_request_for_the_index_resource"></a>
666
541
  Upon receiving **a request for the index resource** from Pact Broker Client, with
667
542
  ```json
@@ -779,36 +654,6 @@ Pact Broker will respond with:
779
654
  }
780
655
  }
781
656
  ```
782
- <a name="a_request_for_the_index_resource_given_the_pb:pacticipant-version_and_pb:environments_relations_exist_in_the_index_resource"></a>
783
- Given **the pb:pacticipant-version and pb:environments relations exist in the index resource**, upon receiving **a request for the index resource** from Pact Broker Client, with
784
- ```json
785
- {
786
- "method": "GET",
787
- "path": "/",
788
- "headers": {
789
- "Accept": "application/hal+json"
790
- }
791
- }
792
- ```
793
- Pact Broker will respond with:
794
- ```json
795
- {
796
- "status": 200,
797
- "headers": {
798
- "Content-Type": "application/hal+json;charset=utf-8"
799
- },
800
- "body": {
801
- "_links": {
802
- "pb:pacticipant-version": {
803
- "href": "http://localhost:1234/HAL-REL-PLACEHOLDER-PB-PACTICIPANT-VERSION-{pacticipant}-{version}"
804
- },
805
- "pb:environments": {
806
- "href": "http://localhost:1234/HAL-REL-PLACEHOLDER-PB-ENVIRONMENTS"
807
- }
808
- }
809
- }
810
- }
811
- ```
812
657
  <a name="a_request_for_the_index_resource_given_the_pb:pacticipant-version_relation_exists_in_the_index_resource"></a>
813
658
  Given **the pb:pacticipant-version relation exists in the index resource**, upon receiving **a request for the index resource** from Pact Broker Client, with
814
659
  ```json
@@ -836,33 +681,6 @@ Pact Broker will respond with:
836
681
  }
837
682
  }
838
683
  ```
839
- <a name="a_request_for_the_index_resource_given_the_pb:publish-contracts_relations_exists_in_the_index_resource"></a>
840
- Given **the pb:publish-contracts relations exists in the index resource**, upon receiving **a request for the index resource** from Pact Broker Client, with
841
- ```json
842
- {
843
- "method": "GET",
844
- "path": "/",
845
- "headers": {
846
- "Accept": "application/hal+json"
847
- }
848
- }
849
- ```
850
- Pact Broker will respond with:
851
- ```json
852
- {
853
- "status": 200,
854
- "headers": {
855
- "Content-Type": "application/hal+json;charset=utf-8"
856
- },
857
- "body": {
858
- "_links": {
859
- "pb:publish-contracts": {
860
- "href": "http://localhost:1234/HAL-REL-PLACEHOLDER-PB-PUBLISH-CONTRACTS"
861
- }
862
- }
863
- }
864
- }
865
- ```
866
684
  <a name="a_request_for_the_index_resource_with_the_webhook_relation"></a>
867
685
  Upon receiving **a request for the index resource with the webhook relation** from Pact Broker Client, with
868
686
  ```json
@@ -1607,6 +1425,83 @@ Pact Broker will respond with:
1607
1425
  }
1608
1426
  }
1609
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
+ ```
1610
1505
  <a name="a_request_to_get_the_Pricing_Service_given_the_&#39;Pricing_Service&#39;_already_exists_in_the_pact-broker"></a>
1611
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
1612
1507
  ```json
@@ -1959,102 +1854,6 @@ Pact Broker will respond with:
1959
1854
  }
1960
1855
  }
1961
1856
  ```
1962
- <a name="a_request_to_publish_contracts"></a>
1963
- Upon receiving **a request to publish contracts** from Pact Broker Client, with
1964
- ```json
1965
- {
1966
- "method": "POST",
1967
- "path": "/HAL-REL-PLACEHOLDER-PB-PUBLISH-CONTRACTS",
1968
- "headers": {
1969
- "Content-Type": "application/json",
1970
- "Accept": "application/hal+json"
1971
- },
1972
- "body": {
1973
- "pacticipantName": "Foo",
1974
- "pacticipantVersionNumber": "5556b8149bf8bac76bc30f50a8a2dd4c22c85f30",
1975
- "branch": "main",
1976
- "tags": [
1977
- "dev"
1978
- ],
1979
- "buildUrl": "http://build",
1980
- "contracts": [
1981
- {
1982
- "consumerName": "Foo",
1983
- "providerName": "Bar",
1984
- "specification": "pact",
1985
- "contentType": "application/json",
1986
- "content": "eyJjb25zdW1lciI6eyJuYW1lIjoiRm9vIn0sInByb3ZpZGVyIjp7Im5hbWUiOiJCYXIifSwiaW50ZXJhY3Rpb25zIjpbeyJkZXNjcmlwdGlvbiI6ImFuIGV4YW1wbGUgcmVxdWVzdCIsInByb3ZpZGVyU3RhdGUiOiJhIHByb3ZpZGVyIHN0YXRlIiwicmVxdWVzdCI6eyJtZXRob2QiOiJHRVQiLCJwYXRoIjoiLyIsImhlYWRlcnMiOnt9fSwicmVzcG9uc2UiOnsic3RhdHVzIjoyMDAsImhlYWRlcnMiOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vaGFsK2pzb24ifX19XSwibWV0YWRhdGEiOnsicGFjdFNwZWNpZmljYXRpb24iOnsidmVyc2lvbiI6IjIuMC4wIn19fQ==",
1987
- "writeMode": "overwrite"
1988
- }
1989
- ]
1990
- }
1991
- }
1992
- ```
1993
- Pact Broker will respond with:
1994
- ```json
1995
- {
1996
- "status": 200,
1997
- "headers": {
1998
- "Content-Type": "application/hal+json;charset=utf-8"
1999
- },
2000
- "body": {
2001
- "_embedded": {
2002
- "pacticipant": {
2003
- "name": "Foo"
2004
- },
2005
- "version": {
2006
- "number": "5556b8149bf8bac76bc30f50a8a2dd4c22c85f30",
2007
- "buildUrl": "http://build"
2008
- }
2009
- },
2010
- "logs": [
2011
- {
2012
- "level": "info",
2013
- "message": "some message"
2014
- }
2015
- ],
2016
- "_links": {
2017
- "pb:pacticipant-version-tags": [
2018
- {
2019
- "name": "dev"
2020
- }
2021
- ],
2022
- "pb:contracts": [
2023
- {
2024
- "href": "http://some-pact"
2025
- }
2026
- ]
2027
- }
2028
- }
2029
- }
2030
- ```
2031
- <a name="a_request_to_record_a_deployment_given_version_5556b8149bf8bac76bc30f50a8a2dd4c22c85f30_of_pacticipant_Foo_exists_with_a_test_environment_available_for_deployment"></a>
2032
- Given **version 5556b8149bf8bac76bc30f50a8a2dd4c22c85f30 of pacticipant Foo exists with a test environment available for deployment**, upon receiving **a request to record a deployment** from Pact Broker Client, with
2033
- ```json
2034
- {
2035
- "method": "POST",
2036
- "path": "/HAL-REL-PLACEHOLDER-PB-RECORD-DEPLOYMENT-FOO-5556B8149BF8BAC76BC30F50A8A2DD4C22C85F30-TEST",
2037
- "headers": {
2038
- "Content-Type": "application/json",
2039
- "Accept": "application/hal+json"
2040
- },
2041
- "body": {
2042
- "replacedPreviousDeployedVersion": true
2043
- }
2044
- }
2045
- ```
2046
- Pact Broker will respond with:
2047
- ```json
2048
- {
2049
- "status": 201,
2050
- "headers": {
2051
- "Content-Type": "application/hal+json;charset=utf-8"
2052
- },
2053
- "body": {
2054
- "replacedPreviousDeployedVersion": true
2055
- }
2056
- }
2057
- ```
2058
1857
  <a name="a_request_to_register_the_repository_URL_of_a_pacticipant_given_the_&#39;Pricing_Service&#39;_already_exists_in_the_pact-broker"></a>
2059
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
2060
1859
  ```json