pact 1.34.0 → 1.36.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: cb9f3147fb9ff1878469700cb000042058f043dd
4
- data.tar.gz: 8c8058099ee03e3fc35081590c217ca5c02663c9
3
+ metadata.gz: b30477b50a98ca1563f8d3dea130b68cd7cbf88c
4
+ data.tar.gz: 43212f356f6580287d135da4b85b6e23ad039d0c
5
5
  SHA512:
6
- metadata.gz: 54fb5bad27bd4610b9b690d2cf4a332d78a10bcf25d1f6e10b66e5904e76389f61aeba6844fb526365e22f8419465b034984f6275544e5a392c7a016c1772525
7
- data.tar.gz: 68885f0aabdc5707a6caf763b565eb41532c72a87d960a6179a17b133a48d67693f0f95fd85e20272770690e4a4b5280951efd68cce54dc9ce509a8fb7ee753b
6
+ metadata.gz: f68cc2abcf6ad6bd93f6804c1509dc15c6f23a9f697bf988186d9b630cd846323c56082a59bf978dc5e729519cfc2f51d6a54634f083948f18a66cd599591645
7
+ data.tar.gz: 8495fc3f5bdf6bef3d859bcf3f4c58d2666e6423b615b79fb2542460cf0ce9947e226da184de301831f15a90a227e9ae9532d775021d481b69a3c9159f3a8437
@@ -1,3 +1,14 @@
1
+ <a name="v1.36.0"></a>
2
+ ### v1.36.0 (2018-10-04)
3
+
4
+
5
+ #### Features
6
+
7
+ * **v3**
8
+ * make provider state params available to set up and tear down blocks ([9593730](/../../commit/9593730))
9
+ * support set up and tear down of multiple provider states ([cbad0be](/../../commit/cbad0be))
10
+
11
+
1
12
  <a name="v1.34.0"></a>
2
13
  ### v1.34.0 (2018-09-06)
3
14
 
@@ -84,7 +84,7 @@ module Pact
84
84
  before do | example |
85
85
  interaction_context.run_once :before do
86
86
  Pact.configuration.logger.info "Running example '#{Pact::RSpec.full_description(example)}'"
87
- set_up_provider_state interaction.provider_state, options[:consumer]
87
+ set_up_provider_states interaction.provider_states, options[:consumer]
88
88
  replay_interaction interaction, options[:request_customizer]
89
89
  interaction_context.last_response = last_response
90
90
  end
@@ -92,7 +92,7 @@ module Pact
92
92
 
93
93
  after do
94
94
  interaction_context.run_once :after do
95
- tear_down_provider_state interaction.provider_state, options[:consumer]
95
+ tear_down_provider_states interaction.provider_states, options[:consumer]
96
96
  end
97
97
  end
98
98
 
@@ -116,17 +116,17 @@ module Pact
116
116
  @no_op_defined = true
117
117
  end
118
118
 
119
- def set_up
119
+ def set_up params = {}
120
120
  if @set_up_block
121
121
  include_provider_state_configured_modules
122
- instance_eval &@set_up_block
122
+ instance_exec params, &@set_up_block
123
123
  end
124
124
  end
125
125
 
126
- def tear_down
126
+ def tear_down params = {}
127
127
  if @tear_down_block
128
128
  include_provider_state_configured_modules
129
- instance_eval &@tear_down_block
129
+ instance_exec params, &@tear_down_block
130
130
  end
131
131
  end
132
132
 
@@ -168,14 +168,13 @@ module Pact
168
168
 
169
169
  class NoOpProviderState
170
170
 
171
- def self.set_up
171
+ def self.set_up params = {}
172
172
 
173
173
  end
174
174
 
175
- def self.tear_down
175
+ def self.tear_down params = {}
176
176
 
177
177
  end
178
-
179
178
  end
180
179
  end
181
180
  end
@@ -2,27 +2,28 @@ module Pact
2
2
  module Provider::State
3
3
  class ProviderStateManager
4
4
 
5
- attr_reader :provider_state_name, :consumer
5
+ attr_reader :provider_state_name, :params, :consumer
6
6
 
7
- def initialize provider_state_name, consumer
7
+ def initialize provider_state_name, params, consumer
8
8
  @provider_state_name = provider_state_name
9
+ @params = params
9
10
  @consumer = consumer
