pact 1.12.0 → 1.14.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: cbf8ca0e8eb42b7d2b67e27f21ee3122fda7f37b
4
- data.tar.gz: 9ba2f1a1e7fa4d3c7d1ade0b217f1205a6365782
3
+ metadata.gz: 1fb2ea12b63cd90b9451173dd6deb6a10146d426
4
+ data.tar.gz: 2ba870980eb5403ab32c405138315b6f471b189e
5
5
  SHA512:
6
- metadata.gz: 916d6e74b28510e9ab4e72f1287eb463bb5ef714a1ccf132e9dc667fcab0cbe7563426b3d42eee7d4c2beee84a2eb9f0a2d7b0a61b12674c61538b91f696382f
7
- data.tar.gz: '07887c5e02a9b802905b3ad12f1b03c985a33ffde4dc449e2013295b00ebb94a95fc9a2ded6014269a9f9d80ba8b248f69a0cc2816aee48c51780498cc4ea4ed'
6
+ metadata.gz: 517699fa66be479723e0f703dc00e5453482d18d5463b59176b8fd09138211c648dfa8f654223690f77c1cbe4cafad7ae98165c97b3561e69248a7bb4ad204f4
7
+ data.tar.gz: 44ef94d0fa65a5ee0b003ec3e7f8c6915da6c8ecadce6c690fa9c5a50e507f313f39b802839e3671cbfb5aea54ea9c4735d86a5ee1f854f37533333d37851985
data/CHANGELOG.md CHANGED
@@ -1,6 +1,19 @@
1
1
  Do this to generate your change history
2
2
 
3
- git log --pretty=format:' * %h - %s (%an, %ad)' vX.Y.Z..HEAD
3
+ git log --pretty=format:' * %h - %s (%an, %ad)'
4
+
5
+ ## 1.14.0 (19 June 2017)
6
+ * eb44499 - Updated pact-support version (Beth Skurrie, Mon Jun 19 09:51:13 2017 +1000)
7
+ * 8835496 - Changed colour of acutal response body output (Beth Skurrie, Tue Jun 6 10:44:45 2017 +1000)
8
+ * f675d50 - Mention pact-consumer-minitest in Readme (azul, Sat May 27 09:53:25 2017 +0200)
9
+
10
+ ## 1.13.0 (26 May 2017)
11
+ * c9800b0 - Make the code to call for provider state set up and tear down configurable. (Beth Skurrie, Fri May 26 14:32:34 2017 +1000)
12
+
13
+ ## 1.12.1 (23 May 2017)
14
+ * 47140b7 - Update .travis.yml to publish to rubygems (Beth Skurrie, Tue May 23 16:23:21 2017 +1000)
15
+ * 16c40bd - Use RSpec.configuration.reporter.failed_examples to get failed examples instead of the suite, as it is backwards compatible with rspec 3.0.0 (Beth Skurrie, Tue May 23 15:59:36 2017 +1000)
16
+ * c54a3a9 - Add specs and tasks for doing manual end to end testing (create, publish, verify, publish verification) (Beth Skurrie, Tue May 23 15:45:41 2017 +1000)
4
17
 
5
18
  ## 1.12.0 (12 May 2017)
6
19
  * e12ce11 - Updated pact-mock_service and pact-support gems. Major change: provider_state is now providerState in pact files. (Beth Skurrie, Fri May 12 08:43:04 2017 +1000)
@@ -1,5 +1,7 @@
1
1
  require 'pact/provider/state/provider_state'
2
2
  require 'pact/provider/state/provider_state_configured_modules'
3
+ require 'pact/provider/state/set_up'
4
+ require 'pact/provider/state/tear_down'
3
5
 
4
6
  module Pact
5
7
 
@@ -39,6 +41,22 @@ module Pact
39
41
  @interactions_replay_order = interactions_replay_order.to_sym
40
42
  end
41
43
 
44
+ def provider_state_set_up
45
+ @provider_state_set_up ||= Pact::Provider::State::SetUp
46
+ end
47
+
48
+ def provider_state_set_up= provider_state_set_up
49
+ @provider_state_set_up = provider_state_set_up
50
+ end
51
+
52
+ def provider_state_tear_down
53
+ @provider_state_tear_down ||= Pact::Provider::State::TearDown
54
+ end
55
+
56
+ def provider_state_tear_down= provider_state_tear_down
57
+ @provider_state_tear_down = provider_state_tear_down
58
+ end
59
+
42
60
  def include mod
43
61
  Pact::Provider::State::ProviderStateConfiguredModules.instance_eval do
44
62
  include mod
@@ -5,8 +5,12 @@ module Pact
5
5
  module Matchers
6
6
  module Messages
7
7
 
8
+ C = ::Term::ANSIColor
9
+
8
10
  def match_term_failure_message diff, actual, diff_formatter, color_enabled
9
- message = "Actual: #{(String === actual ? actual : actual.to_json)}\n\n"
11
+ actual_string = String === actual ? actual : actual.to_json
12
+ maybe_coloured_string = color_enabled ? C.white(actual_string) : actual_string
13
+ message = "Actual: #{maybe_coloured_string}\n\n"
10
14
  formatted_diff = diff_formatter.call(diff)
11
15
  message + colorize_if_enabled(formatted_diff, color_enabled)
12
16
  end
@@ -83,7 +83,7 @@ module Pact
83
83
  config.after(:suite) do | suite |
84
84
  Pact::Provider::Help::Write.call(jsons)
85
85
  Pact::RSpec.with_rspec_3 do
