pact 1.0.15 → 1.0.18

Sign up to get free protection for your applications and to get access to all the features.
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