pact 1.45.0 → 1.49.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 +51 -0
- data/lib/pact/cli/run_pact_verification.rb +3 -1
- data/lib/pact/hal/http_client.rb +2 -0
- data/lib/pact/pact_broker/fetch_pact_uris_for_verification.rb +12 -5
- data/lib/pact/pact_broker/notices.rb +34 -0
- data/lib/pact/provider/pact_source.rb +2 -2
- data/lib/pact/provider/pact_spec_runner.rb +7 -9
- data/lib/pact/provider/rspec/json_formatter.rb +18 -6
- data/lib/pact/provider/rspec.rb +11 -5
- data/lib/pact/provider/verification_results/publish.rb +3 -0
- data/lib/pact/provider/verification_results/publish_all.rb +14 -1
- data/lib/pact/provider/verification_results/verification_result.rb +1 -4
- data/lib/pact/version.rb +1 -1
- data/pact.gemspec +7 -8
- metadata +35 -48
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: d23bb31e12922ffa6334faa9105770afc780d97310296dd48f120613e12cee63
|
|
4
|
+
data.tar.gz: 89178f9552aabbf8099e65f3a10864303f53370b7ea76f841be6401d5667a66d
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 0a1f2a19a89eacda8db9a85b08d538821bf8ff25986ea6e8d5df4b84ea798bd41dd9136b6a0f894b3a513bf538055b734d7335d585279653822c81e3bfb49fb0
|
|
7
|
+
data.tar.gz: e9b962314733660dd23127eab1076abda1391000de6d9f0f647fbdb5353cc37c79c6c308be6e04c16d9b1e5e341a38ea531f6e6fa7174852edbcb5f4c9dfc46e
|
data/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,54 @@
|
|
|
1
|
+
<a name="v1.49.0"></a>
|
|
2
|
+
### v1.49.0 (2020-02-18)
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
#### Features
|
|
6
|
+
|
|
7
|
+
* use environment variables PACT_BROKER_USERNAME and PACT_BROKER_PASSWORD when verifying a pact by URL, if the environment variables are present ([308f25d](/../../commit/308f25d))
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
<a name="v1.48.0"></a>
|
|
11
|
+
### v1.48.0 (2020-02-13)
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
#### Features
|
|
15
|
+
|
|
16
|
+
* use certificates from SSL_CERT_FILE and SSL_CERT_DIR environment variables in HTTP connections ([164912b](/../../commit/164912b))
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
<a name="v1.47.0"></a>
|
|
20
|
+
### v1.47.0 (2020-02-08)
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
#### Features
|
|
24
|
+
|
|
25
|
+
* update json formatter output ([376e47a](/../../commit/376e47a))
|
|
26
|
+
* add pact metadata to json formatter ([6c6ddb8](/../../commit/6c6ddb8))
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
<a name="v1.46.1"></a>
|
|
30
|
+
### v1.46.1 (2020-01-22)
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
#### Bug Fixes
|
|
34
|
+
|
|
35
|
+
* send output messages to the correct stream when using the XML formatter ([e768a33](/../../commit/e768a33))
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
<a name="v1.46.0"></a>
|
|
39
|
+
### v1.46.0 (2020-01-22)
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
#### Features
|
|
43
|
+
|
|
44
|
+
* expose full notice object in JSON output ([bdc2711](/../../commit/bdc2711))
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
#### Bug Fixes
|
|
48
|
+
|
|
49
|
+
* remove accidentally committed verbose: true ([498518c](/../../commit/498518c))
|
|
50
|
+
|
|
51
|
+
|
|
1
52
|
<a name="v1.45.0"></a>
|
|
2
53
|
### v1.45.0 (2020-01-21)
|
|
3
54
|
|
|
@@ -56,9 +56,11 @@ module Pact
|
|
|
56
56
|
|
|
57
57
|
def run_with_pact_url_string
|
|
58
58
|
pact_repository_uri_options = {}
|
|
59
|
+
pact_repository_uri_options[:username] = ENV['PACT_BROKER_USERNAME'] if ENV['PACT_BROKER_USERNAME']
|
|
60
|
+
pact_repository_uri_options[:password] = ENV['PACT_BROKER_PASSWORD'] if ENV['PACT_BROKER_PASSWORD']
|
|
61
|
+
pact_repository_uri_options[:token] = ENV['PACT_BROKER_TOKEN']
|
|
59
62
|
pact_repository_uri_options[:username] = options[:pact_broker_username] if options[:pact_broker_username]
|
|
60
63
|
pact_repository_uri_options[:password] = options[:pact_broker_password] if options[:pact_broker_password]
|
|
61
|
-
pact_repository_uri_options[:token] = ENV['PACT_BROKER_TOKEN']
|
|
62
64
|
pact_uri = ::Pact::Provider::PactURI.new(options[:pact_uri], pact_repository_uri_options)
|
|
63
65
|
Pact::Provider::PactSpecRunner.new([pact_uri], pact_spec_options).run
|
|
64
66
|
end
|
data/lib/pact/hal/http_client.rb
CHANGED
|
@@ -50,6 +50,8 @@ module Pact
|
|
|
50
50
|
http = Net::HTTP.new(uri.host, uri.port, :ENV)
|
|
51
51
|
http.set_debug_output(output_stream) if verbose
|
|
52
52
|
http.use_ssl = (uri.scheme == 'https')
|
|
53
|
+
http.ca_file = ENV['SSL_CERT_FILE'] if ENV['SSL_CERT_FILE'] && ENV['SSL_CERT_FILE'] != ''
|
|
54
|
+
http.ca_path = ENV['SSL_CERT_DIR'] if ENV['SSL_CERT_DIR'] && ENV['SSL_CERT_DIR'] != ''
|
|
53
55
|
http.start do |http|
|
|
54
56
|
http.request request
|
|
55
57
|
end
|
|
@@ -3,6 +3,7 @@ require 'pact/hal/http_client'
|
|
|
3
3
|
require 'pact/provider/pact_uri'
|
|
4
4
|
require 'pact/errors'
|
|
5
5
|
require 'pact/pact_broker/fetch_pacts'
|
|
6
|
+
require 'pact/pact_broker/notices'
|
|
6
7
|
|
|
7
8
|
module Pact
|
|
8
9
|
module PactBroker
|
|
@@ -51,7 +52,8 @@ module Pact
|
|
|
51
52
|
pacts_for_verification_entity.response.body[EMBEDDED][PACTS].collect do | pact |
|
|
52
53
|
metadata = {
|
|
53
54
|
pending: pact["verificationProperties"]["pending"],
|
|
54
|
-
notices: extract_notices(pact)
|
|
55
|
+
notices: extract_notices(pact),
|
|
56
|
+
short_description: pact["shortDescription"]
|
|
55
57
|
}
|
|
56
58
|
Pact::Provider::PactURI.new(pact[LINKS][SELF][HREF], http_client_options, metadata)
|
|
57
59
|
end
|
|
@@ -69,24 +71,29 @@ module Pact
|
|
|
69
71
|
q["includePendingStatus"] = true if options[:include_pending_status]
|
|
70
72
|
q["consumerVersionSelectors"] = consumer_version_selectors if consumer_version_selectors.any?
|
|
71
73
|
q["providerVersionTags"] = provider_version_tags if provider_version_tags.any?
|
|
74
|
+
q["includeWipPactsSince"] = options[:include_wip_pacts_since] if options[:include_wip_pacts_since]
|
|
72
75
|
q
|
|
73
76
|
end
|
|
74
77
|
|
|
75
78
|
def extract_notices(pact)
|
|
76
|
-
(pact["verificationProperties"]["notices"] || []).collect{ |notice| notice
|
|
79
|
+
Notices.new((pact["verificationProperties"]["notices"] || []).collect{ |notice| symbolize_keys(notice) })
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
def symbolize_keys(hash)
|
|
83
|
+
hash.each_with_object({}){ |(k,v), h| h[k.to_sym] = v }
|
|
77
84
|
end
|
|
78
85
|
|
|
79
86
|
def log_message
|
|
80
87
|
latest = consumer_version_selectors.any? ? "" : "latest "
|
|
81
|
-
message = "INFO: Fetching
|
|
88
|
+
message = "INFO: Fetching pacts for #{provider} from #{broker_base_url} with the selection criteria: "
|
|
82
89
|
if consumer_version_selectors.any?
|
|
83
90
|
desc = consumer_version_selectors.collect do |selector|
|
|
84
|
-
all_or_latest = selector[:all] ? "all" : "latest"
|
|
91
|
+
all_or_latest = selector[:all] ? "all for tag" : "latest for tag"
|
|
85
92
|
# TODO support fallback
|
|
86
93
|
name = selector[:fallback] ? "#{selector[:tag]} (or #{selector[:fallback]} if not found)" : selector[:tag]
|
|
87
94
|
"#{all_or_latest} #{name}"
|
|
88
95
|
end.join(", ")
|
|
89
|
-
message << "
|
|
96
|
+
message << ": #{desc}"
|
|
90
97
|
end
|
|
91
98
|
Pact.configuration.output_stream.puts message
|
|
92
99
|
end
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
module Pact
|
|
2
|
+
module PactBroker
|
|
3
|
+
class Notices < Array
|
|
4
|
+
def before_verification_notices
|
|
5
|
+
select { | notice | notice[:when].nil? || notice[:when].start_with?('before_verification') }
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
def before_verification_notices_text
|
|
9
|
+
before_verification_notices.collect{ | notice | notice[:text] }
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def after_verification_notices(success, published)
|
|
13
|
+
select { | notice | notice[:when] == "after_verification:success_#{success}_published_#{published}" || notice[:when] == "after_verification" }
|
|
14
|
+
.collect do | notice |
|
|
15
|
+
notice.merge(:when => simplify_notice_when(notice[:when]))
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def after_verification_notices_text(success, published)
|
|
20
|
+
after_verification_notices(success, published).collect{ | notice | notice[:text] }
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def all_notices(success, published)
|
|
24
|
+
before_verification_notices + after_verification_notices(success, published)
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
private
|
|
28
|
+
|
|
29
|
+
def simplify_notice_when(when_key)
|
|
30
|
+
when_key.split(":").first
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
@@ -6,7 +6,7 @@ module Pact
|
|
|
6
6
|
module Provider
|
|
7
7
|
class PactSource
|
|
8
8
|
|
|
9
|
-
attr_reader :uri
|
|
9
|
+
attr_reader :uri # PactURI class
|
|
10
10
|
|
|
11
11
|
def initialize uri
|
|
12
12
|
@uri = uri
|
|
@@ -23,7 +23,7 @@ module Pact
|
|
|
23
23
|
def hal_entity
|
|
24
24
|
http_client_keys = [:username, :password, :token]
|
|
25
25
|
http_client_options = uri.options.reject{ |k, _| !http_client_keys.include?(k) }
|
|
26
|
-
http_client = Pact::Hal::HttpClient.new(http_client_options
|
|
26
|
+
http_client = Pact::Hal::HttpClient.new(http_client_options)
|
|
27
27
|
Pact::Hal::Entity.new(uri, pact_hash, http_client)
|
|
28
28
|
end
|
|
29
29
|
end
|
|
@@ -122,7 +122,7 @@ module Pact
|
|
|
122
122
|
ignore_failures: options[:ignore_failures],
|
|
123
123
|
request_customizer: options[:request_customizer]
|
|
124
124
|
}
|
|
125
|
-
honour_pactfile pact_source
|
|
125
|
+
honour_pactfile pact_source, ordered_pact_json(pact_source.pact_json), spec_options
|
|
126
126
|
end
|
|
127
127
|
end
|
|
128
128
|
|
|
@@ -133,14 +133,12 @@ module Pact
|
|
|
133
133
|
|
|
134
134
|
output = options[:out] || Pact.configuration.output_stream
|
|
135
135
|
if options[:format]
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
::RSpec.configuration.add_formatter options[:format], output
|
|
143
|
-
end
|
|
136
|
+
formatter = options[:format] == 'json' ? Pact::Provider::RSpec::JsonFormatter : options[:format]
|
|
137
|
+
# Send formatted output to $stdout for parsing, unless a file is specified
|
|
138
|
+
output = options[:out] || $stdout
|
|
139
|
+
::RSpec.configuration.add_formatter formatter, output
|
|
140
|
+
# Don't want to mess up the JSON parsing with INFO and DEBUG messages to stdout, so send it to stderr
|
|
141
|
+
Pact.configuration.output_stream = Pact.configuration.error_stream if !options[:out]
|
|
144
142
|
else
|
|
145
143
|
# Sometimes the formatter set in the cli.rb get set with an output of StringIO.. don't know why
|
|
146
144
|
formatter_class = Pact::RSpec.formatter_class
|
|
@@ -8,19 +8,21 @@ module Pact
|
|
|
8
8
|
|
|
9
9
|
def dump_summary(summary)
|
|
10
10
|
super(create_custom_summary(summary))
|
|
11
|
-
output_hash[:summary][:
|
|
11
|
+
output_hash[:summary][:pacts] = pacts(summary)
|
|
12
12
|
end
|
|
13
13
|
|
|
14
14
|
def format_example(example)
|
|
15
15
|
{
|
|
16
16
|
:id => example.id,
|
|
17
|
+
:interaction_index => example.metadata[:pact_interaction].index,
|
|
17
18
|
:description => example.description,
|
|
18
19
|
:full_description => example.full_description,
|
|
19
20
|
:status => calculate_status(example),
|
|
20
21
|
:file_path => example.metadata[:file_path],
|
|
21
22
|
:line_number => example.metadata[:line_number],
|
|
22
23
|
:run_time => example.execution_result.run_time,
|
|
23
|
-
:mismatches => extract_differences(example)
|
|
24
|
+
:mismatches => extract_differences(example),
|
|
25
|
+
:pact_url => example.metadata[:pact_uri].uri
|
|
24
26
|
}
|
|
25
27
|
end
|
|
26
28
|
|
|
@@ -54,12 +56,22 @@ module Pact
|
|
|
54
56
|
# If the JSON formatter is used by someone else and they have multiple pacts, all the notices
|
|
55
57
|
# for the pacts will be mushed together in one collection, so it will be hard to know which notice
|
|
56
58
|
# belongs to which pact.
|
|
57
|
-
def
|
|
58
|
-
|
|
59
|
+
def pacts(summary)
|
|
60
|
+
unique_pact_metadatas(summary).collect do | example_metadata |
|
|
61
|
+
pact_uri = example_metadata[:pact_uri]
|
|
62
|
+
notices = (pact_uri.metadata[:notices] && pact_uri.metadata[:notices].before_verification_notices) || []
|
|
63
|
+
{
|
|
64
|
+
notices: notices,
|
|
65
|
+
url: pact_uri.uri,
|
|
66
|
+
consumer_name: example_metadata[:pact_consumer_contract].consumer.name,
|
|
67
|
+
provider_name: example_metadata[:pact_consumer_contract].provider.name,
|
|
68
|
+
short_description: pact_uri.metadata[:short_description]
|
|
69
|
+
}
|
|
70
|
+
end
|
|
59
71
|
end
|
|
60
72
|
|
|
61
|
-
def
|
|
62
|
-
summary.examples.collect(&:metadata).
|
|
73
|
+
def unique_pact_metadatas(summary)
|
|
74
|
+
summary.examples.collect(&:metadata).group_by{ | metadata | metadata[:pact_uri].uri }.values.collect(&:first)
|
|
63
75
|
end
|
|
64
76
|
|
|
65
77
|
def create_custom_summary(summary)
|
data/lib/pact/provider/rspec.rb
CHANGED
|
@@ -21,16 +21,20 @@ module Pact
|
|
|
21
21
|
|
|
22
22
|
include ::RSpec::Core::DSL
|
|
23
23
|
|
|
24
|
-
def honour_pactfile
|
|
24
|
+
def honour_pactfile pact_source, pact_json, options
|
|
25
|
+
pact_uri = pact_source.uri
|
|
25
26
|
Pact.configuration.output_stream.puts "INFO: Reading pact at #{pact_uri}"
|
|
26
|
-
|
|
27
|
-
|
|
27
|
+
if pact_uri.metadata[:notices]
|
|
28
|
+
pact_uri.metadata[:notices].before_verification_notices_text.each do | text |
|
|
29
|
+
Pact.configuration.output_stream.puts("DEBUG: #{text}")
|
|
30
|
+
end
|
|
28
31
|
end
|
|
32
|
+
|
|
29
33
|
Pact.configuration.output_stream.puts "DEBUG: Filtering interactions by: #{options[:criteria]}" if options[:criteria] && options[:criteria].any?
|
|
30
34
|
consumer_contract = Pact::ConsumerContract.from_json(pact_json)
|
|
31
35
|
suffix = pact_uri.metadata[:pending] ? " [PENDING]": ""
|
|
32
36
|
::RSpec.describe "Verifying a pact between #{consumer_contract.consumer.name} and #{consumer_contract.provider.name}#{suffix}", pactfile_uri: pact_uri do
|
|
33
|
-
honour_consumer_contract consumer_contract, options.merge(pact_json: pact_json, pact_uri: pact_uri)
|
|
37
|
+
honour_consumer_contract consumer_contract, options.merge(pact_json: pact_json, pact_uri: pact_uri, pact_source: pact_source, consumer_contract: consumer_contract)
|
|
34
38
|
end
|
|
35
39
|
end
|
|
36
40
|
|
|
@@ -78,7 +82,9 @@ module Pact
|
|
|
78
82
|
pact_interaction: interaction,
|
|
79
83
|
pact_interaction_example_description: interaction_description_for_rerun_command(interaction),
|
|
80
84
|
pact_uri: options[:pact_uri],
|
|
81
|
-
|
|
85
|
+
pact_source: options[:pact_source],
|
|
86
|
+
pact_ignore_failures: options[:pact_uri].metadata[:pending] || options[:ignore_failures],
|
|
87
|
+
pact_consumer_contract: options[:consumer_contract]
|
|
82
88
|
}
|
|
83
89
|
|
|
84
90
|
describe description_for(interaction), metadata do
|
|
@@ -17,7 +17,12 @@ module Pact
|
|
|
17
17
|
|
|
18
18
|
def call
|
|
19
19
|
verification_results.collect do | (pact_source, verification_result) |
|
|
20
|
-
|
|
20
|
+
published = false
|
|
21
|
+
begin
|
|
22
|
+
published = Publish.call(pact_source, verification_result)
|
|
23
|
+
ensure
|
|
24
|
+
print_after_verification_notices(pact_source, verification_result, published)
|
|
25
|
+
end
|
|
21
26
|
end
|
|
22
27
|
end
|
|
23
28
|
|
|
@@ -29,6 +34,14 @@ module Pact
|
|
|
29
34
|
end
|
|
30
35
|
end
|
|
31
36
|
|
|
37
|
+
def print_after_verification_notices(pact_source, verification_result, published)
|
|
38
|
+
if pact_source.uri.metadata[:notices]
|
|
39
|
+
pact_source.uri.metadata[:notices].after_verification_notices_text(verification_result.success, published).each do | text |
|
|
40
|
+
Pact.configuration.output_stream.puts "DEBUG: #{text}"
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
|
|
32
45
|
attr_reader :pact_sources, :test_results_hash
|
|
33
46
|
end
|
|
34
47
|
end
|
|
@@ -4,6 +4,7 @@ module Pact
|
|
|
4
4
|
module Provider
|
|
5
5
|
module VerificationResults
|
|
6
6
|
class VerificationResult
|
|
7
|
+
attr_reader :success, :provider_application_version, :test_results_hash
|
|
7
8
|
|
|
8
9
|
def initialize publishable, success, provider_application_version, test_results_hash
|
|
9
10
|
@publishable = publishable
|
|
@@ -31,10 +32,6 @@ module Pact
|
|
|
31
32
|
def to_s
|
|
32
33
|
"[success: #{success}, providerApplicationVersion: #{provider_application_version}]"
|
|
33
34
|
end
|
|
34
|
-
|
|
35
|
-
private
|
|
36
|
-
|
|
37
|
-
attr_reader :success, :provider_application_version, :test_results_hash
|
|
38
35
|
end
|
|
39
36
|
end
|
|
40
37
|
end
|
data/lib/pact/version.rb
CHANGED
data/pact.gemspec
CHANGED
|
@@ -26,24 +26,23 @@ Gem::Specification.new do |gem|
|
|
|
26
26
|
'documentation_uri' => 'https://github.com/pact-foundation/pact-ruby/blob/master/README.md'
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
-
gem.add_runtime_dependency 'rspec', '
|
|
29
|
+
gem.add_runtime_dependency 'rspec', '~> 3.0'
|
|
30
30
|
gem.add_runtime_dependency 'rack-test', '>= 0.6.3', '< 2.0.0'
|
|
31
|
-
gem.add_runtime_dependency 'thor'
|
|
32
|
-
gem.add_runtime_dependency 'webrick'
|
|
31
|
+
gem.add_runtime_dependency 'thor', '~> 0.20'
|
|
32
|
+
gem.add_runtime_dependency 'webrick', '~> 1.3'
|
|
33
33
|
gem.add_runtime_dependency 'term-ansicolor', '~> 1.0'
|
|
34
34
|
|
|
35
35
|
gem.add_runtime_dependency 'pact-support', '~> 1.9'
|
|
36
36
|
gem.add_runtime_dependency 'pact-mock_service', '~> 3.0', '>= 3.3.1'
|
|
37
37
|
|
|
38
|
-
gem.add_development_dependency 'rake', '~> 10.0
|
|
38
|
+
gem.add_development_dependency 'rake', '~> 10.0'
|
|
39
39
|
gem.add_development_dependency 'webmock', '~> 3.0'
|
|
40
|
-
gem.add_development_dependency 'pry-byebug'
|
|
41
40
|
gem.add_development_dependency 'fakefs', '0.5' # 0.6.0 blows up
|
|
42
41
|
gem.add_development_dependency 'hashie', '~> 2.0'
|
|
43
|
-
gem.add_development_dependency 'activesupport'
|
|
42
|
+
gem.add_development_dependency 'activesupport', '~> 5.2'
|
|
44
43
|
gem.add_development_dependency 'faraday', '~> 0.13'
|
|
45
|
-
gem.add_development_dependency 'appraisal', '~> 2.2'
|
|
46
44
|
gem.add_development_dependency 'conventional-changelog', '~> 1.3'
|
|
47
45
|
gem.add_development_dependency 'bump', '~> 0.5'
|
|
48
|
-
gem.add_development_dependency 'pact-message'
|
|
46
|
+
gem.add_development_dependency 'pact-message', '~> 0.6'
|
|
47
|
+
gem.add_development_dependency 'rspec-its', '~> 1.3'
|
|
49
48
|
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: pact
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.49.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- James Fraser
|
|
@@ -12,22 +12,22 @@ authors:
|
|
|
12
12
|
autorequire:
|
|
13
13
|
bindir: bin
|
|
14
14
|
cert_chain: []
|
|
15
|
-
date: 2020-
|
|
15
|
+
date: 2020-02-17 00:00:00.000000000 Z
|
|
16
16
|
dependencies:
|
|
17
17
|
- !ruby/object:Gem::Dependency
|
|
18
18
|
name: rspec
|
|
19
19
|
requirement: !ruby/object:Gem::Requirement
|
|
20
20
|
requirements:
|
|
21
|
-
- - "
|
|
21
|
+
- - "~>"
|
|
22
22
|
- !ruby/object:Gem::Version
|
|
23
|
-
version: '
|
|
23
|
+
version: '3.0'
|
|
24
24
|
type: :runtime
|
|
25
25
|
prerelease: false
|
|
26
26
|
version_requirements: !ruby/object:Gem::Requirement
|
|
27
27
|
requirements:
|
|
28
|
-
- - "
|
|
28
|
+
- - "~>"
|
|
29
29
|
- !ruby/object:Gem::Version
|
|
30
|
-
version: '
|
|
30
|
+
version: '3.0'
|
|
31
31
|
- !ruby/object:Gem::Dependency
|
|
32
32
|
name: rack-test
|
|
33
33
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -52,30 +52,30 @@ dependencies:
|
|
|
52
52
|
name: thor
|
|
53
53
|
requirement: !ruby/object:Gem::Requirement
|
|
54
54
|
requirements:
|
|
55
|
-
- - "
|
|
55
|
+
- - "~>"
|
|
56
56
|
- !ruby/object:Gem::Version
|
|
57
|
-
version: '0'
|
|
57
|
+
version: '0.20'
|
|
58
58
|
type: :runtime
|
|
59
59
|
prerelease: false
|
|
60
60
|
version_requirements: !ruby/object:Gem::Requirement
|
|
61
61
|
requirements:
|
|
62
|
-
- - "
|
|
62
|
+
- - "~>"
|
|
63
63
|
- !ruby/object:Gem::Version
|
|
64
|
-
version: '0'
|
|
64
|
+
version: '0.20'
|
|
65
65
|
- !ruby/object:Gem::Dependency
|
|
66
66
|
name: webrick
|
|
67
67
|
requirement: !ruby/object:Gem::Requirement
|
|
68
68
|
requirements:
|
|
69
|
-
- - "
|
|
69
|
+
- - "~>"
|
|
70
70
|
- !ruby/object:Gem::Version
|
|
71
|
-
version: '
|
|
71
|
+
version: '1.3'
|
|
72
72
|
type: :runtime
|
|
73
73
|
prerelease: false
|
|
74
74
|
version_requirements: !ruby/object:Gem::Requirement
|
|
75
75
|
requirements:
|
|
76
|
-
- - "
|
|
76
|
+
- - "~>"
|
|
77
77
|
- !ruby/object:Gem::Version
|
|
78
|
-
version: '
|
|
78
|
+
version: '1.3'
|
|
79
79
|
- !ruby/object:Gem::Dependency
|
|
80
80
|
name: term-ansicolor
|
|
81
81
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -130,14 +130,14 @@ dependencies:
|
|
|
130
130
|
requirements:
|
|
131
131
|
- - "~>"
|
|
132
132
|
- !ruby/object:Gem::Version
|
|
133
|
-
version: 10.0
|
|
133
|
+
version: '10.0'
|
|
134
134
|
type: :development
|
|
135
135
|
prerelease: false
|
|
136
136
|
version_requirements: !ruby/object:Gem::Requirement
|
|
137
137
|
requirements:
|
|
138
138
|
- - "~>"
|
|
139
139
|
- !ruby/object:Gem::Version
|
|
140
|
-
version: 10.0
|
|
140
|
+
version: '10.0'
|
|
141
141
|
- !ruby/object:Gem::Dependency
|
|
142
142
|
name: webmock
|
|
143
143
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -152,20 +152,6 @@ dependencies:
|
|
|
152
152
|
- - "~>"
|
|
153
153
|
- !ruby/object:Gem::Version
|
|
154
154
|
version: '3.0'
|
|
155
|
-
- !ruby/object:Gem::Dependency
|
|
156
|
-
name: pry-byebug
|
|
157
|
-
requirement: !ruby/object:Gem::Requirement
|
|
158
|
-
requirements:
|
|
159
|
-
- - ">="
|
|
160
|
-
- !ruby/object:Gem::Version
|
|
161
|
-
version: '0'
|
|
162
|
-
type: :development
|
|
163
|
-
prerelease: false
|
|
164
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
165
|
-
requirements:
|
|
166
|
-
- - ">="
|
|
167
|
-
- !ruby/object:Gem::Version
|
|
168
|
-
version: '0'
|
|
169
155
|
- !ruby/object:Gem::Dependency
|
|
170
156
|
name: fakefs
|
|
171
157
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -198,16 +184,16 @@ dependencies:
|
|
|
198
184
|
name: activesupport
|
|
199
185
|
requirement: !ruby/object:Gem::Requirement
|
|
200
186
|
requirements:
|
|
201
|
-
- - "
|
|
187
|
+
- - "~>"
|
|
202
188
|
- !ruby/object:Gem::Version
|
|
203
|
-
version: '
|
|
189
|
+
version: '5.2'
|
|
204
190
|
type: :development
|
|
205
191
|
prerelease: false
|
|
206
192
|
version_requirements: !ruby/object:Gem::Requirement
|
|
207
193
|
requirements:
|
|
208
|
-
- - "
|
|
194
|
+
- - "~>"
|
|
209
195
|
- !ruby/object:Gem::Version
|
|
210
|
-
version: '
|
|
196
|
+
version: '5.2'
|
|
211
197
|
- !ruby/object:Gem::Dependency
|
|
212
198
|
name: faraday
|
|
213
199
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -223,61 +209,61 @@ dependencies:
|
|
|
223
209
|
- !ruby/object:Gem::Version
|
|
224
210
|
version: '0.13'
|
|
225
211
|
- !ruby/object:Gem::Dependency
|
|
226
|
-
name:
|
|
212
|
+
name: conventional-changelog
|
|
227
213
|
requirement: !ruby/object:Gem::Requirement
|
|
228
214
|
requirements:
|
|
229
215
|
- - "~>"
|
|
230
216
|
- !ruby/object:Gem::Version
|
|
231
|
-
version: '
|
|
217
|
+
version: '1.3'
|
|
232
218
|
type: :development
|
|
233
219
|
prerelease: false
|
|
234
220
|
version_requirements: !ruby/object:Gem::Requirement
|
|
235
221
|
requirements:
|
|
236
222
|
- - "~>"
|
|
237
223
|
- !ruby/object:Gem::Version
|
|
238
|
-
version: '
|
|
224
|
+
version: '1.3'
|
|
239
225
|
- !ruby/object:Gem::Dependency
|
|
240
|
-
name:
|
|
226
|
+
name: bump
|
|
241
227
|
requirement: !ruby/object:Gem::Requirement
|
|
242
228
|
requirements:
|
|
243
229
|
- - "~>"
|
|
244
230
|
- !ruby/object:Gem::Version
|
|
245
|
-
version: '
|
|
231
|
+
version: '0.5'
|
|
246
232
|
type: :development
|
|
247
233
|
prerelease: false
|
|
248
234
|
version_requirements: !ruby/object:Gem::Requirement
|
|
249
235
|
requirements:
|
|
250
236
|
- - "~>"
|
|
251
237
|
- !ruby/object:Gem::Version
|
|
252
|
-
version: '
|
|
238
|
+
version: '0.5'
|
|
253
239
|
- !ruby/object:Gem::Dependency
|
|
254
|
-
name:
|
|
240
|
+
name: pact-message
|
|
255
241
|
requirement: !ruby/object:Gem::Requirement
|
|
256
242
|
requirements:
|
|
257
243
|
- - "~>"
|
|
258
244
|
- !ruby/object:Gem::Version
|
|
259
|
-
version: '0.
|
|
245
|
+
version: '0.6'
|
|
260
246
|
type: :development
|
|
261
247
|
prerelease: false
|
|
262
248
|
version_requirements: !ruby/object:Gem::Requirement
|
|
263
249
|
requirements:
|
|
264
250
|
- - "~>"
|
|
265
251
|
- !ruby/object:Gem::Version
|
|
266
|
-
version: '0.
|
|
252
|
+
version: '0.6'
|
|
267
253
|
- !ruby/object:Gem::Dependency
|
|
268
|
-
name:
|
|
254
|
+
name: rspec-its
|
|
269
255
|
requirement: !ruby/object:Gem::Requirement
|
|
270
256
|
requirements:
|
|
271
|
-
- - "
|
|
257
|
+
- - "~>"
|
|
272
258
|
- !ruby/object:Gem::Version
|
|
273
|
-
version: '
|
|
259
|
+
version: '1.3'
|
|
274
260
|
type: :development
|
|
275
261
|
prerelease: false
|
|
276
262
|
version_requirements: !ruby/object:Gem::Requirement
|
|
277
263
|
requirements:
|
|
278
|
-
- - "
|
|
264
|
+
- - "~>"
|
|
279
265
|
- !ruby/object:Gem::Version
|
|
280
|
-
version: '
|
|
266
|
+
version: '1.3'
|
|
281
267
|
description: Enables consumer driven contract testing, providing a mock service and
|
|
282
268
|
DSL for the consumer project, and interaction playback and verification for the
|
|
283
269
|
service provider project.
|
|
@@ -332,6 +318,7 @@ files:
|
|
|
332
318
|
- lib/pact/pact_broker.rb
|
|
333
319
|
- lib/pact/pact_broker/fetch_pact_uris_for_verification.rb
|
|
334
320
|
- lib/pact/pact_broker/fetch_pacts.rb
|
|
321
|
+
- lib/pact/pact_broker/notices.rb
|
|
335
322
|
- lib/pact/project_root.rb
|
|
336
323
|
- lib/pact/provider.rb
|
|
337
324
|
- lib/pact/provider/configuration.rb
|