pact_broker-client 1.14.1 → 1.15.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 +21 -0
- data/README.md +27 -1
- data/Rakefile +9 -0
- data/doc/pacts/markdown/Pact Broker Client - Pact Broker.md +521 -10
- data/lib/pact_broker/client/base_client.rb +1 -1
- data/lib/pact_broker/client/cli/broker.rb +63 -0
- data/lib/pact_broker/client/cli/can_i_deploy_long_desc.txt +1 -1
- data/lib/pact_broker/client/cli/create_webhook_long_desc.txt +1 -0
- data/lib/pact_broker/client/command_result.rb +12 -0
- data/lib/pact_broker/client/hal.rb +4 -0
- data/lib/pact_broker/client/hal/entity.rb +78 -0
- data/lib/pact_broker/client/hal/entry_point.rb +13 -0
- data/lib/pact_broker/client/hal/http_client.rb +82 -0
- data/lib/pact_broker/client/hal/link.rb +79 -0
- data/lib/pact_broker/client/pacts.rb +7 -1
- data/lib/pact_broker/client/version.rb +1 -1
- data/lib/pact_broker/client/versions.rb +0 -1
- data/lib/pact_broker/client/webhooks/create.rb +114 -0
- data/spec/integration/can_i_deploy_spec.rb +1 -3
- data/spec/integration/create_version_tag_spec.rb +1 -3
- data/spec/lib/pact_broker/client/can_i_deploy_spec.rb +1 -1
- data/spec/lib/pact_broker/client/cli/broker_create_webhook_spec.rb +190 -0
- data/spec/lib/pact_broker/client/hal/entity_spec.rb +93 -0
- data/spec/lib/pact_broker/client/hal/http_client_spec.rb +105 -0
- data/spec/lib/pact_broker/client/hal/link_spec.rb +108 -0
- data/spec/lib/pact_broker/client/webhooks/create_spec.rb +61 -0
- data/spec/pacts/pact_broker_client-pact_broker.json +499 -9
- data/spec/service_providers/pact_broker_client_publish_spec.rb +6 -1
- data/spec/service_providers/pact_broker_client_retrieve_all_pacts_for_provider_spec.rb +1 -1
- data/spec/service_providers/{pact_broker_client_retrive_pact_spec.rb → pact_broker_client_retrieve_pact_spec.rb} +2 -3
- data/spec/service_providers/pact_broker_client_versions_spec.rb +1 -1
- data/spec/service_providers/pact_helper.rb +46 -0
- data/spec/service_providers/webhooks_create_spec.rb +255 -0
- data/spec/spec_helper.rb +32 -0
- data/spec/support/latest_pacts_for_provider.json +1 -1
- data/spec/support/shared_context.rb +6 -3
- metadata +24 -4
@@ -1,3 +1,6 @@
|
|
1
|
+
require 'pact_broker/client/pact_broker_client'
|
2
|
+
require_relative 'pact_helper'
|
3
|
+
|
1
4
|
module PactBroker::Client
|
2
5
|
describe PactBrokerClient, :pact => true do
|
3
6
|
|
@@ -116,7 +119,9 @@ module PactBroker::Client
|
|
116
119
|
status: 500,
|
117
120
|
headers: {'Content-Type' => Pact.term(generate: 'application/hal+json', matcher: %r{application/.*json})},
|
118
121
|
body: {
|
119
|
-
|
122
|
+
error: {
|
123
|
+
message: Pact::Term.new(matcher: /.*/, generate: 'An error occurred')
|
124
|
+
}
|
120
125
|
}
|
121
126
|
)
|
122
127
|
end
|
@@ -7,7 +7,7 @@ module PactBroker::Client
|
|
7
7
|
include_context "pact broker"
|
8
8
|
|
9
9
|
describe "retriving all pacts for provider" do
|
10
|
-
let(:response_body) { JSON.parse(File.read("./spec/support/latest_pacts_for_provider.json")) }
|
10
|
+
let(:response_body) { Pact.like(JSON.parse(File.read("./spec/support/latest_pacts_for_provider.json"))) }
|
11
11
|
let(:expectedPactsArray) { [{:name => "Condor", :href => "http://example.org/pacts/provider/Pricing%20Service/consumer/Condor/version/1.3.0"}] }
|
12
12
|
|
13
13
|
context "when retrieving all the latest pacts for provider with prod tag specified" do
|
@@ -70,8 +70,7 @@ module PactBroker::Client
|
|
70
70
|
headers: {}
|
71
71
|
).
|
72
72
|
will_respond_with(
|
73
|
-
status: 404
|
74
|
-
headers: pact_broker_response_headers
|
73
|
+
status: 404
|
75
74
|
)
|
76
75
|
end
|
77
76
|
it "returns nil" do
|
@@ -89,7 +88,7 @@ module PactBroker::Client
|
|
89
88
|
with(
|
90
89
|
method: :get,
|
91
90
|
path: '/pacts/provider/Pricing%20Service/consumer/Condor/latest/prod',
|
92
|
-
headers: { 'Accept' => 'application/json, application/
|
91
|
+
headers: { 'Accept' => 'application/hal+json, application/json'}
|
93
92
|
).
|
94
93
|
will_respond_with(
|
95
94
|
status: 200,
|
@@ -6,7 +6,7 @@ describe PactBroker::Client::Versions, pact: true do
|
|
6
6
|
|
7
7
|
include_context "pact broker"
|
8
8
|
|
9
|
-
let(:get_headers) { { "Accept" => "application/json, application/
|
9
|
+
let(:get_headers) { { "Accept" => "application/hal+json, application/json" } }
|
10
10
|
|
11
11
|
describe "retrieving the latest pacticipant version" do
|
12
12
|
let(:latest_version_path) { "/HAL-REL-PLACEHOLDER-INDEX-PB-LATEST-VERSION-{pacticipant}" }
|
@@ -18,3 +18,49 @@ Pact.service_consumer 'Pact Broker Client' do
|
|
18
18
|
|
19
19
|
end
|
20
20
|
|
21
|
+
module PactBrokerPactHelperMethods
|
22
|
+
|
23
|
+
def placeholder_path(relation, params = [])
|
24
|
+
path = "/HAL-REL-PLACEHOLDER-#{relation.gsub(':', '-').upcase}"
|
25
|
+
if params.any?
|
26
|
+
joined_params = params.collect{ |param| "{#{param}}"}.join("-")
|
27
|
+
path = "#{path}-#{joined_params}"
|
28
|
+
end
|
29
|
+
|
30
|
+
path
|
31
|
+
end
|
32
|
+
|
33
|
+
def placeholder_url(relation, params = [])
|
34
|
+
"#{pact_broker.mock_service_base_url}#{placeholder_path(relation, params)}"
|
35
|
+
end
|
36
|
+
|
37
|
+
def placeholder_url_term(relation, params = [])
|
38
|
+
regexp = "http:\/\/.*"
|
39
|
+
if params.any?
|
40
|
+
joined_params_for_regexp = params.collect{ |param| "{#{param}}"}.join(".*")
|
41
|
+
regexp = "#{regexp}#{joined_params_for_regexp}"
|
42
|
+
end
|
43
|
+
|
44
|
+
Pact.term(placeholder_url(relation, params), /#{regexp}/)
|
45
|
+
end
|
46
|
+
|
47
|
+
def mock_pact_broker_index(context)
|
48
|
+
pact_broker
|
49
|
+
.upon_receiving("a request for the index resource")
|
50
|
+
.with(
|
51
|
+
method: :get,
|
52
|
+
path: '/',
|
53
|
+
headers: context.get_request_headers).
|
54
|
+
will_respond_with(
|
55
|
+
status: 200,
|
56
|
+
headers: context.pact_broker_response_headers,
|
57
|
+
body: {
|
58
|
+
_links: {
|
59
|
+
:'pb:webhooks' => {
|
60
|
+
href: placeholder_url_term('pb:webhooks')
|
61
|
+
}
|
62
|
+
}
|
63
|
+
}
|
64
|
+
)
|
65
|
+
end
|
66
|
+
end
|
@@ -0,0 +1,255 @@
|
|
1
|
+
require_relative 'pact_helper'
|
2
|
+
require 'pact_broker/client/webhooks/create'
|
3
|
+
|
4
|
+
RSpec.describe "creating a webhook", pact: true do
|
5
|
+
|
6
|
+
include_context "pact broker"
|
7
|
+
include PactBrokerPactHelperMethods
|
8
|
+
|
9
|
+
let(:params) do
|
10
|
+
{
|
11
|
+
http_method: "POST",
|
12
|
+
url: "https://webhook",
|
13
|
+
headers: { "Foo" => "bar", "Bar" => "foo"},
|
14
|
+
username: "username",
|
15
|
+
password: "password",
|
16
|
+
body: body,
|
17
|
+
consumer: "Condor",
|
18
|
+
provider: "Pricing Service",
|
19
|
+
events: ["contract_content_changed"]
|
20
|
+
}.tap { |it| Pact::Fixture.add_fixture(:create_webhook_params, it) }
|
21
|
+
end
|
22
|
+
|
23
|
+
let(:body) { { some: "body" }.to_json }
|
24
|
+
|
25
|
+
let(:request_body) do
|
26
|
+
{
|
27
|
+
"events" => [
|
28
|
+
{
|
29
|
+
"name" => "contract_content_changed"
|
30
|
+
}
|
31
|
+
],
|
32
|
+
"request" => {
|
33
|
+
"url" => "https://webhook",
|
34
|
+
"method" => "POST",
|
35
|
+
"headers" => {
|
36
|
+
"Foo" => "bar",
|
37
|
+
"Bar" => "foo"
|
38
|
+
},
|
39
|
+
"body" => {
|
40
|
+
"some" => "body"
|
41
|
+
},
|
42
|
+
"username" => "username",
|
43
|
+
"password" => "password"
|
44
|
+
}
|
45
|
+
}
|
46
|
+
end
|
47
|
+
|
48
|
+
let(:success_response) do
|
49
|
+
{
|
50
|
+
status: 201,
|
51
|
+
headers: pact_broker_response_headers,
|
52
|
+
body: {
|
53
|
+
_links: {
|
54
|
+
self: {
|
55
|
+
href: Pact.term('http://localhost:1234/some-url', %r{http://.*}),
|
56
|
+
title: Pact.like("A title")
|
57
|
+
}
|
58
|
+
}
|
59
|
+
}
|
60
|
+
}
|
61
|
+
end
|
62
|
+
|
63
|
+
let(:pact_broker_client_options) { {} }
|
64
|
+
|
65
|
+
subject { PactBroker::Client::Webhooks::Create.call(params, broker_base_url, pact_broker_client_options) }
|
66
|
+
|
67
|
+
context "when a valid webhook with a JSON body is submitted" do
|
68
|
+
before do
|
69
|
+
pact_broker
|
70
|
+
.given("the 'Pricing Service' and 'Condor' already exist in the pact-broker")
|
71
|
+
.upon_receiving("a request to create a webhook with a JSON body for a consumer and provider")
|
72
|
+
.with(
|
73
|
+
method: :post,
|
74
|
+
path: '/webhooks/provider/Pricing%20Service/consumer/Condor',
|
75
|
+
headers: post_request_headers,
|
76
|
+
body: request_body)
|
77
|
+
.will_respond_with(success_response)
|
78
|
+
end
|
79
|
+
|
80
|
+
it "returns a CommandResult with success = true" do
|
81
|
+
expect(subject).to be_a PactBroker::Client::CommandResult
|
82
|
+
expect(subject.success).to be true
|
83
|
+
expect(subject.message).to eq "Webhook \"A title\" created"
|
84
|
+
end
|
85
|
+
end
|
86
|
+
|
87
|
+
context "when a valid webhook with an XML body is submitted" do
|
88
|
+
before do
|
89
|
+
request_body["request"]["body"] = body
|
90
|
+
|
91
|
+
pact_broker
|
92
|
+
.given("the 'Pricing Service' and 'Condor' already exist in the pact-broker")
|
93
|
+
.upon_receiving("a request to create a webhook with a non-JSON body for a consumer and provider")
|
94
|
+
.with(
|
95
|
+
method: :post,
|
96
|
+
path: '/webhooks/provider/Pricing%20Service/consumer/Condor',
|
97
|
+
headers: post_request_headers,
|
98
|
+
body: request_body)
|
99
|
+
.will_respond_with(success_response)
|
100
|
+
end
|
101
|
+
|
102
|
+
let(:body) { "<xml></xml>" }
|
103
|
+
|
104
|
+
it "returns a CommandResult with success = true" do
|
105
|
+
expect(subject.success).to be true
|
106
|
+
end
|
107
|
+
end
|
108
|
+
|
109
|
+
context "when an invalid webhook is submitted" do
|
110
|
+
before do
|
111
|
+
params[:url] = nil
|
112
|
+
request_body["request"]["url"] = nil
|
113
|
+
|
114
|
+
pact_broker
|
115
|
+
.given("the 'Pricing Service' and 'Condor' already exist in the pact-broker")
|
116
|
+
.upon_receiving("an invalid request to create a webhook for a consumer and provider")
|
117
|
+
.with(
|
118
|
+
method: :post,
|
119
|
+
path: '/webhooks/provider/Pricing%20Service/consumer/Condor',
|
120
|
+
headers: post_request_headers,
|
121
|
+
body: request_body).
|
122
|
+
will_respond_with(
|
123
|
+
status: 400,
|
124
|
+
headers: pact_broker_response_headers,
|
125
|
+
body: {
|
126
|
+
errors: {
|
127
|
+
"request.url" => Pact.each_like("Some error")
|
128
|
+
}
|
129
|
+
}
|
130
|
+
)
|
131
|
+
end
|
132
|
+
|
133
|
+
it "returns a CommandResult with success = false" do
|
134
|
+
expect(subject.success).to be false
|
135
|
+
expect(subject.message).to match /400/
|
136
|
+
expect(subject.message).to match /Some error/
|
137
|
+
end
|
138
|
+
end
|
139
|
+
|
140
|
+
context "when one of the pacticipants does not exist" do
|
141
|
+
before do
|
142
|
+
pact_broker
|
143
|
+
.given("'Condor' does not exist in the pact-broker")
|
144
|
+
.upon_receiving("a request to create a webhook for a consumer and provider")
|
145
|
+
.with(
|
146
|
+
method: :post,
|
147
|
+
path: '/webhooks/provider/Pricing%20Service/consumer/Condor',
|
148
|
+
headers: post_request_headers,
|
149
|
+
body: request_body).
|
150
|
+
will_respond_with(
|
151
|
+
status: 404,
|
152
|
+
headers: pact_broker_response_headers
|
153
|
+
)
|
154
|
+
end
|
155
|
+
|
156
|
+
it "returns a CommandResult with success = false" do
|
157
|
+
expect(subject.success).to be false
|
158
|
+
expect(subject.message).to match /404/
|
159
|
+
end
|
160
|
+
end
|
161
|
+
|
162
|
+
context "when only a consumer is specified" do
|
163
|
+
before do
|
164
|
+
params.delete(:provider)
|
165
|
+
request_body["consumer"] = { "name" => "Condor" }
|
166
|
+
mock_pact_broker_index(self)
|
167
|
+
|
168
|
+
pact_broker
|
169
|
+
.given("the 'Pricing Service' and 'Condor' already exist in the pact-broker")
|
170
|
+
.upon_receiving("a request to create a webhook with a JSON body for a consumer")
|
171
|
+
.with(
|
172
|
+
method: :post,
|
173
|
+
path: placeholder_path('pb:webhooks'),
|
174
|
+
headers: post_request_headers,
|
175
|
+
body: request_body)
|
176
|
+
.will_respond_with(success_response)
|
177
|
+
end
|
178
|
+
|
179
|
+
it "returns a CommandResult with success = true" do
|
180
|
+
expect(subject.success).to be true
|
181
|
+
expect(subject.message).to eq "Webhook \"A title\" created"
|
182
|
+
end
|
183
|
+
end
|
184
|
+
|
185
|
+
context "when only a consumer is specified and it does not exist" do
|
186
|
+
before do
|
187
|
+
params.delete(:provider)
|
188
|
+
request_body["consumer"] = { "name" => "Condor" }
|
189
|
+
mock_pact_broker_index(self)
|
190
|
+
|
191
|
+
pact_broker
|
192
|
+
.upon_receiving("a request to create a webhook with a JSON body for a consumer that does not exist")
|
193
|
+
.with(
|
194
|
+
method: :post,
|
195
|
+
path: placeholder_path('pb:webhooks'),
|
196
|
+
headers: post_request_headers,
|
197
|
+
body: request_body)
|
198
|
+
.will_respond_with(
|
199
|
+
status: 400,
|
200
|
+
headers: pact_broker_response_headers,
|
201
|
+
body: {
|
202
|
+
errors: {
|
203
|
+
"consumer.name" => Pact.each_like("Some error")
|
204
|
+
}
|
205
|
+
})
|
206
|
+
end
|
207
|
+
|
208
|
+
it "returns a CommandResult with success = true" do
|
209
|
+
expect(subject.success).to be false
|
210
|
+
end
|
211
|
+
end
|
212
|
+
|
213
|
+
context "when only a provider is specified" do
|
214
|
+
before do
|
215
|
+
params.delete(:consumer)
|
216
|
+
request_body["provider"] = { "name" => "Pricing Service" }
|
217
|
+
mock_pact_broker_index(self)
|
218
|
+
|
219
|
+
pact_broker
|
220
|
+
.given("the 'Pricing Service' and 'Condor' already exist in the pact-broker")
|
221
|
+
.upon_receiving("a request to create a webhook with a JSON body for a provider")
|
222
|
+
.with(
|
223
|
+
method: :post,
|
224
|
+
path: placeholder_path('pb:webhooks'),
|
225
|
+
headers: post_request_headers,
|
226
|
+
body: request_body)
|
227
|
+
.will_respond_with(success_response)
|
228
|
+
end
|
229
|
+
|
230
|
+
it "returns a CommandResult with success = true" do
|
231
|
+
expect(subject.success).to be true
|
232
|
+
end
|
233
|
+
end
|
234
|
+
|
235
|
+
context "when neither consumer nor provider are specified" do
|
236
|
+
before do
|
237
|
+
params.delete(:consumer)
|
238
|
+
params.delete(:provider)
|
239
|
+
mock_pact_broker_index(self)
|
240
|
+
|
241
|
+
pact_broker
|
242
|
+
.upon_receiving("a request to create a global webhook with a JSON body")
|
243
|
+
.with(
|
244
|
+
method: :post,
|
245
|
+
path: placeholder_path('pb:webhooks'),
|
246
|
+
headers: post_request_headers,
|
247
|
+
body: request_body)
|
248
|
+
.will_respond_with(success_response)
|
249
|
+
end
|
250
|
+
|
251
|
+
it "returns a CommandResult with success = true" do
|
252
|
+
expect(subject.success).to be true
|
253
|
+
end
|
254
|
+
end
|
255
|
+
end
|
data/spec/spec_helper.rb
CHANGED
@@ -4,10 +4,42 @@ WebMock.disable_net_connect!(allow_localhost: true)
|
|
4
4
|
|
5
5
|
require "./spec/support/shared_context.rb"
|
6
6
|
|
7
|
+
is_windows = (RbConfig::CONFIG['host_os'] =~ /bccwin|cygwin|djgpp|mingw|mswin|wince/i) != nil
|
8
|
+
|
7
9
|
RSpec.configure do | config |
|
8
10
|
|
9
11
|
config.before(:each) do
|
10
12
|
ENV.delete('PACT_BROKER_BASE_URL')
|
13
|
+
ENV.delete('PACT_BROKER_USERNAME')
|
14
|
+
ENV.delete('PACT_BROKER_PASSWORD')
|
15
|
+
end
|
16
|
+
|
17
|
+
config.after(:all) do
|
18
|
+
Pact::Fixture.check_fixtures
|
11
19
|
end
|
12
20
|
|
21
|
+
config.filter_run_excluding :skip_windows => is_windows
|
22
|
+
config.example_status_persistence_file_path = "./spec/examples.txt"
|
23
|
+
end
|
24
|
+
|
25
|
+
module Pact
|
26
|
+
module Fixture
|
27
|
+
|
28
|
+
def self.add_fixture key, value
|
29
|
+
fixtures[key] ||= []
|
30
|
+
fixtures[key] << value
|
31
|
+
end
|
32
|
+
|
33
|
+
def self.fixtures
|
34
|
+
@fixtures ||= {}
|
35
|
+
end
|
36
|
+
|
37
|
+
def self.check_fixtures
|
38
|
+
fixtures.each do | fixture_group |
|
39
|
+
if fixture_group.size > 1
|
40
|
+
#TODO compare fixtures to ensure they match
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
13
45
|
end
|
@@ -4,7 +4,7 @@
|
|
4
4
|
"href": "http://example.org/pacticipants/Pricing%20Service",
|
5
5
|
"title": "Pricing Service"
|
6
6
|
},
|
7
|
-
"pacts": [
|
7
|
+
"pb:pacts": [
|
8
8
|
{
|
9
9
|
"href": "http://example.org/pacts/provider/Pricing%20Service/consumer/Condor/version/1.3.0",
|
10
10
|
"title": "Pact between Condor (v1.3.0) and Pricing Service",
|
@@ -5,13 +5,16 @@ shared_context "pact broker" do
|
|
5
5
|
let(:consumer_contract) { Pact::ConsumerContract.from_hash pact_hash }
|
6
6
|
let(:pact_json) { pact_hash.to_json }
|
7
7
|
let(:pact_broker_client) { PactBroker::Client::PactBrokerClient.new(client_config) }
|
8
|
-
let(:
|
8
|
+
let(:broker_base_url) { 'http://localhost:1234' }
|
9
|
+
let(:client_config) { { base_url: broker_base_url } }
|
9
10
|
let(:consumer_version) { '1.3.0' }
|
10
11
|
let(:version) { '1.3.0' }
|
11
12
|
let(:pact_broker_version) { Pact::Term.new(:matcher => /\d+\.\d+\.\d+/, :generate => '1.0.0') }
|
12
|
-
let(:pact_broker_response_headers) { {} }
|
13
|
+
let(:pact_broker_response_headers) { {'Content-Type' => 'application/hal+json;charset=utf-8'} }
|
13
14
|
let(:default_request_headers) { { 'Content-Type' => 'application/json'} }
|
14
15
|
let(:patch_request_headers) { { 'Content-Type' => 'application/json'} }
|
15
|
-
let(:
|
16
|
+
let(:put_request_headers) { { 'Content-Type' => 'application/json', 'Accept' => 'application/hal+json'} }
|
17
|
+
let(:post_request_headers) { { 'Content-Type' => 'application/json', 'Accept' => 'application/hal+json'} }
|
18
|
+
let(:get_request_headers) { { 'Accept' => 'application/hal+json'} }
|
16
19
|
|
17
20
|
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.15.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: 2018-
|
11
|
+
date: 2018-06-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: httparty
|
@@ -185,11 +185,18 @@ files:
|
|
185
185
|
- lib/pact_broker/client/can_i_deploy.rb
|
186
186
|
- lib/pact_broker/client/cli/broker.rb
|
187
187
|
- lib/pact_broker/client/cli/can_i_deploy_long_desc.txt
|
188
|
+
- lib/pact_broker/client/cli/create_webhook_long_desc.txt
|
188
189
|
- lib/pact_broker/client/cli/custom_thor.rb
|
189
190
|
- lib/pact_broker/client/cli/version_selector_options_parser.rb
|
191
|
+
- lib/pact_broker/client/command_result.rb
|
190
192
|
- lib/pact_broker/client/create_tag.rb
|
191
193
|
- lib/pact_broker/client/error.rb
|
192
194
|
- lib/pact_broker/client/git.rb
|
195
|
+
- lib/pact_broker/client/hal.rb
|
196
|
+
- lib/pact_broker/client/hal/entity.rb
|
197
|
+
- lib/pact_broker/client/hal/entry_point.rb
|
198
|
+
- lib/pact_broker/client/hal/http_client.rb
|
199
|
+
- lib/pact_broker/client/hal/link.rb
|
193
200
|
- lib/pact_broker/client/matrix.rb
|
194
201
|
- lib/pact_broker/client/matrix/formatter.rb
|
195
202
|
- lib/pact_broker/client/matrix/json_formatter.rb
|
@@ -210,6 +217,7 @@ files:
|
|
210
217
|
- lib/pact_broker/client/versions/formatter.rb
|
211
218
|
- lib/pact_broker/client/versions/json_formatter.rb
|
212
219
|
- lib/pact_broker/client/versions/text_formatter.rb
|
220
|
+
- lib/pact_broker/client/webhooks/create.rb
|
213
221
|
- lib/pact_broker_client.rb
|
214
222
|
- pact-broker-client.gemspec
|
215
223
|
- script/generate-cli-usage.sh
|
@@ -220,9 +228,13 @@ files:
|
|
220
228
|
- spec/lib/pact_broker/client/base_client_spec.rb
|
221
229
|
- spec/lib/pact_broker/client/can_i_deploy_spec.rb
|
222
230
|
- spec/lib/pact_broker/client/cli/broker_can_i_deploy_spec.rb
|
231
|
+
- spec/lib/pact_broker/client/cli/broker_create_webhook_spec.rb
|
223
232
|
- spec/lib/pact_broker/client/cli/broker_publish_spec.rb
|
224
233
|
- spec/lib/pact_broker/client/cli/custom_thor_spec.rb
|
225
234
|
- spec/lib/pact_broker/client/cli/version_selector_options_parser_spec.rb
|
235
|
+
- spec/lib/pact_broker/client/hal/entity_spec.rb
|
236
|
+
- spec/lib/pact_broker/client/hal/http_client_spec.rb
|
237
|
+
- spec/lib/pact_broker/client/hal/link_spec.rb
|
226
238
|
- spec/lib/pact_broker/client/matrix/text_formatter_spec.rb
|
227
239
|
- spec/lib/pact_broker/client/matrix_spec.rb
|
228
240
|
- spec/lib/pact_broker/client/merge_pacts_spec.rb
|
@@ -232,6 +244,7 @@ files:
|
|
232
244
|
- spec/lib/pact_broker/client/tasks/publication_task_spec.rb
|
233
245
|
- spec/lib/pact_broker/client/versions/describe_spec.rb
|
234
246
|
- spec/lib/pact_broker/client/versions_spec.rb
|
247
|
+
- spec/lib/pact_broker/client/webhooks/create_spec.rb
|
235
248
|
- spec/pacts/pact_broker_client-pact_broker.json
|
236
249
|
- spec/service_providers/extra_goodies_spec.rb
|
237
250
|
- spec/service_providers/pact_broker_client_matrix_spec.rb
|
@@ -239,10 +252,11 @@ files:
|
|
239
252
|
- spec/service_providers/pact_broker_client_publish_spec.rb
|
240
253
|
- spec/service_providers/pact_broker_client_register_repository_spec.rb
|
241
254
|
- spec/service_providers/pact_broker_client_retrieve_all_pacts_for_provider_spec.rb
|
242
|
-
- spec/service_providers/
|
255
|
+
- spec/service_providers/pact_broker_client_retrieve_pact_spec.rb
|
243
256
|
- spec/service_providers/pact_broker_client_tags_spec.rb
|
244
257
|
- spec/service_providers/pact_broker_client_versions_spec.rb
|
245
258
|
- spec/service_providers/pact_helper.rb
|
259
|
+
- spec/service_providers/webhooks_create_spec.rb
|
246
260
|
- spec/spec_helper.rb
|
247
261
|
- spec/support/cli_test_pacts/bar.json
|
248
262
|
- spec/support/cli_test_pacts/foo.json
|
@@ -285,9 +299,13 @@ test_files:
|
|
285
299
|
- spec/lib/pact_broker/client/base_client_spec.rb
|
286
300
|
- spec/lib/pact_broker/client/can_i_deploy_spec.rb
|
287
301
|
- spec/lib/pact_broker/client/cli/broker_can_i_deploy_spec.rb
|
302
|
+
- spec/lib/pact_broker/client/cli/broker_create_webhook_spec.rb
|
288
303
|
- spec/lib/pact_broker/client/cli/broker_publish_spec.rb
|
289
304
|
- spec/lib/pact_broker/client/cli/custom_thor_spec.rb
|
290
305
|
- spec/lib/pact_broker/client/cli/version_selector_options_parser_spec.rb
|
306
|
+
- spec/lib/pact_broker/client/hal/entity_spec.rb
|
307
|
+
- spec/lib/pact_broker/client/hal/http_client_spec.rb
|
308
|
+
- spec/lib/pact_broker/client/hal/link_spec.rb
|
291
309
|
- spec/lib/pact_broker/client/matrix/text_formatter_spec.rb
|
292
310
|
- spec/lib/pact_broker/client/matrix_spec.rb
|
293
311
|
- spec/lib/pact_broker/client/merge_pacts_spec.rb
|
@@ -297,6 +315,7 @@ test_files:
|
|
297
315
|
- spec/lib/pact_broker/client/tasks/publication_task_spec.rb
|
298
316
|
- spec/lib/pact_broker/client/versions/describe_spec.rb
|
299
317
|
- spec/lib/pact_broker/client/versions_spec.rb
|
318
|
+
- spec/lib/pact_broker/client/webhooks/create_spec.rb
|
300
319
|
- spec/pacts/pact_broker_client-pact_broker.json
|
301
320
|
- spec/service_providers/extra_goodies_spec.rb
|
302
321
|
- spec/service_providers/pact_broker_client_matrix_spec.rb
|
@@ -304,10 +323,11 @@ test_files:
|
|
304
323
|
- spec/service_providers/pact_broker_client_publish_spec.rb
|
305
324
|
- spec/service_providers/pact_broker_client_register_repository_spec.rb
|
306
325
|
- spec/service_providers/pact_broker_client_retrieve_all_pacts_for_provider_spec.rb
|
307
|
-
- spec/service_providers/
|
326
|
+
- spec/service_providers/pact_broker_client_retrieve_pact_spec.rb
|
308
327
|
- spec/service_providers/pact_broker_client_tags_spec.rb
|
309
328
|
- spec/service_providers/pact_broker_client_versions_spec.rb
|
310
329
|
- spec/service_providers/pact_helper.rb
|
330
|
+
- spec/service_providers/webhooks_create_spec.rb
|
311
331
|
- spec/spec_helper.rb
|
312
332
|
- spec/support/cli_test_pacts/bar.json
|
313
333
|
- spec/support/cli_test_pacts/foo.json
|