pact_broker-client 1.43.0 → 1.44.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/test.yml +21 -0
  3. data/CHANGELOG.md +13 -0
  4. data/doc/pacts/markdown/Pact Broker Client - Pact Broker.md +0 -281
  5. data/lib/pact_broker/client/cli/broker.rb +3 -55
  6. data/lib/pact_broker/client/cli/deployment_commands.rb +74 -0
  7. data/lib/pact_broker/client/cli/pacticipant_commands.rb +9 -0
  8. data/lib/pact_broker/client/deployments.rb +4 -0
  9. data/lib/pact_broker/client/deployments/record_deployment.rb +38 -0
  10. data/lib/pact_broker/client/deployments/record_release.rb +99 -0
  11. data/lib/pact_broker/client/deployments/record_undeployment.rb +120 -0
  12. data/lib/pact_broker/client/describe_text_formatter.rb +23 -0
  13. data/lib/pact_broker/client/environments.rb +6 -3
  14. data/lib/pact_broker/client/environments/describe_environment.rb +3 -13
  15. data/lib/pact_broker/client/hal/entity.rb +5 -2
  16. data/lib/pact_broker/client/hal/http_client.rb +3 -2
  17. data/lib/pact_broker/client/pacticipants.rb +3 -3
  18. data/lib/pact_broker/client/pacticipants/create.rb +1 -1
  19. data/lib/pact_broker/client/pacticipants/describe.rb +33 -0
  20. data/lib/pact_broker/client/version.rb +1 -1
  21. data/lib/pact_broker/client/versions.rb +4 -1
  22. data/lib/pact_broker/client/versions/describe.rb +3 -1
  23. data/lib/pact_broker/client/versions/formatter.rb +3 -1
  24. data/lib/pact_broker/client/versions/json_formatter.rb +5 -3
  25. data/lib/pact_broker/client/versions/text_formatter.rb +3 -1
  26. data/script/record-deployments-and-releases.sh +10 -0
  27. data/spec/fixtures/approvals/describe_pacticipant.approved.txt +2 -0
  28. data/spec/integration/describe_environment_spec.rb +31 -0
  29. data/spec/lib/pact_broker/client/deployments/record_deployment_spec.rb +204 -0
  30. data/spec/pacts/pact_broker_client-pact_broker.json +0 -288
  31. data/spec/service_providers/publish_pacts_spec.rb +3 -1
  32. data/spec/service_providers/record_deployment_spec.rb +7 -29
  33. data/spec/service_providers/record_release_spec.rb +135 -0
  34. data/spec/spec_helper.rb +13 -2
  35. data/tasks/pact.rake +19 -1
  36. metadata +18 -6
  37. data/lib/pact_broker/client/versions/record_deployment.rb +0 -85
  38. data/lib/pact_broker/client/versions/record_undeployment.rb +0 -102
  39. data/spec/lib/pact_broker/client/versions/record_deployment_spec.rb +0 -75
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 62d6345d206920c405cd04c6a3984ac2d3de6ebc687283eb22f3400f7e51e7fa
4
- data.tar.gz: 18e2425b5fb80db316beaf58977432316afe9a48cc508a619006c5e8a9ec59af
3
+ metadata.gz: b9a0a2b003221c85dee29fcab0f035344c961a676faaa63c9eb7a86837726471
4
+ data.tar.gz: 0356350e5894b59fde846079ed48dee78f494de755728f5c91a01a9f6df25594
5
5
  SHA512:
6
- metadata.gz: 6ec0cca0de9787d4493143c2a2d9f9512df1b800c978a274a58b0b14a9d8fd7fc6c87609d2c3dd7f6916273c6600b9ec11a98dc47b8ac614aa71843f97c48378
7
- data.tar.gz: f0c96d94f6bcd765ac5ac20bbc4950f64b205555461bdc2ca0a7fcfbe5d57e704eea430a3ddf1b11e2b499a76d828a2fdb552b8ce5a03d56bb3b852378690a32
6
+ metadata.gz: 14ebf92314a784825a3788d5fb9e717e6b545cc2273c863095a3a43a679b24491df1e8cc8b810e4aa8a77d42cd004bcb79e76beff954d386a54f39fc00692ad7
7
+ data.tar.gz: 965f255b44bc7b9ca1a1bbc85c28a692167b1b08ac1e16c92d0751c8171b7d805a224cbcba7337ecaaa42f3cf85adcc1b53158318c711bf9f3af53828e9ca939
@@ -21,3 +21,24 @@ jobs:
21
21
  ruby-version: ${{ matrix.ruby_version }}
