pact-provider-verifier 1.27.1 → 1.28.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 +11 -0
- data/README.md +11 -11
- data/lib/pact/provider_verifier/app.rb +17 -2
- data/lib/pact/provider_verifier/cli/verify.rb +4 -4
- data/lib/pact/provider_verifier/git.rb +1 -1
- data/lib/pact/provider_verifier/version.rb +1 -1
- metadata +10 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4d1650e2874f85a92584bd114367df7d3df6c86030249c7d754ea05553e336cb
|
4
|
+
data.tar.gz: 4ae568f9c7c34942ea6a5245d93d47edbc67d13631535beb35ab8d43c06e55be
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1fbeab699e77f4c6ef85a5b4dfd5ff83165e091dbc3a0f455b363e30cf45f90a25489e65e1d6e7616fd6b698d9022cd97df05a35873a5f248cc8eff934d87fe8
|
7
|
+
data.tar.gz: 331ebcaaa81632a537b94af9582b38ab2b0fbec4c937db0835bf8390ed92d08a12ab03888e8f9f8f81a1e3899edc9bfe0f5560118ebc8c619e3832f7ff8ee55e
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,14 @@
|
|
1
|
+
<a name="v1.28.0-1"></a>
|
2
|
+
### v1.28.0-1 (2020-01-22)
|
3
|
+
|
4
|
+
|
5
|
+
#### Features
|
6
|
+
|
7
|
+
* allow Pact Broker URL and credentials to be set via environment variables ([c257abf](/../../commit/c257abf))
|
8
|
+
* ensure output stream is configured to point to the error stream before fetching the pacts so the JSON and XML parsing don't get corrupted ([d816980](/../../commit/d816980))
|
9
|
+
* use `lib/pact/provider_verifier/git.rb` to get git sha ([2dd3591](/../../commit/2dd3591))
|
10
|
+
|
11
|
+
|
1
12
|
<a name="v1.27.1-1"></a>
|
2
13
|
### v1.27.1-1 (2020-01-16)
|
3
14
|
|
data/README.md
CHANGED
@@ -45,13 +45,13 @@ Options:
|
|
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
|
-
# Base URL of the Pact Broker from which to retrieve the pacts.
|
48
|
+
# Base URL of the Pact Broker from which to retrieve the pacts. Can also be set using the environment variable PACT_BROKER_BASE_URL.
|
49
49
|
-n, [--broker-username=BROKER_USERNAME]
|
50
|
-
# Pact Broker basic auth username
|
50
|
+
# Pact Broker basic auth username. Can also be set using the environment variable PACT_BROKER_USERNAME.
|
51
51
|
-p, [--broker-password=BROKER_PASSWORD]
|
52
|
-
# Pact Broker basic auth password
|
52
|
+
# Pact Broker basic auth password. Can also be set using the environment variable PACT_BROKER_PASSWORD.
|
53
53
|
-k, [--broker-token=BROKER_TOKEN]
|
54
|
-
# Pact Broker bearer token
|
54
|
+
# Pact Broker bearer token. Can also be set using the environment variable PACT_BROKER_TOKEN.
|
55
55
|
[--provider=PROVIDER]
|
56
56
|
[--consumer-version-tag=TAG]
|
57
57
|
# Retrieve the latest pacts with this consumer version tag. Used in conjunction with --provider. May be specified multiple times.
|
@@ -81,15 +81,15 @@ Options:
|
|
81
81
|
# Default: 0
|
82
82
|
|
83
83
|
Description:
|
84
|
-
To verify a pact from a known URL, specify one or more PACT_URL arguments. If the pact
|
85
|
-
hosted in a Pact Broker that uses authentication, specify the relevant
|
86
|
-
--broker-username/--broker-password or --broker-token fields. To dynamically fetch
|
87
|
-
from a Pact Broker based on the provider name, specify the
|
88
|
-
--provider and relevant authentication fields.
|
84
|
+
To verify a pact from a known URL, specify one or more PACT_URL arguments. If the pact
|
85
|
+
is hosted in a Pact Broker that uses authentication, specify the relevant
|
86
|
+
--broker-username/--broker-password or --broker-token fields. To dynamically fetch
|
87
|
+
pacts from a Pact Broker based on the provider name, specify the
|
88
|
+
--pact-broker-base-url, --provider and relevant authentication fields.
|
89
89
|
|
90
90
|
Selectors: These are specified using JSON strings. The keys are 'tag' (the name of the consumer
|
91
|
-
version tag) and 'latest' (true|false). For example '{"tag": "master", "latest":
|
92
|
-
For a detailed explanation of selectors, see https://pact.io/selectors
|
91
|
+
version tag) and 'latest' (true|false). For example '{"tag": "master", "latest":
|
92
|
+
true}'. For a detailed explanation of selectors, see https://pact.io/selectors
|
93
93
|
```
|
94
94
|
|
95
95
|
## Examples
|
@@ -50,6 +50,7 @@ module Pact
|
|
50
50
|
|
51
51
|
|
52
52
|
def setup
|
53
|
+
configure_output
|
53
54
|
print_deprecation_note
|
54
55
|
set_environment_variables
|
55
56
|
require_rspec_monkeypatch_for_jsonl
|
@@ -90,6 +91,14 @@ module Pact
|
|
90
91
|
end
|
91
92
|
end
|
92
93
|
|
94
|
+
def configure_output
|
95
|
+
if options[:format] && !options[:out]
|
96
|
+
# Don't want to mess up the JSON parsing with messages to stdout, so send it to stderr
|
97
|
+
require 'pact/configuration'
|
98
|
+
Pact.configuration.output_stream = Pact.configuration.error_stream
|
99
|
+
end
|
100
|
+
end
|
101
|
+
|
93
102
|
def configure_reverse_proxy
|
94
103
|
provider_base_url = options.provider_base_url
|
95
104
|
Rack::ReverseProxy.new do
|
@@ -173,18 +182,24 @@ module Pact
|
|
173
182
|
Pact.clear_configuration
|
174
183
|
Pact.clear_consumer_world
|
175
184
|
Pact.clear_provider_world
|
185
|
+
configure_output
|
176
186
|
configure_service_provider
|
177
187
|
end
|
178
188
|
|
179
189
|
def all_pact_urls
|
180
|
-
http_client_options = {
|
190
|
+
http_client_options = {
|
191
|
+
username: options.broker_username || ENV['PACT_BROKER_USERNAME'],
|
192
|
+
password: options.broker_password || ENV['PACT_BROKER_PASSWORD'],
|
193
|
+
token: options.broker_token || ENV['PACT_BROKER_TOKEN'],
|
194
|
+
verbose: options.verbose
|
195
|
+
}
|
181
196
|
AggregatePactConfigs.call(
|
182
197
|
pact_urls,
|
183
198
|
options.provider,
|
184
199
|
consumer_version_tags,
|
185
200
|
consumer_version_selectors,
|
186
201
|
provider_version_tags,
|
187
|
-
options.pact_broker_base_url,
|
202
|
+
options.pact_broker_base_url || ENV['PACT_BROKER_BASE_URL'],
|
188
203
|
http_client_options,
|
189
204
|
{ enable_pending: options.enable_pending }
|
190
205
|
)
|
@@ -25,10 +25,10 @@ module Pact
|
|
25
25
|
"\n\n" + SELECTOR_DOCS
|
26
26
|
method_option :provider_base_url, aliases: "-h", desc: "Provider host URL", :required => true
|
27
27
|
method_option :provider_states_setup_url, aliases: "-c", desc: "Base URL to setup the provider states at", :required => false
|
28
|
-
method_option :pact_broker_base_url, desc: "Base URL of the Pact Broker from which to retrieve the pacts.", :required => false
|
29
|
-
method_option :broker_username, aliases: "-n", desc: "Pact Broker basic auth username", :required => false
|
30
|
-
method_option :broker_password, aliases: "-p", desc: "Pact Broker basic auth password", :required => false
|
31
|
-
method_option :broker_token, aliases: "-k", desc: "Pact Broker bearer token", :required => false
|
28
|
+
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
|
29
|
+
method_option :broker_username, aliases: "-n", desc: "Pact Broker basic auth username. Can also be set using the environment variable PACT_BROKER_USERNAME.", :required => false
|
30
|
+
method_option :broker_password, aliases: "-p", desc: "Pact Broker basic auth password. Can also be set using the environment variable PACT_BROKER_PASSWORD.", :required => false
|
31
|
+
method_option :broker_token, aliases: "-k", desc: "Pact Broker bearer token. Can also be set using the environment variable PACT_BROKER_TOKEN.", :required => false
|
32
32
|
method_option :provider, required: false
|
33
33
|
method_option :consumer_version_tag, type: :array, banner: "TAG", desc: "Retrieve the latest pacts with this consumer version tag. Used in conjunction with --provider. May be specified multiple times.", :required => false
|
34
34
|
method_option :consumer_version_selector, type: :array, banner: "SELECTOR", desc: "JSON string specifying a selector that identifies which pacts to verify. May be specified multiple times. See below for further documentation.", :required => false
|
@@ -5,7 +5,7 @@ require 'pact/provider_verifier/error'
|
|
5
5
|
module Pact
|
6
6
|
module ProviderVerifier
|
7
7
|
module Git
|
8
|
-
COMMAND = 'git
|
8
|
+
COMMAND = 'git rev-parse --abbrev-ref HEAD'.freeze
|
9
9
|
BRANCH_ENV_VAR_NAMES = %w{BUILDKITE_BRANCH CIRCLE_BRANCH TRAVIS_BRANCH GIT_BRANCH GIT_LOCAL_BRANCH APPVEYOR_REPO_BRANCH CI_COMMIT_REF_NAME}.freeze
|
10
10
|
|
11
11
|
def self.branch
|
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.28.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: 2020-01-
|
12
|
+
date: 2020-01-22 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rspec
|
@@ -31,14 +31,20 @@ dependencies:
|
|
31
31
|
requirements:
|
32
32
|
- - "~>"
|
33
33
|
- !ruby/object:Gem::Version
|
34
|
-
version: '1.
|
34
|
+
version: '1.46'
|
35
|
+
- - ">="
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: 1.46.1
|
35
38
|
type: :runtime
|
36
39
|
prerelease: false
|
37
40
|
version_requirements: !ruby/object:Gem::Requirement
|
38
41
|
requirements:
|
39
42
|
- - "~>"
|
40
43
|
- !ruby/object:Gem::Version
|
41
|
-
version: '1.
|
44
|
+
version: '1.46'
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: 1.46.1
|
42
48
|
- !ruby/object:Gem::Dependency
|
43
49
|
name: pact-message
|
44
50
|
requirement: !ruby/object:Gem::Requirement
|