pact 1.0.15 → 1.0.18

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.
Files changed (40) hide show
  1. data/CHANGELOG.md +29 -0
  2. data/Gemfile +0 -1
  3. data/Gemfile.lock +23 -6
  4. data/README.md +64 -19
  5. data/Rakefile +2 -2
  6. data/example/animal-service/spec/service_consumers/provider_states_for_zoo_app.rb +5 -2
  7. data/lib/pact/consumer/consumer_contract_builder.rb +2 -2
  8. data/lib/pact/consumer/mock_service/app.rb +2 -2
  9. data/lib/pact/consumer/mock_service_interaction_expectation.rb +5 -1
  10. data/lib/pact/consumer_contract/active_support_support.rb +29 -0
  11. data/lib/pact/consumer_contract/consumer_contract.rb +30 -6
  12. data/lib/pact/consumer_contract/interaction.rb +7 -1
  13. data/lib/pact/consumer_contract/request.rb +2 -2
  14. data/lib/pact/consumer_contract/service_consumer.rb +5 -1
  15. data/lib/pact/consumer_contract/service_provider.rb +5 -1
  16. data/lib/pact/matchers/matchers.rb +1 -1
  17. data/lib/pact/provider/pact_spec_runner.rb +100 -72
  18. data/lib/pact/provider/rspec.rb +17 -33
  19. data/lib/pact/provider/verification_report.rb +5 -1
  20. data/lib/pact/shared/request.rb +7 -3
  21. data/lib/pact/something_like.rb +5 -1
  22. data/lib/pact/tasks/task_helper.rb +9 -0
  23. data/lib/pact/tasks/verification_task.rb +74 -73
  24. data/lib/pact/term.rb +15 -1
  25. data/lib/pact/version.rb +1 -1
  26. data/lib/tasks/pact.rake +4 -2
  27. data/pact.gemspec +2 -1
  28. data/spec/features/production_spec.rb +1 -0
  29. data/spec/integration/consumer_spec.rb +1 -0
  30. data/spec/lib/pact/consumer_contract/active_support_support_spec.rb +43 -0
  31. data/spec/lib/pact/consumer_contract/consumer_contract_spec.rb +1 -1
  32. data/spec/lib/pact/consumer_contract/interaction_spec.rb +3 -3
  33. data/spec/lib/pact/matchers/matchers_spec.rb +10 -1
  34. data/spec/lib/pact/verification_task_spec.rb +102 -79
  35. data/spec/spec_helper.rb +11 -0
  36. data/tasks/pact-test.rake +1 -1
  37. data/tasks/spec.rake +8 -0
  38. metadata +40 -23
  39. data/lib/pact/json_warning.rb +0 -32
  40. data/spec/lib/pact/json_warning_spec.rb +0 -39
data/lib/pact/term.rb CHANGED
@@ -1,6 +1,11 @@
1
+ require 'pact/consumer_contract/active_support_support'
2
+ require 'json/add/regexp'
3
+
1
4
  module Pact
2
5
  class Term
3
6
 
7
+ include Pact::ActiveSupportSupport
8
+
4
9
  attr_reader :generate, :matcher
5
10
 
6
11
  def self.json_create(obj)
@@ -15,8 +20,17 @@ module Pact
15
20
  raise "Value to generate \"#{@generate}\" does not match regular expression #{@matcher}" unless @generate =~ @matcher
16
21
  end
17
22
 
23
+ def to_hash
24
+ { json_class: self.class.name, data: { generate: generate, matcher: fix_regexp(matcher)} }
25
+ end
26
+
27
+ def as_json(options = {})
28
+ to_hash
29
+ end
30
+
31
+
18
32
  def to_json(options = {})
19
- { json_class: self.class.name, data: { generate: generate, matcher: matcher} }.to_json(options)
33
+ as_json.to_json(options)
20
34
  end
21
35
 
22
36
  def match(literal)
data/lib/pact/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Pact
2
- VERSION = "1.0.15"
2
+ VERSION = "1.0.18"
3
3
  end
data/lib/tasks/pact.rake CHANGED
@@ -10,10 +10,11 @@ namespace :pact do
10
10
  include Pact::TaskHelper
11
11
 
12
12
  handle_verification_failure do
13
+ options = {criteria: spec_criteria}
13
14
  pact_verifications = Pact.configuration.pact_verifications
