pact 1.59.0 → 1.63.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 +39 -0
- data/lib/pact/hal/http_client.rb +16 -1
- data/lib/pact/hash_refinements.rb +17 -0
- data/lib/pact/pact_broker/fetch_pact_uris_for_verification.rb +7 -4
- data/lib/pact/pact_broker/pact_selection_description.rb +6 -0
- data/lib/pact/provider/configuration/message_provider_dsl.rb +1 -1
- data/lib/pact/provider/configuration/service_provider_config.rb +3 -2
- data/lib/pact/provider/configuration/service_provider_dsl.rb +7 -3
- data/lib/pact/provider/pact_spec_runner.rb +3 -0
- data/lib/pact/provider/pact_uri.rb +1 -1
- data/lib/pact/provider/state/provider_state.rb +5 -5
- data/lib/pact/provider/verification_results/create.rb +7 -1
- data/lib/pact/provider/verification_results/verification_result.rb +4 -2
- data/lib/pact/utils/metrics.rb +100 -0
- data/lib/pact/version.rb +1 -1
- data/pact.gemspec +4 -4
- metadata +30 -16
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3bbef2d45df174d528bf23ecd3c5b380196789c842d49b32dd7c49478aca0942
|
4
|
+
data.tar.gz: ef0bdd2ea78d03ab7db7eec95c5b5e293495ce5aab33d614daca1ffe4215229b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 30e6ab38f2b4475474af538a149ba504462a36438f9b2cd2a4ccf148c2081ee92c973b3bb0d61d07edf19389869e631b6bc7011d4a758b54f752baa341eec715
|
7
|
+
data.tar.gz: abc1767938dcc4e417b3d76798c742f7e4bccbd850cd19cd3034d9ad9e28502c063c5b3272ac75cfd98c008dd5e3786e7a8708fb3f8b3332bb933c6a6b8c1acb
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,42 @@
|
|
1
|
+
<a name="v1.63.0"></a>
|
2
|
+
### v1.63.0 (2022-09-28)
|
3
|
+
|
4
|
+
#### Features
|
5
|
+
|
6
|
+
* relax rack-test dependency to allow version 2 (#270) ([a619deb](/../../commit/a619deb))
|
7
|
+
* only print metrics warning once per thread ([91da38f](/../../commit/91da38f))
|
8
|
+
* provide configuration for build url to be published in verification results (#252) ([ce1c9bc](/../../commit/ce1c9bc))
|
9
|
+
|
10
|
+
#### Bug Fixes
|
11
|
+
|
12
|
+
* example/animal-service/Gemfile to reduce vulnerabilities (#263) ([8f3b732](/../../commit/8f3b732))
|
13
|
+
* Fixup ruby warnings (#262) ([3640593](/../../commit/3640593))
|
14
|
+
|
15
|
+
<a name="v1.62.0"></a>
|
16
|
+
### v1.62.0 (2022-02-21)
|
17
|
+
|
18
|
+
#### Features
|
19
|
+
|
20
|
+
* add telemetry (#256) ([4497ee9](/../../commit/4497ee9))
|
21
|
+
|
22
|
+
<a name="v1.61.0"></a>
|
23
|
+
### v1.61.0 (2021-12-16)
|
24
|
+
|
25
|
+
#### Features
|
26
|
+
|
27
|
+
* support description of matching_branch and matching_tag consumer version selectors ([8e8bb22](/../../commit/8e8bb22))
|
28
|
+
|
29
|
+
#### Bug Fixes
|
30
|
+
|
31
|
+
* pass through includePendingStatus to the 'pacts for verification' API when it is false ([f0e37a4](/../../commit/f0e37a4))
|
32
|
+
|
33
|
+
<a name="v1.60.0"></a>
|
34
|
+
### v1.60.0 (2021-10-01)
|
35
|
+
|
36
|
+
#### Features
|
37
|
+
|
38
|
+
* allow SSL verification to be disabled in the HAL client by setting the environment variable PACT_DISABLE_SSL_VERIFICATION=true ([ce07d32](/../../commit/ce07d32))
|
39
|
+
|
1
40
|
<a name="v1.59.0"></a>
|
2
41
|
### v1.59.0 (2021-09-07)
|
3
42
|
|
data/lib/pact/hal/http_client.rb
CHANGED
@@ -2,6 +2,7 @@ require 'pact/retry'
|
|
2
2
|
require 'pact/hal/authorization_header_redactor'
|
3
3
|
require 'net/http'
|
4
4
|
require 'rack'
|
5
|
+
require 'openssl'
|
5
6
|
|
6
7
|
module Pact
|
7
8
|
module Hal
|
@@ -48,10 +49,16 @@ module Pact
|
|
48
49
|
def perform_request request, uri
|
49
50
|
response = Retry.until_true do
|
50
51
|
http = Net::HTTP.new(uri.host, uri.port, :ENV)
|
51
|
-
http.set_debug_output(output_stream) if verbose
|
52
|
+
http.set_debug_output(output_stream) if verbose?
|
52
53
|
http.use_ssl = (uri.scheme == 'https')
|
53
54
|
http.ca_file = ENV['SSL_CERT_FILE'] if ENV['SSL_CERT_FILE'] && ENV['SSL_CERT_FILE'] != ''
|
54
55
|
http.ca_path = ENV['SSL_CERT_DIR'] if ENV['SSL_CERT_DIR'] && ENV['SSL_CERT_DIR'] != ''
|
56
|
+
if disable_ssl_verification?
|
57
|
+
if verbose?
|
58
|
+
Pact.configuration.output_stream.puts("SSL verification is disabled")
|
59
|
+
end
|
60
|
+
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
|
61
|
+
end
|
55
62
|
http.start do |http|
|
56
63
|
http.request request
|
57
64
|
end
|
@@ -63,6 +70,14 @@ module Pact
|
|
63
70
|
AuthorizationHeaderRedactor.new(Pact.configuration.output_stream)
|
64
71
|
end
|
65
72
|
|
73
|
+
def verbose?
|
74
|
+
verbose || ENV['VERBOSE'] == 'true'
|
75
|
+
end
|
76
|
+
|
77
|
+
def disable_ssl_verification?
|
78
|
+
ENV['PACT_DISABLE_SSL_VERIFICATION'] == 'true' || ENV['PACT_BROKER_DISABLE_SSL_VERIFICATION'] == 'true'
|
79
|
+
end
|
80
|
+
|
66
81
|
class Response < SimpleDelegator
|
67
82
|
def body
|
68
83
|
bod = raw_body
|
@@ -0,0 +1,17 @@
|
|
1
|
+
module Pact
|
2
|
+
module HashRefinements
|
3
|
+
refine Hash do
|
4
|
+
def compact
|
5
|
+
h = {}
|
6
|
+
each do |key, value|
|
7
|
+
h[key] = value unless value == nil
|
8
|
+
end
|
9
|
+
h
|
10
|
+
end unless Hash.method_defined? :compact
|
11
|
+
|
12
|
+
def compact!
|
13
|
+
reject! {|_key, value| value == nil}
|
14
|
+
end unless Hash.method_defined? :compact!
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -5,10 +5,13 @@ require 'pact/errors'
|
|
5
5
|
require 'pact/pact_broker/fetch_pacts'
|
6
6
|
require 'pact/pact_broker/notices'
|
7
7
|
require 'pact/pact_broker/pact_selection_description'
|
8
|
+
require "pact/hash_refinements"
|
8
9
|
|
9
10
|
module Pact
|
10
11
|
module PactBroker
|
11
12
|
class FetchPactURIsForVerification
|
13
|
+
using Pact::HashRefinements
|
14
|
+
|
12
15
|
include PactSelectionDescription
|
13
16
|
attr_reader :provider, :consumer_version_selectors, :provider_version_branch, :provider_version_tags, :broker_base_url, :http_client_options, :http_client, :options
|
14
17
|
|
@@ -74,12 +77,12 @@ module Pact
|
|
74
77
|
|
75
78
|
def query
|
76
79
|
q = {}
|
77
|
-
q["includePendingStatus"] =
|
80
|
+
q["includePendingStatus"] = options[:include_pending_status]
|
78
81
|
q["consumerVersionSelectors"] = consumer_version_selectors if consumer_version_selectors.any?
|
79
82
|
q["providerVersionTags"] = provider_version_tags if provider_version_tags.any?
|
80
|
-
q["providerVersionBranch"] = provider_version_branch
|
81
|
-
q["includeWipPactsSince"] = options[:include_wip_pacts_since]
|
82
|
-
q
|
83
|
+
q["providerVersionBranch"] = provider_version_branch
|
84
|
+
q["includeWipPactsSince"] = options[:include_wip_pacts_since]
|
85
|
+
q.compact
|
83
86
|
end
|
84
87
|
|
85
88
|
def extract_notices(pact)
|
@@ -39,6 +39,12 @@ module Pact
|
|
39
39
|
elsif selector[:environment]
|
40
40
|
desc = "currently in #{selector[:environment]}"
|
41
41
|
desc = "#{selector[:consumer]} #{desc}" if selector[:consumer]
|
42
|
+
elsif selector[:matchingBranch]
|
43
|
+
desc = "matching current branch"
|
44
|
+
desc = "#{desc} for #{selector[:consumer]}" if selector[:consumer]
|
45
|
+
elsif selector[:matchingTag]
|
46
|
+
desc = "matching tag"
|
47
|
+
desc = "#{desc} for #{selector[:consumer]}" if selector[:consumer]
|
42
48
|
else
|
43
49
|
desc = selector.to_s
|
44
50
|
end
|
@@ -4,14 +4,15 @@ module Pact
|
|
4
4
|
class ServiceProviderConfig
|
5
5
|
|
6
6
|
attr_accessor :application_version
|
7
|
-
attr_reader :branch
|
7
|
+
attr_reader :branch, :build_url
|
8
8
|
|
9
|
-
def initialize application_version, branch, tags, publish_verification_results, &app_block
|
9
|
+
def initialize application_version, branch, tags, publish_verification_results, build_url, &app_block
|
10
10
|
@application_version = application_version
|
11
11
|
@branch = branch
|
12
12
|
@tags = [*tags]
|
13
13
|
@publish_verification_results = publish_verification_results
|
14
14
|
@app_block = app_block
|
15
|
+
@build_url = build_url
|
15
16
|
end
|
16
17
|
|
17
18
|
def app
|
@@ -15,7 +15,7 @@ module Pact
|
|
15
15
|
|
16
16
|
extend Pact::DSL
|
17
17
|
|
18
|
-
attr_accessor :name, :app_block, :application_version, :branch, :tags, :publish_verification_results
|
18
|
+
attr_accessor :name, :app_block, :application_version, :branch, :tags, :publish_verification_results, :build_url
|
19
19
|
|
20
20
|
CONFIG_RU_APP = lambda {
|
21
21
|
unless File.exist? Pact.configuration.config_ru_path
|
@@ -48,6 +48,10 @@ module Pact
|
|
48
48
|
self.branch = branch
|
49
49
|
end
|
50
50
|
|
51
|
+
def build_url build_url
|
52
|
+
self.build_url = build_url
|
53
|
+
end
|
54
|
+
|
51
55
|
def publish_verification_results publish_verification_results
|
52
56
|
self.publish_verification_results = publish_verification_results
|
53
57
|
Pact::RSpec.with_rspec_2 do
|
@@ -60,7 +64,7 @@ module Pact
|
|
60
64
|
end
|
61
65
|
|
62
66
|
def honours_pacts_from_pact_broker &block
|
63
|
-
create_pact_verification_from_broker
|
67
|
+
create_pact_verification_from_broker(&block)
|
64
68
|
end
|
65
69
|
end
|
66
70
|
|
@@ -89,7 +93,7 @@ module Pact
|
|
89
93
|
end
|
90
94
|
|
91
95
|
def create_service_provider
|
92
|
-
Pact.configuration.provider = ServiceProviderConfig.new(application_version, branch, tags, publish_verification_results, &@app_block)
|
96
|
+
Pact.configuration.provider = ServiceProviderConfig.new(application_version, branch, tags, publish_verification_results, build_url, &@app_block)
|
93
97
|
end
|
94
98
|
end
|
95
99
|
end
|
@@ -12,6 +12,7 @@ require 'pact/provider/rspec/pact_broker_formatter'
|
|
12
12
|
require 'pact/provider/rspec/json_formatter'
|
13
13
|
require 'pact/provider/rspec'
|
14
14
|
require 'pact/provider/rspec/calculate_exit_code'
|
15
|
+
require 'pact/utils/metrics'
|
15
16
|
|
16
17
|
module Pact
|
17
18
|
module Provider
|
@@ -130,6 +131,8 @@ module Pact
|
|
130
131
|
ignore_failures: options[:ignore_failures],
|
131
132
|
request_customizer: options[:request_customizer]
|
132
133
|
}
|
134
|
+
Pact::Utils::Metrics.report_metric("Pacts verified", "ProviderTest", "Completed")
|
135
|
+
|
133
136
|
honour_pactfile pact_source, ordered_pact_json(pact_source.pact_json), spec_options
|
134
137
|
end
|
135
138
|
end
|
@@ -3,7 +3,7 @@ module Pact
|
|
3
3
|
class PactURI
|
4
4
|
attr_reader :uri, :options, :metadata
|
5
5
|
|
6
|
-
def initialize
|
6
|
+
def initialize(uri, options = nil, metadata = nil)
|
7
7
|
@uri = uri
|
8
8
|
@options = options || {}
|
9
9
|
@metadata = metadata || {} # make sure it's not nil if nil is passed in
|
@@ -12,11 +12,11 @@ module Pact
|
|
12
12
|
end
|
13
13
|
|
14
14
|
def set_up &block
|
15
|
-
ProviderStates.base_provider_state.register.register_set_up
|
15
|
+
ProviderStates.base_provider_state.register.register_set_up(&block)
|
16
16
|
end
|
17
17
|
|
18
18
|
def tear_down &block
|
19
|
-
ProviderStates.base_provider_state.register_tear_down
|
19
|
+
ProviderStates.base_provider_state.register_tear_down(&block)
|
20
20
|
end
|
21
21
|
|
22
22
|
def provider_states_for name, &block
|
@@ -60,7 +60,7 @@ module Pact
|
|
60
60
|
end
|
61
61
|
|
62
62
|
def self.namespaced_name name, options = {}
|
63
|
-
|
63
|
+
options[:for] ? "#{options[:for]}.#{name}" : name
|
64
64
|
end
|
65
65
|
end
|
66
66
|
|
@@ -81,11 +81,11 @@ module Pact
|
|
81
81
|
|
82
82
|
dsl do
|
83
83
|
def set_up &block
|
84
|
-
self.register_set_up
|
84
|
+
self.register_set_up(&block)
|
85
85
|
end
|
86
86
|
|
87
87
|
def tear_down &block
|
88
|
-
self.register_tear_down
|
88
|
+
self.register_tear_down(&block)
|
89
89
|
end
|
90
90
|
|
91
91
|
def no_op
|
@@ -14,7 +14,13 @@ module Pact
|
|
14
14
|
end
|
15
15
|
|
16
16
|
def call
|
17
|
-
VerificationResult.new(
|
17
|
+
VerificationResult.new(
|
18
|
+
publishable?,
|
19
|
+
!any_failures?,
|
20
|
+
Pact.configuration.provider.application_version,
|
21
|
+
test_results_hash_for_pact_uri,
|
22
|
+
Pact.configuration.provider.build_url
|
23
|
+
)
|
18
24
|
end
|
19
25
|
|
20
26
|
private
|
@@ -6,11 +6,12 @@ module Pact
|
|
6
6
|
class VerificationResult
|
7
7
|
attr_reader :success, :provider_application_version, :test_results_hash
|
8
8
|
|
9
|
-
def initialize publishable, success, provider_application_version, test_results_hash
|
9
|
+
def initialize publishable, success, provider_application_version, test_results_hash, build_url
|
10
10
|
@publishable = publishable
|
11
11
|
@success = success
|
12
12
|
@provider_application_version = provider_application_version
|
13
13
|
@test_results_hash = test_results_hash
|
14
|
+
@build_url = build_url
|
14
15
|
end
|
15
16
|
|
16
17
|
def publishable?
|
@@ -25,7 +26,8 @@ module Pact
|
|
25
26
|
{
|
26
27
|
success: success,
|
27
28
|
providerApplicationVersion: provider_application_version,
|
28
|
-
testResults: test_results_hash
|
29
|
+
testResults: test_results_hash,
|
30
|
+
buildUrl: @build_url
|
29
31
|
}.to_json(options)
|
30
32
|
end
|
31
33
|
|
@@ -0,0 +1,100 @@
|
|
1
|
+
require 'securerandom'
|
2
|
+
require 'digest'
|
3
|
+
require 'socket'
|
4
|
+
require 'pact/version'
|
5
|
+
require 'net/http'
|
6
|
+
|
7
|
+
module Pact
|
8
|
+
module Utils
|
9
|
+
class Metrics
|
10
|
+
|
11
|
+
def self.report_metric(event, category, action, value = 1)
|
12
|
+
do_once_per_thread(:pact_metrics_message_shown) do
|
13
|
+
if track_events?
|
14
|
+
Pact.configuration.output_stream.puts "pact WARN: Please note: we are tracking events anonymously to gather important usage statistics like Pact-Ruby version
|
15
|
+
and operating system. To disable tracking, set the 'PACT_DO_NOT_TRACK' environment
|
16
|
+
variable to 'true'."
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
in_thread do
|
21
|
+
begin
|
22
|
+
if track_events?
|
23
|
+
uri = URI('https://www.google-analytics.com/collect')
|
24
|
+
req = Net::HTTP::Post.new(uri)
|
25
|
+
req.set_form_data(create_tracking_event(event, category, action, value))
|
26
|
+
|
27
|
+
Net::HTTP.start(uri.hostname, uri.port, read_timeout:2, open_timeout:2, :use_ssl => true ) do |http|
|
28
|
+
http.request(req)
|
29
|
+
end
|
30
|
+
end
|
31
|
+
rescue StandardError => e
|
32
|
+
handle_error(e)
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
private
|
38
|
+
|
39
|
+
def self.handle_error e
|
40
|
+
if ENV['PACT_METRICS_DEBUG'] == 'true'
|
41
|
+
Pact.configuration.output_stream.puts("DEBUG: #{e.inspect}\n" + e.backtrace.join("\n"))
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
def self.in_thread
|
46
|
+
Thread.new do
|
47
|
+
yield
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
# not super safe to use the thread, but it's good enough for this usecase
|
52
|
+
def self.do_once_per_thread(key)
|
53
|
+
result = nil
|
54
|
+
if !Thread.current[key]
|
55
|
+
result = yield
|
56
|
+
end
|
57
|
+
Thread.current[key] = true
|
58
|
+
result
|
59
|
+
end
|
60
|
+
|
61
|
+
def self.create_tracking_event(event, category, action, value)
|
62
|
+
{
|
63
|
+
"v" => 1,
|
64
|
+
"t" => "event",
|
65
|
+
"tid" => "UA-117778936-1",
|
66
|
+
"cid" => calculate_cid,
|
67
|
+
"an" => "Pact Ruby",
|
68
|
+
"av" => Pact::VERSION,
|
69
|
+
"aid" => "pact-ruby",
|
70
|
+
"aip" => 1,
|
71
|
+
"ds" => ENV['PACT_EXECUTING_LANGUAGE'] ? "client" : "cli",
|
72
|
+
"cd2" => ENV['CI'] == "true" ? "CI" : "unknown",
|
73
|
+
"cd3" => RUBY_PLATFORM,
|
74
|
+
"cd6" => ENV['PACT_EXECUTING_LANGUAGE'] || "unknown",
|
75
|
+
"cd7" => ENV['PACT_EXECUTING_LANGUAGE_VERSION'],
|
76
|
+
"el" => event,
|
77
|
+
"ec" => category,
|
78
|
+
"ea" => action,
|
79
|
+
"ev" => value
|
80
|
+
}
|
81
|
+
end
|
82
|
+
|
83
|
+
def self.track_events?
|
84
|
+
ENV['PACT_DO_NOT_TRACK'] != 'true'
|
85
|
+
end
|
86
|
+
|
87
|
+
def self.calculate_cid
|
88
|
+
if RUBY_PLATFORM.include? "windows"
|
89
|
+
hostname = ENV['COMPUTERNAME']
|
90
|
+
else
|
91
|
+
hostname = ENV['HOSTNAME']
|
92
|
+
end
|
93
|
+
if !hostname
|
94
|
+
hostname = Socket.gethostname
|
95
|
+
end
|
96
|
+
Digest::MD5.hexdigest hostname || SecureRandom.urlsafe_base64(5)
|
97
|
+
end
|
98
|
+
end
|
99
|
+
end
|
100
|
+
end
|
data/lib/pact/version.rb
CHANGED
data/pact.gemspec
CHANGED
@@ -27,20 +27,20 @@ Gem::Specification.new do |gem|
|
|
27
27
|
}
|
28
28
|
|
29
29
|
gem.add_runtime_dependency 'rspec', '~> 3.0'
|
30
|
-
gem.add_runtime_dependency 'rack-test', '>= 0.6.3', '<
|
30
|
+
gem.add_runtime_dependency 'rack-test', '>= 0.6.3', '< 3.0.0'
|
31
31
|
gem.add_runtime_dependency 'thor', '>= 0.20', '< 2.0'
|
32
32
|
gem.add_runtime_dependency 'webrick', '~> 1.3'
|
33
33
|
gem.add_runtime_dependency 'term-ansicolor', '~> 1.0'
|
34
34
|
|
35
|
-
gem.add_runtime_dependency 'pact-support', '~> 1.
|
35
|
+
gem.add_runtime_dependency 'pact-support', '~> 1.16', '>= 1.16.9'
|
36
36
|
gem.add_runtime_dependency 'pact-mock_service', '~> 3.0', '>= 3.3.1'
|
37
37
|
|
38
38
|
gem.add_development_dependency 'rake', '~> 13.0'
|
39
39
|
gem.add_development_dependency 'webmock', '~> 3.0'
|
40
40
|
gem.add_development_dependency 'fakefs', '0.5' # 0.6.0 blows up
|
41
41
|
gem.add_development_dependency 'hashie', '~> 2.0'
|
42
|
-
gem.add_development_dependency '
|
43
|
-
gem.add_development_dependency 'faraday', '~> 0
|
42
|
+
gem.add_development_dependency 'faraday', '~>1.0', '<3.0'
|
43
|
+
gem.add_development_dependency 'faraday-multipart', '~> 1.0'
|
44
44
|
gem.add_development_dependency 'conventional-changelog', '~> 1.3'
|
45
45
|
gem.add_development_dependency 'bump', '~> 0.5'
|
46
46
|
gem.add_development_dependency 'pact-message', '~> 0.8'
|
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.63.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James Fraser
|
@@ -9,10 +9,10 @@ authors:
|
|
9
9
|
- Brent Snook
|
10
10
|
- Ronald Holshausen
|
11
11
|
- Beth Skurrie
|
12
|
-
autorequire:
|
12
|
+
autorequire:
|
13
13
|
bindir: bin
|
14
14
|
cert_chain: []
|
15
|
-
date:
|
15
|
+
date: 2022-09-29 00:00:00.000000000 Z
|
16
16
|
dependencies:
|
17
17
|
- !ruby/object:Gem::Dependency
|
18
18
|
name: rspec
|
@@ -37,7 +37,7 @@ dependencies:
|
|
37
37
|
version: 0.6.3
|
38
38
|
- - "<"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
40
|
+
version: 3.0.0
|
41
41
|
type: :runtime
|
42
42
|
prerelease: false
|
43
43
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -47,7 +47,7 @@ dependencies:
|
|
47
47
|
version: 0.6.3
|
48
48
|
- - "<"
|
49
49
|
- !ruby/object:Gem::Version
|
50
|
-
version:
|
50
|
+
version: 3.0.0
|
51
51
|
- !ruby/object:Gem::Dependency
|
52
52
|
name: thor
|
53
53
|
requirement: !ruby/object:Gem::Requirement
|
@@ -102,14 +102,20 @@ dependencies:
|
|
102
102
|
requirements:
|
103
103
|
- - "~>"
|
104
104
|
- !ruby/object:Gem::Version
|
105
|
-
version: '1.
|
105
|
+
version: '1.16'
|
106
|
+
- - ">="
|
107
|
+
- !ruby/object:Gem::Version
|
108
|
+
version: 1.16.9
|
106
109
|
type: :runtime
|
107
110
|
prerelease: false
|
108
111
|
version_requirements: !ruby/object:Gem::Requirement
|
109
112
|
requirements:
|
110
113
|
- - "~>"
|
111
114
|
- !ruby/object:Gem::Version
|
112
|
-
version: '1.
|
115
|
+
version: '1.16'
|
116
|
+
- - ">="
|
117
|
+
- !ruby/object:Gem::Version
|
118
|
+
version: 1.16.9
|
113
119
|
- !ruby/object:Gem::Dependency
|
114
120
|
name: pact-mock_service
|
115
121
|
requirement: !ruby/object:Gem::Requirement
|
@@ -187,33 +193,39 @@ dependencies:
|
|
187
193
|
- !ruby/object:Gem::Version
|
188
194
|
version: '2.0'
|
189
195
|
- !ruby/object:Gem::Dependency
|
190
|
-
name:
|
196
|
+
name: faraday
|
191
197
|
requirement: !ruby/object:Gem::Requirement
|
192
198
|
requirements:
|
193
199
|
- - "~>"
|
194
200
|
- !ruby/object:Gem::Version
|
195
|
-
version: '
|
201
|
+
version: '1.0'
|
202
|
+
- - "<"
|
203
|
+
- !ruby/object:Gem::Version
|
204
|
+
version: '3.0'
|
196
205
|
type: :development
|
197
206
|
prerelease: false
|
198
207
|
version_requirements: !ruby/object:Gem::Requirement
|
199
208
|
requirements:
|
200
209
|
- - "~>"
|
201
210
|
- !ruby/object:Gem::Version
|
202
|
-
version: '
|
211
|
+
version: '1.0'
|
212
|
+
- - "<"
|
213
|
+
- !ruby/object:Gem::Version
|
214
|
+
version: '3.0'
|
203
215
|
- !ruby/object:Gem::Dependency
|
204
|
-
name: faraday
|
216
|
+
name: faraday-multipart
|
205
217
|
requirement: !ruby/object:Gem::Requirement
|
206
218
|
requirements:
|
207
219
|
- - "~>"
|
208
220
|
- !ruby/object:Gem::Version
|
209
|
-
version: '0
|
221
|
+
version: '1.0'
|
210
222
|
type: :development
|
211
223
|
prerelease: false
|
212
224
|
version_requirements: !ruby/object:Gem::Requirement
|
213
225
|
requirements:
|
214
226
|
- - "~>"
|
215
227
|
- !ruby/object:Gem::Version
|
216
|
-
version: '0
|
228
|
+
version: '1.0'
|
217
229
|
- !ruby/object:Gem::Dependency
|
218
230
|
name: conventional-changelog
|
219
231
|
requirement: !ruby/object:Gem::Requirement
|
@@ -321,6 +333,7 @@ files:
|
|
321
333
|
- lib/pact/hal/http_client.rb
|
322
334
|
- lib/pact/hal/link.rb
|
323
335
|
- lib/pact/hal/non_json_entity.rb
|
336
|
+
- lib/pact/hash_refinements.rb
|
324
337
|
- lib/pact/pact_broker.rb
|
325
338
|
- lib/pact/pact_broker/fetch_pact_uris_for_verification.rb
|
326
339
|
- lib/pact/pact_broker/fetch_pacts.rb
|
@@ -378,6 +391,7 @@ files:
|
|
378
391
|
- lib/pact/tasks/verification_task.rb
|
379
392
|
- lib/pact/templates/help.erb
|
380
393
|
- lib/pact/templates/provider_state.erb
|
394
|
+
- lib/pact/utils/metrics.rb
|
381
395
|
- lib/pact/utils/string.rb
|
382
396
|
- lib/pact/version.rb
|
383
397
|
- lib/tasks/pact.rake
|
@@ -390,7 +404,7 @@ metadata:
|
|
390
404
|
source_code_uri: https://github.com/pact-foundation/pact-ruby
|
391
405
|
bug_tracker_uri: https://github.com/pact-foundation/pact-ruby/issues
|
392
406
|
documentation_uri: https://github.com/pact-foundation/pact-ruby/blob/master/README.md
|
393
|
-
post_install_message:
|
407
|
+
post_install_message:
|
394
408
|
rdoc_options: []
|
395
409
|
require_paths:
|
396
410
|
- lib
|
@@ -405,8 +419,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
405
419
|
- !ruby/object:Gem::Version
|
406
420
|
version: '0'
|
407
421
|
requirements: []
|
408
|
-
rubygems_version: 3.
|
409
|
-
signing_key:
|
422
|
+
rubygems_version: 3.3.22
|
423
|
+
signing_key:
|
410
424
|
specification_version: 4
|
411
425
|
summary: Enables consumer driven contract testing, providing a mock service and DSL
|
412
426
|
for the consumer project, and interaction playback and verification for the service
|