pact_broker-client 1.40.0 → 1.41.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.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/CHANGELOG.md +7 -0
- data/Gemfile +4 -0
- data/doc/pacts/markdown/Pact Broker Client - Pact Broker.md +2 -181
- data/lib/pact_broker/client/can_i_deploy.rb +20 -3
- data/lib/pact_broker/client/cli/broker.rb +13 -5
- data/lib/pact_broker/client/cli/record_deployment_long_desc.txt +0 -55
- data/lib/pact_broker/client/cli/version_selector_options_parser.rb +4 -0
- data/lib/pact_broker/client/colorize_notices.rb +31 -0
- data/lib/pact_broker/client/matrix.rb +4 -0
- data/lib/pact_broker/client/matrix/abbreviate_version_number.rb +15 -0
- data/lib/pact_broker/client/matrix/resource.rb +26 -1
- data/lib/pact_broker/client/matrix/text_formatter.rb +11 -8
- data/lib/pact_broker/client/publish_pacts.rb +6 -2
- data/lib/pact_broker/client/version.rb +1 -1
- data/lib/pact_broker/client/versions/record_deployment.rb +4 -4
- data/pact-broker-client.gemspec +1 -0
- data/script/approve-all.sh +6 -0
- data/script/publish-pact.sh +12 -9
- data/spec/fixtures/approvals/can_i_deploy_ignore.approved.txt +13 -0
- data/spec/lib/pact_broker/client/can_i_deploy_spec.rb +47 -5
- data/spec/lib/pact_broker/client/cli/broker_can_i_deploy_spec.rb +3 -3
- data/spec/lib/pact_broker/client/cli/version_selector_options_parser_spec.rb +21 -0
- data/spec/lib/pact_broker/client/versions/record_deployment_spec.rb +2 -2
- data/spec/pacts/pact_broker_client-pact_broker.json +2 -182
- data/spec/service_providers/pact_broker_client_matrix_ignore_spec.rb +98 -0
- data/spec/service_providers/publish_pacts_spec.rb +2 -1
- data/spec/service_providers/record_deployment_spec.rb +5 -6
- data/spec/spec_helper.rb +2 -1
- data/spec/support/approvals.rb +26 -0
- data/spec/support/shared_context.rb +6 -2
- metadata +32 -3
@@ -15,7 +15,7 @@ module PactBroker
|
|
15
15
|
stub_request(:get, broker_base_url).to_return(status: 200, body: index_body_hash.to_json, headers: { "Content-Type" => "application/hal+json" } )
|
16
16
|
end
|
17
17
|
|
18
|
-
let(:target) {
|
18
|
+
let(:target) { "blue" }
|
19
19
|
|
20
20
|
let(:params) do
|
21
21
|
{
|
@@ -53,7 +53,7 @@ module PactBroker
|
|
53
53
|
end
|
54
54
|
|
55
55
|
it "indicates the API was Pactflow" do
|
56
|
-
expect(subject.message).to include "Recorded deployment of Foo version 1 to test in Pactflow"
|
56
|
+
expect(subject.message).to include "Recorded deployment of Foo version 1 to test (target blue) in Pactflow"
|
57
57
|
end
|
58
58
|
end
|
59
59
|
|
@@ -1604,7 +1604,8 @@
|
|
1604
1604
|
"specification": "pact",
|
1605
1605
|
"contentType": "application/json",
|
1606
1606
|
"content": "eyJjb25zdW1lciI6eyJuYW1lIjoiRm9vIn0sInByb3ZpZGVyIjp7Im5hbWUiOiJCYXIifSwiaW50ZXJhY3Rpb25zIjpbeyJkZXNjcmlwdGlvbiI6ImFuIGV4YW1wbGUgcmVxdWVzdCIsInByb3ZpZGVyU3RhdGUiOiJhIHByb3ZpZGVyIHN0YXRlIiwicmVxdWVzdCI6eyJtZXRob2QiOiJHRVQiLCJwYXRoIjoiLyIsImhlYWRlcnMiOnt9fSwicmVzcG9uc2UiOnsic3RhdHVzIjoyMDAsImhlYWRlcnMiOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vaGFsK2pzb24ifX19XSwibWV0YWRhdGEiOnsicGFjdFNwZWNpZmljYXRpb24iOnsidmVyc2lvbiI6IjIuMC4wIn19fQ==",
|
1607
|
-
"writeMode": "overwrite"
|
1607
|
+
"writeMode": "overwrite",
|
1608
|
+
"onConflict": "overwrite"
|
1608
1609
|
}
|
1609
1610
|
]
|
1610
1611
|
}
|
@@ -1656,187 +1657,6 @@
|
|
1656
1657
|
}
|
1657
1658
|
}
|
1658
1659
|
},
|
1659
|
-
{
|
1660
|
-
"description": "a request for the index resource",
|
1661
|
-
"providerState": "the pb:pacticipant-version and pb:environments relations exist in the index resource",
|
1662
|
-
"request": {
|
1663
|
-
"method": "GET",
|
1664
|
-
"path": "/",
|
1665
|
-
"headers": {
|
1666
|
-
"Accept": "application/hal+json"
|
1667
|
-
}
|
1668
|
-
},
|
1669
|
-
"response": {
|
1670
|
-
"status": 200,
|
1671
|
-
"headers": {
|
1672
|
-
"Content-Type": "application/hal+json;charset=utf-8"
|
1673
|
-
},
|
1674
|
-
"body": {
|
1675
|
-
"_links": {
|
1676
|
-
"pb:pacticipant-version": {
|
1677
|
-
"href": "http://localhost:1234/HAL-REL-PLACEHOLDER-PB-PACTICIPANT-VERSION-{pacticipant}-{version}"
|
1678
|
-
},
|
1679
|
-
"pb:environments": {
|
1680
|
-
"href": "http://localhost:1234/HAL-REL-PLACEHOLDER-PB-ENVIRONMENTS"
|
1681
|
-
}
|
1682
|
-
}
|
1683
|
-
},
|
1684
|
-
"matchingRules": {
|
1685
|
-
"$.body._links.pb:pacticipant-version.href": {
|
1686
|
-
"match": "regex",
|
1687
|
-
"regex": "http:\\/\\/.*{pacticipant}.*{version}"
|
1688
|
-
},
|
1689
|
-
"$.body._links.pb:environments.href": {
|
1690
|
-
"match": "regex",
|
1691
|
-
"regex": "http:\\/\\/.*"
|
1692
|
-
}
|
1693
|
-
}
|
1694
|
-
}
|
1695
|
-
},
|
1696
|
-
{
|
1697
|
-
"description": "a request for a pacticipant version",
|
1698
|
-
"providerState": "version 5556b8149bf8bac76bc30f50a8a2dd4c22c85f30 of pacticipant Foo exists with a test environment available for deployment",
|
1699
|
-
"request": {
|
1700
|
-
"method": "GET",
|
1701
|
-
"path": "/HAL-REL-PLACEHOLDER-PB-PACTICIPANT-VERSION-Foo-5556b8149bf8bac76bc30f50a8a2dd4c22c85f30",
|
1702
|
-
"headers": {
|
1703
|
-
"Accept": "application/hal+json"
|
1704
|
-
}
|
1705
|
-
},
|
1706
|
-
"response": {
|
1707
|
-
"status": 200,
|
1708
|
-
"headers": {
|
1709
|
-
"Content-Type": "application/hal+json;charset=utf-8"
|
1710
|
-
},
|
1711
|
-
"body": {
|
1712
|
-
"_links": {
|
1713
|
-
"pb:record-deployment": [
|
1714
|
-
{
|
1715
|
-
"name": "test",
|
1716
|
-
"href": "http://localhost:1234/HAL-REL-PLACEHOLDER-PB-RECORD-DEPLOYMENT-FOO-5556B8149BF8BAC76BC30F50A8A2DD4C22C85F30-TEST"
|
1717
|
-
}
|
1718
|
-
]
|
1719
|
-
}
|
1720
|
-
},
|
1721
|
-
"matchingRules": {
|
1722
|
-
"$.body._links.pb:record-deployment[0].href": {
|
1723
|
-
"match": "regex",
|
1724
|
-
"regex": "http:\\/\\/.*"
|
1725
|
-
}
|
1726
|
-
}
|
1727
|
-
}
|
1728
|
-
},
|
1729
|
-
{
|
1730
|
-
"description": "a request to record a deployment",
|
1731
|
-
"providerState": "version 5556b8149bf8bac76bc30f50a8a2dd4c22c85f30 of pacticipant Foo exists with a test environment available for deployment",
|
1732
|
-
"request": {
|
1733
|
-
"method": "POST",
|
1734
|
-
"path": "/HAL-REL-PLACEHOLDER-PB-RECORD-DEPLOYMENT-FOO-5556B8149BF8BAC76BC30F50A8A2DD4C22C85F30-TEST",
|
1735
|
-
"headers": {
|
1736
|
-
"Content-Type": "application/json",
|
1737
|
-
"Accept": "application/hal+json"
|
1738
|
-
},
|
1739
|
-
"body": {
|
1740
|
-
"replacedPreviousDeployedVersion": true
|
1741
|
-
}
|
1742
|
-
},
|
1743
|
-
"response": {
|
1744
|
-
"status": 201,
|
1745
|
-
"headers": {
|
1746
|
-
"Content-Type": "application/hal+json;charset=utf-8"
|
1747
|
-
},
|
1748
|
-
"body": {
|
1749
|
-
"replacedPreviousDeployedVersion": true
|
1750
|
-
}
|
1751
|
-
}
|
1752
|
-
},
|
1753
|
-
{
|
1754
|
-
"description": "a request for a pacticipant version",
|
1755
|
-
"providerState": "version 5556b8149bf8bac76bc30f50a8a2dd4c22c85f30 of pacticipant Foo does not exist",
|
1756
|
-
"request": {
|
1757
|
-
"method": "GET",
|
1758
|
-
"path": "/HAL-REL-PLACEHOLDER-PB-PACTICIPANT-VERSION-Foo-5556b8149bf8bac76bc30f50a8a2dd4c22c85f30",
|
1759
|
-
"headers": {
|
1760
|
-
"Accept": "application/hal+json"
|
1761
|
-
}
|
1762
|
-
},
|
1763
|
-
"response": {
|
1764
|
-
"status": 404,
|
1765
|
-
"headers": {
|
1766
|
-
}
|
1767
|
-
}
|
1768
|
-
},
|
1769
|
-
{
|
1770
|
-
"description": "a request for a pacticipant version",
|
1771
|
-
"providerState": "version 5556b8149bf8bac76bc30f50a8a2dd4c22c85f30 of pacticipant Foo exists with 2 environments that aren't test available for deployment",
|
1772
|
-
"request": {
|
1773
|
-
"method": "GET",
|
1774
|
-
"path": "/HAL-REL-PLACEHOLDER-PB-PACTICIPANT-VERSION-Foo-5556b8149bf8bac76bc30f50a8a2dd4c22c85f30",
|
1775
|
-
"headers": {
|
1776
|
-
"Accept": "application/hal+json"
|
1777
|
-
}
|
1778
|
-
},
|
1779
|
-
"response": {
|
1780
|
-
"status": 200,
|
1781
|
-
"headers": {
|
1782
|
-
"Content-Type": "application/hal+json;charset=utf-8"
|
1783
|
-
},
|
1784
|
-
"body": {
|
1785
|
-
"_links": {
|
1786
|
-
"pb:record-deployment": [
|
1787
|
-
{
|
1788
|
-
"name": "prod",
|
1789
|
-
"href": "href"
|
1790
|
-
},
|
1791
|
-
{
|
1792
|
-
"name": "dev",
|
1793
|
-
"href": "href"
|
1794
|
-
}
|
1795
|
-
]
|
1796
|
-
}
|
1797
|
-
},
|
1798
|
-
"matchingRules": {
|
1799
|
-
"$.body._links.pb:record-deployment[0]": {
|
1800
|
-
"match": "type"
|
1801
|
-
},
|
1802
|
-
"$.body._links.pb:record-deployment[1]": {
|
1803
|
-
"match": "type"
|
1804
|
-
}
|
1805
|
-
}
|
1806
|
-
}
|
1807
|
-
},
|
1808
|
-
{
|
1809
|
-
"description": "a request for the environments",
|
1810
|
-
"providerState": "an environment with name test exists",
|
1811
|
-
"request": {
|
1812
|
-
"method": "GET",
|
1813
|
-
"path": "/HAL-REL-PLACEHOLDER-PB-ENVIRONMENTS",
|
1814
|
-
"headers": {
|
1815
|
-
"Accept": "application/hal+json"
|
1816
|
-
}
|
1817
|
-
},
|
1818
|
-
"response": {
|
1819
|
-
"status": 200,
|
1820
|
-
"headers": {
|
1821
|
-
"Content-Type": "application/hal+json;charset=utf-8"
|
1822
|
-
},
|
1823
|
-
"body": {
|
1824
|
-
"_links": {
|
1825
|
-
"pb:environments": [
|
1826
|
-
{
|
1827
|
-
"name": "test",
|
1828
|
-
"href": "href"
|
1829
|
-
}
|
1830
|
-
]
|
1831
|
-
}
|
1832
|
-
},
|
1833
|
-
"matchingRules": {
|
1834
|
-
"$.body._links.pb:environments[0].href": {
|
1835
|
-
"match": "type"
|
1836
|
-
}
|
1837
|
-
}
|
1838
|
-
}
|
1839
|
-
},
|
1840
1660
|
{
|
1841
1661
|
"description": "a request to create a webhook with a JSON body for a consumer and provider",
|
1842
1662
|
"providerState": "the 'Pricing Service' and 'Condor' already exist in the pact-broker",
|
@@ -0,0 +1,98 @@
|
|
1
|
+
require_relative 'pact_helper'
|
2
|
+
require 'pact_broker/client/can_i_deploy'
|
3
|
+
|
4
|
+
module PactBroker::Client
|
5
|
+
describe Matrix, :pact => true, skip: true do
|
6
|
+
|
7
|
+
include_context "pact broker"
|
8
|
+
|
9
|
+
describe "can-i-deploy ignoring a pacticipant version" do
|
10
|
+
let(:matrix_response_body) { matrix }
|
11
|
+
let(:matrix) do
|
12
|
+
{
|
13
|
+
"summary" => {
|
14
|
+
"deployable" => true,
|
15
|
+
"ignored" => 1
|
16
|
+
},
|
17
|
+
"notices" => Pact.each_like("text" => "some notice", "type" => "info"),
|
18
|
+
"matrix" => [
|
19
|
+
{
|
20
|
+
"consumer" => {
|
21
|
+
"name" => "Foo",
|
22
|
+
"version" => {
|
23
|
+
"number" => "1.2.3"
|
24
|
+
}
|
25
|
+
},
|
26
|
+
"provider" => {
|
27
|
+
"name" => "Bar",
|
28
|
+
"version" => {
|
29
|
+
"number" => "4.5.6"
|
30
|
+
}
|
31
|
+
},
|
32
|
+
"verificationResult" => {
|
33
|
+
"success" => true,
|
34
|
+
"_links" => {
|
35
|
+
"self" => {
|
36
|
+
"href" => Pact.like("http://result")
|
37
|
+
}
|
38
|
+
}
|
39
|
+
}
|
40
|
+
},{
|
41
|
+
"consumer" => {
|
42
|
+
"name" => "Foo",
|
43
|
+
"version" => {
|
44
|
+
"number" => "3.4.5"
|
45
|
+
}
|
46
|
+
},
|
47
|
+
"provider" => {
|
48
|
+
"name" => "Bar",
|
49
|
+
"version" => {
|
50
|
+
"number" => "4.5.6"
|
51
|
+
}
|
52
|
+
},
|
53
|
+
"verificationResult" => {
|
54
|
+
"success" => false,
|
55
|
+
"_links" => {
|
56
|
+
"self" => {
|
57
|
+
"href" => Pact.like("http://result")
|
58
|
+
}
|
59
|
+
}
|
60
|
+
},
|
61
|
+
"ignored" => true
|
62
|
+
}
|
63
|
+
]
|
64
|
+
}
|
65
|
+
|
66
|
+
end
|
67
|
+
let(:selectors) { [{ pacticipant: "Bar", version: "4.5.6" }, { pacticipant: "Foo", tag: "prod" } ] }
|
68
|
+
let(:matrix_options) do
|
69
|
+
{
|
70
|
+
ignore_selectors: [{ pacticipant: "Foo", version: "3.4.5" }]
|
71
|
+
}
|
72
|
+
end
|
73
|
+
let(:options) { { retry_while_unknown: 0, output: 'table' } }
|
74
|
+
|
75
|
+
before do
|
76
|
+
pact_broker
|
77
|
+
.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")
|
78
|
+
.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")
|
79
|
+
.with(
|
80
|
+
method: :get,
|
81
|
+
path: "/matrix",
|
82
|
+
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"
|
83
|
+
)
|
84
|
+
.will_respond_with(
|
85
|
+
status: 200,
|
86
|
+
headers: pact_broker_response_headers,
|
87
|
+
body: matrix_response_body
|
88
|
+
)
|
89
|
+
end
|
90
|
+
|
91
|
+
subject { PactBroker::Client::CanIDeploy.call(broker_base_url, selectors, matrix_options, options, {})}
|
92
|
+
|
93
|
+
it 'returns the CLI output' do
|
94
|
+
Approvals.verify(subject.message, :name => "can_i_deploy_ignore", format: :txt)
|
95
|
+
end
|
96
|
+
end
|
97
|
+
end
|
98
|
+
end
|
@@ -1,8 +1,7 @@
|
|
1
1
|
require 'service_providers/pact_helper'
|
2
2
|
require 'pact_broker/client/versions/record_deployment'
|
3
3
|
|
4
|
-
RSpec.describe "recording a deployment", pact: true do
|
5
|
-
|
4
|
+
RSpec.describe "recording a deployment", pact: true, skip: true do
|
6
5
|
include_context "pact broker"
|
7
6
|
include PactBrokerPactHelperMethods
|
8
7
|
|
@@ -10,7 +9,7 @@ RSpec.describe "recording a deployment", pact: true do
|
|
10
9
|
let(:version_number) { "5556b8149bf8bac76bc30f50a8a2dd4c22c85f30" }
|
11
10
|
let(:environment_name) { "test" }
|
12
11
|
let(:output) { "text" }
|
13
|
-
let(:target) {
|
12
|
+
let(:target) { "blue" }
|
14
13
|
let(:params) do
|
15
14
|
{
|
16
15
|
pacticipant_name: pacticipant_name,
|
@@ -148,14 +147,14 @@ RSpec.describe "recording a deployment", pact: true do
|
|
148
147
|
path: "/HAL-REL-PLACEHOLDER-PB-RECORD-DEPLOYMENT-FOO-5556B8149BF8BAC76BC30F50A8A2DD4C22C85F30-TEST",
|
149
148
|
headers: post_request_headers,
|
150
149
|
body: {
|
151
|
-
|
150
|
+
target: target
|
152
151
|
}
|
153
152
|
)
|
154
153
|
.will_respond_with(
|
155
154
|
status: 201,
|
156
155
|
headers: pact_broker_response_headers,
|
157
156
|
body: {
|
158
|
-
|
157
|
+
target: target
|
159
158
|
}
|
160
159
|
)
|
161
160
|
end
|
@@ -176,7 +175,7 @@ RSpec.describe "recording a deployment", pact: true do
|
|
176
175
|
let(:output) { "json" }
|
177
176
|
|
178
177
|
it "returns the JSON payload" do
|
179
|
-
expect(JSON.parse(subject.message)).to eq "
|
178
|
+
expect(JSON.parse(subject.message)).to eq "target" => target
|
180
179
|
end
|
181
180
|
end
|
182
181
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,10 +1,11 @@
|
|
1
1
|
require 'webmock/rspec'
|
2
2
|
|
3
|
-
ENV['PACT_BROKER_FEATURES'] = 'deployments publish_contracts'
|
3
|
+
ENV['PACT_BROKER_FEATURES'] = 'deployments publish_contracts ignore'
|
4
4
|
|
5
5
|
WebMock.disable_net_connect!(allow_localhost: true)
|
6
6
|
|
7
7
|
require "./spec/support/shared_context.rb"
|
8
|
+
require "./spec/support/approvals.rb"
|
8
9
|
|
9
10
|
is_windows = (RbConfig::CONFIG['host_os'] =~ /bccwin|cygwin|djgpp|mingw|mswin|wince/i) != nil
|
10
11
|
is_ci = ENV['CI'] == 'true'
|
@@ -0,0 +1,26 @@
|
|
1
|
+
require 'approvals/rspec'
|
2
|
+
require 'pact/support'
|
3
|
+
|
4
|
+
Approvals.configure do |c|
|
5
|
+
c.approvals_path = 'spec/fixtures/approvals/'
|
6
|
+
end
|
7
|
+
|
8
|
+
def print_diff(exception)
|
9
|
+
parts = exception.message.split('"')
|
10
|
+
received_file = parts[1]
|
11
|
+
approved_file = parts[3]
|
12
|
+
if File.exist?(received_file) && File.exist?(approved_file)
|
13
|
+
received_hash = JSON.parse(File.read(received_file))
|
14
|
+
approved_hash = JSON.parse(File.read(approved_file))
|
15
|
+
diff = Pact::Matchers.diff(approved_hash, received_hash)
|
16
|
+
puts Pact::Matchers::UnixDiffFormatter.call(diff)
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
RSpec.configure do | config |
|
21
|
+
config.after(:each) do | example |
|
22
|
+
if example.exception.is_a?(Approvals::ApprovalError)
|
23
|
+
print_diff(example.exception)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -1,6 +1,11 @@
|
|
1
1
|
require 'pact_broker/client/pact_hash'
|
2
|
-
|
2
|
+
require 'pact_broker/client/hal/http_client'
|
3
3
|
|
4
|
+
shared_context "pact broker" do
|
5
|
+
before do
|
6
|
+
allow_any_instance_of(PactBroker::Client::Hal::HttpClient).to receive(:sleep)
|
7
|
+
allow_any_instance_of(PactBroker::Client::Hal::HttpClient).to receive(:default_max_tries).and_return(1)
|
8
|
+
end
|
4
9
|
let(:pact_hash) { PactBroker::Client::PactHash[consumer: {name: 'Condor'}, provider: {name: 'Pricing Service'}, interactions: []] }
|
5
10
|
let(:consumer_contract) { Pact::ConsumerContract.from_hash pact_hash }
|
6
11
|
let(:pact_json) { pact_hash.to_json }
|
@@ -16,5 +21,4 @@ shared_context "pact broker" do
|
|
16
21
|
let(:put_request_headers) { { 'Content-Type' => 'application/json', 'Accept' => 'application/hal+json'} }
|
17
22
|
let(:post_request_headers) { { 'Content-Type' => 'application/json', 'Accept' => 'application/hal+json'} }
|
18
23
|
let(:get_request_headers) { { 'Accept' => 'application/hal+json'} }
|
19
|
-
|
20
24
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pact_broker-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.41.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-
|
11
|
+
date: 2021-05-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: httparty
|
@@ -170,6 +170,26 @@ dependencies:
|
|
170
170
|
- - "~>"
|
171
171
|
- !ruby/object:Gem::Version
|
172
172
|
version: '1.16'
|
173
|
+
- !ruby/object:Gem::Dependency
|
174
|
+
name: approvals
|
175
|
+
requirement: !ruby/object:Gem::Requirement
|
176
|
+
requirements:
|
177
|
+
- - ">="
|
178
|
+
- !ruby/object:Gem::Version
|
179
|
+
version: 0.0.24
|
180
|
+
- - "<"
|
181
|
+
- !ruby/object:Gem::Version
|
182
|
+
version: 1.0.0
|
183
|
+
type: :development
|
184
|
+
prerelease: false
|
185
|
+
version_requirements: !ruby/object:Gem::Requirement
|
186
|
+
requirements:
|
187
|
+
- - ">="
|
188
|
+
- !ruby/object:Gem::Version
|
189
|
+
version: 0.0.24
|
190
|
+
- - "<"
|
191
|
+
- !ruby/object:Gem::Version
|
192
|
+
version: 1.0.0
|
173
193
|
description: Client for the Pact Broker. Publish, retrieve and query pacts and verification
|
174
194
|
results.
|
175
195
|
email:
|
@@ -214,6 +234,7 @@ files:
|
|
214
234
|
- lib/pact_broker/client/cli/custom_thor.rb
|
215
235
|
- lib/pact_broker/client/cli/record_deployment_long_desc.txt
|
216
236
|
- lib/pact_broker/client/cli/version_selector_options_parser.rb
|
237
|
+
- lib/pact_broker/client/colorize_notices.rb
|
217
238
|
- lib/pact_broker/client/command_result.rb
|
218
239
|
- lib/pact_broker/client/create_tag.rb
|
219
240
|
- lib/pact_broker/client/error.rb
|
@@ -228,6 +249,7 @@ files:
|
|
228
249
|
- lib/pact_broker/client/hal_client_methods.rb
|
229
250
|
- lib/pact_broker/client/hash_refinements.rb
|
230
251
|
- lib/pact_broker/client/matrix.rb
|
252
|
+
- lib/pact_broker/client/matrix/abbreviate_version_number.rb
|
231
253
|
- lib/pact_broker/client/matrix/formatter.rb
|
232
254
|
- lib/pact_broker/client/matrix/json_formatter.rb
|
233
255
|
- lib/pact_broker/client/matrix/resource.rb
|
@@ -257,6 +279,7 @@ files:
|
|
257
279
|
- lib/pact_broker/client/webhooks/test.rb
|
258
280
|
- lib/pact_broker_client.rb
|
259
281
|
- pact-broker-client.gemspec
|
282
|
+
- script/approve-all.sh
|
260
283
|
- script/create-pacticipant.sh
|
261
284
|
- script/generate-cli-usage.sh
|
262
285
|
- script/publish-pact.sh
|
@@ -264,6 +287,7 @@ files:
|
|
264
287
|
- script/record-undeployment.sh
|
265
288
|
- script/release.sh
|
266
289
|
- script/trigger-release.sh
|
290
|
+
- spec/fixtures/approvals/can_i_deploy_ignore.approved.txt
|
267
291
|
- spec/fixtures/foo-bar.json
|
268
292
|
- spec/integration/can_i_deploy_spec.rb
|
269
293
|
- spec/integration/create_version_tag_spec.rb
|
@@ -299,6 +323,7 @@ files:
|
|
299
323
|
- spec/service_providers/extra_goodies_spec.rb
|
300
324
|
- spec/service_providers/list_latest_pact_versions_spec.rb.bak
|
301
325
|
- spec/service_providers/pact_broker_client_create_version_spec.rb
|
326
|
+
- spec/service_providers/pact_broker_client_matrix_ignore_spec.rb
|
302
327
|
- spec/service_providers/pact_broker_client_matrix_spec.rb
|
303
328
|
- spec/service_providers/pact_broker_client_pacticipant_version_spec.rb
|
304
329
|
- spec/service_providers/pact_broker_client_publish_spec.rb
|
@@ -313,6 +338,7 @@ files:
|
|
313
338
|
- spec/service_providers/record_deployment_spec.rb
|
314
339
|
- spec/service_providers/webhooks_create_spec.rb
|
315
340
|
- spec/spec_helper.rb
|
341
|
+
- spec/support/approvals.rb
|
316
342
|
- spec/support/cli_test_pacts/bar.json
|
317
343
|
- spec/support/cli_test_pacts/foo.json
|
318
344
|
- spec/support/latest_pacts_for_provider.json
|
@@ -344,11 +370,12 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
344
370
|
- !ruby/object:Gem::Version
|
345
371
|
version: '0'
|
346
372
|
requirements: []
|
347
|
-
rubygems_version: 3.2.
|
373
|
+
rubygems_version: 3.2.17
|
348
374
|
signing_key:
|
349
375
|
specification_version: 4
|
350
376
|
summary: See description
|
351
377
|
test_files:
|
378
|
+
- spec/fixtures/approvals/can_i_deploy_ignore.approved.txt
|
352
379
|
- spec/fixtures/foo-bar.json
|
353
380
|
- spec/integration/can_i_deploy_spec.rb
|
354
381
|
- spec/integration/create_version_tag_spec.rb
|
@@ -384,6 +411,7 @@ test_files:
|
|
384
411
|
- spec/service_providers/extra_goodies_spec.rb
|
385
412
|
- spec/service_providers/list_latest_pact_versions_spec.rb.bak
|
386
413
|
- spec/service_providers/pact_broker_client_create_version_spec.rb
|
414
|
+
- spec/service_providers/pact_broker_client_matrix_ignore_spec.rb
|
387
415
|
- spec/service_providers/pact_broker_client_matrix_spec.rb
|
388
416
|
- spec/service_providers/pact_broker_client_pacticipant_version_spec.rb
|
389
417
|
- spec/service_providers/pact_broker_client_publish_spec.rb
|
@@ -398,6 +426,7 @@ test_files:
|
|
398
426
|
- spec/service_providers/record_deployment_spec.rb
|
399
427
|
- spec/service_providers/webhooks_create_spec.rb
|
400
428
|
- spec/spec_helper.rb
|
429
|
+
- spec/support/approvals.rb
|
401
430
|
- spec/support/cli_test_pacts/bar.json
|
402
431
|
- spec/support/cli_test_pacts/foo.json
|
403
432
|
- spec/support/latest_pacts_for_provider.json
|