14
15
  verification_configs = pact_verifications.collect { | pact_verification | { :uri => pact_verification.uri }}
15
16
  raise "Please configure a pact to verify" if verification_configs.empty?
16
- Pact::Provider::PactSpecRunner.new(verification_configs).run
17
+ Pact::Provider::PactSpecRunner.new(verification_configs, options).run
17
18
  end
18
19
  end
19
20
 
@@ -26,7 +27,8 @@ namespace :pact do
26
27
 
27
28
  handle_verification_failure do
28
29
  puts "Verifying pact at uri #{args[:pact_uri]}"
29
- Pact::Provider::PactSpecRunner.new([{uri: args[:pact_uri]}]).run
30
+ options = {criteria: spec_criteria}
31
+ Pact::Provider::PactSpecRunner.new([{uri: args[:pact_uri]}], options).run
30
32
  end
31
33
  end
32
34
 
data/pact.gemspec CHANGED
@@ -27,11 +27,12 @@ Gem::Specification.new do |gem|
27
27
  gem.add_runtime_dependency 'thin'
28
28
  gem.add_runtime_dependency 'json' #Not locking down a version because buncher gem requires 1.6, while other projects use 1.7.
29
29
 
30
- gem.add_development_dependency 'geminabox-client'
31
30
  gem.add_development_dependency 'rake', '~> 10.0.3'
32
31
  gem.add_development_dependency 'webmock', '~> 1.9.3'
33
32
  gem.add_development_dependency 'pry'
34
33
  gem.add_development_dependency 'fakefs', '~> 0.4'
35
34
  gem.add_development_dependency 'hashie', '~> 2.0'
36
35
  gem.add_development_dependency 'rspec-fire'
36
+ gem.add_development_dependency 'activesupport'
37
+ gem.add_development_dependency 'debugger'
37
38
  end
@@ -1,3 +1,4 @@
1
+ require 'spec_helper'
1
2
  require 'pact/provider/rspec'
2
3
  require 'pact/consumer_contract'
3
4
  require 'features/provider_states/zebras'
@@ -1,3 +1,4 @@
1
+ require 'spec_helper'
1
2
  require 'net/http'
2
3
  require 'pact/consumer'
3
4
  require 'pact/consumer/rspec'
@@ -0,0 +1,43 @@
1
+ require 'spec_helper'
2
+ require 'pact/consumer_contract/active_support_support'
3
+
4
+ module Pact
5
+ describe ActiveSupportSupport do
6
+
7
+ include ActiveSupportSupport
8
+
9
+
10
+ describe "fix_regexp" do
11
+ let(:regexp) { /moose/ }
12
+
13
+ subject { fix_regexp regexp }
14
+
15
+ it "returns the original regexp" do
16
+ expect(subject).to be(regexp)
17
+ end
18
+
19
+ it "fixes the as_json method for Regexp that ActiveSupport tramples beneath its destructive hooves of destruction" do
20
+ expect(subject.to_json).to eq("{\"json_class\":\"Regexp\",\"o\":0,\"s\":\"moose\"}")
21
+ end
22
+ end
23
+
24
+ describe "fix_all_the_things" do
25
+ let(:hash) do
26
+ { 'body' => Pact::Term.new(matcher: /a*b/, generate: 'abba'), array: [/blah/], thing: /alligator/ }
27
+ end
28
+
29
+ subject { fix_all_the_things(hash) }
30
+
31
+ it "returns the original object" do
32
+ expect(subject).to be(hash)
33
+ end
34
+
35
+ it "finds all the Regexp objects in hashes or Pact class attributes and fixes the as_json method" do
36
+ json = subject.to_json
37
+ expect(json).to include("{\"json_class\":\"Regexp\",\"o\":0,\"s\":\"a*b\"}")
38
+ expect(json).to include("{\"json_class\":\"Regexp\",\"o\":0,\"s\":\"blah\"}")
39
+ expect(json).to include("{\"json_class\":\"Regexp\",\"o\":0,\"s\":\"alligator\"}")
40
+ end
41
+ end
42
+ end
43
+ end
@@ -191,7 +191,7 @@ eos
191
191
  end
192
192
 
193
193
  it "should write the interactions to the file" do
194
- File.read(expected_pact_path).should eql expected_pact_string.strip
194
+ File.read(expected_pact_path).gsub(/\s+/, '').should eql expected_pact_string.strip.gsub(/\s+/, '')
195
195
  end
