pact-provider-verifier 1.30.0 → 1.33.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +44 -0
- data/README.md +61 -28
- data/lib/pact/provider_verifier/app.rb +10 -3
- data/lib/pact/provider_verifier/cli/custom_thor.rb +19 -8
- data/lib/pact/provider_verifier/cli/long_desc.txt +19 -0
- data/lib/pact/provider_verifier/cli/verify.rb +17 -16
- data/lib/pact/provider_verifier/version.rb +1 -1
- metadata +32 -24
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 19a73b344452f633690908ead759a85349e8e353013434d55768b52cf10790a2
|
4
|
+
data.tar.gz: a26ebbbc4c7c815f8d4371f542b7a776ccf106739d47fb1a923689734cb3eb0c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a40905eb9fba372d57383e5d821c6b9e94db328961c3f269ebf8945d97f3c0c22d7940a7128b5f98913656828de7b28e2e9d56edec3b390abe0df5b0f5481cf4
|
7
|
+
data.tar.gz: e733b80534460fb57f14d01b0af3a5fce0fb4f80e898082eb08826107d52d5754842cdd86f660190ed1891844f5479630b0d8e3c7d3c7ef3f202535392cd9b04
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,47 @@
|
|
1
|
+
<a name="v1.33.0"></a>
|
2
|
+
### v1.33.0 (2021-01-27)
|
3
|
+
|
4
|
+
#### Features
|
5
|
+
|
6
|
+
* pass through verbose flag to verification ([a091705](/../../commit/a091705))
|
7
|
+
|
8
|
+
<a name="v1.32.1"></a>
|
9
|
+
### v1.32.1 (2020-07-18)
|
10
|
+
|
11
|
+
|
12
|
+
#### Bug Fixes
|
13
|
+
|
14
|
+
* change rake to a development dependency ([6249a03](/../../commit/6249a03))
|
15
|
+
|
16
|
+
|
17
|
+
<a name="v1.32.0"></a>
|
18
|
+
### v1.32.0 (2020-07-16)
|
19
|
+
|
20
|
+
|
21
|
+
#### Features
|
22
|
+
|
23
|
+
* allow verbose to be turned on by setting VERBOSE=true ([8a72b13](/../../commit/8a72b13))
|
24
|
+
|
25
|
+
|
26
|
+
<a name="v1.31.0-1"></a>
|
27
|
+
### v1.31.0-1 (2020-06-23)
|
28
|
+
|
29
|
+
|
30
|
+
#### Features
|
31
|
+
|
32
|
+
* add --log-dir and --log-level to CLI ([1cf71bb](/../../commit/1cf71bb))
|
33
|
+
|
34
|
+
|
35
|
+
<a name="v1.30.1-1"></a>
|
36
|
+
### v1.30.1-1 (2020-04-22)
|
37
|
+
|
38
|
+
|
39
|
+
#### Bug Fixes
|
40
|
+
|
41
|
+
* use symbol names for consumer version selectors ([c2c986b](/../../commit/c2c986b))
|
42
|
+
* correctly handle multiple parameters specified in the format --name=value ([c0852d0](/../../commit/c0852d0))
|
43
|
+
|
44
|
+
|
1
45
|
<a name="v1.30.0-1"></a>
|
2
46
|
### v1.30.0-1 (2020-02-19)
|
3
47
|
|
data/README.md
CHANGED
@@ -17,7 +17,7 @@ binary-like CLI tool.
|
|
17
17
|
|
18
18
|
### Docker
|
19
19
|
|
20
|
-
Take a look at https://
|
20
|
+
Take a look at https://hub.docker.com/r/pactfoundation/pact-cli
|
21
21
|
|
22
22
|
### Native Installation
|
23
23
|
|
@@ -41,55 +41,88 @@ Usage:
|
|
41
41
|
|
42
42
|
Options:
|
43
43
|
-h, --provider-base-url=PROVIDER_BASE_URL
|
44
|
-
|
44
|
+
# Provider host URL
|
45
45
|
-c, [--provider-states-setup-url=PROVIDER_STATES_SETUP_URL]
|
46
|
-
|
46
|
+
# Base URL to setup the provider states at
|
47
47
|
[--pact-broker-base-url=PACT_BROKER_BASE_URL]
|
48
|
-
|
48
|
+
# Base URL of the Pact Broker from which to retrieve the pacts. Can also be set
|
49
|
+
using the environment variable PACT_BROKER_BASE_URL.
|
49
50
|
-n, [--broker-username=BROKER_USERNAME]
|
50
|
-
|
51
|
+
# Pact Broker basic auth username. Can also be set using the environment
|
52
|
+
variable PACT_BROKER_USERNAME.
|
51
53
|
-p, [--broker-password=BROKER_PASSWORD]
|
52
|
-
|
54
|
+
# Pact Broker basic auth password. Can also be set using the environment
|
55
|
+
variable PACT_BROKER_PASSWORD.
|
53
56
|
-k, [--broker-token=BROKER_TOKEN]
|
54
|
-
|
57
|
+
# Pact Broker bearer token. Can also be set using the environment variable
|
58
|
+
PACT_BROKER_TOKEN.
|
55
59
|
[--provider=PROVIDER]
|
56
60
|
[--consumer-version-tag=TAG]
|
57
|
-
|
58
|
-
|
59
|
-
# JSON string specifying a selector that identifies which pacts to verify. May be specified multiple times. See below for further documentation.
|
61
|
+
# Retrieve the latest pacts with this consumer version tag. Used in conjunction
|
62
|
+
with --provider. May be specified multiple times.
|
60
63
|
[--provider-version-tag=TAG]
|
61
|
-
|
64
|
+
# Tag to apply to the provider application version. May be specified multiple times.
|
65
|
+
-g, [--tag-with-git-branch], [--no-tag-with-git-branch]
|
66
|
+
# Tag provider version with the name of the current git branch. Default: false
|
62
67
|
-a, [--provider-app-version=PROVIDER_APP_VERSION]
|
63
|
-
|
68
|
+
# Provider application version, required when publishing verification results
|
64
69
|
-r, [--publish-verification-results], [--no-publish-verification-results]
|
65
|
-
|
70
|
+
# Publish verification results to the broker. This can also be enabled by
|
71
|
+
setting the environment variable PACT_BROKER_PUBLISH_VERIFICATION_RESULTS=true
|
66
72
|
[--enable-pending], [--no-enable-pending]
|
67
|
-
|
73
|
+
# Allow pacts which are in pending state to be verified without causing the
|
74
|
+
overall task to fail. For more information, see https://pact.io/pending
|
68
75
|
[--custom-provider-header=CUSTOM_PROVIDER_HEADER]
|
69
|
-
|
76
|
+
# Header to add to provider state set up and pact verification requests. eg
|
77
|
+
'Authorization: Basic cGFjdDpwYWN0'. May be specified multiple times.
|
70
78
|
[--custom-middleware=FILE]
|
71
|
-
|
79
|
+
# Ruby file containing a class implementing
|
80
|
+
Pact::ProviderVerifier::CustomMiddleware. This allows the response to be modified before
|
81
|
+
replaying. Use with caution!
|
72
82
|
-v, [--verbose=VERBOSE]
|
73
|
-
|
83
|
+
# Verbose output. Can also be set by setting the environment variable VERBOSE=true.
|
74
84
|
-f, [--format=FORMATTER]
|
75
|
-
|
85
|
+
# RSpec formatter. Defaults to custom Pact formatter. Other options are json
|
86
|
+
and RspecJunitFormatter (which outputs xml).
|
76
87
|
-o, [--out=FILE]
|
77
|
-
|
88
|
+
# Write output to a file instead of $stdout.
|
78
89
|
[--wait=SECONDS]
|
79
|
-
|
90
|
+
# The number of seconds to poll for the provider to become available before
|
91
|
+
running the verification
|
80
92
|
|
81
|
-
|
93
|
+
# Default: 0
|
94
|
+
[--log-dir=LOG_DIR]
|
95
|
+
# The directory for the pact.log file
|
96
|
+
[--log-level=LOG_LEVEL]
|
97
|
+
# The log level
|
98
|
+
|
99
|
+
# Default: debug
|
82
100
|
|
83
101
|
Description:
|
84
|
-
|
85
|
-
|
86
|
-
--
|
87
|
-
|
88
|
-
--
|
102
|
+
The parameters used when fetching pacts dynamically from a Pact Broker are:
|
103
|
+
|
104
|
+
--pact-broker-base-url (REQUIRED)
|
105
|
+
--provider (REQUIRED)
|
106
|
+
--broker-username/--broker-password or --broker-token
|
107
|
+
--consumer-version-tag or --consumer-version-selector
|
108
|
+
--enable-pending
|
109
|
+
--include-wip-pacts-since
|
110
|
+
|
111
|
+
To fetch a pact from a known URL (eg. when a
|
112
|
+
verification is triggered by a 'contract content changed' webhook), pass in the pact URL(s) as
|
113
|
+
the first argument(s) to the command.
|
114
|
+
|
115
|
+
To publish verification results for either of the above scenarios, set:
|
116
|
+
|
117
|
+
--publish-verification-results (REQUIRED)
|
118
|
+
--provider-app-version (REQUIRED)
|
119
|
+
--provider-version-tag or --tag-with-git-branch
|
120
|
+
|
89
121
|
|
90
122
|
Selectors: These are specified using JSON strings. The keys are 'tag' (the name of the consumer
|
91
|
-
version tag)
|
92
|
-
|
123
|
+
version tag), 'latest' (true|false), 'consumer', and 'fallbackTag'. For example '{\"tag\":
|
124
|
+
\"master\", \"latest\": true}'. For
|
125
|
+
a detailed explanation of selectors, see https://pact.io/selectors#consumer-version-selectors
|
93
126
|
```
|
94
127
|
|
95
128
|
## Examples
|
@@ -97,6 +97,8 @@ module Pact
|
|
97
97
|
require 'pact/configuration'
|
98
98
|
Pact.configuration.output_stream = Pact.configuration.error_stream
|
99
99
|
end
|
100
|
+
Pact.configuration.log_dir = options.log_dir if options.log_dir
|
101
|
+
Pact.configuration.logger.level = Kernel.const_get('Logger').const_get(options.log_level.upcase) if options.log_level
|
100
102
|
end
|
101
103
|
|
102
104
|
def configure_reverse_proxy
|
@@ -134,7 +136,7 @@ module Pact
|
|
134
136
|
|
135
137
|
def require_custom_middlware
|
136
138
|
options.custom_middleware.each do |file|
|
137
|
-
$stdout.puts "DEBUG: Requiring custom middleware file #{file}" if
|
139
|
+
$stdout.puts "DEBUG: Requiring custom middleware file #{file}" if verbose?
|
138
140
|
begin
|
139
141
|
require file
|
140
142
|
rescue LoadError => e
|
@@ -157,6 +159,7 @@ module Pact
|
|
157
159
|
pact_helper: PROXY_PACT_HELPER,
|
158
160
|
pact_uri: pact_uri,
|
159
161
|
backtrace: ENV['BACKTRACE'] == 'true',
|
162
|
+
verbose: verbose?,
|
160
163
|
format: options.format,
|
161
164
|
out: options.out,
|
162
165
|
request_customizer: ProviderStates::AddProviderStatesHeader
|
@@ -188,7 +191,7 @@ module Pact
|
|
188
191
|
username: options.broker_username || ENV['PACT_BROKER_USERNAME'],
|
189
192
|
password: options.broker_password || ENV['PACT_BROKER_PASSWORD'],
|
190
193
|
token: options.broker_token || ENV['PACT_BROKER_TOKEN'],
|
191
|
-
verbose:
|
194
|
+
verbose: verbose?
|
192
195
|
}
|
193
196
|
opts = {
|
194
197
|
enable_pending: options.enable_pending,
|
@@ -229,7 +232,7 @@ module Pact
|
|
229
232
|
end
|
230
233
|
|
231
234
|
def parse_consumer_version_selectors consumer_version_selectors
|
232
|
-
consumer_version_selectors.collect{ | string | JSON.parse(string) }
|
235
|
+
consumer_version_selectors.collect{ | string | JSON.parse(string, symbolize_names: true) }
|
233
236
|
end
|
234
237
|
|
235
238
|
def merge_provider_version_tags(options)
|
@@ -260,6 +263,10 @@ module Pact
|
|
260
263
|
ENV['PACT_BROKER_TOKEN'] = options.broker_token
|
261
264
|
end
|
262
265
|
end
|
266
|
+
|
267
|
+
def verbose?
|
268
|
+
options.verbose || ENV['VERBOSE'] == 'true'
|
269
|
+
end
|
263
270
|
end
|
264
271
|
end
|
265
272
|
end
|
@@ -45,20 +45,31 @@ module Pact
|
|
45
45
|
def self.turn_muliple_tag_options_into_array argv
|
46
46
|
new_argv = []
|
47
47
|
opt_name = nil
|
48
|
-
argv.each_with_index do |
|
49
|
-
if
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
new_argv
|
48
|
+
argv.each_with_index do | word, i |
|
49
|
+
if word.start_with?('-')
|
50
|
+
if word.include?('=')
|
51
|
+
opt_name, opt_value = word.split('=', 2)
|
52
|
+
|
53
|
+
existing = new_argv.find { | a | a.first == opt_name }
|
54
|
+
if existing
|
55
|
+
existing << opt_value
|
56
|
+
else
|
57
|
+
new_argv << [opt_name, opt_value]
|
58
|
+
end
|
59
|
+
else
|
60
|
+
opt_name = word
|
61
|
+
existing = new_argv.find { | a | a.first == opt_name }
|
62
|
+
if !existing
|
63
|
+
new_argv << [word]
|
64
|
+
end
|
54
65
|
end
|
55
66
|
else
|
56
67
|
if opt_name
|
57
68
|
existing = new_argv.find { | a | a.first == opt_name }
|
58
|
-
existing <<
|
69
|
+
existing << word
|
59
70
|
opt_name = nil
|
60
71
|
else
|
61
|
-
new_argv << [
|
72
|
+
new_argv << [word]
|
62
73
|
end
|
63
74
|
end
|
64
75
|
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
The parameters used when fetching pacts dynamically from a Pact Broker are:
|
2
|
+
|
3
|
+
--pact-broker-base-url (REQUIRED)
|
4
|
+
--provider (REQUIRED)
|
5
|
+
--broker-username/--broker-password or --broker-token
|
6
|
+
--consumer-version-tag or --consumer-version-selector
|
7
|
+
--enable-pending
|
8
|
+
--include-wip-pacts-since
|
9
|
+
|
10
|
+
To fetch a pact from a known URL (eg. when a verification is triggered by a 'contract content changed' webhook), pass in the pact URL(s) as the first argument(s) to the command.
|
11
|
+
|
12
|
+
To publish verification results for either of the above scenarios, set:
|
13
|
+
|
14
|
+
--publish-verification-results (REQUIRED)
|
15
|
+
--provider-app-version (REQUIRED)
|
16
|
+
--provider-version-tag or --tag-with-git-branch
|
17
|
+
|
18
|
+
|
19
|
+
Selectors: These are specified using JSON strings. The keys are 'tag' (the name of the consumer version tag), 'latest' (true|false), 'consumer', and 'fallbackTag'. For example '{\"tag\": \"master\", \"latest\": true}'. For a detailed explanation of selectors, see https://pact.io/selectors#consumer-version-selectors
|
@@ -1,14 +1,6 @@
|
|
1
1
|
require 'thor'
|
2
|
-
require 'socket'
|
3
|
-
require 'pact/provider_verifier/app'
|
4
2
|
require 'pact/provider_verifier/cli/custom_thor'
|
5
3
|
|
6
|
-
# verify --consumer-version-selector '{ all: true, tag: "feat-x", fallback: "master" }' --consumer-version-tag master
|
7
|
-
|
8
|
-
#
|
9
|
-
# tags "master", { all: true, tag: "feat-x", fallback: "master" }
|
10
|
-
#
|
11
|
-
|
12
4
|
module Pact
|
13
5
|
module ProviderVerifier
|
14
6
|
module CLI
|
@@ -17,13 +9,8 @@ module Pact
|
|
17
9
|
class InvalidArgumentsError < ::Thor::Error; end
|
18
10
|
class AuthError < ::Thor::Error; end
|
19
11
|
|
20
|
-
SELECTOR_DOCS = "Selectors: These are specified using JSON strings. The keys are 'tag' (the name of the consumer version tag) and 'latest' (true|false). " +
|
21
|
-
"For example '{\"tag\": \"master\", \"latest\": true}'. For a detailed explanation of selectors, see https://pact.io/selectors"
|
22
|
-
|
23
12
|
desc 'PACT_URL ...', "Verify pact(s) against a provider. Supports local and networked (http-based) files."
|
24
|
-
long_desc
|
25
|
-
"To dynamically fetch pacts from a Pact Broker based on the provider name, specify the --pact-broker-base-url, --provider and relevant authentication fields." +
|
26
|
-
"\n\n" + SELECTOR_DOCS
|
13
|
+
long_desc File.read(File.join(File.dirname(__FILE__), 'long_desc.txt')).gsub("\n", "\x5")
|
27
14
|
method_option :provider_base_url, aliases: "-h", desc: "Provider host URL", :required => true
|
28
15
|
method_option :provider_states_setup_url, aliases: "-c", desc: "Base URL to setup the provider states at", :required => false
|
29
16
|
method_option :pact_broker_base_url, desc: "Base URL of the Pact Broker from which to retrieve the pacts. Can also be set using the environment variable PACT_BROKER_BASE_URL.", :required => false
|
@@ -37,20 +24,24 @@ module Pact
|
|
37
24
|
method_option :tag_with_git_branch, aliases: "-g", type: :boolean, default: false, required: false, desc: "Tag provider version with the name of the current git branch. Default: false"
|
38
25
|
method_option :provider_app_version, aliases: "-a", desc: "Provider application version, required when publishing verification results", :required => false
|
39
26
|
method_option :publish_verification_results, aliases: "-r", desc: "Publish verification results to the broker. This can also be enabled by setting the environment variable PACT_BROKER_PUBLISH_VERIFICATION_RESULTS=true", required: false, type: :boolean, default: false
|
40
|
-
method_option :enable_pending,
|
27
|
+
method_option :enable_pending, desc: "Allow pacts which are in pending state to be verified without causing the overall task to fail. For more information, see https://pact.io/pending", required: false, type: :boolean, default: false
|
41
28
|
method_option :include_wip_pacts_since, desc: "", hide: true
|
42
29
|
method_option :custom_provider_header, type: :array, banner: 'CUSTOM_PROVIDER_HEADER', desc: "Header to add to provider state set up and pact verification requests. eg 'Authorization: Basic cGFjdDpwYWN0'. May be specified multiple times.", :required => false
|
43
30
|
method_option :custom_middleware, type: :array, banner: 'FILE', desc: "Ruby file containing a class implementing Pact::ProviderVerifier::CustomMiddleware. This allows the response to be modified before replaying. Use with caution!", :required => false
|
44
31
|
method_option :monkeypatch, hide: true, type: :array, :required => false
|
45
|
-
method_option :verbose, aliases: "-v", desc: "Verbose output", :required => false
|
32
|
+
method_option :verbose, aliases: "-v", desc: "Verbose output. Can also be set by setting the environment variable VERBOSE=true.", :required => false
|
46
33
|
method_option :provider_states_url, aliases: "-s", :required => false, hide: true
|
47
34
|
method_option :format, banner: "FORMATTER", aliases: "-f", desc: "RSpec formatter. Defaults to custom Pact formatter. Other options are json and RspecJunitFormatter (which outputs xml)."
|
48
35
|
method_option :out, aliases: "-o", banner: "FILE", desc: "Write output to a file instead of $stdout."
|
49
36
|
method_option :ignore_failures, type: :boolean, default: false, desc: "If specified, process will always exit with exit code 0", hide: true
|
50
37
|
method_option :pact_urls, aliases: "-u", hide: true, :required => false
|
51
38
|
method_option :wait, banner: "SECONDS", required: false, type: :numeric, desc: "The number of seconds to poll for the provider to become available before running the verification", default: 0
|
39
|
+
method_option :log_dir, desc: "The directory for the pact.log file"
|
40
|
+
method_option :log_level, desc: "The log level", default: "debug"
|
52
41
|
|
53
42
|
def verify(*pact_urls)
|
43
|
+
require 'pact/provider_verifier/app'
|
44
|
+
require 'socket'
|
54
45
|
validate_verify
|
55
46
|
print_deprecation_warnings
|
56
47
|
success = Pact::ProviderVerifier::App.call(merged_urls(pact_urls), options)
|
@@ -84,6 +75,7 @@ module Pact
|
|
84
75
|
validate_consumer_version_selectors
|
85
76
|
validate_wip_since_date
|
86
77
|
validate_credentials
|
78
|
+
validate_log_level
|
87
79
|
end
|
88
80
|
|
89
81
|
def validate_credentials
|
@@ -119,6 +111,15 @@ module Pact
|
|
119
111
|
end
|
120
112
|
end
|
121
113
|
|
114
|
+
def validate_log_level
|
115
|
+
if options.log_level
|
116
|
+
valid_log_levels = %w{debug info warn error fatal}
|
117
|
+
if !valid_log_levels.include?(options.log_level.downcase)
|
118
|
+
raise InvalidArgumentsError, "Invalid log level '#{options.log_level}'. Must be one of: #{valid_log_levels.join(", ")}."
|
119
|
+
end
|
120
|
+
end
|
121
|
+
end
|
122
|
+
|
122
123
|
def exit_with_non_zero_status
|
123
124
|
exit 1
|
124
125
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pact-provider-verifier
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.33.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matt Fellows
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2021-01-26 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rspec
|
@@ -31,14 +31,14 @@ dependencies:
|
|
31
31
|
requirements:
|
32
32
|
- - "~>"
|
33
33
|
- !ruby/object:Gem::Version
|
34
|
-
version: '1.
|
34
|
+
version: '1.55'
|
35
35
|
type: :runtime
|
36
36
|
prerelease: false
|
37
37
|
version_requirements: !ruby/object:Gem::Requirement
|
38
38
|
requirements:
|
39
39
|
- - "~>"
|
40
40
|
- !ruby/object:Gem::Version
|
41
|
-
version: '1.
|
41
|
+
version: '1.55'
|
42
42
|
- !ruby/object:Gem::Dependency
|
43
43
|
name: pact-message
|
44
44
|
requirement: !ruby/object:Gem::Requirement
|
@@ -116,53 +116,47 @@ dependencies:
|
|
116
116
|
- !ruby/object:Gem::Version
|
117
117
|
version: '2.1'
|
118
118
|
- !ruby/object:Gem::Dependency
|
119
|
-
name:
|
119
|
+
name: rack-reverse-proxy
|
120
120
|
requirement: !ruby/object:Gem::Requirement
|
121
121
|
requirements:
|
122
|
-
- - "~>"
|
123
|
-
- !ruby/object:Gem::Version
|
124
|
-
version: '10.4'
|
125
122
|
- - ">="
|
126
123
|
- !ruby/object:Gem::Version
|
127
|
-
version:
|
124
|
+
version: '0'
|
128
125
|
type: :runtime
|
129
126
|
prerelease: false
|
130
127
|
version_requirements: !ruby/object:Gem::Requirement
|
131
128
|
requirements:
|
132
|
-
- - "~>"
|
133
|
-
- !ruby/object:Gem::Version
|
134
|
-
version: '10.4'
|
135
129
|
- - ">="
|
136
130
|
- !ruby/object:Gem::Version
|
137
|
-
version:
|
131
|
+
version: '0'
|
138
132
|
- !ruby/object:Gem::Dependency
|
139
|
-
name:
|
133
|
+
name: rspec_junit_formatter
|
140
134
|
requirement: !ruby/object:Gem::Requirement
|
141
135
|
requirements:
|
142
|
-
- - "
|
136
|
+
- - "~>"
|
143
137
|
- !ruby/object:Gem::Version
|
144
|
-
version: '0'
|
138
|
+
version: '0.3'
|
145
139
|
type: :runtime
|
146
140
|
prerelease: false
|
147
141
|
version_requirements: !ruby/object:Gem::Requirement
|
148
142
|
requirements:
|
149
|
-
- - "
|
143
|
+
- - "~>"
|
150
144
|
- !ruby/object:Gem::Version
|
151
|
-
version: '0'
|
145
|
+
version: '0.3'
|
152
146
|
- !ruby/object:Gem::Dependency
|
153
|
-
name:
|
147
|
+
name: rake
|
154
148
|
requirement: !ruby/object:Gem::Requirement
|
155
149
|
requirements:
|
156
150
|
- - "~>"
|
157
151
|
- !ruby/object:Gem::Version
|
158
|
-
version: '0
|
159
|
-
type: :
|
152
|
+
version: '13.0'
|
153
|
+
type: :development
|
160
154
|
prerelease: false
|
161
155
|
version_requirements: !ruby/object:Gem::Requirement
|
162
156
|
requirements:
|
163
157
|
- - "~>"
|
164
158
|
- !ruby/object:Gem::Version
|
165
|
-
version: '0
|
159
|
+
version: '13.0'
|
166
160
|
- !ruby/object:Gem::Dependency
|
167
161
|
name: sinatra
|
168
162
|
requirement: !ruby/object:Gem::Requirement
|
@@ -275,6 +269,20 @@ dependencies:
|
|
275
269
|
- - "~>"
|
276
270
|
- !ruby/object:Gem::Version
|
277
271
|
version: '0.5'
|
272
|
+
- !ruby/object:Gem::Dependency
|
273
|
+
name: word_wrap
|
274
|
+
requirement: !ruby/object:Gem::Requirement
|
275
|
+
requirements:
|
276
|
+
- - ">="
|
277
|
+
- !ruby/object:Gem::Version
|
278
|
+
version: '0'
|
279
|
+
type: :development
|
280
|
+
prerelease: false
|
281
|
+
version_requirements: !ruby/object:Gem::Requirement
|
282
|
+
requirements:
|
283
|
+
- - ">="
|
284
|
+
- !ruby/object:Gem::Version
|
285
|
+
version: '0'
|
278
286
|
description: |-
|
279
287
|
A cross-platform Pact verification tool to validate API Providers.
|
280
288
|
Used in the pact-js-provider project to simplify development
|
@@ -296,6 +304,7 @@ files:
|
|
296
304
|
- lib/pact/provider_verifier/aggregate_pact_configs.rb
|
297
305
|
- lib/pact/provider_verifier/app.rb
|
298
306
|
- lib/pact/provider_verifier/cli/custom_thor.rb
|
307
|
+
- lib/pact/provider_verifier/cli/long_desc.txt
|
299
308
|
- lib/pact/provider_verifier/cli/verify.rb
|
300
309
|
- lib/pact/provider_verifier/custom_middleware.rb
|
301
310
|
- lib/pact/provider_verifier/error.rb
|
@@ -327,8 +336,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
327
336
|
- !ruby/object:Gem::Version
|
328
337
|
version: '0'
|
329
338
|
requirements: []
|
330
|
-
|
331
|
-
rubygems_version: 2.7.7
|
339
|
+
rubygems_version: 3.2.6
|
332
340
|
signing_key:
|
333
341
|
specification_version: 4
|
334
342
|
summary: Provides a Pact verification service for use with Pact
|