pact 1.10.0 → 1.11.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
  SHA1:
3
- metadata.gz: 9378cd5f3e2ab7ab08e17c560a84552ffacfcc03
4
- data.tar.gz: 1b71020e0ccd0bfed0d0a441011d94c6b606dbd4
3
+ metadata.gz: 8e38dc280e6592408508f4e59c018203b8504946
4
+ data.tar.gz: f26b048371865114bea388c812bf2b33bc23ead9
5
5
  SHA512:
6
- metadata.gz: 8c2cf217850f8f2f352a46721f568a2f0cca9fe87df3a4730eaeecace556dd9cdbf7a65233cf5cf00caabace898d77f9f86ac73129393cc71c18809349c5f4fc
7
- data.tar.gz: edddf39dd4748d0e07a235737289bbccd040c8f16c5a5d3f5a441583fb651b3c20e9521fbb91e15b5d0111e0dd2e7d3d3d9a4da02497551c237972f27c5f9878
6
+ metadata.gz: 554be632b814eb194c01fe50800c073b3fa1540fd2bbb530f35ccb33bb1918ab24a9f37c2eca0a3ad16b685a66ccda244418b3bbbea6178846d1b1a1a45443a3
7
+ data.tar.gz: 6a02276a6a970827a37b66039b90dd47b4444d2ae9ed2f67a510a0e8895af046f5299bb2ce4370c2f084a9d36cce9ad2574358310068f5218048994ed154329d
data/CHANGELOG.md CHANGED
@@ -2,6 +2,14 @@ Do this to generate your change history
2
2
 
3
3
  git log --pretty=format:' * %h - %s (%an, %ad)' vX.Y.Z..HEAD
4
4
 
5
+ ## 1.11.0 (8 May 2017)
6
+ * 2a54388 - Only publish verification results when using spec 3. (Beth Skurrie, Mon May 8 12:08:48 2017 +1000)
7
+ * a82d919 - Remove build for ruby 2.0.0! (Beth Skurrie, Tue May 2 15:16:40 2017 +1000)
8
+ * 37437db - Use basic auth to publish verification if basic auth was configured on the pact URL. (Beth Skurrie, Tue May 2 10:22:15 2017 +1000)
9
+ * 3038354 - Enable verifications to be automatically published to the pact broker. (Beth Skurrie, Tue May 2 08:44:19 2017 +1000)
10
+ * 527f27f - Update gem dependency versions. (Beth Skurrie, Tue May 2 08:24:37 2017 +1000)
11
+ * 041f107 - Updated pact-mock_service version in gemspec (Beth Skurrie, Tue Apr 4 16:20:10 2017 +1000)
12
+
5
13
  ## 1.10.0 (14 Nov 2016)
6
14
  * 1e8c0bc - Updating pact-support and pact-mock_service versions (Beth Skurrie, Mon Nov 14 10:16:38 2016 +1100)
7
15
 
@@ -9,6 +9,8 @@ module Pact
9
9
 
10
10
  module ConfigurationExtension
11
11
 
12
+ attr_accessor :provider_application_version
13
+
12
14
  def provider= provider
13
15
  @provider = provider
14
16
  end
@@ -3,13 +3,21 @@ module Pact
3
3
  module Configuration
4
4
  class ServiceProviderConfig
5
5
 
6
- def initialize &app_block
6
+ attr_accessor :application_version
7
+
8
+ def initialize application_version, publish_verification_results, &app_block
9
+ @application_version = application_version
10
+ @publish_verification_results = publish_verification_results
7
11
  @app_block = app_block
8
12
  end
9
13
 
10
14
  def app
11
15
  @app_block.call
12
16
  end
17
+
18
+ def publish_verification_results?
19
+ @publish_verification_results
20
+ end
13
21
  end
14
22
  end
15
23
  end
@@ -7,11 +7,13 @@ module Pact
7
7
 
8
8
  module Configuration
9
9
 