196
196
  end
197
197
  end
@@ -28,7 +28,7 @@ module Pact
28
28
  context "by description" do
29
29
  context "when the interaction matches" do
30
30
  it "returns true" do
31
- expect(subject.matches_criteria?(:description => /request.*food/)).to be_true
31
+ expect(subject.matches_criteria?(:description => /request.*food/)).to be_true
32
32
  end
33
33
  end
34
34
  context "when the interaction does not match" do
@@ -52,10 +52,10 @@ module Pact
52
52
 
53
53
  let(:response) do
54
54
  { baz: /qux/, wiffle: Term.new(generate: 'wiffle', matcher: /iff/) }
55
- end
55
+ end
56
56
 
57
57
  let(:parsed_result) do
58
- JSON.load(JSON.dump(subject))
58
+ JSON.load(subject.to_json)
59
59
  end
60
60
 
61
61
  subject { Interaction.from_hash('response' => response, 'request' => request) }
@@ -38,6 +38,15 @@ describe Pact::Matchers do
38
38
  end
39
39
  end
40
40
 
41
+ describe "expecting a string matching a regexp and not finding key" do
42
+ let(:expected) { {a: /b/} }
43
+ let(:actual) { {} }
44
+ let(:difference) { {:a=>{:expected=>/b/, :actual=> Pact::KeyNotFound.new }} }
45
+ it "returns the diff" do
46
+ expect(diff(expected, actual)).to eq difference
47
+ end
48
+ end
49
+
41
50
  describe 'structure_diff' do
