pact-provider-verifier 0.0.12 → 0.0.15
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/README.md +14 -7
- data/lib/pact/provider_verifier/app.rb +1 -0
- data/lib/pact/provider_verifier/cli.rb +1 -0
- data/lib/pact/provider_verifier/pact_helper.rb +4 -2
- data/lib/pact/provider_verifier/version.rb +1 -1
- metadata +11 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 464940d19ff0c0e1c352ee03b8fc8b3828dbf46b
|
4
|
+
data.tar.gz: 9b59e83ff1cdfa6fec56515277bd2a829015ef7a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a889aac001bcc131a35f4a4ea87ecc188ad9daf85f5f41164b05a7e9f80ce0f450fea951da53b4206460caede2a61973b642aa8e1e658459755b00e352d796d7
|
7
|
+
data.tar.gz: ddd5051794542fc510a0ae580cf0f6aafb63c8e1b49214ac5f6be16a010f52587d5c510d93205dedd6f356d98b012f391457649961d4ccdeecc58917340cb375
|
data/README.md
CHANGED
@@ -1,14 +1,16 @@
|
|
1
1
|
# Pact Provider Verification
|
2
2
|
|
3
|
-
This setup simplifies Pact Provider [verification](https://
|
3
|
+
This setup simplifies Pact Provider [verification](https://docs.pact.io/documentation/verifying_pacts.html)
|
4
4
|
process in any language, wrapping the Ruby implementation into a cross-platform,
|
5
5
|
binary-like CLI tool.
|
6
6
|
|
7
|
+
[](https://travis-ci.org/pact-foundation/pact-provider-verifier)
|
8
|
+
|
7
9
|
**Features**:
|
8
10
|
|
9
11
|
* Verify Pacts against Pacts published to an http endpoint, such as a [Pact Broker](https://github.com/bethesque/pact_broker)
|
10
12
|
* Verify local `*.json` Pacts on the file system
|
11
|
-
* Works with Pact [provider states](https://
|
13
|
+
* Works with Pact [provider states](https://docs.pact.io/documentation/provider_states.html) should you need them
|
12
14
|
|
13
15
|
## Installation
|
14
16
|
|
@@ -28,10 +30,11 @@ Run `pact-provider-verifier help` for command line options.
|
|
28
30
|
|
29
31
|
## Examples
|
30
32
|
|
31
|
-
See the [
|
33
|
+
See the [example](examples) for a demonstration with a [Sinatra](http://www.sinatrarb.com/) API:
|
32
34
|
|
33
35
|
```
|
34
36
|
cd examples
|
37
|
+
bundle install
|
35
38
|
./test.sh
|
36
39
|
```
|
37
40
|
|
@@ -50,12 +53,16 @@ cd examples
|
|
50
53
|
|
51
54
|
Execute pact provider verification against a provider which implements the following:
|
52
55
|
|
53
|
-
* an http get endpoint which returns pact
|
56
|
+
* an http get endpoint which returns the available [Provider States](https://docs.pact.io/documentation/provider_states.html) by consumer
|
54
57
|
|
55
58
|
{
|
56
|
-
"
|
57
|
-
"customer is logged in",
|
58
|
-
"customer has a million dollars"
|
59
|
+
"SomeUI": [
|
60
|
+
"customer A is logged in",
|
61
|
+
"customer A has a million dollars"
|
62
|
+
],
|
63
|
+
"BackendAPI": [
|
64
|
+
"customer A is logged in",
|
65
|
+
"there are no customers"
|
59
66
|
]
|
60
67
|
}
|
61
68
|
|
@@ -39,6 +39,7 @@ module Pact
|
|
39
39
|
ENV['provider_states_setup_url'] = @options.provider_states_setup_url
|
40
40
|
ENV['PACT_BROKER_USERNAME'] = @options.broker_username if @options.broker_username
|
41
41
|
ENV['PACT_BROKER_PASSWORD'] = @options.broker_password if @options.broker_password
|
42
|
+
ENV['VERBOSE_LOGGING'] = @options.verbose if @options.verbose
|
42
43
|
provider_base_url = @options.provider_base_url
|
43
44
|
|
44
45
|
Pact.service_provider "Running Provider Application" do
|
@@ -12,6 +12,7 @@ module Pact
|
|
12
12
|
method_option :provider_states_setup_url, aliases: "-c", desc: "Base URL to setup the provider states at", :required => false
|
13
13
|
method_option :broker_username, aliases: "-n", desc: "Pact Broker username", :required => false
|
14
14
|
method_option :broker_password, aliases: "-p", desc: "Pact Broker password", :required => false
|
15
|
+
method_option :verbose, aliases: "-v", desc: "Verbose output", :required => false
|
15
16
|
|
16
17
|
def verify
|
17
18
|
app = Pact::ProviderVerifier::App.new(options)
|
@@ -7,8 +7,10 @@ require_relative './app'
|
|
7
7
|
if ENV['provider_states_url']
|
8
8
|
module ProviderStateServerClient
|
9
9
|
def set_up_state provider_state
|
10
|
-
|
11
|
-
|
10
|
+
if ENV['VERBOSE_LOGGING']
|
11
|
+
puts "Setting up provider state '#{provider_state}' for consumer '#{ENV['pact_consumer']}' using provider state server at #{ENV['provider_states_setup_url']}"
|
12
|
+
end
|
13
|
+
|
12
14
|
conn = Faraday.new(:url => ENV['provider_states_setup_url']) do |faraday|
|
13
15
|
if ENV['PACT_BROKER_USERNAME'] && ENV['PACT_BROKER_PASSWORD']
|
14
16
|
faraday.use Faraday::Request::BasicAuthentication, ENV['PACT_BROKER_USERNAME'], ENV['PACT_BROKER_PASSWORD']
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pact-provider-verifier
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.15
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matt Fellows
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2017-04-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec
|
@@ -90,30 +90,30 @@ dependencies:
|
|
90
90
|
name: pact-mock_service
|
91
91
|
requirement: !ruby/object:Gem::Requirement
|
92
92
|
requirements:
|
93
|
-
- -
|
93
|
+
- - "~>"
|
94
94
|
- !ruby/object:Gem::Version
|
95
|
-
version: 0.8
|
95
|
+
version: '0.8'
|
96
96
|
type: :runtime
|
97
97
|
prerelease: false
|
98
98
|
version_requirements: !ruby/object:Gem::Requirement
|
99
99
|
requirements:
|
100
|
-
- -
|
100
|
+
- - "~>"
|
101
101
|
- !ruby/object:Gem::Version
|
102
|
-
version: 0.8
|
102
|
+
version: '0.8'
|
103
103
|
- !ruby/object:Gem::Dependency
|
104
104
|
name: pact-support
|
105
105
|
requirement: !ruby/object:Gem::Requirement
|
106
106
|
requirements:
|
107
|
-
- -
|
107
|
+
- - "~>"
|
108
108
|
- !ruby/object:Gem::Version
|
109
|
-
version: 0.
|
109
|
+
version: '0.6'
|
110
110
|
type: :runtime
|
111
111
|
prerelease: false
|
112
112
|
version_requirements: !ruby/object:Gem::Requirement
|
113
113
|
requirements:
|
114
|
-
- -
|
114
|
+
- - "~>"
|
115
115
|
- !ruby/object:Gem::Version
|
116
|
-
version: 0.
|
116
|
+
version: '0.6'
|
117
117
|
- !ruby/object:Gem::Dependency
|
118
118
|
name: json
|
119
119
|
requirement: !ruby/object:Gem::Requirement
|
@@ -202,7 +202,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
202
202
|
version: '0'
|
203
203
|
requirements: []
|
204
204
|
rubyforge_project:
|
205
|
-
rubygems_version: 2.
|
205
|
+
rubygems_version: 2.4.5
|
206
206
|
signing_key:
|
207
207
|
specification_version: 4
|
208
208
|
summary: Provides a Pact verification service for use with Pact
|