pact_broker 2.60.0 → 2.60.1
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/CHANGELOG.md +7 -0
- data/lib/pact_broker/api/resources/all_webhooks.rb +0 -5
- data/lib/pact_broker/api/resources/can_i_deploy.rb +0 -4
- data/lib/pact_broker/api/resources/default_base_resource.rb +9 -0
- data/lib/pact_broker/api/resources/error_test.rb +4 -2
- data/lib/pact_broker/api/resources/group.rb +0 -4
- data/lib/pact_broker/api/resources/index.rb +1 -1
- data/lib/pact_broker/api/resources/integration.rb +0 -4
- data/lib/pact_broker/api/resources/integrations.rb +0 -4
- data/lib/pact_broker/api/resources/label.rb +0 -8
- data/lib/pact_broker/api/resources/latest_pact.rb +1 -5
- data/lib/pact_broker/api/resources/latest_pacts.rb +1 -5
- data/lib/pact_broker/api/resources/latest_verifications_for_consumer_version.rb +0 -4
- data/lib/pact_broker/api/resources/matrix.rb +4 -0
- data/lib/pact_broker/api/resources/matrix_for_consumer_and_provider.rb +4 -0
- data/lib/pact_broker/api/resources/metrics.rb +4 -0
- data/lib/pact_broker/api/resources/pact.rb +4 -8
- data/lib/pact_broker/api/resources/pact_content_diff.rb +4 -0
- data/lib/pact_broker/api/resources/pact_triggered_webhooks.rb +5 -1
- data/lib/pact_broker/api/resources/pact_versions.rb +5 -1
- data/lib/pact_broker/api/resources/pact_webhooks.rb +5 -1
- data/lib/pact_broker/api/resources/pact_webhooks_status.rb +5 -1
- data/lib/pact_broker/api/resources/pacticipant.rb +5 -9
- data/lib/pact_broker/api/resources/pacticipants.rb +0 -4
- data/lib/pact_broker/api/resources/pacticipants_for_label.rb +4 -0
- data/lib/pact_broker/api/resources/previous_distinct_pact_version.rb +4 -9
- data/lib/pact_broker/api/resources/provider_pacts.rb +1 -5
- data/lib/pact_broker/api/resources/relationships.rb +4 -2
- data/lib/pact_broker/api/resources/tag.rb +5 -5
- data/lib/pact_broker/api/resources/tagged_pact_versions.rb +5 -2
- data/lib/pact_broker/api/resources/triggered_webhook_logs.rb +7 -5
- data/lib/pact_broker/api/resources/verification.rb +5 -5
- data/lib/pact_broker/api/resources/verification_triggered_webhooks.rb +6 -12
- data/lib/pact_broker/api/resources/verifications.rb +5 -5
- data/lib/pact_broker/api/resources/version.rb +5 -5
- data/lib/pact_broker/api/resources/versions.rb +5 -2
- data/lib/pact_broker/api/resources/webhook.rb +4 -0
- data/lib/pact_broker/api/resources/webhook_execution.rb +4 -0
- data/lib/pact_broker/api/resources/webhooks.rb +5 -1
- data/lib/pact_broker/version.rb +1 -1
- data/spec/lib/pact_broker/api/resources/default_base_resource_spec.rb +11 -5
- data/spec/lib/pact_broker/api/resources/verification_triggered_webhooks_spec.rb +0 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2af8e33b43adbd78dff9e58ae2c16ff69668694dc71b203487d789bd754f4e1a
|
4
|
+
data.tar.gz: 1cf9633412dd10faac7179cfd34ee84bf84738961d7c131d5660f1e3938fe21a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c02c5a85ba278137ad2c15022ecf055c74c59ddf9565617c9df8ca65dc83181d9ec444385bbec65f557de42e6686e837f3230825945cde1da6bb1bc5e20a6b01
|
7
|
+
data.tar.gz: '0386fc2e7a2fcb3c3f019bcdbb49e37861259408b1aadfe298368ece37bbbb363260e4a01df6746ca137dea0be0ba220abbf497065300084576bd62d1bcf76f1'
|
data/CHANGELOG.md
CHANGED
@@ -202,6 +202,15 @@ module PactBroker
|
|
202
202
|
@pact ||= pact_service.find_pact(pact_params)
|
203
203
|
end
|
204
204
|
|
205
|
+
# Not necessarily an existing integration
|
206
|
+
def integration
|
207
|
+
if consumer_specified? && provider_specified?
|
208
|
+
OpenStruct.new(consumer: consumer, provider: provider)
|
209
|
+
else
|
210
|
+
nil
|
211
|
+
end
|
212
|
+
end
|
213
|
+
|
205
214
|
def database_connector
|
206
215
|
request.env["pactbroker.database_connector"]
|
207
216
|
end
|
@@ -4,9 +4,7 @@ require 'pact_broker/error'
|
|
4
4
|
module PactBroker
|
5
5
|
module Api
|
6
6
|
module Resources
|
7
|
-
|
8
7
|
class ErrorTest < BaseResource
|
9
|
-
|
10
8
|
def content_types_provided
|
11
9
|
[
|
12
10
|
["application/hal+json", :to_json]
|
@@ -24,6 +22,10 @@ module PactBroker
|
|
24
22
|
def process_post
|
25
23
|
raise PactBroker::TestError.new("Don't panic. This is a test API error.")
|
26
24
|
end
|
25
|
+
|
26
|
+
def policy_name
|
27
|
+
:'default'
|
28
|
+
end
|
27
29
|
end
|
28
30
|
end
|
29
31
|
end
|
@@ -128,7 +128,7 @@ module PactBroker
|
|
128
128
|
},
|
129
129
|
'beta:provider-pacts-for-verification' => {
|
130
130
|
name: 'beta',
|
131
|
-
href: base_url + '/
|
131
|
+
href: base_url + '/pacts/provider/{provider}/for-verification',
|
132
132
|
title: 'DEPRECATED - please use pb:provider-pacts-for-verification',
|
133
133
|
templated: true
|
134
134
|
},
|
@@ -30,18 +30,10 @@ module PactBroker
|
|
30
30
|
!!label
|
31
31
|
end
|
32
32
|
|
33
|
-
def resource_object
|
34
|
-
label
|
35
|
-
end
|
36
|
-
|
37
33
|
def policy_name
|
38
34
|
:'labels::label'
|
39
35
|
end
|
40
36
|
|
41
|
-
def policy_record
|
42
|
-
label
|
43
|
-
end
|
44
|
-
|
45
37
|
def to_json
|
46
38
|
PactBroker::Api::Decorators::LabelDecorator.new(label).to_json(decorator_options)
|
47
39
|
end
|
@@ -53,14 +53,6 @@ module PactBroker
|
|
53
53
|
!!pact
|
54
54
|
end
|
55
55
|
|
56
|
-
def resource_object
|
57
|
-
pact
|
58
|
-
end
|
59
|
-
|
60
|
-
def policy_resource
|
61
|
-
pact
|
62
|
-
end
|
63
|
-
|
64
56
|
def from_json
|
65
57
|
response_code = pact ? 200 : 201
|
66
58
|
|
@@ -96,6 +88,10 @@ module PactBroker
|
|
96
88
|
true
|
97
89
|
end
|
98
90
|
|
91
|
+
def policy_name
|
92
|
+
:'pacts::pact'
|
93
|
+
end
|
94
|
+
|
99
95
|
private
|
100
96
|
|
101
97
|
def pact
|
@@ -31,6 +31,10 @@ module PactBroker
|
|
31
31
|
@pact_params ||= PactBroker::Pacts::PactParams.from_path_info identifier_from_path
|
32
32
|
end
|
33
33
|
|
34
|
+
def policy_name
|
35
|
+
:'pacts::pact'
|
36
|
+
end
|
37
|
+
|
34
38
|
def comparison_pact_params
|
35
39
|
if identifier_from_path[:comparison_consumer_version_number] || identifier_from_path[:comparison_pact_version_sha]
|
36
40
|
comparison_identifier_from_path = identifier_from_path.merge(
|
@@ -21,10 +21,14 @@ module PactBroker
|
|
21
21
|
Decorators::TriggeredWebhooksDecorator.new(triggered_webhooks).to_json(decorator_options(resource_title: resource_title))
|
22
22
|
end
|
23
23
|
|
24
|
+
def policy_name
|
25
|
+
:'webhooks::webhooks'
|
26
|
+
end
|
27
|
+
|
24
28
|
private
|
25
29
|
|
26
30
|
def triggered_webhooks
|
27
|
-
webhook_service.find_triggered_webhooks_for_pact(pact)
|
31
|
+
@webhooks ||= webhook_service.find_triggered_webhooks_for_pact(pact)
|
28
32
|
end
|
29
33
|
|
30
34
|
def resource_title
|
@@ -23,13 +23,17 @@ module PactBroker
|
|
23
23
|
end
|
24
24
|
|
25
25
|
def pacts
|
26
|
-
pact_service.find_all_pact_versions_between consumer_name, :and => provider_name
|
26
|
+
@pacts ||= pact_service.find_all_pact_versions_between consumer_name, :and => provider_name
|
27
27
|
end
|
28
28
|
|
29
29
|
def delete_resource
|
30
30
|
pact_service.delete_all_pact_publications_between(consumer_name, and: provider_name)
|
31
31
|
true
|
32
32
|
end
|
33
|
+
|
34
|
+
def policy_name
|
35
|
+
:'pacts::pacts'
|
36
|
+
end
|
33
37
|
end
|
34
38
|
end
|
35
39
|
end
|
@@ -59,10 +59,14 @@ module PactBroker
|
|
59
59
|
Decorators::WebhooksDecorator.new(webhooks).to_json(user_options: decorator_context(resource_title: 'Pact webhooks'))
|
60
60
|
end
|
61
61
|
|
62
|
+
def policy_name
|
63
|
+
:'webhooks::webhooks'
|
64
|
+
end
|
65
|
+
|
62
66
|
private
|
63
67
|
|
64
68
|
def webhooks
|
65
|
-
webhook_service.find_by_consumer_and_provider consumer, provider
|
69
|
+
@webhooks ||= webhook_service.find_by_consumer_and_provider consumer, provider
|
66
70
|
end
|
67
71
|
|
68
72
|
def webhook
|
@@ -22,6 +22,10 @@ module PactBroker
|
|
22
22
|
decorator_for(latest_triggered_webhooks).to_json(user_options: decorator_context(identifier_from_path))
|
23
23
|
end
|
24
24
|
|
25
|
+
def policy_name
|
26
|
+
:'webhooks::webhooks'
|
27
|
+
end
|
28
|
+
|
25
29
|
private
|
26
30
|
|
27
31
|
def latest_triggered_webhooks
|
@@ -33,7 +37,7 @@ module PactBroker
|
|
33
37
|
end
|
34
38
|
|
35
39
|
def webhooks
|
36
|
-
webhook_service.find_by_consumer_and_provider(consumer, provider)
|
40
|
+
@webhooks ||= webhook_service.find_by_consumer_and_provider(consumer, provider)
|
37
41
|
end
|
38
42
|
|
39
43
|
def decorator_for latest_triggered_webhooks
|
@@ -40,15 +40,7 @@ module PactBroker
|
|
40
40
|
end
|
41
41
|
|
42
42
|
def resource_exists?
|
43
|
-
!!
|
44
|
-
end
|
45
|
-
|
46
|
-
def resource_object
|
47
|
-
pacticipant
|
48
|
-
end
|
49
|
-
|
50
|
-
def policy_resource
|
51
|
-
pacticipant
|
43
|
+
!!pacticipant
|
52
44
|
end
|
53
45
|
|
54
46
|
def delete_resource
|
@@ -59,6 +51,10 @@ module PactBroker
|
|
59
51
|
def to_json
|
60
52
|
PactBroker::Api::Decorators::PacticipantDecorator.new(pacticipant).to_json(decorator_options)
|
61
53
|
end
|
54
|
+
|
55
|
+
def policy_name
|
56
|
+
:'pacticipants::pacticipant'
|
57
|
+
end
|
62
58
|
end
|
63
59
|
end
|
64
60
|
end
|
@@ -17,15 +17,7 @@ module PactBroker
|
|
17
17
|
end
|
18
18
|
|
19
19
|
def resource_exists?
|
20
|
-
!!
|
21
|
-
end
|
22
|
-
|
23
|
-
def resource_object
|
24
|
-
pact
|
25
|
-
end
|
26
|
-
|
27
|
-
def policy_resource
|
28
|
-
pact
|
20
|
+
!!pact
|
29
21
|
end
|
30
22
|
|
31
23
|
def to_json
|
@@ -40,6 +32,9 @@ module PactBroker
|
|
40
32
|
@pact_params ||= PactBroker::Pacts::PactParams.from_request request, path_info
|
41
33
|
end
|
42
34
|
|
35
|
+
def policy_name
|
36
|
+
:'pacts::pact'
|
37
|
+
end
|
43
38
|
end
|
44
39
|
end
|
45
40
|
end
|
@@ -4,9 +4,7 @@ require 'pact_broker/api/decorators/relationships_csv_decorator'
|
|
4
4
|
module PactBroker
|
5
5
|
module Api
|
6
6
|
module Resources
|
7
|
-
|
8
7
|
class Relationships < BaseResource
|
9
|
-
|
10
8
|
def content_types_provided
|
11
9
|
[["text/csv", :to_csv]]
|
12
10
|
end
|
@@ -22,6 +20,10 @@ module PactBroker
|
|
22
20
|
def pacts
|
23
21
|
pact_service.find_latest_pacts
|
24
22
|
end
|
23
|
+
|
24
|
+
def policy_name
|
25
|
+
:'integrations::integrations'
|
26
|
+
end
|
25
27
|
end
|
26
28
|
end
|
27
29
|
end
|
@@ -27,11 +27,7 @@ module PactBroker
|
|
27
27
|
end
|
28
28
|
|
29
29
|
def resource_exists?
|
30
|
-
!!
|
31
|
-
end
|
32
|
-
|
33
|
-
def resource_object
|
34
|
-
tag
|
30
|
+
!!tag
|
35
31
|
end
|
36
32
|
|
37
33
|
def to_json
|
@@ -46,6 +42,10 @@ module PactBroker
|
|
46
42
|
tag_service.delete identifier_from_path
|
47
43
|
true
|
48
44
|
end
|
45
|
+
|
46
|
+
def policy_name
|
47
|
+
:'tags::tag'
|
48
|
+
end
|
49
49
|
end
|
50
50
|
end
|
51
51
|
|
@@ -6,7 +6,6 @@ module PactBroker
|
|
6
6
|
module Api
|
7
7
|
module Resources
|
8
8
|
class TaggedPactVersions < BaseResource
|
9
|
-
|
10
9
|
def content_types_provided
|
11
10
|
[["application/hal+json", :to_json]]
|
12
11
|
end
|
@@ -29,7 +28,11 @@ module PactBroker
|
|
29
28
|
end
|
30
29
|
|
31
30
|
def pacts
|
32
|
-
pact_service.find_all_pact_versions_between consumer_name, and: provider_name, tag: identifier_from_path[:tag]
|
31
|
+
@pacts ||= pact_service.find_all_pact_versions_between consumer_name, and: provider_name, tag: identifier_from_path[:tag]
|
32
|
+
end
|
33
|
+
|
34
|
+
def policy_name
|
35
|
+
:'pact::pacts'
|
33
36
|
end
|
34
37
|
end
|
35
38
|
end
|
@@ -16,11 +16,7 @@ module PactBroker
|
|
16
16
|
end
|
17
17
|
|
18
18
|
def resource_exists?
|
19
|
-
!!
|
20
|
-
end
|
21
|
-
|
22
|
-
def resource_object
|
23
|
-
triggered_webhook
|
19
|
+
!!triggered_webhook
|
24
20
|
end
|
25
21
|
|
26
22
|
def to_text
|
@@ -28,6 +24,12 @@ module PactBroker
|
|
28
24
|
triggered_webhook.webhook_executions.collect(&:logs).join("\n")
|
29
25
|
end
|
30
26
|
|
27
|
+
def policy_name
|
28
|
+
:'webhook::webhook'
|
29
|
+
end
|
30
|
+
|
31
|
+
private
|
32
|
+
|
31
33
|
def triggered_webhook
|
32
34
|
@triggered_webhook ||= begin
|
33
35
|
criteria = { webhook_uuid: identifier_from_path[:uuid], trigger_uuid: identifier_from_path[:trigger_uuid] }
|
@@ -28,14 +28,10 @@ module PactBroker
|
|
28
28
|
set_json_error_message("To see all the verifications for a pact, use the Matrix page")
|
29
29
|
false
|
30
30
|
else
|
31
|
-
!!
|
31
|
+
!!verification
|
32
32
|
end
|
33
33
|
end
|
34
34
|
|
35
|
-
def resource_object
|
36
|
-
verification
|
37
|
-
end
|
38
|
-
|
39
35
|
def to_json
|
40
36
|
decorator_for(verification).to_json(decorator_options)
|
41
37
|
end
|
@@ -49,6 +45,10 @@ module PactBroker
|
|
49
45
|
true
|
50
46
|
end
|
51
47
|
|
48
|
+
def policy_name
|
49
|
+
:'verifications::verification'
|
50
|
+
end
|
51
|
+
|
52
52
|
private
|
53
53
|
|
54
54
|
def verification
|
@@ -14,33 +14,27 @@ module PactBroker
|
|
14
14
|
end
|
15
15
|
|
16
16
|
def resource_exists?
|
17
|
-
!!
|
17
|
+
!!verification
|
18
18
|
end
|
19
19
|
|
20
|
-
def
|
21
|
-
|
20
|
+
def to_json
|
21
|
+
Decorators::TriggeredWebhooksDecorator.new(triggered_webhooks).to_json(decorator_options(resource_title: resource_title))
|
22
22
|
end
|
23
23
|
|
24
|
-
def
|
25
|
-
|
24
|
+
def policy_name
|
25
|
+
:'webhooks::triggered_webhooks'
|
26
26
|
end
|
27
27
|
|
28
28
|
private
|
29
29
|
|
30
30
|
def triggered_webhooks
|
31
|
-
webhook_service.find_triggered_webhooks_for_verification(verification)
|
31
|
+
@triggered_webhooks ||= webhook_service.find_triggered_webhooks_for_verification(verification)
|
32
32
|
end
|
33
33
|
|
34
34
|
def resource_title
|
35
35
|
"Webhooks triggered by the publication of verification result #{verification.number}"
|
36
36
|
end
|
37
37
|
|
38
|
-
def decorator_options
|
39
|
-
{
|
40
|
-
user_options: decorator_context.merge(resource_title: resource_title)
|
41
|
-
}
|
42
|
-
end
|
43
|
-
|
44
38
|
def verification
|
45
39
|
@verification ||= verification_service.find(identifier_from_path)
|
46
40
|
end
|
@@ -28,11 +28,7 @@ module PactBroker
|
|
28
28
|
end
|
29
29
|
|
30
30
|
def resource_exists?
|
31
|
-
!!
|
32
|
-
end
|
33
|
-
|
34
|
-
def resource_object
|
35
|
-
pact
|
31
|
+
!!pact
|
36
32
|
end
|
37
33
|
|
38
34
|
def malformed_request?
|
@@ -57,6 +53,10 @@ module PactBroker
|
|
57
53
|
true
|
58
54
|
end
|
59
55
|
|
56
|
+
def policy_name
|
57
|
+
:'verifications::verifications'
|
58
|
+
end
|
59
|
+
|
60
60
|
private
|
61
61
|
|
62
62
|
def pact
|
@@ -16,11 +16,7 @@ module PactBroker
|
|
16
16
|
end
|
17
17
|
|
18
18
|
def resource_exists?
|
19
|
-
!!
|
20
|
-
end
|
21
|
-
|
22
|
-
def resource_object
|
23
|
-
version
|
19
|
+
!!version
|
24
20
|
end
|
25
21
|
|
26
22
|
def to_json
|
@@ -32,6 +28,10 @@ module PactBroker
|
|
32
28
|
true
|
33
29
|
end
|
34
30
|
|
31
|
+
def policy_name
|
32
|
+
:'versions::version'
|
33
|
+
end
|
34
|
+
|
35
35
|
private
|
36
36
|
|
37
37
|
def version
|
@@ -6,7 +6,6 @@ module PactBroker
|
|
6
6
|
module Api
|
7
7
|
module Resources
|
8
8
|
class Versions < BaseResource
|
9
|
-
|
10
9
|
def content_types_provided
|
11
10
|
[["application/hal+json", :to_json]]
|
12
11
|
end
|
@@ -24,7 +23,11 @@ module PactBroker
|
|
24
23
|
end
|
25
24
|
|
26
25
|
def versions
|
27
|
-
pacticipant_service.find_all_pacticipant_versions_in_reverse_order pacticipant_name
|
26
|
+
@versions ||= pacticipant_service.find_all_pacticipant_versions_in_reverse_order pacticipant_name
|
27
|
+
end
|
28
|
+
|
29
|
+
def policy_name
|
30
|
+
:'versions::versions'
|
28
31
|
end
|
29
32
|
end
|
30
33
|
end
|
@@ -50,10 +50,14 @@ module PactBroker
|
|
50
50
|
Decorators::WebhooksDecorator.new(webhooks).to_json(decorator_options(resource_title: 'Pact webhooks'))
|
51
51
|
end
|
52
52
|
|
53
|
+
def policy_name
|
54
|
+
:'webhooks::webhooks'
|
55
|
+
end
|
56
|
+
|
53
57
|
private
|
54
58
|
|
55
59
|
def webhooks
|
56
|
-
webhook_service.find_by_consumer_and_provider
|
60
|
+
webhook_service.find_by_consumer_and_provider(consumer, provider)
|
57
61
|
end
|
58
62
|
|
59
63
|
def webhook
|
data/lib/pact_broker/version.rb
CHANGED
@@ -133,23 +133,29 @@ module PactBroker
|
|
133
133
|
.select { |klass| klass < DefaultBaseResource }
|
134
134
|
.select { |klass| !klass.name.end_with?("BaseResource") }
|
135
135
|
|
136
|
-
ALL_RESOURCES.each do |
|
137
|
-
describe
|
136
|
+
ALL_RESOURCES.each do | resource_class |
|
137
|
+
describe resource_class do
|
138
138
|
let(:request) { double('request', uri: URI("http://example.org")).as_null_object }
|
139
139
|
let(:response) { double('response') }
|
140
|
+
let(:resource) { resource_class.new(request, response) }
|
140
141
|
|
141
142
|
it "includes OPTIONS in the list of allowed_methods" do
|
142
|
-
expect(resource.
|
143
|
+
expect(resource.allowed_methods).to include "OPTIONS"
|
143
144
|
end
|
144
145
|
|
145
146
|
it "calls super in its constructor" do
|
146
147
|
expect(PactBroker.configuration.before_resource).to receive(:call)
|
147
|
-
resource
|
148
|
+
resource
|
148
149
|
end
|
149
150
|
|
150
151
|
it "calls super in finish_request" do
|
151
152
|
expect(PactBroker.configuration.after_resource).to receive(:call)
|
152
|
-
resource.
|
153
|
+
resource.finish_request
|
154
|
+
end
|
155
|
+
|
156
|
+
it "has a policy_name method" do
|
157
|
+
expect(resource).to respond_to(:policy_name)
|
158
|
+
puts resource.policy_name
|
153
159
|
end
|
154
160
|
end
|
155
161
|
end
|
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.60.
|
4
|
+
version: 2.60.1
|
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: 2020-09-
|
13
|
+
date: 2020-09-09 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: httparty
|