42
51
  let(:expected) {
43
52
  {a: 'a string', b: 1, c: nil, d: [{e: 'thing'}], f: {g: 10}, h: false}
@@ -153,7 +162,7 @@ describe Pact::Matchers do
153
162
  let(:difference) { [Pact::Matchers::NO_DIFF_INDICATOR, {expected: Pact::UnexpectedIndex.new , actual: 2}] }
154
163
  it 'returns the diff' do
155
164
  expect(diff(subject, actual)).to eq(difference)
156
- end
165
+ end
157
166
  end
158
167
 
159
168
  context 'where an expected value is a non-empty string' do
@@ -2,85 +2,108 @@ require 'spec_helper'
2
2
  require 'pact/tasks/verification_task'
3
3
 
4
4
  module Pact
5
- describe VerificationTask do
6
- before :all do
7
- @support_file = '/custom/path/support_file.rb'
8
- @pact_uri = 'http://example.org/pact.json'
9
- @task_name = 'pact:verify:pact_rake_spec'
10
- @task_name_with_explict_support_file = 'pact:verify:pact_rake_spec_with_explict_support_file'
11
- @consumer = 'some-consumer'
12
-
13
- VerificationTask.new(:pact_rake_spec_with_explict_support_file) do | pact |
14
- pact.uri @pact_uri, support_file: @support_file
15
- end
16
-
17
- VerificationTask.new(:pact_rake_spec) do | pact |
18
- pact.uri @pact_uri
19
- end
20
- end
21
-
22
- before do
23
- VerificationTask.any_instance.stub(:publish_report)
24
- Provider::PactSpecRunner.stub(:new).with(consumer_contract).and_return(pact_spec_runner)
25
- end
26
-
27
- let(:pact_spec_runner) { double('PactSpecRunner', :run => exit_code, :output => nil)}
28
- let(:exit_code) {0}
29
- let(:consumer_contract) { [ uri: @pact_uri, support_file: nil ] }
30
-
31
-
32
- describe '.initialize' do
33
- context 'with an explict support_file' do
34
- it 'creates the tasks' do
35
- Rake::Task.tasks.should include_task @task_name
36
- end
37
- end
38
- context 'with no explict support_file' do
39
- it 'creates the tasks' do
40
- Rake::Task.tasks.should include_task @task_name_with_explict_support_file
41
- end
42
- end
43
- end
44
-
45
- describe 'execute' do
46
-
47
-
48
- context "with no explict support file " do
49
- it 'verifies the pacts using PactSpecRunner' do
50
- Rake::Task[@task_name].execute
51
- end
52
- end
53
-
54
- context "with an explict support_file" do
55
- let(:consumer_contract) { [ uri: @pact_uri, support_file: @support_file] }
56
- it 'verifies the pacts using PactSpecRunner' do
57
- Rake::Task[@task_name_with_explict_support_file].execute
58
- end
59
- end
60
-
61
- context 'when all specs pass' do
62
-
63
- it 'does not raise an exception' do
64
- Rake::Task[@task_name].execute
65
- end
66
- end
67
-
68
- context 'when one or more specs fail' do
69
-
70
- let(:exit_code) {1}
71
-
72
- it 'raises an exception' do
73
- $stderr.should_receive(:puts) #Confusing if this shows on the screen!
74
- expect { Rake::Task[@task_name].execute }.to raise_error RuntimeError
75
- end
76
-
77
- end
78
- end
79
- end
5
+ describe VerificationTask do
6
+ before :all do
7
+ @support_file = nil
8
+ @pact_helper = '/custom/path/support_file.rb'
9
+ @pact_uri = 'http://example.org/pact.json'
10
+ @task_name = 'pact:verify:pact_rake_spec'
11
+ @task_name_with_explict_support_file = 'pact:verify:pact_rake_spec_with_explict_support_file'
12
+ @consumer = 'some-consumer'
13
+ @criteria = {:description => /wiffle/}
14
+
15
+ VerificationTask.new(:pact_rake_spec_with_explict_support_file) do | pact |
16
+ pact.uri @pact_uri, support_file: @support_file, pact_helper: @pact_helper
17
+ end
18
+
19
+ VerificationTask.new(:pact_rake_spec) do | pact |
20
+ pact.uri @pact_uri
21
+ end
22
+ end
23
+
24
+ after :each do
25
+ ENV.delete 'PACT_DESCRIPTION'
26
+ end
27
+
28
+ before do
29
+ ENV['PACT_DESCRIPTION'] = 'wiffle'
30
+ VerificationTask.any_instance.stub(:publish_report)
31
+ Provider::PactSpecRunner.stub(:new).with(consumer_contract, options).and_return(pact_spec_runner)
32
+ end
33
+
34
+ let(:pact_spec_runner) { double('PactSpecRunner', :run => exit_code, :output => nil)}
35
+ let(:exit_code) {0}
36
+ let(:consumer_contract) { [ uri: @pact_uri, support_file: nil, pact_helper: nil ] }
37
+ let(:options) { {criteria: @criteria} }
38
+
39
+
40
+ describe '.initialize' do
41
+ context 'with an explict support_file' do
42
+ it 'creates the tasks' do
43
+ Rake::Task.tasks.should include_task @task_name
44
+ end
45
+ end
46
+ context 'with no explict support_file' do
47
+ it 'creates the tasks' do
48
+ Rake::Task.tasks.should include_task @task_name_with_explict_support_file
49
+ end
50
+ end
51
+ end
52
+
53
+ describe 'execute' do
54
+
55
+
56
+ context "with no explicit support file " do
57
+ it 'verifies the pacts using PactSpecRunner' do
58
+ Rake::Task[@task_name].execute
59
+ end
60
+ end
61
+
62
+ context "with an explict support_file" do
63
+ let(:consumer_contract) { [ uri: @pact_uri, support_file: @support_file, pact_helper: @pact_helper] }
64
+ it 'verifies the pacts using PactSpecRunner' do
65
+ Rake::Task[@task_name_with_explict_support_file].execute
66
+ end
67
+ end
68
+
69
+ context "with criteria" do
70
+ it 'passes the criteria to the PactSpecRunner as regexes' do
71
+ ENV.delete 'PACT_DESCRIPTION'
72
+ Provider::PactSpecRunner.should_receive(:new).with(
73
+ consumer_contract, {
74
+ criteria: {
75
+ description: /stuff/,
76
+ provider_state: /things/
77
+ }
78
+ }
79
+ ).and_return(pact_spec_runner)
80
+ Rake::Task[@task_name].execute(description: 'stuff', provider_state: 'things')
81
+ end
82
+ end
83
+
84
+ context 'when all specs pass' do
85
+
86
+ it 'does not raise an exception' do
87
+ Rake::Task[@task_name].execute
88
+ end
89
+ end
90
+
91
+ context 'when one or more specs fail' do
92
+
93
+ let(:exit_code) {1}
94
+
95
+ it 'raises an exception' do
96
+ $stderr.should_receive(:puts) #Confusing if this shows on the screen!
97
+ expect { Rake::Task[@task_name].execute }.to raise_error RuntimeError
98
+ end
99
+
100
+ end
101
+ end
102
+ end
80
103
  end
81
104
 
82
105
  RSpec::Matchers.define :include_task do |expected|
83
- match do |actual|
84
- actual.any? { |task| task.name == expected }
85
- end
86
- end
106
+ match do |actual|
107
+ actual.any? { |task| task.name == expected }
108
+ end
109
+ end
data/spec/spec_helper.rb CHANGED
@@ -8,7 +8,18 @@ require_relative 'support/factories'
8
8
 
9
9
  WebMock.disable_net_connect!(allow_localhost: true)
10
10
 
11
+ if ENV['LOAD_ACTIVE_SUPPORT']
12
+ puts 'LOADING ACTIVE SUPPORT!!!! Hopefully it all still works'
13
+ require 'active_support/all'
14
+ require 'active_support'
15
+ require 'active_support/json'
16
+ end
17
+
11
18
  RSpec.configure do | config |
12
19
  config.include(FakeFS::SpecHelpers, :fakefs => true)
13
20
  config.include(RSpec::Fire)
21
+
22
+ config.extend Pact::Provider::RSpec::ClassMethods
23
+ config.include Pact::Provider::RSpec::InstanceMethods
24
+ config.include Pact::Provider::TestMethods
14
25
  end
data/tasks/pact-test.rake CHANGED
@@ -14,7 +14,7 @@ namespace :pact do
14
14
  result = Pact::Provider::PactSpecRunner.new([{ uri: './spec/support/test_app_pass.json' }], silent: silent).run
15
15
  fail 'Expected pact to pass' unless (result == 0)
16
16
 
17
- result = Pact::Provider::PactSpecRunner.new([{ uri: './spec/support/test_app_fail.json', support_file: './spec/support/pact_helper.rb' }], silent: silent).run
17
+ result = Pact::Provider::PactSpecRunner.new([{ uri: './spec/support/test_app_fail.json', pact_helper: './spec/support/pact_helper.rb' }], silent: silent).run
18
18
  fail 'Expected pact to fail' if (result == 0)
19
19
 
20
20
  expect_to_pass "bundle exec rake pact:verify"
data/tasks/spec.rake ADDED
@@ -0,0 +1,8 @@
1
+ task :set_active_support_on do
2
+ ENV["LOAD_ACTIVE_SUPPORT"] = 'true'
3
+ end
4
+
5
+ desc "This is to ensure that the gem still works even when active support JSON is loaded."
6
+ task :spec_with_active_support => [:set_active_support_on] do
7
+ Rake::Task['spec'].execute
8
+ end
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.0.15
4
+ version: 1.0.18
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: 2013-10-22 00:00:00.000000000 Z
16
+ date: 2013-10-29 00:00:00.000000000 Z
17
17
  dependencies:
18
18
  - !ruby/object:Gem::Dependency
19
19
  name: randexp
@@ -143,22 +143,6 @@ dependencies:
143
143
  - - ! '>='
144
144
  - !ruby/object:Gem::Version
145
145
  version: '0'
146
- - !ruby/object:Gem::Dependency
147
- name: geminabox-client
148
- requirement: !ruby/object:Gem::Requirement
149
- none: false
150
- requirements:
151
- - - ! '>='
152
- - !ruby/object:Gem::Version
153
- version: '0'
154
- type: :development
155
- prerelease: false
156
- version_requirements: !ruby/object:Gem::Requirement
157
- none: false
158
- requirements:
159
- - - ! '>='
160
- - !ruby/object:Gem::Version
161
- version: '0'
162
146
  - !ruby/object:Gem::Dependency
163
147
  name: rake
164
148
  requirement: !ruby/object:Gem::Requirement
@@ -255,6 +239,38 @@ dependencies:
255
239
  - - ! '>='
256
240
  - !ruby/object:Gem::Version
257
241
  version: '0'
242
+ - !ruby/object:Gem::Dependency
243
+ name: activesupport
244
+ requirement: !ruby/object:Gem::Requirement
245
+ none: false
246
+ requirements:
247
+ - - ! '>='
248
+ - !ruby/object:Gem::Version
249
+ version: '0'
250
+ type: :development
251
+ prerelease: false
252
+ version_requirements: !ruby/object:Gem::Requirement
253
+ none: false
254
+ requirements:
255
+ - - ! '>='
256
+ - !ruby/object:Gem::Version
257
+ version: '0'
258
+ - !ruby/object:Gem::Dependency
259
+ name: debugger
260
+ requirement: !ruby/object:Gem::Requirement
261
+ none: false
262
+ requirements:
263
+ - - ! '>='
264
+ - !ruby/object:Gem::Version
265
+ version: '0'
266
+ type: :development
267
+ prerelease: false
268
+ version_requirements: !ruby/object:Gem::Requirement
269
+ none: false
270
+ requirements:
271
+ - - ! '>='
272
+ - !ruby/object:Gem::Version
273
+ version: '0'
258
274
  description: Define a pact between service consumers and providers
259
275
  email:
260
276
  - james.fraser@alumni.swinburne.edu
@@ -316,12 +332,12 @@ files:
316
332
  - lib/pact/consumer/rspec.rb
317
333
  - lib/pact/consumer/server.rb
318
334
  - lib/pact/consumer_contract.rb
335
+ - lib/pact/consumer_contract/active_support_support.rb
319
336
  - lib/pact/consumer_contract/consumer_contract.rb
320
337
  - lib/pact/consumer_contract/interaction.rb
321
338
  - lib/pact/consumer_contract/request.rb
322
339
  - lib/pact/consumer_contract/service_consumer.rb
323
340
  - lib/pact/consumer_contract/service_provider.rb
324
- - lib/pact/json_warning.rb
325
341
  - lib/pact/logging.rb
326
342
  - lib/pact/matchers.rb
327
343
  - lib/pact/matchers/index_not_found.rb
@@ -372,10 +388,10 @@ files:
372
388
  - spec/lib/pact/consumer/mock_service_interaction_expectation_spec.rb
373
389
  - spec/lib/pact/consumer/request_spec.rb
374
390
  - spec/lib/pact/consumer/service_consumer_spec.rb
391
+ - spec/lib/pact/consumer_contract/active_support_support_spec.rb
375
392
  - spec/lib/pact/consumer_contract/consumer_contract_spec.rb
376
393
  - spec/lib/pact/consumer_contract/interaction_spec.rb
377
394
  - spec/lib/pact/consumer_contract/request_spec.rb
378
- - spec/lib/pact/json_warning_spec.rb
379
395
  - spec/lib/pact/matchers/matchers_spec.rb
380
396
  - spec/lib/pact/provider/configuration_spec.rb
381
397
  - spec/lib/pact/provider/pact_helper_locator_spec.rb
@@ -400,6 +416,7 @@ files:
400
416
  - spec/support/test_app_fail.json
401
417
  - spec/support/test_app_pass.json
402
418
  - tasks/pact-test.rake
419
+ - tasks/spec.rake
403
420
  homepage: https://github.com/uglyog/pact.git
404
421
  licenses:
405
422
  - MIT
@@ -415,7 +432,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
415
432
  version: '0'
416
433
  segments:
417
434
  - 0
418
- hash: -222789045808917234
435
+ hash: -1950289785278429589
419
436
  required_rubygems_version: !ruby/object:Gem::Requirement
420
437
  none: false
421
438
  requirements:
@@ -424,7 +441,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
424
441
  version: '0'
425
442
  segments:
426
443
  - 0
427
- hash: -222789045808917234
444
+ hash: -1950289785278429589
428
445
  requirements: []
429
446
  rubyforge_project:
430
447
  rubygems_version: 1.8.23
@@ -449,10 +466,10 @@ test_files:
449
466
  - spec/lib/pact/consumer/mock_service_interaction_expectation_spec.rb
450
467
  - spec/lib/pact/consumer/request_spec.rb
451
468
  - spec/lib/pact/consumer/service_consumer_spec.rb
469
+ - spec/lib/pact/consumer_contract/active_support_support_spec.rb
452
470
  - spec/lib/pact/consumer_contract/consumer_contract_spec.rb
453
471
  - spec/lib/pact/consumer_contract/interaction_spec.rb
454
472
  - spec/lib/pact/consumer_contract/request_spec.rb
455
- - spec/lib/pact/json_warning_spec.rb
456
473
  - spec/lib/pact/matchers/matchers_spec.rb
457
474
  - spec/lib/pact/provider/configuration_spec.rb
458
475
  - spec/lib/pact/provider/pact_helper_locator_spec.rb