pact_broker 2.60.0 → 2.60.1
Sign up to get free protection for your applications and to get access to all the features.
- 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
|