pact 1.6.0 → 1.7.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.
- data/CHANGELOG.md +6 -1
- data/lib/pact/cli.rb +2 -0
- data/lib/pact/cli/run_pact_verification.rb +5 -1
- data/lib/pact/provider/configuration/pact_verification.rb +3 -2
- data/lib/pact/provider/pact_source.rb +1 -1
- data/lib/pact/provider/pact_uri.rb +18 -0
- data/lib/pact/provider/rspec.rb +1 -1
- data/lib/pact/tasks/task_helper.rb +3 -0
- data/lib/pact/version.rb +1 -1
- data/pact.gemspec +2 -2
- metadata +9 -8
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,11 @@
|
|
1
1
|
Do this to generate your change history
|
2
2
|
|
3
|
-
git log --pretty=format:' * %h - %s (%an, %ad)'
|
3
|
+
git log --pretty=format:' * %h - %s (%an, %ad)' vX.Y.Z..HEAD
|
4
|
+
|
5
|
+
### 1.7.0 (20 March 2015)
|
6
|
+
|
7
|
+
* 61ce2da - Upgraded pact-support and pact-mock_service gems (Beth Skurrie, Fri Mar 20 15:05:14 2015 +1100)
|
8
|
+
* 40666b6 - In pact verification DSL pass extra options for pact uri for http basic authentication. In pact:verify:at[url] task pass http basic authentication info via environment variables (lifei zhou, Thu Feb 26 23:35:32 2015 +1100)
|
4
9
|
|
5
10
|
### 1.6.0 (17 February 2015)
|
6
11
|
|
data/lib/pact/cli.rb
CHANGED
@@ -7,6 +7,8 @@ module Pact
|
|
7
7
|
desc 'verify', "Verify a pact"
|
8
8
|
method_option :pact_helper, aliases: "-h", desc: "Pact helper file", :required => true
|
9
9
|
method_option :pact_uri, aliases: "-p", desc: "Pact URI"
|
10
|
+
method_option :pact_broker_username, aliases: "-u", desc: "Pact broker user name"
|
11
|
+
method_option :pact_broker_password, aliases: "-w", desc: "Pact broker password"
|
10
12
|
method_option :backtrace, aliases: "-b", desc: "Show full backtrace", :default => false, :type => :boolean
|
11
13
|
method_option :description, aliases: "-d", desc: "Interaction description filter"
|
12
14
|
method_option :provider_state, aliases: "-s", desc: "Provider state filter"
|
@@ -53,7 +53,11 @@ module Pact
|
|
53
53
|
end
|
54
54
|
|
55
55
|
def run_with_pact_uri
|
56
|
-
|
56
|
+
pact_repository_uri_options = {}
|
57
|
+
pact_repository_uri_options[:username] = options[:pact_broker_username] if options[:pact_broker_username]
|
58
|
+
pact_repository_uri_options[:password] = options[:pact_broker_password] if options[:pact_broker_password]
|
59
|
+
pact_uri = ::Pact::Provider::PactURI.new(options[:pact_uri], pact_repository_uri_options)
|
60
|
+
Pact::Provider::PactSpecRunner.new([pact_uri], pact_spec_options).run
|
57
61
|
end
|
58
62
|
|
59
63
|
def run_with_configured_pacts
|
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'pact/provider/pact_verification'
|
2
|
+
require 'pact/provider/pact_uri'
|
2
3
|
require 'pact/shared/dsl'
|
3
4
|
require 'pact/provider/world'
|
4
5
|
|
@@ -20,8 +21,8 @@ module Pact
|
|
20
21
|
end
|
21
22
|
|
22
23
|
dsl do
|
23
|
-
def pact_uri pact_uri
|
24
|
-
self.pact_uri = pact_uri
|
24
|
+
def pact_uri pact_uri, options = {}
|
25
|
+
self.pact_uri = ::Pact::Provider::PactURI.new(pact_uri, options) if pact_uri
|
25
26
|
end
|
26
27
|
end
|
27
28
|
|
@@ -0,0 +1,18 @@
|
|
1
|
+
module Pact
|
2
|
+
module Provider
|
3
|
+
class PactURI
|
4
|
+
attr_reader :uri, :options
|
5
|
+
|
6
|
+
def initialize (uri, options={})
|
7
|
+
@uri = uri
|
8
|
+
@options = options
|
9
|
+
end
|
10
|
+
|
11
|
+
def == other
|
12
|
+
other.is_a?(PactURI) &&
|
13
|
+
uri == other.uri &&
|
14
|
+
options == other.options
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
data/lib/pact/provider/rspec.rb
CHANGED
@@ -20,7 +20,7 @@ module Pact
|
|
20
20
|
|
21
21
|
def honour_pactfile pact_uri, pact_json, options
|
22
22
|
#TODO change puts to use output stream
|
23
|
-
puts "Reading pact at #{pact_uri}"
|
23
|
+
puts "Reading pact at #{pact_uri.uri}"
|
24
24
|
puts "Filtering interactions by: #{options[:criteria]}" if options[:criteria] && options[:criteria].any?
|
25
25
|
consumer_contract = Pact::ConsumerContract.from_json(pact_json)
|
26
26
|
::RSpec.describe "Verifying a pact between #{consumer_contract.consumer.name} and #{consumer_contract.provider.name}", :pactfile_uri => pact_uri do
|
@@ -25,6 +25,9 @@ module Pact
|
|
25
25
|
command_parts << "-S pact verify"
|
26
26
|
command_parts << "--pact-helper" << (pact_helper.end_with?(".rb") ? pact_helper : pact_helper + ".rb")
|
27
27
|
(command_parts << "--pact-uri" << pact_uri) if pact_uri
|
28
|
+
command_parts << "--pact-broker-username" << ENV['PACT_BROKER_USERNAME'] if ENV['PACT_BROKER_USERNAME']
|
29
|
+
command_parts << "--pact-broker-password" << ENV['PACT_BROKER_PASSWORD'] if ENV['PACT_BROKER_PASSWORD']
|
30
|
+
command_parts << "--backtrace" if ENV['BACKTRACE'] == 'true'
|
28
31
|
command_parts << "--backtrace" if ENV['BACKTRACE'] == 'true'
|
29
32
|
command_parts << "--description #{Shellwords.escape(ENV['PACT_DESCRIPTION'])}" if ENV['PACT_DESCRIPTION']
|
30
33
|
command_parts << "--provider-state #{Shellwords.escape(ENV['PACT_PROVIDER_STATE'])}" if ENV['PACT_PROVIDER_STATE']
|
data/lib/pact/version.rb
CHANGED
data/pact.gemspec
CHANGED
@@ -28,8 +28,8 @@ Gem::Specification.new do |gem|
|
|
28
28
|
gem.add_runtime_dependency 'webrick'
|
29
29
|
gem.add_runtime_dependency 'term-ansicolor', '~> 1.0'
|
30
30
|
|
31
|
-
gem.add_runtime_dependency 'pact-support', '~> 0.
|
32
|
-
gem.add_runtime_dependency 'pact-mock_service', '~> 0.
|
31
|
+
gem.add_runtime_dependency 'pact-support', '~> 0.4.0'
|
32
|
+
gem.add_runtime_dependency 'pact-mock_service', '~> 0.5.0'
|
33
33
|
|
34
34
|
gem.add_development_dependency 'rake', '~> 10.0.3'
|
35
35
|
gem.add_development_dependency 'webmock', '~> 1.18.0'
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pact
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.7.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -13,7 +13,7 @@ authors:
|
|
13
13
|
autorequire:
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
|
-
date: 2015-
|
16
|
+
date: 2015-03-20 00:00:00.000000000 Z
|
17
17
|
dependencies:
|
18
18
|
- !ruby/object:Gem::Dependency
|
19
19
|
name: randexp
|
@@ -166,7 +166,7 @@ dependencies:
|
|
166
166
|
requirements:
|
167
167
|
- - ~>
|
168
168
|
- !ruby/object:Gem::Version
|
169
|
-
version: 0.
|
169
|
+
version: 0.4.0
|
170
170
|
type: :runtime
|
171
171
|
prerelease: false
|
172
172
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -174,7 +174,7 @@ dependencies:
|
|
174
174
|
requirements:
|
175
175
|
- - ~>
|
176
176
|
- !ruby/object:Gem::Version
|
177
|
-
version: 0.
|
177
|
+
version: 0.4.0
|
178
178
|
- !ruby/object:Gem::Dependency
|
179
179
|
name: pact-mock_service
|
180
180
|
requirement: !ruby/object:Gem::Requirement
|
@@ -182,7 +182,7 @@ dependencies:
|
|
182
182
|
requirements:
|
183
183
|
- - ~>
|
184
184
|
- !ruby/object:Gem::Version
|
185
|
-
version: 0.
|
185
|
+
version: 0.5.0
|
186
186
|
type: :runtime
|
187
187
|
prerelease: false
|
188
188
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -190,7 +190,7 @@ dependencies:
|
|
190
190
|
requirements:
|
191
191
|
- - ~>
|
192
192
|
- !ruby/object:Gem::Version
|
193
|
-
version: 0.
|
193
|
+
version: 0.5.0
|
194
194
|
- !ruby/object:Gem::Dependency
|
195
195
|
name: rake
|
196
196
|
requirement: !ruby/object:Gem::Requirement
|
@@ -383,6 +383,7 @@ files:
|
|
383
383
|
- lib/pact/provider/pact_helper_locator.rb
|
384
384
|
- lib/pact/provider/pact_source.rb
|
385
385
|
- lib/pact/provider/pact_spec_runner.rb
|
386
|
+
- lib/pact/provider/pact_uri.rb
|
386
387
|
- lib/pact/provider/pact_verification.rb
|
387
388
|
- lib/pact/provider/print_missing_provider_states.rb
|
388
389
|
- lib/pact/provider/request.rb
|
@@ -422,7 +423,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
422
423
|
version: '0'
|
423
424
|
segments:
|
424
425
|
- 0
|
425
|
-
hash:
|
426
|
+
hash: 2424764158045904869
|
426
427
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
427
428
|
none: false
|
428
429
|
requirements:
|
@@ -431,7 +432,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
431
432
|
version: '0'
|
432
433
|
segments:
|
433
434
|
- 0
|
434
|
-
hash:
|
435
|
+
hash: 2424764158045904869
|
435
436
|
requirements: []
|
436
437
|
rubyforge_project:
|
437
438
|
rubygems_version: 1.8.23
|