10
+ class Error < ::Pact::Error; end
11
+
10
12
  class ServiceProviderDSL
11
13
 
12
14
  extend Pact::DSL
13
15
 
14
- attr_accessor :name, :app_block
16
+ attr_accessor :name, :app_block, :application_version, :publish_verification_results
15
17
 
16
18
  CONFIG_RU_APP = lambda {
17
19
  unless File.exist? Pact.configuration.config_ru_path
@@ -22,6 +24,7 @@ module Pact
22
24
 
23
25
  def initialize name
24
26
  @name = name
27
+ @publish_verification_results = false
25
28
  @app_block = CONFIG_RU_APP
26
29
  end
27
30
 
@@ -30,6 +33,17 @@ module Pact
30
33
  self.app_block = block
31
34
  end
32
35
 
36
+ def app_version application_version
37
+ self.application_version = application_version
38
+ end
39
+
40
+ def publish_verification_results publish_verification_results
41
+ self.publish_verification_results = publish_verification_results
42
+ Pact::RSpec.with_rspec_2 do
43
+ puts "WARNING: Publishing of verification results is currently not supported with rspec 2. If you would like this functionality, please feel free to submit a PR!"
44
+ end
45
+ end
46
+
33
47
  def honours_pact_with consumer_name, options = {}, &block
34
48
  create_pact_verification consumer_name, options, &block
35
49
  end
@@ -47,11 +61,16 @@ module Pact
47
61
  private
48
62
 
49
63
  def validate
50
- raise "Please provide a name for the Provider" unless name && !name.strip.empty?
64
+ raise Error.new("Please provide a name for the Provider") unless name && !name.strip.empty?
65
+ raise Error.new("Please set the app_version when publish_verification_results is true") if publish_verification_results && application_version_blank?
66
+ end
67
+
68
+ def application_version_blank?
69
+ application_version.nil? || application_version.strip.empty?
51
70
  end
52
71
 
53
72
  def create_service_provider
54
- Pact.configuration.provider = ServiceProviderConfig.new(&@app_block)
73
+ Pact.configuration.provider = ServiceProviderConfig.new(application_version, publish_verification_results, &@app_block)
55
74
  end
56
75
  end
57
76
  end
@@ -1,6 +1,6 @@
1
1
  require 'pact/consumer_contract/pact_file'
2
2
 
3
- module PactBroker
3
+ module Pact
4
4
  module Provider
5
5
  class PactSource
6
6
 
@@ -14,6 +14,9 @@ module PactBroker
14
14
  @pact_json ||= Pact::PactFile.read(uri.uri, uri.options)
15
15
  end
16
16
 
17
+ def pact_hash
18
+ @pact_hash ||= JSON.load(pact_json, nil, { max_nesting: 50 })
19
+ end
17
20
  end
18
21
  end
19
22
  end
@@ -7,6 +7,7 @@ require 'pact/project_root'
7
7
  require 'pact/rspec'
8
8
  require 'pact/provider/pact_source'
9
9
  require 'pact/provider/help/write'
10
+ require 'pact/provider/verification_results/publish_all'
10
11
 
11
12
  require_relative 'rspec'
12
13
 
@@ -77,9 +78,13 @@ module Pact
77
78
  end
78
79
 
79
80
  jsons = pact_jsons
81
+ sources = pact_sources
80
82
 
81
- config.after(:suite) do
83
+ config.after(:suite) do | suite |
82
84
  Pact::Provider::Help::Write.call(jsons)
85
+ Pact::RSpec.with_rspec_3 do
86
+ Pact::Provider::VerificationResults::PublishAll.call(sources, suite)
87
+ end
83
88
  end
84
89
 
85
90
  end
@@ -107,7 +112,7 @@ module Pact
107
112
  def pact_sources
108
113
  @pact_sources ||= begin
109
114
  pact_urls.collect do | pact_url |
110
- PactBroker::Provider::PactSource.new(pact_url)
115
+ Pact::Provider::PactSource.new(pact_url)
111
116
  end
112
117
  end
113
118
  end
@@ -14,14 +14,25 @@ module Pact
14
14
  options == other.options
15
15
  end
16
16
 
17
+ def basic_auth?
18
+ !!username
19
+ end
20
+
21
+ def username
22
+ options[:username]
23
+ end
24
+
25
+ def password
26
+ options[:password]
27
+ end
28
+
17
29
  def to_s
18
- if(options[:username])
19
- URI(@uri).tap { |x| x.userinfo="#{options[:username]}:*****"}.to_s
30
+ if(basic_auth?)
31
+ URI(@uri).tap { |x| x.userinfo="#{username}:*****"}.to_s
20
32
  else
21
33
  @uri
22
34
  end
23
-
24
35
  end
25
36
  end
26
37
  end
27
- end
38
+ end
@@ -23,13 +23,13 @@ module Pact
23
23
  puts "Reading pact at #{pact_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
- ::RSpec.describe "Verifying a pact between #{consumer_contract.consumer.name} and #{consumer_contract.provider.name}", :pactfile_uri => pact_uri do
26
+ ::RSpec.describe "Verifying a pact between #{consumer_contract.consumer.name} and #{consumer_contract.provider.name}", pactfile_uri: pact_uri do
27
27
  honour_consumer_contract consumer_contract, options.merge(pact_json: pact_json)
28
28
  end
29
29
  end
30
30
 
31
31
  def honour_consumer_contract consumer_contract, options = {}
32
- describe_consumer_contract consumer_contract, options.merge(:consumer => consumer_contract.consumer.name)
32
+ describe_consumer_contract consumer_contract, options.merge(consumer: consumer_contract.consumer.name)
33
33
  end
34
34
 
35
35
  private
@@ -61,10 +61,10 @@ module Pact
61
61
  def describe_interaction interaction, options
62
62
 
63
63
  metadata = {
64
- :pact => :verify,
65
- :pact_interaction => interaction,
66
- :pact_interaction_example_description => interaction_description_for_rerun_command(interaction),
67
- :pact_json => options[:pact_json]
64
+ pact: :verify,
65
+ pact_interaction: interaction,
66
+ pact_interaction_example_description: interaction_description_for_rerun_command(interaction),
67
+ pact_json: options[:pact_json]
68
68
  }
69
69
 
70
70
  describe description_for(interaction), metadata do
@@ -0,0 +1,42 @@
1
+ require 'pact/provider/verification_results/verification_result'
2
+ module Pact
3
+ module Provider
4
+ module VerificationResults
5
+ class Create
6
+
7
+ def self.call pact_json, suite_context
8
+ new(pact_json, suite_context).call
9
+ end
10
+
11
+ def initialize pact_json, suite_context
12
+ @pact_json = pact_json
13
+ @suite_context = suite_context
14
+ end
15
+
16
+ def call
17
+ VerificationResult.new(!any_failures?, Pact.configuration.provider.application_version)
18
+ end
19
+
20
+ private
21
+
22
+ def pact_hash
23
+ @pact_hash ||= json_load(pact_json)
24
+ end
25
+
26
+ def json_load json
27
+ JSON.load(json, nil, { max_nesting: 50 })
28
+ end
29
+
30
+ def count_failures_for_pact_json
31
+ suite_context.reporter.failed_examples.collect{ |e| e.metadata[:pact_json] == pact_json }.uniq.size
32
+ end
33
+
34
+ def any_failures?
35
+ count_failures_for_pact_json > 0
36
+ end
37
+
38
+ attr_reader :pact_json, :suite_context
39
+ end
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,78 @@
1
+ require 'json'
2
+ require 'pact/errors'
3
+
4
+ module Pact
5
+ module Provider
6
+ module VerificationResults
7
+
8
+ class PublicationError < Pact::Error; end
9
+
10
+ class Publish
11
+
12
+ def self.call pact_source, verification_result
13
+ new(pact_source, verification_result).call
14
+ end
15
+
16
+ def initialize pact_source, verification_result
17
+ @pact_source = pact_source
18
+ @verification_result = verification_result
19
+ end
20
+
21
+ def call
22
+ if Pact.configuration.provider.publish_verification_results?
23
+ if publication_url
24
+ publish
25
+ else
26
+ puts "WARNING: Cannot publish verification for #{consumer_name} as there is no link named pb:publish-verification-results in the pact JSON. If you are using a pact broker, please upgrade to version 2.0.0 or later."
27
+ end
28
+ end
29
+ end
30
+
31
+ private
32
+
33
+ def publication_url
34
+ @publication_url ||= pact_source.pact_hash.fetch('_links', {}).fetch('pb:publish-verification-results', {})['href']
35
+ end
36
+
37
+ def publish
38
+ #TODO https
39
+ #TODO username/password
40
+ uri = URI(publication_url)
41
+ request = build_request(uri)
42
+ response = nil
43
+ begin
44
+ response = Net::HTTP.start(uri.host, uri.port) do |http|
45
+ http.request request
46
+ end
47
+ rescue StandardError => e
48
+ error_message = "Failed to publish verification result due to: #{e.class} #{e.message}"
49
+ raise PublicationError.new(error_message)
50
+ end
51
+
52
+ unless response.code.start_with?("2")
53
+ raise PublicationError.new("Error returned from verification result publication #{response.code} #{response.body}")
54
+ end
55
+ end
56
+
57
+ def build_request uri
58
+ request = Net::HTTP::Post.new(uri.path)
59
+ request['Content-Type'] = "application/json"
60
+ request.body = verification_result.to_json
61
+ debug_uri = uri
62
+ if pact_source.uri.basic_auth?
63
+ request.basic_auth pact_source.uri.username, pact_source.uri.password
64
+ debug_uri = URI(uri.to_s).tap { |x| x.userinfo="#{pact_source.uri.username}:*****"}
65
+ end
66
+ puts "Publishing verification result #{verification_result.to_json} to #{debug_uri}"
67
+ request
68
+ end
69
+
70
+ def consumer_name
71
+ pact_source.pact_hash['consumer']['name']
72
+ end
73
+
74
+ attr_reader :pact_source, :verification_result
75
+ end
76
+ end
77
+ end
78
+ end
@@ -0,0 +1,36 @@
1
+ require'pact/provider/verification_results/create'
2
+ require'pact/provider/verification_results/publish'
3
+
4
+ module Pact
5
+ module Provider
6
+ module VerificationResults
7
+ class PublishAll
8
+
9
+ def self.call pact_sources, rspec_summary
10
+ new(pact_sources, rspec_summary).call
11
+ end
12
+
13
+ def initialize pact_sources, rspec_summary
14
+ @pact_sources = pact_sources
15
+ @rspec_summary = rspec_summary
16
+ end
17
+
18
+ def call
19
+ verification_results.collect do | pair |
20
+ Publish.call(pair.first, pair.last)
21
+ end
22
+ end
23
+
24
+ private
25
+
26
+ def verification_results
27
+ pact_sources.collect do | pact_source |
28
+ [pact_source, Create.call(pact_source.pact_json, rspec_summary)]
29
+ end
30
+ end
31
+
32
+ attr_reader :pact_sources, :rspec_summary
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,28 @@
1
+ module Pact
2
+ module Provider
3
+ module VerificationResults
4
+ class VerificationResult
5
+
6
+ def initialize success, provider_application_version
7
+ @success = success
8
+ @provider_application_version = provider_application_version
9
+ end
10
+
11
+ def provider_application_version_set?
12
+ !!provider_application_version
13
+ end
14
+
15
+ def to_json
16
+ {
17
+ success: success,
18
+ providerApplicationVersion: provider_application_version
19
+ }.to_json
20
+ end
21
+
22
+ private
23
+
24
+ attr_reader :success, :provider_application_version
25
+ end
26
+ end
27
+ end
28
+ end
data/lib/pact/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Pact
2
- VERSION = "1.10.0"
2
+ VERSION = "1.11.0"
3
3
  end
data/pact.gemspec CHANGED
@@ -24,15 +24,15 @@ Gem::Specification.new do |gem|
24
24
  gem.add_runtime_dependency 'rspec', '>=2.14'
25
25
  gem.add_runtime_dependency 'rack-test', '~> 0.6.2'
26
26
  gem.add_runtime_dependency 'thor'
27
- gem.add_runtime_dependency 'json' #Not locking down a version because buncher gem requires 1.6, while other projects use 1.7.
27
+ gem.add_runtime_dependency 'json','> 1.8.5'
28
28
  gem.add_runtime_dependency 'webrick'
29
29
  gem.add_runtime_dependency 'term-ansicolor', '~> 1.0'
30
30
 
31
31
  gem.add_runtime_dependency 'pact-support', '~> 0.6'
32
- gem.add_runtime_dependency 'pact-mock_service', '~> 0.11'
32
+ gem.add_runtime_dependency 'pact-mock_service', '~> 1.2'
33
33
 
34
34
  gem.add_development_dependency 'rake', '~> 10.0.3'
35
- gem.add_development_dependency 'webmock', '~> 1.18.0'
35
+ gem.add_development_dependency 'webmock', '~> 3.0'
36
36
  gem.add_development_dependency 'pry'
37
37
  gem.add_development_dependency 'fakefs', '0.5' # 0.6.0 blows up
38
38
  gem.add_development_dependency 'hashie', '~> 2.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.10.0
4
+ version: 1.11.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Fraser
@@ -9,250 +9,252 @@ authors:
9
9
  - Brent Snook
10
10
  - Ronald Holshausen
11
11
  - Beth Skurrie
12
- autorequire:
12
+ autorequire:
13
13
  bindir: bin
14
14
  cert_chain: []
15
- date: 2016-11-15 00:00:00.000000000 Z
15
+ date: 2017-05-08 00:00:00.000000000 Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
18
  name: randexp
19
- version_requirements: !ruby/object:Gem::Requirement
19
+ requirement: !ruby/object:Gem::Requirement
20
20
  requirements:
21
21
  - - "~>"
22
22
  - !ruby/object:Gem::Version
23
23
  version: 0.1.7
24
- requirement: !ruby/object:Gem::Requirement
24
+ type: :runtime
25
+ prerelease: false
26
+ version_requirements: !ruby/object:Gem::Requirement
25
27
  requirements:
26
28
  - - "~>"
27
29
  - !ruby/object:Gem::Version
28
30
  version: 0.1.7
29
- prerelease: false
30
- type: :runtime
31
31
  - !ruby/object:Gem::Dependency
32
32
  name: rspec
33
- version_requirements: !ruby/object:Gem::Requirement
33
+ requirement: !ruby/object:Gem::Requirement
34
34
  requirements:
35
35
  - - ">="
36
36
  - !ruby/object:Gem::Version
37
37
  version: '2.14'
38
- requirement: !ruby/object:Gem::Requirement
38
+ type: :runtime
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
39
41
  requirements:
40
42
  - - ">="
41
43
  - !ruby/object:Gem::Version
42
44
  version: '2.14'
43
- prerelease: false
44
- type: :runtime
45
45
  - !ruby/object:Gem::Dependency
46
46
  name: rack-test
47
- version_requirements: !ruby/object:Gem::Requirement
47
+ requirement: !ruby/object:Gem::Requirement
48
48
  requirements:
49
49
  - - "~>"
50
50
  - !ruby/object:Gem::Version
51
51
  version: 0.6.2
52
- requirement: !ruby/object:Gem::Requirement
52
+ type: :runtime
53
+ prerelease: false
54
+ version_requirements: !ruby/object:Gem::Requirement
53
55
  requirements:
54
56
  - - "~>"
55
57
  - !ruby/object:Gem::Version
56
58
  version: 0.6.2
57
- prerelease: false
58
- type: :runtime
59
59
  - !ruby/object:Gem::Dependency
60
60
  name: thor
61
- version_requirements: !ruby/object:Gem::Requirement
62
- requirements:
63
- - - ">="
64
- - !ruby/object:Gem::Version
65
- version: '0'
66
61
  requirement: !ruby/object:Gem::Requirement
67
62
  requirements:
68
63
  - - ">="
69
64
  - !ruby/object:Gem::Version
70
65
  version: '0'
71
- prerelease: false
72
66
  type: :runtime
73
- - !ruby/object:Gem::Dependency
74
- name: json
67
+ prerelease: false
75
68
  version_requirements: !ruby/object:Gem::Requirement
76
69
  requirements:
77
70
  - - ">="
78
71
  - !ruby/object:Gem::Version
79
72
  version: '0'
73
+ - !ruby/object:Gem::Dependency
74
+ name: json
80
75
  requirement: !ruby/object:Gem::Requirement
81
76
  requirements:
82
- - - ">="
77
+ - - ">"
83
78
  - !ruby/object:Gem::Version
84
- version: '0'
85
- prerelease: false
79
+ version: 1.8.5
86
80
  type: :runtime
87
- - !ruby/object:Gem::Dependency
88
- name: webrick
81
+ prerelease: false
89
82
  version_requirements: !ruby/object:Gem::Requirement
90
83
  requirements:
91
- - - ">="
84
+ - - ">"
92
85
  - !ruby/object:Gem::Version
93
- version: '0'
86
+ version: 1.8.5
87
+ - !ruby/object:Gem::Dependency
88
+ name: webrick
94
89
  requirement: !ruby/object:Gem::Requirement
95
90
  requirements:
96
91
  - - ">="
97
92
  - !ruby/object:Gem::Version
98
93
  version: '0'
99
- prerelease: false
100
94
  type: :runtime
101
- - !ruby/object:Gem::Dependency
102
- name: term-ansicolor
95
+ prerelease: false
103
96
  version_requirements: !ruby/object:Gem::Requirement
104
97
  requirements:
105
- - - "~>"
98
+ - - ">="
106
99
  - !ruby/object:Gem::Version
107
- version: '1.0'
100
+ version: '0'
101
+ - !ruby/object:Gem::Dependency
102
+ name: term-ansicolor
108
103
  requirement: !ruby/object:Gem::Requirement
109
104
  requirements:
110
105
  - - "~>"
111
106
  - !ruby/object:Gem::Version
112
107
  version: '1.0'
113
- prerelease: false
114
108
  type: :runtime
115
- - !ruby/object:Gem::Dependency
116
- name: pact-support
109
+ prerelease: false
117
110
  version_requirements: !ruby/object:Gem::Requirement
118
111
  requirements:
119
112
  - - "~>"
120
113
  - !ruby/object:Gem::Version
121
- version: '0.6'
114
+ version: '1.0'
115
+ - !ruby/object:Gem::Dependency
116
+ name: pact-support
122
117
  requirement: !ruby/object:Gem::Requirement
123
118
  requirements:
124
119
  - - "~>"
125
120
  - !ruby/object:Gem::Version
126
121
  version: '0.6'
127
- prerelease: false
128
122
  type: :runtime
129
- - !ruby/object:Gem::Dependency
130
- name: pact-mock_service
123
+ prerelease: false
131
124
  version_requirements: !ruby/object:Gem::Requirement
132
125
  requirements:
133
126
  - - "~>"
134
127
  - !ruby/object:Gem::Version
135
- version: '0.11'
128
+ version: '0.6'
129
+ - !ruby/object:Gem::Dependency
130
+ name: pact-mock_service
136
131
  requirement: !ruby/object:Gem::Requirement
137
132
  requirements:
138
133
  - - "~>"
139
134
  - !ruby/object:Gem::Version
140
- version: '0.11'
141
- prerelease: false
135
+ version: '1.2'
142
136
  type: :runtime
143
- - !ruby/object:Gem::Dependency
144
- name: rake
137
+ prerelease: false
145
138
  version_requirements: !ruby/object:Gem::Requirement
146
139
  requirements:
147
140
  - - "~>"
148
141
  - !ruby/object:Gem::Version
149
- version: 10.0.3
142
+ version: '1.2'
143
+ - !ruby/object:Gem::Dependency
144
+ name: rake
150
145
  requirement: !ruby/object:Gem::Requirement
151
146
  requirements:
152
147
  - - "~>"
153
148
  - !ruby/object:Gem::Version
154
149
  version: 10.0.3
155
- prerelease: false
156
150
  type: :development
157
- - !ruby/object:Gem::Dependency
158
- name: webmock
151
+ prerelease: false
159
152
  version_requirements: !ruby/object:Gem::Requirement
160
153
  requirements:
161
154
  - - "~>"
162
155
  - !ruby/object:Gem::Version
163
- version: 1.18.0
156
+ version: 10.0.3
157
+ - !ruby/object:Gem::Dependency
158
+ name: webmock
164
159
  requirement: !ruby/object:Gem::Requirement
165
160
  requirements:
166
161
  - - "~>"
167
162
  - !ruby/object:Gem::Version
168
- version: 1.18.0
169
- prerelease: false
163
+ version: '3.0'
170
164
  type: :development
165
+ prerelease: false
166
+ version_requirements: !ruby/object:Gem::Requirement
167
+ requirements:
168
+ - - "~>"
169
+ - !ruby/object:Gem::Version
170
+ version: '3.0'
171
171
  - !ruby/object:Gem::Dependency
172
172
  name: pry
173
- version_requirements: !ruby/object:Gem::Requirement
173
+ requirement: !ruby/object:Gem::Requirement
174
174
  requirements:
175
175
  - - ">="
176
176
  - !ruby/object:Gem::Version
177
177
  version: '0'
178
- requirement: !ruby/object:Gem::Requirement
178
+ type: :development
179
+ prerelease: false
180
+ version_requirements: !ruby/object:Gem::Requirement
179
181
  requirements:
180
182
  - - ">="
181
183
  - !ruby/object:Gem::Version
182
184
  version: '0'
183
- prerelease: false
184
- type: :development
185
185
  - !ruby/object:Gem::Dependency
186
186
  name: fakefs
187
- version_requirements: !ruby/object:Gem::Requirement
187
+ requirement: !ruby/object:Gem::Requirement
188
188
  requirements:
189
189
  - - '='
190
190
  - !ruby/object:Gem::Version
191
191
  version: '0.5'
192
- requirement: !ruby/object:Gem::Requirement
192
+ type: :development
193
+ prerelease: false
194
+ version_requirements: !ruby/object:Gem::Requirement
193
195
  requirements:
194
196
  - - '='
195
197
  - !ruby/object:Gem::Version
196
198
  version: '0.5'
197
- prerelease: false
198
- type: :development
199
199
  - !ruby/object:Gem::Dependency
200
200
  name: hashie
201
- version_requirements: !ruby/object:Gem::Requirement
201
+ requirement: !ruby/object:Gem::Requirement
202
202
  requirements:
203
203
  - - "~>"
204
204
  - !ruby/object:Gem::Version
205
205
  version: '2.0'
206
- requirement: !ruby/object:Gem::Requirement
206
+ type: :development
207
+ prerelease: false
208
+ version_requirements: !ruby/object:Gem::Requirement
207
209
  requirements:
208
210
  - - "~>"
209
211
  - !ruby/object:Gem::Version
210
212
  version: '2.0'
211
- prerelease: false
212
- type: :development
213
213
  - !ruby/object:Gem::Dependency
214
214
  name: activesupport
215
- version_requirements: !ruby/object:Gem::Requirement
216
- requirements:
217
- - - ">="
218
- - !ruby/object:Gem::Version
219
- version: '0'
220
215
  requirement: !ruby/object:Gem::Requirement
221
216
  requirements:
222
217
  - - ">="
223
218
  - !ruby/object:Gem::Version
224
219
  version: '0'
225
- prerelease: false
226
220
  type: :development
227
- - !ruby/object:Gem::Dependency
228
- name: faraday
221
+ prerelease: false
229
222
  version_requirements: !ruby/object:Gem::Requirement
230
223
  requirements:
231
224
  - - ">="
232
225
  - !ruby/object:Gem::Version
233
226
  version: '0'
227
+ - !ruby/object:Gem::Dependency
228
+ name: faraday
234
229
  requirement: !ruby/object:Gem::Requirement
235
230
  requirements:
236
231
  - - ">="
237
232
  - !ruby/object:Gem::Version
238
233
  version: '0'
239
- prerelease: false
240
234
  type: :development
241
- - !ruby/object:Gem::Dependency
242
- name: appraisal
235
+ prerelease: false
243
236
  version_requirements: !ruby/object:Gem::Requirement
244
237
  requirements:
245
238
  - - ">="
246
239
  - !ruby/object:Gem::Version
247
240
  version: '0'
241
+ - !ruby/object:Gem::Dependency
242
+ name: appraisal
248
243
  requirement: !ruby/object:Gem::Requirement
249
244
  requirements:
250
245
  - - ">="
251
246
  - !ruby/object:Gem::Version
252
247
  version: '0'
253
- prerelease: false
254
248
  type: :development
255
- description: Enables consumer driven contract testing, providing a mock service and DSL for the consumer project, and interaction playback and verification for the service provider project.
249
+ prerelease: false
250
+ version_requirements: !ruby/object:Gem::Requirement
251
+ requirements:
252
+ - - ">="
253
+ - !ruby/object:Gem::Version
254
+ version: '0'
255
+ description: Enables consumer driven contract testing, providing a mock service and
256
+ DSL for the consumer project, and interaction playback and verification for the
257
+ service provider project.
256
258
  email:
257
259
  - james.fraser@alumni.swinburne.edu
258
260
  - sergei.matheson@gmail.com
@@ -330,6 +332,10 @@ files:
330
332
  - lib/pact/provider/state/provider_state_proxy.rb
331
333
  - lib/pact/provider/test_methods.rb
332
334
  - lib/pact/provider/verification_report.rb
335
+ - lib/pact/provider/verification_results/create.rb
336
+ - lib/pact/provider/verification_results/publish.rb
337
+ - lib/pact/provider/verification_results/publish_all.rb
338
+ - lib/pact/provider/verification_results/verification_result.rb
333
339
  - lib/pact/provider/world.rb
334
340
  - lib/pact/tasks.rb
335
341
  - lib/pact/tasks/task_helper.rb
@@ -343,7 +349,7 @@ homepage: https://github.com/realestate-com-au/pact
343
349
  licenses:
344
350
  - MIT
345
351
  metadata: {}
346
- post_install_message:
352
+ post_install_message:
347
353
  rdoc_options: []
348
354
  require_paths:
349
355
  - lib
@@ -358,9 +364,11 @@ required_rubygems_version: !ruby/object:Gem::Requirement
358
364
  - !ruby/object:Gem::Version
359
365
  version: '0'
360
366
  requirements: []
361
- rubyforge_project:
362
- rubygems_version: 2.4.8
363
- signing_key:
367
+ rubyforge_project:
368
+ rubygems_version: 2.6.11
369
+ signing_key:
364
370
  specification_version: 4
365
- summary: Enables consumer driven contract testing, providing a mock service and DSL for the consumer project, and interaction playback and verification for the service provider project.
371
+ summary: Enables consumer driven contract testing, providing a mock service and DSL
372
+ for the consumer project, and interaction playback and verification for the service
373
+ provider project.
366
374
  test_files: []