pact-provider-verifier 1.31.0 → 1.35.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 +39 -0
- data/README.md +64 -27
- data/lib/pact/provider_verifier/app.rb +44 -25
- data/lib/pact/provider_verifier/cli/long_desc.txt +19 -0
- data/lib/pact/provider_verifier/cli/verify.rb +6 -16
- data/lib/pact/provider_verifier/version.rb +1 -1
- metadata +46 -32
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 40aec54d6032b2a63f96e834a0308e98f6093af635bf5450b6575d05eb7a8549
|
4
|
+
data.tar.gz: f445fbe3035fc931018214d5bad5f8e616e8dda0ba682a8051081505503796a6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6d9941c91fed0ca20106fc24077c20556ea3757aa3ca176718e50d1c903e5d6608620c5160916c5396908e30ecd01fa58e4c4a1e25654cbbe26cfaf1da312c61
|
7
|
+
data.tar.gz: 1317675953ae4ebecaa9c289deac2a7f09fda5ef3778f6dfada6651d5bc52a49ae5629fa8b55b63ea1d0755942be26b151ec0ad0a7ac6687d1f8b5bb77f2e036
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,42 @@
|
|
1
|
+
<a name="v1.35.0"></a>
|
2
|
+
### v1.35.0 (2021-03-20)
|
3
|
+
|
4
|
+
#### Features
|
5
|
+
|
6
|
+
* Optionally fail when no pacts are found ([772e8fb](/../../commit/772e8fb))
|
7
|
+
|
8
|
+
<a name="v1.34.0"></a>
|
9
|
+
### v1.34.0 (2021-02-01)
|
10
|
+
|
11
|
+
#### Features
|
12
|
+
|
13
|
+
* Allow for newer versions of faraday ([c37f04f](/../../commit/c37f04f))
|
14
|
+
|
15
|
+
<a name="v1.33.0"></a>
|
16
|
+
### v1.33.0 (2021-01-27)
|
17
|
+
|
18
|
+
#### Features
|
19
|
+
|
20
|
+
* pass through verbose flag to verification ([a091705](/../../commit/a091705))
|
21
|
+
|
22
|
+
<a name="v1.32.1"></a>
|
23
|
+
### v1.32.1 (2020-07-18)
|
24
|
+
|
25
|
+
|
26
|
+
#### Bug Fixes
|
27
|
+
|
28
|
+
* change rake to a development dependency ([6249a03](/../../commit/6249a03))
|
29
|
+
|
30
|
+
|
31
|
+
<a name="v1.32.0"></a>
|
32
|
+
### v1.32.0 (2020-07-16)
|
33
|
+
|
34
|
+
|
35
|
+
#### Features
|
36
|
+
|
37
|
+
* allow verbose to be turned on by setting VERBOSE=true ([8a72b13](/../../commit/8a72b13))
|
38
|
+
|
39
|
+
|
1
40
|
<a name="v1.31.0-1"></a>
|
2
41
|
### v1.31.0-1 (2020-06-23)
|
3
42
|
|
data/README.md
CHANGED
@@ -41,53 +41,90 @@ 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
|
-
|
61
|
+
# Retrieve the latest pacts with this consumer version tag. Used in conjunction
|
62
|
+
with --provider. May be specified multiple times.
|
58
63
|
[--provider-version-tag=TAG]
|
59
|
-
|
64
|
+
# Tag to apply to the provider application version. May be specified multiple times.
|
60
65
|
-g, [--tag-with-git-branch], [--no-tag-with-git-branch]
|
61
|
-
|
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
|
72
|
+
[--enable-pending], [--no-enable-pending]
|
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
|
66
75
|
[--custom-provider-header=CUSTOM_PROVIDER_HEADER]
|
67
|
-
|
76
|
+
# Header to add to provider state set up and pact verification requests. eg
|
77
|
+
'Authorization: Basic cGFjdDpwYWN0'. May be specified multiple times.
|
68
78
|
[--custom-middleware=FILE]
|
69
|
-
|
79
|
+
# Ruby file containing a class implementing
|
80
|
+
Pact::ProviderVerifier::CustomMiddleware. This allows the response to be modified before
|
81
|
+
replaying. Use with caution!
|
70
82
|
-v, [--verbose=VERBOSE]
|
71
|
-
|
83
|
+
# Verbose output. Can also be set by setting the environment variable VERBOSE=true.
|
72
84
|
-f, [--format=FORMATTER]
|
73
|
-
|
85
|
+
# RSpec formatter. Defaults to custom Pact formatter. Other options are json
|
86
|
+
and RspecJunitFormatter (which outputs xml).
|
74
87
|
-o, [--out=FILE]
|
75
|
-
|
88
|
+
# Write output to a file instead of $stdout.
|
76
89
|
[--wait=SECONDS]
|
77
|
-
|
90
|
+
# The number of seconds to poll for the provider to become available before
|
91
|
+
running the verification
|
78
92
|
|
79
|
-
|
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
|
100
|
+
[--fail-if-no-pacts-found]
|
101
|
+
# If specified, will fail when no pacts are found
|
80
102
|
|
81
103
|
Description:
|
82
|
-
|
83
|
-
|
84
|
-
--
|
85
|
-
|
86
|
-
--
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
104
|
+
The parameters used when fetching pacts dynamically from a Pact Broker are:
|
105
|
+
|
106
|
+
--pact-broker-base-url (REQUIRED)
|
107
|
+
--provider (REQUIRED)
|
108
|
+
--broker-username/--broker-password or --broker-token
|
109
|
+
--consumer-version-tag or --consumer-version-selector
|
110
|
+
--enable-pending
|
111
|
+
--include-wip-pacts-since
|
112
|
+
|
113
|
+
To verify a pact at a known URL (eg. when a verification is triggered by a 'contract content changed'
|
114
|
+
webhook), pass in the pact URL(s) as the first argument(s) to the command, and do NOT set any of the
|
115
|
+
other parameters apart from the base URL and credentials.
|
116
|
+
|
117
|
+
To publish verification results for either of the above scenarios, set:
|
118
|
+
|
119
|
+
--publish-verification-results (REQUIRED)
|
120
|
+
--provider-app-version (REQUIRED)
|
121
|
+
--provider-version-tag or --tag-with-git-branch
|
122
|
+
|
123
|
+
|
124
|
+
Selectors: These are specified using JSON strings. The keys are 'tag' (the name of the consumer
|
125
|
+
version tag), 'latest' (true|false), 'consumer', and 'fallbackTag'. For example '{\"tag\":
|
126
|
+
\"master\", \"latest\": true}'. For
|
127
|
+
a detailed explanation of selectors, see https://pact.io/selectors#consumer-version-selectors
|
91
128
|
```
|
92
129
|
|
93
130
|
## Examples
|
@@ -36,18 +36,23 @@ module Pact
|
|
36
36
|
|
37
37
|
def call
|
38
38
|
setup
|
39
|
-
|
40
|
-
pact_urls = all_pact_urls
|
39
|
+
warn_empty_pact_set
|
41
40
|
wait_until_provider_available
|
42
|
-
|
41
|
+
pacts_pass_verification?
|
42
|
+
end
|
43
|
+
|
44
|
+
private
|
45
|
+
|
46
|
+
def pacts_pass_verification?
|
47
|
+
return false if all_pact_urls.empty? && options.fail_if_no_pacts_found
|
48
|
+
|
49
|
+
exit_statuses = all_pact_urls.collect do |pact_uri|
|
43
50
|
verify_pact pact_uri
|
44
51
|
end
|
45
52
|
|
46
53
|
exit_statuses.all?{ | status | status == 0 }
|
47
54
|
end
|
48
55
|
|
49
|
-
private
|
50
|
-
|
51
56
|
|
52
57
|
def setup
|
53
58
|
configure_output
|
@@ -136,7 +141,7 @@ module Pact
|
|
136
141
|
|
137
142
|
def require_custom_middlware
|
138
143
|
options.custom_middleware.each do |file|
|
139
|
-
$stdout.puts "DEBUG: Requiring custom middleware file #{file}" if
|
144
|
+
$stdout.puts "DEBUG: Requiring custom middleware file #{file}" if verbose?
|
140
145
|
begin
|
141
146
|
require file
|
142
147
|
rescue LoadError => e
|
@@ -159,6 +164,7 @@ module Pact
|
|
159
164
|
pact_helper: PROXY_PACT_HELPER,
|
160
165
|
pact_uri: pact_uri,
|
161
166
|
backtrace: ENV['BACKTRACE'] == 'true',
|
167
|
+
verbose: verbose?,
|
162
168
|
format: options.format,
|
163
169
|
out: options.out,
|
164
170
|
request_customizer: ProviderStates::AddProviderStatesHeader
|
@@ -186,25 +192,34 @@ module Pact
|
|
186
192
|
end
|
187
193
|
|
188
194
|
def all_pact_urls
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
195
|
+
@all_pact_urls ||= begin
|
196
|
+
http_client_options = {
|
197
|
+
username: options.broker_username || ENV['PACT_BROKER_USERNAME'],
|
198
|
+
password: options.broker_password || ENV['PACT_BROKER_PASSWORD'],
|
199
|
+
token: options.broker_token || ENV['PACT_BROKER_TOKEN'],
|
200
|
+
verbose: verbose?
|
201
|
+
}
|
202
|
+
opts = {
|
203
|
+
enable_pending: options.enable_pending,
|
204
|
+
include_wip_pacts_since: options.include_wip_pacts_since
|
205
|
+
}
|
206
|
+
AggregatePactConfigs.call(
|
207
|
+
pact_urls,
|
208
|
+
options.provider,
|
209
|
+
consumer_version_tags,
|
210
|
+
consumer_version_selectors,
|
211
|
+
provider_version_tags,
|
212
|
+
options.pact_broker_base_url || ENV['PACT_BROKER_BASE_URL'],
|
213
|
+
http_client_options,
|
214
|
+
opts)
|
215
|
+
end
|
216
|
+
end
|
217
|
+
|
218
|
+
def warn_empty_pact_set
|
219
|
+
if all_pact_urls.empty?
|
220
|
+
level = options.fail_if_no_pacts_found ? "ERROR" : "WARN"
|
221
|
+
$stderr.puts "#{level}: No pacts were found for the consumer versions selected"
|
222
|
+
end
|
208
223
|
end
|
209
224
|
|
210
225
|
def require_pact_project_pact_helper
|
@@ -262,6 +277,10 @@ module Pact
|
|
262
277
|
ENV['PACT_BROKER_TOKEN'] = options.broker_token
|
263
278
|
end
|
264
279
|
end
|
280
|
+
|
281
|
+
def verbose?
|
282
|
+
options.verbose || ENV['VERBOSE'] == 'true'
|
283
|
+
end
|
265
284
|
end
|
266
285
|
end
|
267
286
|
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 verify a pact at 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, and do NOT set any of the other parameters apart from the base URL and credentials.
|
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,12 +24,12 @@ 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."
|
@@ -51,8 +38,11 @@ module Pact
|
|
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
|
52
39
|
method_option :log_dir, desc: "The directory for the pact.log file"
|
53
40
|
method_option :log_level, desc: "The log level", default: "debug"
|
41
|
+
method_option :fail_if_no_pacts_found, desc: "If specified, will fail when no pacts are found", required: false, type: :boolean, default: false
|
54
42
|
|
55
43
|
def verify(*pact_urls)
|
44
|
+
require 'pact/provider_verifier/app'
|
45
|
+
require 'socket'
|
56
46
|
validate_verify
|
57
47
|
print_deprecation_warnings
|
58
48
|
success = Pact::ProviderVerifier::App.call(merged_urls(pact_urls), options)
|
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.35.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-03-29 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
|
@@ -57,36 +57,42 @@ dependencies:
|
|
57
57
|
name: faraday
|
58
58
|
requirement: !ruby/object:Gem::Requirement
|
59
59
|
requirements:
|
60
|
-
- - "~>"
|
61
|
-
- !ruby/object:Gem::Version
|
62
|
-
version: '0.9'
|
63
60
|
- - ">="
|
64
61
|
- !ruby/object:Gem::Version
|
65
62
|
version: 0.9.0
|
63
|
+
- - "<="
|
64
|
+
- !ruby/object:Gem::Version
|
65
|
+
version: '2.0'
|
66
66
|
type: :runtime
|
67
67
|
prerelease: false
|
68
68
|
version_requirements: !ruby/object:Gem::Requirement
|
69
69
|
requirements:
|
70
|
-
- - "~>"
|
71
|
-
- !ruby/object:Gem::Version
|
72
|
-
version: '0.9'
|
73
70
|
- - ">="
|
74
71
|
- !ruby/object:Gem::Version
|
75
72
|
version: 0.9.0
|
73
|
+
- - "<="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '2.0'
|
76
76
|
- !ruby/object:Gem::Dependency
|
77
77
|
name: faraday_middleware
|
78
78
|
requirement: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- - "
|
80
|
+
- - ">="
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '0.10'
|
83
|
+
- - "<="
|
84
|
+
- !ruby/object:Gem::Version
|
85
|
+
version: '2.0'
|
83
86
|
type: :runtime
|
84
87
|
prerelease: false
|
85
88
|
version_requirements: !ruby/object:Gem::Requirement
|
86
89
|
requirements:
|
87
|
-
- - "
|
90
|
+
- - ">="
|
88
91
|
- !ruby/object:Gem::Version
|
89
92
|
version: '0.10'
|
93
|
+
- - "<="
|
94
|
+
- !ruby/object:Gem::Version
|
95
|
+
version: '2.0'
|
90
96
|
- !ruby/object:Gem::Dependency
|
91
97
|
name: json
|
92
98
|
requirement: !ruby/object:Gem::Requirement
|
@@ -116,53 +122,47 @@ dependencies:
|
|
116
122
|
- !ruby/object:Gem::Version
|
117
123
|
version: '2.1'
|
118
124
|
- !ruby/object:Gem::Dependency
|
119
|
-
name:
|
125
|
+
name: rack-reverse-proxy
|
120
126
|
requirement: !ruby/object:Gem::Requirement
|
121
127
|
requirements:
|
122
|
-
- - "~>"
|
123
|
-
- !ruby/object:Gem::Version
|
124
|
-
version: '10.4'
|
125
128
|
- - ">="
|
126
129
|
- !ruby/object:Gem::Version
|
127
|
-
version:
|
130
|
+
version: '0'
|
128
131
|
type: :runtime
|
129
132
|
prerelease: false
|
130
133
|
version_requirements: !ruby/object:Gem::Requirement
|
131
134
|
requirements:
|
132
|
-
- - "~>"
|
133
|
-
- !ruby/object:Gem::Version
|
134
|
-
version: '10.4'
|
135
135
|
- - ">="
|
136
136
|
- !ruby/object:Gem::Version
|
137
|
-
version:
|
137
|
+
version: '0'
|
138
138
|
- !ruby/object:Gem::Dependency
|
139
|
-
name:
|
139
|
+
name: rspec_junit_formatter
|
140
140
|
requirement: !ruby/object:Gem::Requirement
|
141
141
|
requirements:
|
142
|
-
- - "
|
142
|
+
- - "~>"
|
143
143
|
- !ruby/object:Gem::Version
|
144
|
-
version: '0'
|
144
|
+
version: '0.3'
|
145
145
|
type: :runtime
|
146
146
|
prerelease: false
|
147
147
|
version_requirements: !ruby/object:Gem::Requirement
|
148
148
|
requirements:
|
149
|
-
- - "
|
149
|
+
- - "~>"
|
150
150
|
- !ruby/object:Gem::Version
|
151
|
-
version: '0'
|
151
|
+
version: '0.3'
|
152
152
|
- !ruby/object:Gem::Dependency
|
153
|
-
name:
|
153
|
+
name: rake
|
154
154
|
requirement: !ruby/object:Gem::Requirement
|
155
155
|
requirements:
|
156
156
|
- - "~>"
|
157
157
|
- !ruby/object:Gem::Version
|
158
|
-
version: '0
|
159
|
-
type: :
|
158
|
+
version: '13.0'
|
159
|
+
type: :development
|
160
160
|
prerelease: false
|
161
161
|
version_requirements: !ruby/object:Gem::Requirement
|
162
162
|
requirements:
|
163
163
|
- - "~>"
|
164
164
|
- !ruby/object:Gem::Version
|
165
|
-
version: '0
|
165
|
+
version: '13.0'
|
166
166
|
- !ruby/object:Gem::Dependency
|
167
167
|
name: sinatra
|
168
168
|
requirement: !ruby/object:Gem::Requirement
|
@@ -275,6 +275,20 @@ dependencies:
|
|
275
275
|
- - "~>"
|
276
276
|
- !ruby/object:Gem::Version
|
277
277
|
version: '0.5'
|
278
|
+
- !ruby/object:Gem::Dependency
|
279
|
+
name: word_wrap
|
280
|
+
requirement: !ruby/object:Gem::Requirement
|
281
|
+
requirements:
|
282
|
+
- - ">="
|
283
|
+
- !ruby/object:Gem::Version
|
284
|
+
version: '0'
|
285
|
+
type: :development
|
286
|
+
prerelease: false
|
287
|
+
version_requirements: !ruby/object:Gem::Requirement
|
288
|
+
requirements:
|
289
|
+
- - ">="
|
290
|
+
- !ruby/object:Gem::Version
|
291
|
+
version: '0'
|
278
292
|
description: |-
|
279
293
|
A cross-platform Pact verification tool to validate API Providers.
|
280
294
|
Used in the pact-js-provider project to simplify development
|
@@ -296,6 +310,7 @@ files:
|
|
296
310
|
- lib/pact/provider_verifier/aggregate_pact_configs.rb
|
297
311
|
- lib/pact/provider_verifier/app.rb
|
298
312
|
- lib/pact/provider_verifier/cli/custom_thor.rb
|
313
|
+
- lib/pact/provider_verifier/cli/long_desc.txt
|
299
314
|
- lib/pact/provider_verifier/cli/verify.rb
|
300
315
|
- lib/pact/provider_verifier/custom_middleware.rb
|
301
316
|
- lib/pact/provider_verifier/error.rb
|
@@ -327,8 +342,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
327
342
|
- !ruby/object:Gem::Version
|
328
343
|
version: '0'
|
329
344
|
requirements: []
|
330
|
-
|
331
|
-
rubygems_version: 2.7.7
|
345
|
+
rubygems_version: 3.2.15
|
332
346
|
signing_key:
|
333
347
|
specification_version: 4
|
334
348
|
summary: Provides a Pact verification service for use with Pact
|