22
22
  - run: "bundle install"
23
23
  - run: "bundle exec rake"
24
+ pact:
25
+ runs-on: "ubuntu-latest"
26
+ continue-on-error: true
27
+ strategy:
28
+ fail-fast: false
29
+ matrix:
30
+ feature: ["", "publish_contracts", "deployments"]
31
+ steps:
32
+ - uses: actions/checkout@v2
33
+ - uses: ruby/setup-ruby@v1
34
+ with:
35
+ ruby-version: "2.7"
36
+ - run: "bundle install"
37
+ - run: |
38
+ rm -rf spec/pacts/*
39
+ bundle exec rspec spec/service_providers/
40
+ bundle exec rake pact:publish:pactflow
41
+ env:
42
+ PACT_BROKER_TOKEN: ${{ secrets.PACTFLOW_PACT_OSS_TOKEN }}
43
+ PACT_BROKER_FEATURES: ${{ matrix.feature }}
44
+ TEST_FEATURE: ${{ matrix.feature }}
data/CHANGELOG.md CHANGED
@@ -1,3 +1,16 @@
1
+ <a name="v1.44.0"></a>
2
+ ### v1.44.0 (2021-06-09)
3
+
4
+ #### Features
5
+
6
+ * add record-undeployment (feature toggled off) ([951d334](/../../commit/951d334))
7
+ * add describe-environment command ([cd11ebb](/../../commit/cd11ebb))
8
+ * add record-release (feature toggled off) ([e32e4e5](/../../commit/e32e4e5))
9
+
10
+ #### Bug Fixes
11
+
12
+ * hardcode file requires Fixes: https://github.com/pact-foundation/pact_broker-client/issues/88 ([581f2fd](/../../commit/581f2fd))
13
+
1
14
  <a name="v1.43.0"></a>
2
15
  ### v1.43.0 (2021-06-03)
3
16
 
@@ -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
@@ -96,10 +84,6 @@
96
84
 
97
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
98
86
 
99
- * [A request to publish contracts](#a_request_to_publish_contracts)
100
-
101
- * [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
102
-
103
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
104
88
 
105
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
@@ -132,87 +116,6 @@
132
116
 
133
117
  #### Interactions
134
118
 
135
- <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>
136
- 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
137
- ```json
138
- {
139
- "method": "GET",
140
- "path": "/HAL-REL-PLACEHOLDER-PB-PACTICIPANT-VERSION-Foo-5556b8149bf8bac76bc30f50a8a2dd4c22c85f30",
141
- "headers": {
142
- "Accept": "application/hal+json"
143
- }
144
- }
145
- ```
146
- Pact Broker will respond with:
147
- ```json
148
- {
149
- "status": 200,
150
- "headers": {
151
- "Content-Type": "application/hal+json;charset=utf-8"
152
- },
153
- "body": {
154
- "_links": {
155
- "pb:record-deployment": [
156
- {
157
- "name": "prod",
158
- "href": "href"
159
- },
160
- {
161
- "name": "dev",
162
- "href": "href"
163
- }
164
- ]
165
- }
166
- }
167
- }
168
- ```
169
- <a name="a_request_for_a_pacticipant_version_given_version_5556b8149bf8bac76bc30f50a8a2dd4c22c85f30_of_pacticipant_Foo_exists_with_a_test_environment_available_for_deployment"></a>
170
- 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
171
- ```json
172
- {
173
- "method": "GET",
174
- "path": "/HAL-REL-PLACEHOLDER-PB-PACTICIPANT-VERSION-Foo-5556b8149bf8bac76bc30f50a8a2dd4c22c85f30",
175
- "headers": {
176
- "Accept": "application/hal+json"
177
- }
178
- }
179
- ```
180
- Pact Broker will respond with:
181
- ```json
182
- {
183
- "status": 200,
184
- "headers": {
185
- "Content-Type": "application/hal+json;charset=utf-8"
186
- },
187
- "body": {
188
- "_links": {
189
- "pb:record-deployment": [
190
- {
191
- "name": "test",
192
- "href": "http://localhost:1234/HAL-REL-PLACEHOLDER-PB-RECORD-DEPLOYMENT-FOO-5556B8149BF8BAC76BC30F50A8A2DD4C22C85F30-TEST"
193
- }
194
- ]
195
- }
196
- }
197
- }
198
- ```
199
- <a name="a_request_for_a_pacticipant_version_given_version_5556b8149bf8bac76bc30f50a8a2dd4c22c85f30_of_pacticipant_Foo_does_not_exist"></a>
200
- Given **version 5556b8149bf8bac76bc30f50a8a2dd4c22c85f30 of pacticipant Foo does not exist**, upon receiving **a request for a pacticipant version** from Pact Broker Client, with
201
- ```json
202
- {
203
- "method": "GET",
204
- "path": "/HAL-REL-PLACEHOLDER-PB-PACTICIPANT-VERSION-Foo-5556b8149bf8bac76bc30f50a8a2dd4c22c85f30",
205
- "headers": {
206
- "Accept": "application/hal+json"
207
- }
208
- }
209
- ```
210
- Pact Broker will respond with:
211
- ```json
212
- {
213
- "status": 404
214
- }
215
- ```
216
119
  <a name="a_request_for_the_compatibility_matrix_for_a_pacticipant_that_does_not_exist"></a>
217
120
  Upon receiving **a request for the compatibility matrix for a pacticipant that does not exist** from Pact Broker Client, with
218
121
  ```json
@@ -634,36 +537,6 @@ Pact Broker will respond with:
634
537
  }
635
538
  }
636
539
  ```
637
- <a name="a_request_for_the_environments_given_an_environment_with_name_test_exists"></a>
638
- Given **an environment with name test exists**, upon receiving **a request for the environments** from Pact Broker Client, with
639
- ```json
640
- {
641
- "method": "GET",
642
- "path": "/HAL-REL-PLACEHOLDER-PB-ENVIRONMENTS",
643
- "headers": {
644
- "Accept": "application/hal+json"
645
- }
646
- }
647
- ```
648
- Pact Broker will respond with:
649
- ```json
650
- {
651
- "status": 200,
652
- "headers": {
653
- "Content-Type": "application/hal+json;charset=utf-8"
654
- },
655
- "body": {
656
- "_links": {
657
- "pb:environments": [
658
- {
659
- "name": "test",
660
- "href": "href"
661
- }
662
- ]
663
- }
664
- }
665
- }
666
- ```
667
540
  <a name="a_request_for_the_index_resource"></a>
668
541
  Upon receiving **a request for the index resource** from Pact Broker Client, with
669
542
  ```json
@@ -781,36 +654,6 @@ Pact Broker will respond with:
781
654
  }
782
655
  }
783
656
  ```
784
- <a name="a_request_for_the_index_resource_given_the_pb:pacticipant-version_and_pb:environments_relations_exist_in_the_index_resource"></a>
785
- 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
786
- ```json
787
- {
788
- "method": "GET",
789
- "path": "/",
790
- "headers": {
791
- "Accept": "application/hal+json"
792
- }
793
- }
794
- ```
795
- Pact Broker will respond with:
796
- ```json
797
- {
798
- "status": 200,
799
- "headers": {
800
- "Content-Type": "application/hal+json;charset=utf-8"
801
- },
802
- "body": {
803
- "_links": {
804
- "pb:pacticipant-version": {
805
- "href": "http://localhost:1234/HAL-REL-PLACEHOLDER-PB-PACTICIPANT-VERSION-{pacticipant}-{version}"
806
- },
807
- "pb:environments": {
808
- "href": "http://localhost:1234/HAL-REL-PLACEHOLDER-PB-ENVIRONMENTS"
809
- }
810
- }
811
- }
812
- }
813
- ```
814
657
  <a name="a_request_for_the_index_resource_given_the_pb:pacticipant-version_relation_exists_in_the_index_resource"></a>
815
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
816
659
  ```json
@@ -838,33 +681,6 @@ Pact Broker will respond with:
838
681
  }
839
682
  }
840
683
  ```
841
- <a name="a_request_for_the_index_resource_given_the_pb:publish-contracts_relations_exists_in_the_index_resource"></a>
842
- Given **the pb:publish-contracts relations exists in the index resource**, upon receiving **a request for the index resource** from Pact Broker Client, with
843
- ```json
844
- {
845
- "method": "GET",
846
- "path": "/",
847
- "headers": {
848
- "Accept": "application/hal+json"
849
- }
850
- }
851
- ```
852
- Pact Broker will respond with:
853
- ```json
854
- {
855
- "status": 200,
856
- "headers": {
857
- "Content-Type": "application/hal+json;charset=utf-8"
858
- },
859
- "body": {
860
- "_links": {
861
- "pb:publish-contracts": {
862
- "href": "http://localhost:1234/HAL-REL-PLACEHOLDER-PB-PUBLISH-CONTRACTS"
863
- }
864
- }
865
- }
866
- }
867
- ```
868
684
  <a name="a_request_for_the_index_resource_with_the_webhook_relation"></a>
869
685
  Upon receiving **a request for the index resource with the webhook relation** from Pact Broker Client, with
870
686
  ```json
@@ -2038,103 +1854,6 @@ Pact Broker will respond with:
2038
1854
  }
2039
1855
  }
2040
1856
  ```
2041
- <a name="a_request_to_publish_contracts"></a>
2042
- Upon receiving **a request to publish contracts** from Pact Broker Client, with
2043
- ```json
2044
- {
2045
- "method": "POST",
2046
- "path": "/HAL-REL-PLACEHOLDER-PB-PUBLISH-CONTRACTS",
2047
- "headers": {
2048
- "Content-Type": "application/json",
2049
- "Accept": "application/hal+json"
2050
- },
2051
- "body": {
2052
- "pacticipantName": "Foo",
2053
- "pacticipantVersionNumber": "5556b8149bf8bac76bc30f50a8a2dd4c22c85f30",
2054
- "branch": "main",
2055
- "tags": [
2056
- "dev"
2057
- ],
2058
- "buildUrl": "http://build",
2059
- "contracts": [
2060
- {
2061
- "consumerName": "Foo",
2062
- "providerName": "Bar",
2063
- "specification": "pact",
2064
- "contentType": "application/json",
2065
- "content": "eyJjb25zdW1lciI6eyJuYW1lIjoiRm9vIn0sInByb3ZpZGVyIjp7Im5hbWUiOiJCYXIifSwiaW50ZXJhY3Rpb25zIjpbeyJkZXNjcmlwdGlvbiI6ImFuIGV4YW1wbGUgcmVxdWVzdCIsInByb3ZpZGVyU3RhdGUiOiJhIHByb3ZpZGVyIHN0YXRlIiwicmVxdWVzdCI6eyJtZXRob2QiOiJHRVQiLCJwYXRoIjoiLyIsImhlYWRlcnMiOnt9fSwicmVzcG9uc2UiOnsic3RhdHVzIjoyMDAsImhlYWRlcnMiOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vaGFsK2pzb24ifX19XSwibWV0YWRhdGEiOnsicGFjdFNwZWNpZmljYXRpb24iOnsidmVyc2lvbiI6IjIuMC4wIn19fQ==",
2066
- "writeMode": "overwrite",
2067
- "onConflict": "overwrite"
2068
- }
2069
- ]
2070
- }
2071
- }
2072
- ```
2073
- Pact Broker will respond with:
2074
- ```json
2075
- {
2076
- "status": 200,
2077
- "headers": {
2078
- "Content-Type": "application/hal+json;charset=utf-8"
2079
- },
2080
- "body": {
2081
- "_embedded": {
2082
- "pacticipant": {
2083
- "name": "Foo"
2084
- },
2085
- "version": {
2086
- "number": "5556b8149bf8bac76bc30f50a8a2dd4c22c85f30",
2087
- "buildUrl": "http://build"
2088
- }
2089
- },
2090
- "logs": [
2091
- {
2092
- "level": "info",
2093
- "message": "some message"
2094
- }
2095
- ],
2096
- "_links": {
2097
- "pb:pacticipant-version-tags": [
2098
- {
2099
- "name": "dev"
2100
- }
2101
- ],
2102
- "pb:contracts": [
2103
- {
2104
- "href": "http://some-pact"
2105
- }
2106
- ]
2107
- }
2108
- }
2109
- }
2110
- ```
2111
- <a name="a_request_to_record_a_deployment_given_version_5556b8149bf8bac76bc30f50a8a2dd4c22c85f30_of_pacticipant_Foo_exists_with_a_test_environment_available_for_deployment"></a>
2112
- 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
2113
- ```json
2114
- {
2115
- "method": "POST",
2116
- "path": "/HAL-REL-PLACEHOLDER-PB-RECORD-DEPLOYMENT-FOO-5556B8149BF8BAC76BC30F50A8A2DD4C22C85F30-TEST",
2117
- "headers": {
2118
- "Content-Type": "application/json",
2119
- "Accept": "application/hal+json"
2120
- },
2121
- "body": {
2122
- "target": "blue"
2123
- }
2124
- }
2125
- ```
2126
- Pact Broker will respond with:
2127
- ```json
2128
- {
2129
- "status": 201,
2130
- "headers": {
2131
- "Content-Type": "application/hal+json;charset=utf-8"
2132
- },
2133
- "body": {
2134
- "target": "blue"
2135
- }
2136
- }
2137
- ```
2138
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>
2139
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
2140
1859
  ```json
@@ -2,6 +2,7 @@ require 'pact_broker/client/cli/custom_thor'
2
2
  require 'pact_broker/client/hash_refinements'
3
3
  require 'thor/error'
4
4
  require 'pact_broker/client/cli/environment_commands'
5
+ require 'pact_broker/client/cli/deployment_commands'
5
6
  require 'pact_broker/client/cli/pacticipant_commands'
6
7
 
7
8
  module PactBroker
@@ -17,9 +18,11 @@ module PactBroker
17
18
  using PactBroker::Client::HashRefinements
18
19
  if ENV.fetch("PACT_BROKER_FEATURES", "").include?("deployments")
19
20
  include PactBroker::Client::CLI::EnvironmentCommands
21
+ include PactBroker::Client::CLI::DeploymentCommands
20
22
  end
21
23
  include PactBroker::Client::CLI::PacticipantCommands
22
24
 
25
+
23
26
  desc 'can-i-deploy', ''
24
27
  long_desc File.read(File.join(__dir__, 'can_i_deploy_long_desc.txt'))
25
28
 
@@ -170,61 +173,6 @@ module PactBroker
170
173
  exit(1) unless result.success
171
174
  end
172
175
 
173
- if ENV.fetch("PACT_BROKER_FEATURES", "").include?("deployments")
174
- ignored_and_hidden_potential_options_from_environment_variables
175
- desc "record-deployment", "Record deployment of a pacticipant version to an environment. See https://docs.pact.io/go/record_deployment for more information."
176
- method_option :pacticipant, required: true, aliases: "-a", desc: "The name of the pacticipant that was deployed."
177
- method_option :version, required: true, aliases: "-e", desc: "The pacticipant version number that was deployed."
178
- method_option :environment, required: true, desc: "The name of the environment that the pacticipant version was deployed to."
179
- method_option :target, default: nil, required: false, desc: "Optional. The target of the deployment - a logical identifer required to differentiate deployments when there are multiple instances of the same application in an environment."
180
- output_option_json_or_text
181
- shared_authentication_options
182
-
183
- def record_deployment
184
- require 'pact_broker/client/versions/record_deployment'
185
- params = {
186
- pacticipant_name: options.pacticipant,
187
- version_number: options.version,
188
- environment_name: options.environment,
189
- target: options.target,
190
- output: options.output
191
- }
192
- result = PactBroker::Client::Versions::RecordDeployment.call(
193
- params,
194
- options.broker_base_url,
195
- pact_broker_client_options
196
- )
197
- $stdout.puts result.message
198
- exit(1) unless result.success
199
- end
200
-
201
- ignored_and_hidden_potential_options_from_environment_variables
202
- desc "record-undeployment", "Record undeployment of (or the end of support for) a pacticipant version from an environment"
203
- method_option :pacticipant, required: true, aliases: "-a", desc: "The name of the pacticipant that was deployed."
204
- method_option :version, required: true, aliases: "-e", desc: "The pacticipant version number that was deployed."
205
- method_option :environment, required: true, desc: "The name of the environment that the pacticipant version was deployed to."
206
- output_option_json_or_text
207
- shared_authentication_options
208
-
209
- def record_undeployment
210
- require 'pact_broker/client/versions/record_undeployment'
211
- params = {
212
- pacticipant_name: options.pacticipant,
213
- version_number: options.version,
214
- environment_name: options.environment,
215
- output: options.output
216
- }
217
- result = PactBroker::Client::Versions::RecordUndeployment.call(
218
- params,
219
- options.broker_base_url,
220
- pact_broker_client_options
221
- )
222
- $stdout.puts result.message
223
- exit(1) unless result.success
224
- end
225
-
226
- end
227
-
228
176
  ignored_and_hidden_potential_options_from_environment_variables
229
177
  desc 'version', "Show the pact_broker-client gem version"
230
178
  def version