pact-provider-verifier 1.31.0 → 1.32.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 44c17f0743c806ca23c26957d6011ed92fa7374cf25c2077e2d8fac967695d97
4
- data.tar.gz: edd33bd8d49c5a74fb5ddac57f71cd9639963d207a24efe52638d0242a567c2c
3
+ metadata.gz: c886b7356a0fa2d7750fb31bbbc9f7854788dff7dd8d28749ea4b5c89c5689e6
4
+ data.tar.gz: 956fb187e48661027ecdcda1197e6ccecd1ebd172b8eba29993a6ddd38b0976c
5
5
  SHA512:
6
- metadata.gz: 5e651daba957e5270412987777d03b253b54e662ee2205085f62a090eaaa405ab8fa6ecfc50db986365cbf35146c5f6568c4abb7d923f4146d9614e172eece82
7
- data.tar.gz: d325e9aca5995fe88bba89b7fc6cd10e4a858a3c5cd3d540ae5e9b03b78454ad80d5ea6b46142cfbaa797c5ce7a59e77863e64773719b4a173ffad2bc2ab6031
6
+ metadata.gz: 91ea65f6b83fd5940a30d85c40a1c02e3aac44431eb0aa27904752865c9bdc2e0a500d4a2e3c753d617b3a84bb97eddae4bc3ff02ff33110dc6d76f493d730b7
7
+ data.tar.gz: 166d2b4da14375b27712ed057bef42ee29e5eeeca62702078f26bd03eab1bb91e7c1fcde0170e9696ea0065539c1ecfebecfb0d0c9871e4a615daa33c03676d9
@@ -1,3 +1,12 @@
1
+ <a name="v1.32.0"></a>
2
+ ### v1.32.0 (2020-07-16)
3
+
4
+
5
+ #### Features
6
+
7
+ * allow verbose to be turned on by setting VERBOSE=true ([8a72b13](/../../commit/8a72b13))
8
+
9
+
1
10
  <a name="v1.31.0-1"></a>
2
11
  ### v1.31.0-1 (2020-06-23)
3
12
 
data/README.md CHANGED
@@ -41,53 +41,88 @@ Usage:
41
41
 
42
42
  Options:
43
43
  -h, --provider-base-url=PROVIDER_BASE_URL
44
- # Provider host URL
44
+ # Provider host URL
45
45
  -c, [--provider-states-setup-url=PROVIDER_STATES_SETUP_URL]
46
- # Base URL to setup the provider states at
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. Can also be set using the environment variable PACT_BROKER_BASE_URL.
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
- # Pact Broker basic auth username. Can also be set using the environment variable PACT_BROKER_USERNAME.
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
- # Pact Broker basic auth password. Can also be set using the environment variable PACT_BROKER_PASSWORD.
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
- # Pact Broker bearer token. Can also be set using the environment variable PACT_BROKER_TOKEN.
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
- # Retrieve the latest pacts with this consumer version tag. Used in conjunction with --provider. May be specified multiple times.
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
- # Tag to apply to the provider application version. May be specified multiple times.
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
- # Tag provider version with the name of the current git branch. Default: false
66
+ # Tag provider version with the name of the current git branch. Default: false
62
67
  -a, [--provider-app-version=PROVIDER_APP_VERSION]
63
- # Provider application version, required when publishing verification results
68
+ # Provider application version, required when publishing verification results
64
69
  -r, [--publish-verification-results], [--no-publish-verification-results]
65
- # Publish verification results to the broker. This can also be enabled by setting the environment variable PACT_BROKER_PUBLISH_VERIFICATION_RESULTS=true
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
- # Header to add to provider state set up and pact verification requests. eg 'Authorization: Basic cGFjdDpwYWN0'. May be specified multiple times.
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
- # Ruby file containing a class implementing Pact::ProviderVerifier::CustomMiddleware. This allows the response to be modified before replaying. Use with caution!
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
- # Verbose output
83
+ # Verbose output. Can also be set by setting the environment variable VERBOSE=true.
72
84
  -f, [--format=FORMATTER]
73
- # RSpec formatter. Defaults to custom Pact formatter. Other options are json and RspecJunitFormatter (which outputs xml).
85
+ # RSpec formatter. Defaults to custom Pact formatter. Other options are json
86
+ and RspecJunitFormatter (which outputs xml).
74
87
  -o, [--out=FILE]
75
- # Write output to a file instead of $stdout.
88
+ # Write output to a file instead of $stdout.
76
89
  [--wait=SECONDS]
77
- # The number of seconds to poll for the provider to become available before running the verification
90
+ # The number of seconds to poll for the provider to become available before
91
+ running the verification
78
92
 
79
- # Default: 0
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
80
100
 
