pact_broker 2.22.0 → 2.23.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +30 -0
- data/README.md +1 -0
- data/db/migrations/20180611_make_webhook_pacticipant_ids_optional.rb +11 -0
- data/example/config.ru +2 -0
- data/lib/pact_broker/api.rb +9 -3
- data/lib/pact_broker/api/contracts/webhook_contract.rb +36 -0
- data/lib/pact_broker/api/decorators/pact_decorator.rb +22 -1
- data/lib/pact_broker/api/decorators/pact_webhooks_status_decorator.rb +1 -26
- data/lib/pact_broker/api/decorators/triggered_webhook_decorator.rb +33 -0
- data/lib/pact_broker/api/decorators/triggered_webhooks_decorator.rb +19 -0
- data/lib/pact_broker/api/decorators/verification_decorator.rb +6 -0
- data/lib/pact_broker/api/decorators/webhook_decorator.rb +32 -18
- data/lib/pact_broker/api/decorators/webhook_execution_result_decorator.rb +27 -0
- data/lib/pact_broker/api/decorators/{webhook_request_decorator.rb → webhook_request_template_decorator.rb} +1 -1
- data/lib/pact_broker/api/pact_broker_urls.rb +21 -1
- data/lib/pact_broker/api/resources/all_webhooks.rb +82 -0
- data/lib/pact_broker/api/resources/base_resource.rb +18 -0
- data/lib/pact_broker/api/resources/error_handler.rb +5 -1
- data/lib/pact_broker/api/resources/pact_triggered_webhooks.rb +41 -0
- data/lib/pact_broker/api/resources/pact_webhooks.rb +2 -15
- data/lib/pact_broker/api/resources/pact_webhooks_status.rb +1 -1
- data/lib/pact_broker/api/resources/verification_triggered_webhooks.rb +45 -0
- data/lib/pact_broker/api/resources/webhook_execution.rb +1 -5
- data/lib/pact_broker/api/resources/webhooks.rb +69 -6
- data/lib/pact_broker/configuration.rb +5 -2
- data/lib/pact_broker/doc/controllers/app.rb +1 -2
- data/lib/pact_broker/doc/views/pact-webhooks.markdown +3 -0
- data/lib/pact_broker/doc/views/webhooks.markdown +53 -33
- data/lib/pact_broker/domain/pact.rb +4 -0
- data/lib/pact_broker/domain/webhook.rb +19 -3
- data/lib/pact_broker/domain/webhook_execution_result.rb +6 -1
- data/lib/pact_broker/domain/webhook_request.rb +87 -65
- data/lib/pact_broker/locale/en.yml +1 -0
- data/lib/pact_broker/matrix/repository.rb +3 -1
- data/lib/pact_broker/pacts/placeholder_pact.rb +17 -0
- data/lib/pact_broker/pacts/repository.rb +14 -0
- data/lib/pact_broker/pacts/service.rb +6 -2
- data/lib/pact_broker/ui/view_models/index_item.rb +1 -1
- data/lib/pact_broker/verifications/placeholder_verification.rb +23 -0
- data/lib/pact_broker/verifications/repository.rb +9 -0
- data/lib/pact_broker/verifications/service.rb +5 -1
- data/lib/pact_broker/version.rb +1 -1
- data/lib/pact_broker/webhooks/repository.rb +54 -4
- data/lib/pact_broker/webhooks/service.rb +37 -2
- data/lib/pact_broker/webhooks/webhook.rb +4 -3
- data/lib/pact_broker/webhooks/webhook_event.rb +8 -0
- data/lib/pact_broker/webhooks/webhook_request_template.rb +72 -0
- data/pact_broker.gemspec +1 -1
- data/script/seed.rb +32 -51
- data/spec/features/create_webhook_spec.rb +85 -36
- data/spec/features/execute_webhook_spec.rb +9 -18
- data/spec/features/get_triggered_webhooks_for_pact_spec.rb +20 -0
- data/spec/features/get_triggered_webhooks_for_verification_spec.rb +21 -0
- data/spec/fixtures/webhook_valid_with_pacticipants.json +23 -0
- data/spec/integration/webhooks/certificate_spec.rb +2 -2
- data/spec/lib/pact_broker/api/contracts/webhook_contract_spec.rb +98 -2
- data/spec/lib/pact_broker/api/decorators/triggered_webhook_decorator_spec.rb +64 -0
- data/spec/lib/pact_broker/api/decorators/triggered_webhooks_decorator_spec.rb +28 -0
- data/spec/lib/pact_broker/api/decorators/verification_decorator_spec.rb +8 -0
- data/spec/lib/pact_broker/api/decorators/webhook_decorator_spec.rb +37 -1
- data/spec/lib/pact_broker/api/decorators/webhook_execution_result_decorator_spec.rb +34 -1
- data/spec/lib/pact_broker/api/decorators/{webhook_request_decorator_spec.rb → webhook_request_template_decorator_spec.rb} +7 -9
- data/spec/lib/pact_broker/api/pact_broker_urls_spec.rb +22 -0
- data/spec/lib/pact_broker/api/resources/{pact_webhooks_spec.rb → all_webhooks_spec.rb} +46 -80
- data/spec/lib/pact_broker/api/resources/error_handler_spec.rb +34 -0
- data/spec/lib/pact_broker/api/resources/pact_triggered_webhooks_spec.rb +54 -0
- data/spec/lib/pact_broker/api/resources/pacticipant_spec.rb +1 -6
- data/spec/lib/pact_broker/api/resources/tag_spec.rb +1 -6
- data/spec/lib/pact_broker/api/resources/verification_triggered_webhooks_spec.rb +68 -0
- data/spec/lib/pact_broker/api/resources/webhook_execution_spec.rb +2 -8
- data/spec/lib/pact_broker/api/resources/webhooks_spec.rb +216 -21
- data/spec/lib/pact_broker/configuration_spec.rb +30 -0
- data/spec/lib/pact_broker/domain/webhook_request_spec.rb +20 -64
- data/spec/lib/pact_broker/domain/webhook_spec.rb +40 -11
- data/spec/lib/pact_broker/matrix/repository_spec.rb +33 -0
- data/spec/lib/pact_broker/pacts/pact_version_spec.rb +1 -0
- data/spec/lib/pact_broker/pacts/repository_spec.rb +39 -1
- data/spec/lib/pact_broker/ui/view_models/index_item_spec.rb +1 -1
- data/spec/lib/pact_broker/verifications/repository_spec.rb +37 -0
- data/spec/lib/pact_broker/verifications/service_spec.rb +2 -2
- data/spec/lib/pact_broker/webhooks/render_spec.rb +15 -0
- data/spec/lib/pact_broker/webhooks/repository_spec.rb +149 -30
- data/spec/lib/pact_broker/webhooks/service_spec.rb +84 -7
- data/spec/lib/pact_broker/webhooks/webhook_request_template_spec.rb +81 -0
- data/spec/service_consumers/pact_helper.rb +2 -0
- data/spec/service_consumers/provider_states_for_pact_broker_client.rb +8 -0
- data/spec/service_consumers/provider_states_for_pact_ruby.rb +132 -0
- data/spec/support/test_data_builder.rb +30 -7
- metadata +37 -9
@@ -0,0 +1,81 @@
|
|
1
|
+
require 'pact_broker/webhooks/webhook_request_template'
|
2
|
+
|
3
|
+
module PactBroker
|
4
|
+
module Webhooks
|
5
|
+
describe WebhookRequestTemplate do
|
6
|
+
let(:attributes) do
|
7
|
+
{
|
8
|
+
method: 'POST',
|
9
|
+
url: url,
|
10
|
+
username: "foo",
|
11
|
+
password: "bar",
|
12
|
+
uuid: "1234",
|
13
|
+
body: body
|
14
|
+
}
|
15
|
+
end
|
16
|
+
|
17
|
+
let(:new_attributes) do
|
18
|
+
{
|
19
|
+
method: 'POST',
|
20
|
+
url: built_url,
|
21
|
+
username: "foo",
|
22
|
+
password: "bar",
|
23
|
+
uuid: "1234",
|
24
|
+
body: built_body
|
25
|
+
}
|
26
|
+
end
|
27
|
+
|
28
|
+
let(:url) { "http://example.org/hook?foo=bar" }
|
29
|
+
let(:built_url) { "http://example.org/hook?foo=barBUILT" }
|
30
|
+
let(:body) { { foo: "bar" } }
|
31
|
+
let(:built_body) { '{"foo":"bar"}BUILT' }
|
32
|
+
|
33
|
+
describe "#build" do
|
34
|
+
before do
|
35
|
+
allow(PactBroker::Webhooks::Render).to receive(:call) do | content, pact, verification, &block |
|
36
|
+
content + "BUILT"
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
let(:pact) { double('pact') }
|
41
|
+
let(:verification) { double('verification') }
|
42
|
+
|
43
|
+
subject { WebhookRequestTemplate.new(attributes).build(pact: pact, verification: verification) }
|
44
|
+
|
45
|
+
it "renders the url template" do
|
46
|
+
expect(PactBroker::Webhooks::Render).to receive(:call).with(url, pact, verification) do | content, pact, verification, &block |
|
47
|
+
expect(content).to eq url
|
48
|
+
expect(pact).to be pact
|
49
|
+
expect(verification).to be verification
|
50
|
+
expect(block.call("foo bar")).to eq "foo+bar"
|
51
|
+
built_url
|
52
|
+
end
|
53
|
+
subject
|
54
|
+
end
|
55
|
+
|
56
|
+
context "when the body is a string" do
|
57
|
+
let(:body) { 'body' }
|
58
|
+
|
59
|
+
it "renders the body template with the String" do
|
60
|
+
expect(PactBroker::Webhooks::Render).to receive(:call).with('body', pact, verification)
|
61
|
+
subject
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
context "when the body is an object" do
|
66
|
+
let(:request_body_string) { '{"foo":"bar"}' }
|
67
|
+
|
68
|
+
it "renders the body template with JSON" do
|
69
|
+
expect(PactBroker::Webhooks::Render).to receive(:call).with(request_body_string, pact, verification)
|
70
|
+
subject
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
74
|
+
it "creates a new PactBroker::Domain::WebhookRequest" do
|
75
|
+
expect(PactBroker::Domain::WebhookRequest).to receive(:new).with(new_attributes)
|
76
|
+
subject
|
77
|
+
end
|
78
|
+
end
|
79
|
+
end
|
80
|
+
end
|
81
|
+
end
|
@@ -29,6 +29,14 @@ Pact.provider_states_for "Pact Broker Client" do
|
|
29
29
|
end
|
30
30
|
end
|
31
31
|
|
32
|
+
provider_state "the 'Pricing Service' and 'Condor' already exist in the pact-broker" do
|
33
|
+
set_up do
|
34
|
+
TestDataBuilder.new
|
35
|
+
.create_consumer("Condor")
|
36
|
+
.create_provider("Pricing Service")
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
32
40
|
provider_state "the pact for Foo Thing version 1.2.3 has been verified by Bar version 4.5.6" do
|
33
41
|
set_up do
|
34
42
|
TestDataBuilder.new
|
@@ -0,0 +1,132 @@
|
|
1
|
+
require 'spec/support/test_data_builder'
|
2
|
+
|
3
|
+
Pact.provider_states_for "Pact Ruby" do
|
4
|
+
|
5
|
+
provider_state "the relations for retrieving pacts exist in the index resource" do
|
6
|
+
no_op
|
7
|
+
end
|
8
|
+
|
9
|
+
provider_state 'consumer-1 and consumer-2 have pacts with provider provider-1' do
|
10
|
+
set_up do
|
11
|
+
TestDataBuilder.new
|
12
|
+
.create_provider('provider-1')
|
13
|
+
.create_consumer('consumer-1')
|
14
|
+
.create_consumer_version('1.3.0')
|
15
|
+
.create_pact
|
16
|
+
.create_consumer('consumer-2')
|
17
|
+
.create_consumer_version('1.4.0')
|
18
|
+
.create_pact
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
provider_state 'consumer-1 and consumer-2 have pacts with provider provider-1 tagged with tag-1' do
|
23
|
+
set_up do
|
24
|
+
TestDataBuilder.new
|
25
|
+
.create_provider('provider-1')
|
26
|
+
.create_consumer('consumer-1')
|
27
|
+
.create_consumer_version('1.3.0')
|
28
|
+
.create_consumer_version_tag('tag-1')
|
29
|
+
.create_pact
|
30
|
+
.create_consumer("consumer-2")
|
31
|
+
.create_consumer_version('1.4.0')
|
32
|
+
.create_consumer_version_tag('tag-1')
|
33
|
+
.create_pact
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
provider_state 'consumer-1 and consumer-2 have pacts with provider provider-1 tagged with tag-2' do
|
38
|
+
set_up do
|
39
|
+
TestDataBuilder.new
|
40
|
+
.create_provider('provider-1')
|
41
|
+
.create_consumer('consumer-1')
|
42
|
+
.create_consumer_version('1.3.0')
|
43
|
+
.create_consumer_version_tag('tag-2')
|
44
|
+
.create_pact
|
45
|
+
.create_consumer('consumer-2')
|
46
|
+
.create_consumer_version('1.4.0')
|
47
|
+
.create_consumer_version_tag('tag-2')
|
48
|
+
.create_pact
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
provider_state 'consumer-1 and consumer-2 have 2 pacts with provider provider-1 tagged with tag-1' do
|
53
|
+
set_up do
|
54
|
+
TestDataBuilder.new
|
55
|
+
.create_provider('provider-1')
|
56
|
+
.create_consumer('consumer-1')
|
57
|
+
.create_consumer_version('1.3.0')
|
58
|
+
.create_consumer_version_tag('tag-1')
|
59
|
+
.create_pact
|
60
|
+
.create_consumer('consumer-2')
|
61
|
+
.create_consumer_version('1.4.0')
|
62
|
+
.create_consumer_version_tag('tag-1')
|
63
|
+
.create_pact
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
provider_state 'consumer-1 and consumer-2 have 2 pacts with provider provider-1 tagged with tag-2' do
|
68
|
+
set_up do
|
69
|
+
TestDataBuilder.new
|
70
|
+
.create_provider('provider-1')
|
71
|
+
.create_consumer('consumer-1')
|
72
|
+
.create_consumer_version('1.3.0')
|
73
|
+
.create_consumer_version_tag('tag-2')
|
74
|
+
.create_pact
|
75
|
+
.create_consumer('consumer-2')
|
76
|
+
.create_consumer_version('1.4.0')
|
77
|
+
.create_consumer_version_tag('tag-2')
|
78
|
+
.create_pact
|
79
|
+
end
|
80
|
+
end
|
81
|
+
|
82
|
+
provider_state 'consumer-1 and consumer-2 have 2 pacts with provider provider-1' do
|
83
|
+
set_up do
|
84
|
+
TestDataBuilder.new
|
85
|
+
.create_provider('provider-1')
|
86
|
+
.create_consumer('consumer-1')
|
87
|
+
.create_consumer_version('1.3.0')
|
88
|
+
.create_pact
|
89
|
+
.create_consumer('consumer-2')
|
90
|
+
.create_consumer_version('1.4.0')
|
91
|
+
.create_pact
|
92
|
+
end
|
93
|
+
end
|
94
|
+
|
95
|
+
provider_state "consumer-1 and consumer-2 have no pacts with provider provider-1 tagged with tag-1" do
|
96
|
+
set_up do
|
97
|
+
TestDataBuilder.new
|
98
|
+
.create_provider('provider-1')
|
99
|
+
.create_consumer('consumer-1')
|
100
|
+
.create_consumer_version('1.3.0')
|
101
|
+
.create_pact
|
102
|
+
.create_consumer('consumer-2')
|
103
|
+
.create_consumer_version('1.4.0')
|
104
|
+
.create_pact
|
105
|
+
end
|
106
|
+
end
|
107
|
+
|
108
|
+
provider_state "consumer-1 and consumer-2 have pacts with provider provider-1 tagged with master" do
|
109
|
+
set_up do
|
110
|
+
TestDataBuilder.new
|
111
|
+
.create_provider('provider-1')
|
112
|
+
.create_consumer('consumer-1')
|
113
|
+
.create_consumer_version('1.3.0')
|
114
|
+
.create_consumer_version_tag('master')
|
115
|
+
.create_pact
|
116
|
+
.create_consumer('consumer-2')
|
117
|
+
.create_consumer_version('1.4.0')
|
118
|
+
.create_consumer_version_tag('master')
|
119
|
+
.create_pact
|
120
|
+
end
|
121
|
+
end
|
122
|
+
|
123
|
+
provider_state "consumer-1 has no pacts with provider provider-1 tagged with tag-1" do
|
124
|
+
set_up do
|
125
|
+
TestDataBuilder.new
|
126
|
+
.create_provider('provider-1')
|
127
|
+
.create_consumer('consumer-1')
|
128
|
+
.create_consumer_version('1.3.0')
|
129
|
+
.create_pact
|
130
|
+
end
|
131
|
+
end
|
132
|
+
end
|
@@ -244,17 +244,39 @@ class TestDataBuilder
|
|
244
244
|
self
|
245
245
|
end
|
246
246
|
|
247
|
-
def create_webhook
|
248
|
-
params.
|
247
|
+
def create_webhook parameters = {}
|
248
|
+
params = parameters.dup
|
249
|
+
consumer = params.key?(:consumer) ? params.delete(:consumer) : @consumer
|
250
|
+
provider = params.key?(:provider) ? params.delete(:provider) : @provider
|
249
251
|
uuid = params[:uuid] || PactBroker::Webhooks::Service.next_uuid
|
250
|
-
event_params = params[:
|
252
|
+
event_params = if params[:event_names]
|
253
|
+
params[:event_names].collect{ |event_name| {name: event_name} }
|
254
|
+
else
|
255
|
+
params[:events] || [{ name: PactBroker::Webhooks::WebhookEvent::DEFAULT_EVENT_NAME }]
|
256
|
+
end
|
251
257
|
events = event_params.collect{ |e| PactBroker::Webhooks::WebhookEvent.new(e) }
|
252
258
|
default_params = { method: 'POST', url: 'http://example.org', headers: {'Content-Type' => 'application/json'}}
|
253
|
-
request = PactBroker::
|
254
|
-
@webhook = PactBroker::Webhooks::Repository.new.create uuid, PactBroker::Domain::Webhook.new(request: request, events: events),
|
259
|
+
request = PactBroker::Webhooks::WebhookRequestTemplate.new(default_params.merge(params))
|
260
|
+
@webhook = PactBroker::Webhooks::Repository.new.create uuid, PactBroker::Domain::Webhook.new(request: request, events: events), consumer, provider
|
255
261
|
self
|
256
262
|
end
|
257
263
|
|
264
|
+
def create_verification_webhook parameters = {}
|
265
|
+
create_webhook(parameters.merge(event_names: PactBroker::Webhooks::WebhookEvent::VERIFICATION_PUBLISHED))
|
266
|
+
end
|
267
|
+
|
268
|
+
def create_global_webhook parameters = {}
|
269
|
+
create_webhook(parameters.merge(consumer: nil, provider: nil))
|
270
|
+
end
|
271
|
+
|
272
|
+
def create_provider_webhook parameters = {}
|
273
|
+
create_webhook(parameters.merge(consumer: nil))
|
274
|
+
end
|
275
|
+
|
276
|
+
def create_consumer_webhook parameters = {}
|
277
|
+
create_webhook(parameters.merge(provider: nil))
|
278
|
+
end
|
279
|
+
|
258
280
|
def create_verification_webhook params = {}
|
259
281
|
create_webhook params.merge(events: [{ name: PactBroker::Webhooks::WebhookEvent::VERIFICATION_PUBLISHED }])
|
260
282
|
end
|
@@ -262,7 +284,8 @@ class TestDataBuilder
|
|
262
284
|
def create_triggered_webhook params = {}
|
263
285
|
params.delete(:comment)
|
264
286
|
trigger_uuid = params[:trigger_uuid] || webhook_service.next_uuid
|
265
|
-
|
287
|
+
verification = @webhook.trigger_on_provider_verification_published? ? @verification : nil
|
288
|
+
@triggered_webhook = webhook_repository.create_triggered_webhook trigger_uuid, @webhook, @pact, verification, PactBroker::Webhooks::Service::RESOURCE_CREATION
|
266
289
|
@triggered_webhook.update(status: params[:status]) if params[:status]
|
267
290
|
set_created_at_if_set params[:created_at], :triggered_webhooks, {id: @triggered_webhook.id}
|
268
291
|
self
|
@@ -271,7 +294,7 @@ class TestDataBuilder
|
|
271
294
|
def create_webhook_execution params = {}
|
272
295
|
params.delete(:comment)
|
273
296
|
logs = params[:logs] || "logs"
|
274
|
-
webhook_execution_result = PactBroker::Domain::WebhookExecutionResult.new(OpenStruct.new(code: "200"), logs, nil)
|
297
|
+
webhook_execution_result = PactBroker::Domain::WebhookExecutionResult.new(nil, OpenStruct.new(code: "200"), logs, nil)
|
275
298
|
@webhook_execution = PactBroker::Webhooks::Repository.new.create_execution @triggered_webhook, webhook_execution_result
|
276
299
|
created_at = params[:created_at] || @pact.created_at + Rational(1, 86400)
|
277
300
|
set_created_at_if_set created_at, :webhook_executions, {id: @webhook_execution.id}
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pact_broker
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.23.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Bethany Skurrie
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2018-06-
|
13
|
+
date: 2018-06-20 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: httparty
|
@@ -204,14 +204,14 @@ dependencies:
|
|
204
204
|
requirements:
|
205
205
|
- - ">="
|
206
206
|
- !ruby/object:Gem::Version
|
207
|
-
version: 2.0.
|
207
|
+
version: 2.0.2
|
208
208
|
type: :runtime
|
209
209
|
prerelease: false
|
210
210
|
version_requirements: !ruby/object:Gem::Requirement
|
211
211
|
requirements:
|
212
212
|
- - ">="
|
213
213
|
- !ruby/object:Gem::Version
|
214
|
-
version: 2.0.
|
214
|
+
version: 2.0.2
|
215
215
|
- !ruby/object:Gem::Dependency
|
216
216
|
name: haml
|
217
217
|
requirement: !ruby/object:Gem::Requirement
|
@@ -618,6 +618,7 @@ files:
|
|
618
618
|
- db/migrations/20180523_create_latest_verifications_for_consumer_version_tags.rb
|
619
619
|
- db/migrations/20180524_create_latest_verifications_for_consumer_and_provider.rb
|
620
620
|
- db/migrations/20180608_add_verification_to_triggered_webhook.rb
|
621
|
+
- db/migrations/20180611_make_webhook_pacticipant_ids_optional.rb
|
621
622
|
- db/migrations/migration_helper.rb
|
622
623
|
- db/pact_broker_database.sqlite3
|
623
624
|
- db/test/backwards_compatibility/.rspec
|
@@ -706,17 +707,20 @@ files:
|
|
706
707
|
- lib/pact_broker/api/decorators/representable_pact.rb
|
707
708
|
- lib/pact_broker/api/decorators/tag_decorator.rb
|
708
709
|
- lib/pact_broker/api/decorators/timestamps.rb
|
710
|
+
- lib/pact_broker/api/decorators/triggered_webhook_decorator.rb
|
711
|
+
- lib/pact_broker/api/decorators/triggered_webhooks_decorator.rb
|
709
712
|
- lib/pact_broker/api/decorators/verification_decorator.rb
|
710
713
|
- lib/pact_broker/api/decorators/verification_summary_decorator.rb
|
711
714
|
- lib/pact_broker/api/decorators/version_decorator.rb
|
712
715
|
- lib/pact_broker/api/decorators/versions_decorator.rb
|
713
716
|
- lib/pact_broker/api/decorators/webhook_decorator.rb
|
714
717
|
- lib/pact_broker/api/decorators/webhook_execution_result_decorator.rb
|
715
|
-
- lib/pact_broker/api/decorators/
|
718
|
+
- lib/pact_broker/api/decorators/webhook_request_template_decorator.rb
|
716
719
|
- lib/pact_broker/api/decorators/webhooks_decorator.rb
|
717
720
|
- lib/pact_broker/api/pact_broker_urls.rb
|
718
721
|
- lib/pact_broker/api/renderers/html_pact_renderer.rb
|
719
722
|
- lib/pact_broker/api/resources.rb
|
723
|
+
- lib/pact_broker/api/resources/all_webhooks.rb
|
720
724
|
- lib/pact_broker/api/resources/authentication.rb
|
721
725
|
- lib/pact_broker/api/resources/badge.rb
|
722
726
|
- lib/pact_broker/api/resources/base_resource.rb
|
@@ -735,6 +739,7 @@ files:
|
|
735
739
|
- lib/pact_broker/api/resources/matrix_for_consumer_and_provider.rb
|
736
740
|
- lib/pact_broker/api/resources/pact.rb
|
737
741
|
- lib/pact_broker/api/resources/pact_content_diff.rb
|
742
|
+
- lib/pact_broker/api/resources/pact_triggered_webhooks.rb
|
738
743
|
- lib/pact_broker/api/resources/pact_version.rb
|
739
744
|
- lib/pact_broker/api/resources/pact_versions.rb
|
740
745
|
- lib/pact_broker/api/resources/pact_webhooks.rb
|
@@ -749,6 +754,7 @@ files:
|
|
749
754
|
- lib/pact_broker/api/resources/tag.rb
|
750
755
|
- lib/pact_broker/api/resources/triggered_webhook_logs.rb
|
751
756
|
- lib/pact_broker/api/resources/verification.rb
|
757
|
+
- lib/pact_broker/api/resources/verification_triggered_webhooks.rb
|
752
758
|
- lib/pact_broker/api/resources/verifications.rb
|
753
759
|
- lib/pact_broker/api/resources/version.rb
|
754
760
|
- lib/pact_broker/api/resources/versions.rb
|
@@ -786,6 +792,7 @@ files:
|
|
786
792
|
- lib/pact_broker/doc/views/latest-verifications.markdown
|
787
793
|
- lib/pact_broker/doc/views/layouts/main.haml
|
788
794
|
- lib/pact_broker/doc/views/pact-versions.markdown
|
795
|
+
- lib/pact_broker/doc/views/pact-webhooks.markdown
|
789
796
|
- lib/pact_broker/doc/views/pacticipants.markdown
|
790
797
|
- lib/pact_broker/doc/views/provider.markdown
|
791
798
|
- lib/pact_broker/doc/views/publish-pact.markdown
|
@@ -839,6 +846,7 @@ files:
|
|
839
846
|
- lib/pact_broker/pacts/pact_publication.rb
|
840
847
|
- lib/pact_broker/pacts/pact_version.rb
|
841
848
|
- lib/pact_broker/pacts/parse.rb
|
849
|
+
- lib/pact_broker/pacts/placeholder_pact.rb
|
842
850
|
- lib/pact_broker/pacts/repository.rb
|
843
851
|
- lib/pact_broker/pacts/service.rb
|
844
852
|
- lib/pact_broker/pacts/sort_content.rb
|
@@ -879,6 +887,7 @@ files:
|
|
879
887
|
- lib/pact_broker/verifications/latest_verification_for_consumer_and_provider.rb
|
880
888
|
- lib/pact_broker/verifications/latest_verification_for_consumer_version_tag.rb
|
881
889
|
- lib/pact_broker/verifications/latest_verifications_by_consumer_version.rb
|
890
|
+
- lib/pact_broker/verifications/placeholder_verification.rb
|
882
891
|
- lib/pact_broker/verifications/repository.rb
|
883
892
|
- lib/pact_broker/verifications/sequence.rb
|
884
893
|
- lib/pact_broker/verifications/service.rb
|
@@ -901,6 +910,7 @@ files:
|
|
901
910
|
- lib/pact_broker/webhooks/triggered_webhook.rb
|
902
911
|
- lib/pact_broker/webhooks/webhook.rb
|
903
912
|
- lib/pact_broker/webhooks/webhook_event.rb
|
913
|
+
- lib/pact_broker/webhooks/webhook_request_template.rb
|
904
914
|
- lib/rack/hal_browser.rb
|
905
915
|
- lib/rack/hal_browser/redirect.rb
|
906
916
|
- lib/rack/pact_broker/accepts_html_filter.rb
|
@@ -997,6 +1007,8 @@ files:
|
|
997
1007
|
- spec/features/get_pacticipants_by_label_spec.rb
|
998
1008
|
- spec/features/get_previous_distinct_version.rb
|
999
1009
|
- spec/features/get_provider_pacts_spec.rb
|
1010
|
+
- spec/features/get_triggered_webhooks_for_pact_spec.rb
|
1011
|
+
- spec/features/get_triggered_webhooks_for_verification_spec.rb
|
1000
1012
|
- spec/features/get_verifications_for_consumer_version_spec.rb
|
1001
1013
|
- spec/features/get_version_spec.rb
|
1002
1014
|
- spec/features/get_versions_spec.rb
|
@@ -1027,6 +1039,7 @@ files:
|
|
1027
1039
|
- spec/fixtures/updated_pacticipant.json
|
1028
1040
|
- spec/fixtures/verification.json
|
1029
1041
|
- spec/fixtures/webhook_valid.json
|
1042
|
+
- spec/fixtures/webhook_valid_with_pacticipants.json
|
1030
1043
|
- spec/integration/app_spec.rb
|
1031
1044
|
- spec/integration/endpoints/group_spec.rb
|
1032
1045
|
- spec/integration/ui/index_spec.rb
|
@@ -1055,16 +1068,19 @@ files:
|
|
1055
1068
|
- spec/lib/pact_broker/api/decorators/relationships_csv_decorator_spec.rb
|
1056
1069
|
- spec/lib/pact_broker/api/decorators/representable_pact_spec.rb
|
1057
1070
|
- spec/lib/pact_broker/api/decorators/tag_decorator_spec.rb
|
1071
|
+
- spec/lib/pact_broker/api/decorators/triggered_webhook_decorator_spec.rb
|
1072
|
+
- spec/lib/pact_broker/api/decorators/triggered_webhooks_decorator_spec.rb
|
1058
1073
|
- spec/lib/pact_broker/api/decorators/verification_decorator_spec.rb
|
1059
1074
|
- spec/lib/pact_broker/api/decorators/verification_summary_decorator_spec.rb
|
1060
1075
|
- spec/lib/pact_broker/api/decorators/version_decorator_spec.rb
|
1061
1076
|
- spec/lib/pact_broker/api/decorators/versions_decorator_spec.rb
|
1062
1077
|
- spec/lib/pact_broker/api/decorators/webhook_decorator_spec.rb
|
1063
1078
|
- spec/lib/pact_broker/api/decorators/webhook_execution_result_decorator_spec.rb
|
1064
|
-
- spec/lib/pact_broker/api/decorators/
|
1079
|
+
- spec/lib/pact_broker/api/decorators/webhook_request_template_decorator_spec.rb
|
1065
1080
|
- spec/lib/pact_broker/api/decorators/webhooks_decorator_spec.rb
|
1066
1081
|
- spec/lib/pact_broker/api/pact_broker_urls_spec.rb
|
1067
1082
|
- spec/lib/pact_broker/api/renderers/html_pact_renderer_spec.rb
|
1083
|
+
- spec/lib/pact_broker/api/resources/all_webhooks_spec.rb
|
1068
1084
|
- spec/lib/pact_broker/api/resources/badge_spec.rb
|
1069
1085
|
- spec/lib/pact_broker/api/resources/base_resource_spec.rb
|
1070
1086
|
- spec/lib/pact_broker/api/resources/dashboard_spec.rb
|
@@ -1076,12 +1092,13 @@ files:
|
|
1076
1092
|
- spec/lib/pact_broker/api/resources/matrix_badge_spec.rb
|
1077
1093
|
- spec/lib/pact_broker/api/resources/matrix_spec.rb
|
1078
1094
|
- spec/lib/pact_broker/api/resources/pact_spec.rb
|
1079
|
-
- spec/lib/pact_broker/api/resources/
|
1095
|
+
- spec/lib/pact_broker/api/resources/pact_triggered_webhooks_spec.rb
|
1080
1096
|
- spec/lib/pact_broker/api/resources/pacticipant_spec.rb
|
1081
1097
|
- spec/lib/pact_broker/api/resources/pacticipants_spec.rb
|
1082
1098
|
- spec/lib/pact_broker/api/resources/provider_pacts_spec.rb
|
1083
1099
|
- spec/lib/pact_broker/api/resources/tag_spec.rb
|
1084
1100
|
- spec/lib/pact_broker/api/resources/triggered_webhook_logs_spec.rb
|
1101
|
+
- spec/lib/pact_broker/api/resources/verification_triggered_webhooks_spec.rb
|
1085
1102
|
- spec/lib/pact_broker/api/resources/verifications_spec.rb
|
1086
1103
|
- spec/lib/pact_broker/api/resources/webhook_execution_spec.rb
|
1087
1104
|
- spec/lib/pact_broker/api/resources/webhook_spec.rb
|
@@ -1157,6 +1174,7 @@ files:
|
|
1157
1174
|
- spec/lib/pact_broker/webhooks/service_spec.rb
|
1158
1175
|
- spec/lib/pact_broker/webhooks/status_spec.rb
|
1159
1176
|
- spec/lib/pact_broker/webhooks/triggered_webhook_spec.rb
|
1177
|
+
- spec/lib/pact_broker/webhooks/webhook_request_template_spec.rb
|
1160
1178
|
- spec/lib/rack/hal_browser/redirect_spec.rb
|
1161
1179
|
- spec/lib/rack/pact_broker/add_pact_broker_version_header_spec.rb
|
1162
1180
|
- spec/lib/rack/pact_broker/database_transaction_spec.rb
|
@@ -1175,6 +1193,7 @@ files:
|
|
1175
1193
|
- spec/service_consumers/hal_relation_proxy_app.rb
|
1176
1194
|
- spec/service_consumers/pact_helper.rb
|
1177
1195
|
- spec/service_consumers/provider_states_for_pact_broker_client.rb
|
1196
|
+
- spec/service_consumers/provider_states_for_pact_ruby.rb
|
1178
1197
|
- spec/spec_helper.rb
|
1179
1198
|
- spec/support/database_cleaner.rb
|
1180
1199
|
- spec/support/fixture_helpers.rb
|
@@ -1289,6 +1308,8 @@ test_files:
|
|
1289
1308
|
- spec/features/get_pacticipants_by_label_spec.rb
|
1290
1309
|
- spec/features/get_previous_distinct_version.rb
|
1291
1310
|
- spec/features/get_provider_pacts_spec.rb
|
1311
|
+
- spec/features/get_triggered_webhooks_for_pact_spec.rb
|
1312
|
+
- spec/features/get_triggered_webhooks_for_verification_spec.rb
|
1292
1313
|
- spec/features/get_verifications_for_consumer_version_spec.rb
|
1293
1314
|
- spec/features/get_version_spec.rb
|
1294
1315
|
- spec/features/get_versions_spec.rb
|
@@ -1319,6 +1340,7 @@ test_files:
|
|
1319
1340
|
- spec/fixtures/updated_pacticipant.json
|
1320
1341
|
- spec/fixtures/verification.json
|
1321
1342
|
- spec/fixtures/webhook_valid.json
|
1343
|
+
- spec/fixtures/webhook_valid_with_pacticipants.json
|
1322
1344
|
- spec/integration/app_spec.rb
|
1323
1345
|
- spec/integration/endpoints/group_spec.rb
|
1324
1346
|
- spec/integration/ui/index_spec.rb
|
@@ -1347,16 +1369,19 @@ test_files:
|
|
1347
1369
|
- spec/lib/pact_broker/api/decorators/relationships_csv_decorator_spec.rb
|
1348
1370
|
- spec/lib/pact_broker/api/decorators/representable_pact_spec.rb
|
1349
1371
|
- spec/lib/pact_broker/api/decorators/tag_decorator_spec.rb
|
1372
|
+
- spec/lib/pact_broker/api/decorators/triggered_webhook_decorator_spec.rb
|
1373
|
+
- spec/lib/pact_broker/api/decorators/triggered_webhooks_decorator_spec.rb
|
1350
1374
|
- spec/lib/pact_broker/api/decorators/verification_decorator_spec.rb
|
1351
1375
|
- spec/lib/pact_broker/api/decorators/verification_summary_decorator_spec.rb
|
1352
1376
|
- spec/lib/pact_broker/api/decorators/version_decorator_spec.rb
|
1353
1377
|
- spec/lib/pact_broker/api/decorators/versions_decorator_spec.rb
|
1354
1378
|
- spec/lib/pact_broker/api/decorators/webhook_decorator_spec.rb
|
1355
1379
|
- spec/lib/pact_broker/api/decorators/webhook_execution_result_decorator_spec.rb
|
1356
|
-
- spec/lib/pact_broker/api/decorators/
|
1380
|
+
- spec/lib/pact_broker/api/decorators/webhook_request_template_decorator_spec.rb
|
1357
1381
|
- spec/lib/pact_broker/api/decorators/webhooks_decorator_spec.rb
|
1358
1382
|
- spec/lib/pact_broker/api/pact_broker_urls_spec.rb
|
1359
1383
|
- spec/lib/pact_broker/api/renderers/html_pact_renderer_spec.rb
|
1384
|
+
- spec/lib/pact_broker/api/resources/all_webhooks_spec.rb
|
1360
1385
|
- spec/lib/pact_broker/api/resources/badge_spec.rb
|
1361
1386
|
- spec/lib/pact_broker/api/resources/base_resource_spec.rb
|
1362
1387
|
- spec/lib/pact_broker/api/resources/dashboard_spec.rb
|
@@ -1368,12 +1393,13 @@ test_files:
|
|
1368
1393
|
- spec/lib/pact_broker/api/resources/matrix_badge_spec.rb
|
1369
1394
|
- spec/lib/pact_broker/api/resources/matrix_spec.rb
|
1370
1395
|
- spec/lib/pact_broker/api/resources/pact_spec.rb
|
1371
|
-
- spec/lib/pact_broker/api/resources/
|
1396
|
+
- spec/lib/pact_broker/api/resources/pact_triggered_webhooks_spec.rb
|
1372
1397
|
- spec/lib/pact_broker/api/resources/pacticipant_spec.rb
|
1373
1398
|
- spec/lib/pact_broker/api/resources/pacticipants_spec.rb
|
1374
1399
|
- spec/lib/pact_broker/api/resources/provider_pacts_spec.rb
|
1375
1400
|
- spec/lib/pact_broker/api/resources/tag_spec.rb
|
1376
1401
|
- spec/lib/pact_broker/api/resources/triggered_webhook_logs_spec.rb
|
1402
|
+
- spec/lib/pact_broker/api/resources/verification_triggered_webhooks_spec.rb
|
1377
1403
|
- spec/lib/pact_broker/api/resources/verifications_spec.rb
|
1378
1404
|
- spec/lib/pact_broker/api/resources/webhook_execution_spec.rb
|
1379
1405
|
- spec/lib/pact_broker/api/resources/webhook_spec.rb
|
@@ -1449,6 +1475,7 @@ test_files:
|
|
1449
1475
|
- spec/lib/pact_broker/webhooks/service_spec.rb
|
1450
1476
|
- spec/lib/pact_broker/webhooks/status_spec.rb
|
1451
1477
|
- spec/lib/pact_broker/webhooks/triggered_webhook_spec.rb
|
1478
|
+
- spec/lib/pact_broker/webhooks/webhook_request_template_spec.rb
|
1452
1479
|
- spec/lib/rack/hal_browser/redirect_spec.rb
|
1453
1480
|
- spec/lib/rack/pact_broker/add_pact_broker_version_header_spec.rb
|
1454
1481
|
- spec/lib/rack/pact_broker/database_transaction_spec.rb
|
@@ -1467,6 +1494,7 @@ test_files:
|
|
1467
1494
|
- spec/service_consumers/hal_relation_proxy_app.rb
|
1468
1495
|
- spec/service_consumers/pact_helper.rb
|
1469
1496
|
- spec/service_consumers/provider_states_for_pact_broker_client.rb
|
1497
|
+
- spec/service_consumers/provider_states_for_pact_ruby.rb
|
1470
1498
|
- spec/spec_helper.rb
|
1471
1499
|
- spec/support/database_cleaner.rb
|
1472
1500
|
- spec/support/fixture_helpers.rb
|