86
- Pact::Provider::VerificationResults::PublishAll.call(sources, suite)
86
+ Pact::Provider::VerificationResults::PublishAll.call(sources, ::RSpec.configuration.reporter.failed_examples)
87
87
  end
88
88
  end
89
89
 
@@ -0,0 +1,13 @@
1
+ require 'pact/provider/state/provider_state_manager'
2
+
3
+ module Pact
4
+ module Provider
5
+ module State
6
+ class SetUp
7
+ def self.call provider_state_name, consumer, options = {}
8
+ State::ProviderStateManager.new(provider_state_name, consumer).set_up_provider_state
9
+ end
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ require 'pact/provider/state/provider_state_manager'
2
+
3
+ module Pact
4
+ module Provider
5
+ module State
6
+ class TearDown
7
+ def self.call provider_state_name, consumer, options = {}
8
+ State::ProviderStateManager.new(provider_state_name, consumer).tear_down_provider_state
9
+ end
10
+ end
11
+ end
12
+ end
13
+ end
@@ -34,14 +34,13 @@ module Pact
34
34
  end
35
35
  end
36
36
 
37
- def set_up_provider_state provider_state_name, consumer
38
- State::ProviderStateManager.new(provider_state_name, consumer).set_up_provider_state
37
+ def set_up_provider_state provider_state_name, consumer, options = {}
38
+ Pact.configuration.provider_state_set_up.call(provider_state_name, consumer, options)
39
39
  end
40
40
 
41
- def tear_down_provider_state provider_state_name, consumer
42
- State::ProviderStateManager.new(provider_state_name, consumer).tear_down_provider_state
41
+ def tear_down_provider_state provider_state_name, consumer, options = {}
42
+ Pact.configuration.provider_state_tear_down.call(provider_state_name, consumer, options)
43
43
  end
44
-
45
44
  end
46
45
  end
47
46
  end
@@ -4,13 +4,13 @@ module Pact
4
4
  module VerificationResults
5
5
  class Create
6
6
 
7
- def self.call pact_json, suite_context
8
- new(pact_json, suite_context).call
7
+ def self.call pact_json, failed_examples
8
+ new(pact_json, failed_examples).call
9
9
  end
10
10
 
11
- def initialize pact_json, suite_context
11
+ def initialize pact_json, failed_examples
12
12
  @pact_json = pact_json
13
- @suite_context = suite_context
13
+ @failed_examples = failed_examples
14
14
  end
15
15
 
16
16
  def call
@@ -28,14 +28,14 @@ module Pact
28
28
  end
29
29
 
30
30
  def count_failures_for_pact_json
31
- suite_context.reporter.failed_examples.collect{ |e| e.metadata[:pact_json] == pact_json }.uniq.size
31
+ failed_examples.collect{ |e| e.metadata[:pact_json] == pact_json }.uniq.size
32
32
  end
33
33
 
34
34
  def any_failures?
35
35
  count_failures_for_pact_json > 0
36
36
  end
37
37
 
38
- attr_reader :pact_json, :suite_context
38
+ attr_reader :pact_json, :failed_examples
39
39
  end
40
40
  end
41
41
  end
data/lib/pact/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Pact
2
- VERSION = "1.12.0"
2
+ VERSION = "1.14.0"
3
3
  end
data/pact.gemspec CHANGED
@@ -28,7 +28,7 @@ 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', '~> 1.0'
31
+ gem.add_runtime_dependency 'pact-support', '~> 1.1'
32
32
  gem.add_runtime_dependency 'pact-mock_service', '~> 2.0'
33
33
 
34
34
  gem.add_development_dependency 'rake', '~> 10.0.3'
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.12.0
4
+ version: 1.14.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Fraser
@@ -12,7 +12,7 @@ authors:
12
12
  autorequire:
13
13
  bindir: bin
14
14
  cert_chain: []
15
- date: 2017-05-12 00:00:00.000000000 Z
15
+ date: 2017-06-18 00:00:00.000000000 Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
18
  name: randexp
@@ -118,14 +118,14 @@ dependencies:
118
118
  requirements:
119
119
  - - "~>"
120
120
  - !ruby/object:Gem::Version
121
- version: '1.0'
121
+ version: '1.1'
122
122
  type: :runtime
123
123
  prerelease: false
124
124
  version_requirements: !ruby/object:Gem::Requirement
125
125
  requirements:
126
126
  - - "~>"
127
127
  - !ruby/object:Gem::Version
128
- version: '1.0'
128
+ version: '1.1'
129
129
  - !ruby/object:Gem::Dependency
130
130
  name: pact-mock_service
131
131
  requirement: !ruby/object:Gem::Requirement
@@ -330,6 +330,8 @@ files:
330
330
  - lib/pact/provider/state/provider_state_configured_modules.rb
331
331
  - lib/pact/provider/state/provider_state_manager.rb
332
332
  - lib/pact/provider/state/provider_state_proxy.rb
333
+ - lib/pact/provider/state/set_up.rb
334
+ - lib/pact/provider/state/tear_down.rb
333
335
  - lib/pact/provider/test_methods.rb
334
336
  - lib/pact/provider/verification_report.rb
335
337
  - lib/pact/provider/verification_results/create.rb
@@ -365,7 +367,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
365
367
  version: '0'
366
368
  requirements: []
367
369
  rubyforge_project:
368
- rubygems_version: 2.6.11
370
+ rubygems_version: 2.4.5
369
371
  signing_key:
370
372
  specification_version: 4
371
373
  summary: Enables consumer driven contract testing, providing a mock service and DSL