pact_broker 2.60.1 → 2.61.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/CHANGELOG.md +7 -0
- data/lib/pact_broker/api/contracts/verifiable_pacts_query_schema.rb +37 -0
- data/lib/pact_broker/api/decorators/verifiable_pact_decorator.rb +5 -5
- data/lib/pact_broker/api/resources/all_webhooks.rb +1 -1
- data/lib/pact_broker/api/resources/provider_pacts_for_verification.rb +14 -7
- data/lib/pact_broker/api/resources/tagged_pact_versions.rb +1 -1
- data/lib/pact_broker/api/resources/triggered_webhook_logs.rb +1 -1
- data/lib/pact_broker/app.rb +1 -1
- data/lib/pact_broker/badges/service.rb +1 -1
- data/lib/pact_broker/certificates/service.rb +2 -2
- data/lib/pact_broker/pacts/build_verifiable_pact_notices.rb +7 -4
- data/lib/pact_broker/version.rb +1 -1
- data/lib/pact_broker/webhooks/service.rb +1 -1
- data/script/seed.rb +39 -17
- data/spec/features/get_provider_pacts_for_verification_spec.rb +26 -0
- data/spec/lib/pact_broker/api/contracts/verifiable_pacts_query_schema_spec.rb +97 -0
- data/spec/lib/pact_broker/api/resources/default_base_resource_spec.rb +0 -1
- data/spec/lib/pact_broker/api/resources/provider_pacts_for_verification_spec.rb +37 -7
- data/spec/lib/pact_broker/badges/service_spec.rb +1 -1
- data/spec/lib/pact_broker/certificates/service_spec.rb +3 -3
- data/spec/lib/pact_broker/webhooks/service_spec.rb +2 -2
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3495dd128672a4f4e614b7c60d93734cb3eee3799863af054963c503172d86f2
|
4
|
+
data.tar.gz: be415648babf90774ef011a0485835f386632768fb95b5a1f125ea9bddea2492
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: aabedcd424d01dfa172424f99feac69d71ce2c55fe97f5c6b25dc1e29247168c14f0aa0d56c144c353a9444cd1cce99e14f7b677161f609ca829d00fdd2cf72c
|
7
|
+
data.tar.gz: a18db48c05cb2f3ae9ebc48b18673d45b4bafe19574633fef2d0ae6c21c2242a7b5cd80dab359eeccedb7044dcb1c2895b8290065fd4e7c7db5ba9c6686fefc4
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,10 @@
|
|
1
|
+
<a name="v2.61.0"></a>
|
2
|
+
### v2.61.0 (2020-09-12)
|
3
|
+
|
4
|
+
#### Features
|
5
|
+
|
6
|
+
* add back support for GET requests to the 'pacts for verification' API with a deprecation notice in the response ([8f45cc9f](/../../commit/8f45cc9f))
|
7
|
+
|
1
8
|
<a name="v2.60.1"></a>
|
2
9
|
### v2.60.1 (2020-09-10)
|
3
10
|
|
@@ -0,0 +1,37 @@
|
|
1
|
+
require 'dry-validation'
|
2
|
+
require 'pact_broker/api/contracts/dry_validation_workarounds'
|
3
|
+
require 'pact_broker/api/contracts/dry_validation_predicates'
|
4
|
+
|
5
|
+
module PactBroker
|
6
|
+
module Api
|
7
|
+
module Contracts
|
8
|
+
class VerifiablePactsQuerySchema
|
9
|
+
extend DryValidationWorkarounds
|
10
|
+
using PactBroker::HashRefinements
|
11
|
+
|
12
|
+
SCHEMA = Dry::Validation.Schema do
|
13
|
+
configure do
|
14
|
+
predicates(DryValidationPredicates)
|
15
|
+
config.messages_file = File.expand_path("../../../locale/en.yml", __FILE__)
|
16
|
+
end
|
17
|
+
optional(:provider_version_tags).maybe(:array?)
|
18
|
+
optional(:consumer_version_selectors).each do
|
19
|
+
schema do
|
20
|
+
required(:tag).filled(:str?)
|
21
|
+
optional(:latest).filled(included_in?: ["true", "false"])
|
22
|
+
optional(:fallback_tag).filled(:str?)
|
23
|
+
optional(:consumer).filled(:str?, :not_blank?)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
optional(:include_pending_status).filled(included_in?: ["true", "false"])
|
27
|
+
optional(:include_wip_pacts_since).filled(:date?)
|
28
|
+
end
|
29
|
+
|
30
|
+
def self.call(params)
|
31
|
+
select_first_message(flatten_indexed_messages(SCHEMA.call(params&.symbolize_keys).messages(full: true)))
|
32
|
+
end
|
33
|
+
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
@@ -14,14 +14,14 @@ module PactBroker
|
|
14
14
|
|
15
15
|
property :pending,
|
16
16
|
if: ->(context) { context[:options][:user_options][:include_pending_status] }
|
17
|
-
property :wip,
|
18
|
-
|
19
|
-
property :notices,
|
20
|
-
|
17
|
+
property :wip,
|
18
|
+
if: -> (context) { context[:represented].wip }
|
19
|
+
property :notices,
|
20
|
+
getter: -> (context) { context[:decorator].notices(context[:options][:user_options]) }
|
21
21
|
|
22
22
|
def notices(user_options)
|
23
23
|
pact_url = pact_version_url(represented, user_options[:base_url])
|
24
|
-
PactBroker::Pacts::BuildVerifiablePactNotices.call(represented, pact_url,
|
24
|
+
PactBroker::Pacts::BuildVerifiablePactNotices.call(represented, pact_url, user_options)
|
25
25
|
end
|
26
26
|
end
|
27
27
|
|
@@ -1,5 +1,6 @@
|
|
1
1
|
require 'pact_broker/api/resources/provider_pacts'
|
2
2
|
require 'pact_broker/api/decorators/verifiable_pacts_decorator'
|
3
|
+
require 'pact_broker/api/contracts/verifiable_pacts_query_schema'
|
3
4
|
require 'pact_broker/api/decorators/verifiable_pacts_query_decorator'
|
4
5
|
require 'pact_broker/api/contracts/verifiable_pacts_json_query_schema'
|
5
6
|
require 'pact_broker/hash_refinements'
|
@@ -11,7 +12,7 @@ module PactBroker
|
|
11
12
|
using PactBroker::HashRefinements
|
12
13
|
|
13
14
|
def allowed_methods
|
14
|
-
["POST", "OPTIONS"]
|
15
|
+
["GET", "POST", "OPTIONS"]
|
15
16
|
end
|
16
17
|
|
17
18
|
def content_types_accepted
|
@@ -51,11 +52,21 @@ module PactBroker
|
|
51
52
|
end
|
52
53
|
|
53
54
|
def to_json
|
54
|
-
PactBroker::Api::Decorators::VerifiablePactsDecorator.new(pacts).to_json(
|
55
|
+
PactBroker::Api::Decorators::VerifiablePactsDecorator.new(pacts).to_json(
|
56
|
+
decorator_options(
|
57
|
+
include_pending_status: parsed_query_params.include_pending_status,
|
58
|
+
title: "Pacts to be verified by provider #{provider_name}",
|
59
|
+
deprecated: request.get?
|
60
|
+
)
|
61
|
+
)
|
55
62
|
end
|
56
63
|
|
57
64
|
def query_schema
|
58
|
-
|
65
|
+
if request.get?
|
66
|
+
PactBroker::Api::Contracts::VerifiablePactsQuerySchema
|
67
|
+
else
|
68
|
+
PactBroker::Api::Contracts::VerifiablePactsJSONQuerySchema
|
69
|
+
end
|
59
70
|
end
|
60
71
|
|
61
72
|
def parsed_query_params
|
@@ -71,10 +82,6 @@ module PactBroker
|
|
71
82
|
end
|
72
83
|
end
|
73
84
|
end
|
74
|
-
|
75
|
-
def to_json_options
|
76
|
-
super.deep_merge(user_options: { include_pending_status: parsed_query_params.include_pending_status })
|
77
|
-
end
|
78
85
|
end
|
79
86
|
end
|
80
87
|
end
|
data/lib/pact_broker/app.rb
CHANGED
@@ -227,7 +227,7 @@ module PactBroker
|
|
227
227
|
|
228
228
|
def configure_sucker_punch
|
229
229
|
SuckerPunch.exception_handler = -> (ex, klass, args) do
|
230
|
-
PactBroker.
|
230
|
+
PactBroker.logger.warn("Unhandled Suckerpunch error for #{klass}.perform(#{args.inspect})", ex)
|
231
231
|
end
|
232
232
|
end
|
233
233
|
|
@@ -100,7 +100,7 @@ module PactBroker
|
|
100
100
|
logger.warn "Timeout retrieving badge from #{uri} #{e.class} - #{e.message}"
|
101
101
|
nil
|
102
102
|
rescue StandardError => e
|
103
|
-
|
103
|
+
logger.warn("Error retrieving badge from #{uri}", e)
|
104
104
|
nil
|
105
105
|
end
|
106
106
|
end
|
@@ -18,7 +18,7 @@ module PactBroker
|
|
18
18
|
logger.debug("Loading certificate #{certificate.subject} in to cert store")
|
19
19
|
cert_store.add_cert(certificate)
|
20
20
|
rescue StandardError => e
|
21
|
-
|
21
|
+
logger.warn("Error adding certificate object #{certificate.to_s} to store", e)
|
22
22
|
end
|
23
23
|
end
|
24
24
|
cert_store
|
@@ -31,7 +31,7 @@ module PactBroker
|
|
31
31
|
begin
|
32
32
|
OpenSSL::X509::Certificate.new(c)
|
33
33
|
rescue StandardError => e
|
34
|
-
|
34
|
+
logger.warn("Error creating certificate object from certificate #{certificate.uuid} '#{certificate.description}'", e)
|
35
35
|
nil
|
36
36
|
end
|
37
37
|
end
|
@@ -7,10 +7,13 @@ module PactBroker
|
|
7
7
|
def self.call(verifiable_pact, pact_url, options)
|
8
8
|
messages = VerifiablePactMessages.new(verifiable_pact, pact_url)
|
9
9
|
|
10
|
-
notices = [
|
11
|
-
|
12
|
-
|
13
|
-
|
10
|
+
notices = []
|
11
|
+
|
12
|
+
if options[:deprecated]
|
13
|
+
append_notice(notices, 'before_verification', 'WARNING - this version of the Pact library uses a beta version of the API which will be removed in the future. Please upgrade your Pact library. See https://docs.pact.io/pact_broker/advanced_topics/provider_verification_results/#pacts-for-verification for minimum required versions.')
|
14
|
+
end
|
15
|
+
|
16
|
+
append_notice(notices, 'before_verification', messages.inclusion_reason)
|
14
17
|
|
15
18
|
if options[:include_pending_status]
|
16
19
|
append_notice(notices, 'before_verification', messages.pending_reason)
|
data/lib/pact_broker/version.rb
CHANGED
@@ -143,7 +143,7 @@ module PactBroker
|
|
143
143
|
# Delay slightly to make sure the request transaction has finished before we execute the webhook
|
144
144
|
Job.perform_in(5, job_data)
|
145
145
|
rescue StandardError => e
|
146
|
-
|
146
|
+
logger.warn("Error scheduling webhook execution for webhook with uuid #{webhook.uuid}", e)
|
147
147
|
end
|
148
148
|
end
|
149
149
|
end
|
data/script/seed.rb
CHANGED
@@ -46,24 +46,46 @@ webhook_body = {
|
|
46
46
|
|
47
47
|
PactBroker.configuration.base_equality_only_on_content_that_affects_verification_results = false
|
48
48
|
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
49
|
+
json_content = <<-HEREDOC
|
50
|
+
{
|
51
|
+
"consumer": {
|
52
|
+
"name": "Foo"
|
53
|
+
},
|
54
|
+
"provider": {
|
55
|
+
"name": "Bar"
|
56
|
+
},
|
57
|
+
"interactions": [
|
58
|
+
{
|
59
|
+
"description": "a retrieve thing request",
|
60
|
+
"request": {
|
61
|
+
"method": "get",
|
62
|
+
"path": "/thing"
|
63
|
+
},
|
64
|
+
"response": {
|
65
|
+
"status": 200,
|
66
|
+
"headers": {
|
67
|
+
"Content-Type": "application/json"
|
68
|
+
},
|
69
|
+
"body": {
|
70
|
+
"name": "Thing 1"
|
71
|
+
}
|
72
|
+
}
|
73
|
+
}
|
74
|
+
],
|
75
|
+
"metadata": {
|
76
|
+
"pactSpecification": {
|
77
|
+
"version": "2.0.0"
|
78
|
+
}
|
79
|
+
}
|
80
|
+
}
|
81
|
+
HEREDOC
|
66
82
|
|
83
|
+
TestDataBuilder.new
|
84
|
+
.create_pact_with_hierarchy("Foo", "1", "Bar", json_content)
|
85
|
+
.create_consumer_version_tag("master")
|
86
|
+
.create_verification(provider_version: "1", tag_name: "master")
|
87
|
+
.create_pact_with_hierarchy("Foo", "2", "Bar", json_content.gsub("200", "201"))
|
88
|
+
.create_consumer_version_tag("feat/x")
|
67
89
|
|
68
90
|
# .create_certificate(path: 'spec/fixtures/certificates/self-signed.badssl.com.pem')
|
69
91
|
# .create_consumer("Bethtest")
|
@@ -24,6 +24,28 @@ describe "Get provider pacts for verification" do
|
|
24
24
|
|
25
25
|
let(:path) { "/pacts/provider/Provider/for-verification" }
|
26
26
|
|
27
|
+
context "when using GET" do
|
28
|
+
it "returns a 200 HAL JSON response" do
|
29
|
+
expect(subject).to be_a_hal_json_success_response
|
30
|
+
end
|
31
|
+
|
32
|
+
it "returns a list of links to the pacts" do
|
33
|
+
expect(pacts.size).to eq 1
|
34
|
+
end
|
35
|
+
|
36
|
+
it "returns a deprecation notice" do
|
37
|
+
expect(last_response_body[:_embedded][:pacts].first[:verificationProperties][:notices].first[:text]).to start_with("WARNING")
|
38
|
+
end
|
39
|
+
|
40
|
+
context "when the provider does not exist" do
|
41
|
+
let(:path) { "/pacts/provider/ProviderThatDoesNotExist/for-verification" }
|
42
|
+
|
43
|
+
it "returns a 404 response" do
|
44
|
+
expect(subject).to be_a_404_response
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
27
49
|
context "when using POST" do
|
28
50
|
let(:request_body) do
|
29
51
|
{
|
@@ -44,6 +66,10 @@ describe "Get provider pacts for verification" do
|
|
44
66
|
expect(pacts.size).to eq 1
|
45
67
|
end
|
46
68
|
|
69
|
+
it "does not include a deprecation notice" do
|
70
|
+
expect(last_response_body[:_embedded][:pacts].first[:verificationProperties][:notices].first[:text]).to_not start_with("WARNING")
|
71
|
+
end
|
72
|
+
|
47
73
|
context "when the provider does not exist" do
|
48
74
|
let(:path) { "/pacts/provider/ProviderThatDoesNotExist/for-verification" }
|
49
75
|
|
@@ -0,0 +1,97 @@
|
|
1
|
+
require 'pact_broker/api/contracts/verifiable_pacts_query_schema'
|
2
|
+
|
3
|
+
module PactBroker
|
4
|
+
module Api
|
5
|
+
module Contracts
|
6
|
+
describe VerifiablePactsQuerySchema do
|
7
|
+
let(:params) do
|
8
|
+
{
|
9
|
+
provider_version_tags: provider_version_tags,
|
10
|
+
consumer_version_selectors: consumer_version_selectors
|
11
|
+
}
|
12
|
+
end
|
13
|
+
|
14
|
+
let(:provider_version_tags) { %w[master] }
|
15
|
+
|
16
|
+
let(:consumer_version_selectors) do
|
17
|
+
[{
|
18
|
+
tag: "master",
|
19
|
+
latest: "true"
|
20
|
+
}]
|
21
|
+
end
|
22
|
+
|
23
|
+
subject { VerifiablePactsQuerySchema.(params) }
|
24
|
+
|
25
|
+
context "when the params are valid" do
|
26
|
+
it "has no errors" do
|
27
|
+
expect(subject).to eq({})
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
context "when provider_version_tags is not an array" do
|
32
|
+
let(:provider_version_tags) { "foo" }
|
33
|
+
|
34
|
+
it { is_expected.to have_key(:provider_version_tags) }
|
35
|
+
end
|
36
|
+
|
37
|
+
context "when the consumer_version_selector is missing a tag" do
|
38
|
+
let(:consumer_version_selectors) do
|
39
|
+
[{}]
|
40
|
+
end
|
41
|
+
|
42
|
+
it "flattens the messages" do
|
43
|
+
expect(subject[:consumer_version_selectors].first).to eq "tag is missing at index 0"
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
context "when the consumer_version_selectors is missing the latest" do
|
48
|
+
let(:consumer_version_selectors) do
|
49
|
+
[{
|
50
|
+
tag: "master"
|
51
|
+
}]
|
52
|
+
end
|
53
|
+
|
54
|
+
it { is_expected.to be_empty }
|
55
|
+
end
|
56
|
+
|
57
|
+
context "when include_wip_pacts_since key exists" do
|
58
|
+
let(:include_wip_pacts_since) { nil }
|
59
|
+
let(:params) do
|
60
|
+
{
|
61
|
+
include_wip_pacts_since: include_wip_pacts_since
|
62
|
+
}
|
63
|
+
end
|
64
|
+
|
65
|
+
context "when it is nil" do
|
66
|
+
it { is_expected.to have_key(:include_wip_pacts_since) }
|
67
|
+
end
|
68
|
+
|
69
|
+
context "when it is not a date" do
|
70
|
+
let(:include_wip_pacts_since) { "foo" }
|
71
|
+
|
72
|
+
it { is_expected.to have_key(:include_wip_pacts_since) }
|
73
|
+
end
|
74
|
+
|
75
|
+
context "when it is a valid date" do
|
76
|
+
let(:include_wip_pacts_since) { "2013-02-13T20:04:45.000+11:00" }
|
77
|
+
|
78
|
+
it { is_expected.to_not have_key(:include_wip_pacts_since) }
|
79
|
+
end
|
80
|
+
end
|
81
|
+
|
82
|
+
context "when a blank consumer name is specified" do
|
83
|
+
let(:consumer_version_selectors) do
|
84
|
+
[{
|
85
|
+
tag: "feat-x",
|
86
|
+
consumer: ""
|
87
|
+
}]
|
88
|
+
end
|
89
|
+
|
90
|
+
it "has an error" do
|
91
|
+
expect(subject[:consumer_version_selectors].first).to include "blank"
|
92
|
+
end
|
93
|
+
end
|
94
|
+
end
|
95
|
+
end
|
96
|
+
end
|
97
|
+
end
|
@@ -23,7 +23,35 @@ module PactBroker
|
|
23
23
|
}
|
24
24
|
end
|
25
25
|
|
26
|
-
subject {
|
26
|
+
subject { get(path, query) }
|
27
|
+
|
28
|
+
describe "GET" do
|
29
|
+
it "finds the pacts for verification by the provider" do
|
30
|
+
# Naughty not mocking out the query parsing...
|
31
|
+
expect(PactBroker::Pacts::Service).to receive(:find_for_verification).with(
|
32
|
+
"Bar",
|
33
|
+
["master"],
|
34
|
+
PactBroker::Pacts::Selectors.new([PactBroker::Pacts::Selector.latest_for_tag("dev")]),
|
35
|
+
{
|
36
|
+
include_wip_pacts_since: DateTime.parse('2018-01-01'),
|
37
|
+
include_pending_status: true
|
38
|
+
}
|
39
|
+
)
|
40
|
+
subject
|
41
|
+
end
|
42
|
+
|
43
|
+
context "when there are validation errors" do
|
44
|
+
let(:query) do
|
45
|
+
{
|
46
|
+
provider_version_tags: true,
|
47
|
+
}
|
48
|
+
end
|
49
|
+
|
50
|
+
it "returns the keys with the right case" do
|
51
|
+
expect(JSON.parse(subject.body)['errors']).to have_key('provider_version_tags')
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
27
55
|
|
28
56
|
describe "POST" do
|
29
57
|
let(:request_body) do
|
@@ -42,6 +70,8 @@ module PactBroker
|
|
42
70
|
}
|
43
71
|
end
|
44
72
|
|
73
|
+
subject { post(path, request_body.to_json, request_headers) }
|
74
|
+
|
45
75
|
it "finds the pacts for verification by the provider" do
|
46
76
|
# Naughty not mocking out the query parsing...
|
47
77
|
expect(PactBroker::Pacts::Service).to receive(:find_for_verification).with(
|
@@ -67,14 +97,14 @@ module PactBroker
|
|
67
97
|
expect(JSON.parse(subject.body)['errors']).to have_key('providerVersionTags')
|
68
98
|
end
|
69
99
|
end
|
100
|
+
end
|
70
101
|
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
end
|
76
|
-
subject
|
102
|
+
it "uses the correct options for the decorator" do
|
103
|
+
expect(decorator).to receive(:to_json) do | options |
|
104
|
+
expect(options[:user_options][:title]).to eq "Pacts to be verified by provider Bar"
|
105
|
+
expect(options[:user_options][:include_pending_status]).to eq true
|
77
106
|
end
|
107
|
+
subject
|
78
108
|
end
|
79
109
|
end
|
80
110
|
end
|
@@ -286,7 +286,7 @@ module PactBroker
|
|
286
286
|
end
|
287
287
|
|
288
288
|
it "logs the error" do
|
289
|
-
expect(logger).to receive(:
|
289
|
+
expect(logger).to receive(:warn).with(/Error retrieving badge from.*shield.*/, RuntimeError)
|
290
290
|
subject
|
291
291
|
end
|
292
292
|
|
@@ -30,8 +30,8 @@ module PactBroker
|
|
30
30
|
it "logs the error" do
|
31
31
|
subject
|
32
32
|
|
33
|
-
expect(logger).to have_received(:
|
34
|
-
.with(/Error adding certificate
|
33
|
+
expect(logger).to have_received(:warn)
|
34
|
+
.with(/Error adding certificate/, StandardError).at_least(1).times
|
35
35
|
end
|
36
36
|
|
37
37
|
it "returns an OpenSSL::X509::Store" do
|
@@ -66,7 +66,7 @@ module PactBroker
|
|
66
66
|
let(:certificate_content) { File.read('spec/fixtures/certificate-invalid.pem') }
|
67
67
|
|
68
68
|
it "logs an error" do
|
69
|
-
expect(logger).to receive(:
|
69
|
+
expect(logger).to receive(:warn).with(/Error.*1234/, StandardError)
|
70
70
|
subject
|
71
71
|
end
|
72
72
|
|
@@ -233,8 +233,8 @@ module PactBroker
|
|
233
233
|
end
|
234
234
|
|
235
235
|
it "logs the error" do
|
236
|
-
allow(Service.logger).to receive(:
|
237
|
-
expect(Service.logger).to receive(:
|
236
|
+
allow(Service.logger).to receive(:warn)
|
237
|
+
expect(Service.logger).to receive(:warn).with(/Error scheduling/, StandardError)
|
238
238
|
subject
|
239
239
|
end
|
240
240
|
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.
|
4
|
+
version: 2.61.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: 2020-09-
|
13
|
+
date: 2020-09-17 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: httparty
|
@@ -581,6 +581,7 @@ files:
|
|
581
581
|
- lib/pact_broker/api/contracts/put_pact_params_contract.rb
|
582
582
|
- lib/pact_broker/api/contracts/request_validations.rb
|
583
583
|
- lib/pact_broker/api/contracts/verifiable_pacts_json_query_schema.rb
|
584
|
+
- lib/pact_broker/api/contracts/verifiable_pacts_query_schema.rb
|
584
585
|
- lib/pact_broker/api/contracts/verification_contract.rb
|
585
586
|
- lib/pact_broker/api/contracts/webhook_contract.rb
|
586
587
|
- lib/pact_broker/api/decorators.rb
|
@@ -1120,6 +1121,7 @@ files:
|
|
1120
1121
|
- spec/lib/pact/doc/markdown/index_renderer_spec.rb
|
1121
1122
|
- spec/lib/pact_broker/api/contracts/put_pact_params_contract_spec.rb
|
1122
1123
|
- spec/lib/pact_broker/api/contracts/verifiable_pacts_json_query_schema_spec.rb
|
1124
|
+
- spec/lib/pact_broker/api/contracts/verifiable_pacts_query_schema_spec.rb
|
1123
1125
|
- spec/lib/pact_broker/api/contracts/verification_contract_spec.rb
|
1124
1126
|
- spec/lib/pact_broker/api/contracts/webhook_contract_spec.rb
|
1125
1127
|
- spec/lib/pact_broker/api/decorators/dashboard_decorator_spec.rb
|
@@ -1505,6 +1507,7 @@ test_files:
|
|
1505
1507
|
- spec/lib/pact/doc/markdown/index_renderer_spec.rb
|
1506
1508
|
- spec/lib/pact_broker/api/contracts/put_pact_params_contract_spec.rb
|
1507
1509
|
- spec/lib/pact_broker/api/contracts/verifiable_pacts_json_query_schema_spec.rb
|
1510
|
+
- spec/lib/pact_broker/api/contracts/verifiable_pacts_query_schema_spec.rb
|
1508
1511
|
- spec/lib/pact_broker/api/contracts/verification_contract_spec.rb
|
1509
1512
|
- spec/lib/pact_broker/api/contracts/webhook_contract_spec.rb
|
1510
1513
|
- spec/lib/pact_broker/api/decorators/dashboard_decorator_spec.rb
|