10
11
  end
11
12
 
12
13
  def set_up_provider_state
13
- get_global_base_provider_state.set_up
14
- get_consumer_base_provider_state.set_up
14
+ get_global_base_provider_state.set_up(params)
15
+ get_consumer_base_provider_state.set_up(params)
15
16
  if provider_state_name
16
- get_provider_state.set_up
17
+ get_provider_state.set_up(params)
17
18
  end
18
19
  end
19
20
 
20
21
  def tear_down_provider_state
21
22
  if provider_state_name
22
- get_provider_state.tear_down
23
+ get_provider_state.tear_down(params)
23
24
  end
24
- get_consumer_base_provider_state.tear_down
25
- get_global_base_provider_state.tear_down
25
+ get_consumer_base_provider_state.tear_down(params)
26
+ get_global_base_provider_state.tear_down(params)
26
27
  end
27
28
 
28
29
  def get_provider_state
@@ -36,7 +37,6 @@ module Pact
36
37
  def get_global_base_provider_state
37
38
  Pact.provider_world.provider_states.get_base
38
39
  end
39
-
40
40
  end
41
41
  end
42
- end
42
+ end
@@ -5,7 +5,7 @@ module Pact
5
5
  module State
6
6
  class SetUp
7
7
  def self.call provider_state_name, consumer, options = {}
8
- State::ProviderStateManager.new(provider_state_name, consumer).set_up_provider_state
8
+ State::ProviderStateManager.new(provider_state_name, options[:params], consumer).set_up_provider_state
9
9
  end
10
10
  end
11
11
  end
@@ -5,7 +5,7 @@ module Pact
5
5
  module State
6
6
  class TearDown
7
7
  def self.call provider_state_name, consumer, options = {}
8
- State::ProviderStateManager.new(provider_state_name, consumer).tear_down_provider_state
8
+ State::ProviderStateManager.new(provider_state_name, options[:params], consumer).tear_down_provider_state
9
9
  end
10
10
  end
11
11
  end
@@ -35,12 +35,16 @@ module Pact
35
35
  end
36
36
  end
37
37
 
38
- def set_up_provider_state provider_state_name, consumer, options = {}
39
- Pact.configuration.provider_state_set_up.call(provider_state_name, consumer, options)
38
+ def set_up_provider_states provider_states, consumer, options = {}
39
+ provider_states.each do | provider_state |
40
+ Pact.configuration.provider_state_set_up.call(provider_state.name, consumer, options.merge(params: provider_state.params))
41
+ end
40
42
  end
41
43
 
42
- def tear_down_provider_state provider_state_name, consumer, options = {}
43
- Pact.configuration.provider_state_tear_down.call(provider_state_name, consumer, options)
44
+ def tear_down_provider_states provider_states, consumer, options = {}
45
+ provider_states.reverse.each do | provider_state |
46
+ Pact.configuration.provider_state_tear_down.call(provider_state.name, consumer, options.merge(params: provider_state.params))
47
+ end
44
48
  end
45
49
 
46
50
  def set_metadata example, key, value
@@ -1,4 +1,4 @@
1
1
  # Remember to bump pact-provider-proxy when this changes major version
2
2
  module Pact
3
- VERSION = "1.34.0"
3
+ VERSION = "1.36.0"
4
4
  end
@@ -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.7'
31
+ gem.add_runtime_dependency 'pact-support', '~> 1.8'
32
32
  gem.add_runtime_dependency 'pact-mock_service', '~> 2.10'
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.34.0
4
+ version: 1.36.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: 2018-09-06 00:00:00.000000000 Z
15
+ date: 2018-10-03 00:00:00.000000000 Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
18
  name: randexp
@@ -124,14 +124,14 @@ dependencies:
124
124
  requirements:
125
125
  - - "~>"
126
126
  - !ruby/object:Gem::Version
127
- version: '1.7'
127
+ version: '1.8'
128
128
  type: :runtime
129
129
  prerelease: false
130
130
  version_requirements: !ruby/object:Gem::Requirement
131
131
  requirements:
132
132
  - - "~>"
133
133
  - !ruby/object:Gem::Version
134
- version: '1.7'
134
+ version: '1.8'
135
135
  - !ruby/object:Gem::Dependency
136
136
  name: pact-mock_service
137
137
  requirement: !ruby/object:Gem::Requirement