81
101
  Description:
82
- To verify a pact from a known URL, specify one or more PACT_URL arguments. If the
83
- pact is hosted in a Pact Broker that uses authentication, specify the relevant
84
- --broker-username/--broker-password or --broker-token fields. To dynamically fetch
85
- pacts from a Pact Broker based on the provider name, specify the
86
- --pact-broker-base-url, --provider and relevant authentication fields.
87
-
88
- Selectors: These are specified using JSON strings. The keys are 'tag' (the name of the
89
- consumer version tag) and 'latest' (true|false). For example '{"tag": "master",
90
- "latest": true}'. For a detailed explanation of selectors, see
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
+
121
+
122
+ Selectors: These are specified using JSON strings. The keys are 'tag' (the name of the consumer
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
91
126
  ```
92
127
 
93
128
  ## Examples
@@ -136,7 +136,7 @@ module Pact
136
136
 
137
137
  def require_custom_middlware
138
138
  options.custom_middleware.each do |file|
139
- $stdout.puts "DEBUG: Requiring custom middleware file #{file}" if options.verbose
139
+ $stdout.puts "DEBUG: Requiring custom middleware file #{file}" if verbose?
140
140
  begin
141
141
  require file
142
142
  rescue LoadError => e
@@ -190,7 +190,7 @@ module Pact
190
190
  username: options.broker_username || ENV['PACT_BROKER_USERNAME'],
191
191
  password: options.broker_password || ENV['PACT_BROKER_PASSWORD'],
192
192
  token: options.broker_token || ENV['PACT_BROKER_TOKEN'],
193
- verbose: options.verbose
193
+ verbose: verbose?
194
194
  }
195
195
  opts = {
196
196
  enable_pending: options.enable_pending,
@@ -262,6 +262,10 @@ module Pact
262
262
  ENV['PACT_BROKER_TOKEN'] = options.broker_token
263
263
  end
264
264
  end
265
+
266
+ def verbose?
267
+ options.verbose || ENV['VERBOSE'] == 'true'
268
+ end
265
269
  end
266
270
  end
267
271
  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
@@ -3,12 +3,6 @@ require 'socket'
3
3
  require 'pact/provider_verifier/app'
4
4
  require 'pact/provider_verifier/cli/custom_thor'
5
5
 
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
6
  module Pact
13
7
  module ProviderVerifier
14
8
  module CLI
@@ -17,13 +11,8 @@ module Pact
17
11
  class InvalidArgumentsError < ::Thor::Error; end
18
12
  class AuthError < ::Thor::Error; end
19
13
 
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
14
  desc 'PACT_URL ...', "Verify pact(s) against a provider. Supports local and networked (http-based) files."
24
- long_desc "To verify a pact from a known URL, specify one or more PACT_URL arguments. If the pact is hosted in a Pact Broker that uses authentication, specify the relevant --broker-username/--broker-password or --broker-token fields. " +
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
15
+ long_desc File.read(File.join(File.dirname(__FILE__), 'long_desc.txt')).gsub("\n", "\x5")
27
16
  method_option :provider_base_url, aliases: "-h", desc: "Provider host URL", :required => true
28
17
  method_option :provider_states_setup_url, aliases: "-c", desc: "Base URL to setup the provider states at", :required => false
29
18
  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 +26,12 @@ module Pact
37
26
  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
27
  method_option :provider_app_version, aliases: "-a", desc: "Provider application version, required when publishing verification results", :required => false
39
28
  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, hide: true, 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
29
+ 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
30
  method_option :include_wip_pacts_since, desc: "", hide: true
42
31
  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
32
  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
33
  method_option :monkeypatch, hide: true, type: :array, :required => false
45
- method_option :verbose, aliases: "-v", desc: "Verbose output", :required => false
34
+ method_option :verbose, aliases: "-v", desc: "Verbose output. Can also be set by setting the environment variable VERBOSE=true.", :required => false
46
35
  method_option :provider_states_url, aliases: "-s", :required => false, hide: true
47
36
  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
37
  method_option :out, aliases: "-o", banner: "FILE", desc: "Write output to a file instead of $stdout."
@@ -1,5 +1,5 @@
1
1
  module Pact
2
2
  module ProviderVerifier
3
- VERSION = "1.31.0"
3
+ VERSION = "1.32.0"
4
4
  end
5
5
  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.31.0
4
+ version: 1.32.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-06-23 00:00:00.000000000 Z
12
+ date: 2020-07-16 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec
@@ -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
- rubyforge_project:
331
- rubygems_version: 2.7.7
345
+ rubygems_version: 3.1.4
332
346
  signing_key:
333
347
  specification_version: 4
334
348
  summary: Provides a Pact verification service for use with Pact