Skip to content

Commit f9cb106

Browse files
committed
fix: ensure we always print mismatchs in consumer tests for better dx
1 parent 4db935b commit f9cb106

File tree

6 files changed

+10
-7
lines changed

6 files changed

+10
-7
lines changed

lib/pact/v2/consumer/grpc_interaction_builder.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,13 +149,13 @@ def execute(&block)
149149

150150
yield(message_pact, mock_server)
151151

152+
ensure
152153
if mock_server.matched?
153154
mock_server.write_pacts!(@pact_config.pact_dir)
154155
else
155156
msg = mismatches_error_msg(mock_server)
156157
raise InteractionMismatchesError.new(msg)
157158
end
158-
ensure
159159
@used = true
160160
mock_server&.cleanup
161161
PactFfi::PluginConsumer.cleanup_plugins(pact_handle)

lib/pact/v2/consumer/http_interaction_builder.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,13 +113,13 @@ def execute(&block)
113113

114114
yield(mock_server)
115115

116+
ensure
116117
if mock_server.matched?
117118
mock_server.write_pacts!(pact_config.pact_dir)
118119
else
119120
msg = mismatches_error_msg(mock_server)
120121
raise InteractionMismatchesError.new(msg)
121122
end
122-
ensure
123123
@used = true
124124
mock_server&.cleanup
125125
# Reset the pact handle to allow for a new interaction to be built

lib/pact/v2/consumer/plugin_async_message_interaction_builder.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,6 @@ def execute(&block)
108108
if v.nil? || (v.respond_to?(:empty?) && v.empty?)
109109
PactFfi.given(interaction, provider_state)
110110
else
111-
puts "Given #{provider_state} with param #{k}: #{v}"
112111
PactFfi.given_with_param(interaction, provider_state, k.to_s, v.to_s)
113112
end
114113
end
@@ -126,13 +125,14 @@ def execute(&block)
126125
mock_server = MockServer.create_for_transport!(pact: pact_handle, transport: @transport, host: @pact_config.mock_host, port: @pact_config.mock_port)
127126

128127
yield(pact_handle, mock_server)
128+
129+
ensure
129130
if mock_server.matched?
130131
mock_server.write_pacts!(@pact_config.pact_dir)
131132
else
132133
msg = mismatches_error_msg(mock_server)
133134
raise InteractionMismatchesError.new(msg)
134135
end
135-
ensure
136136
@used = true
137137
mock_server&.cleanup
138138
PactFfi::PluginConsumer.cleanup_plugins(pact_handle) if pact_handle

lib/pact/v2/consumer/plugin_http_interaction_builder.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,6 @@ def execute(&block)
125125
if v.nil? || (v.respond_to?(:empty?) && v.empty?)
126126
PactFfi.given(interaction, provider_state)
127127
else
128-
puts "Given #{provider_state} with param #{k}: #{v}"
129128
PactFfi.given_with_param(interaction, provider_state, k.to_s, v.to_s)
130129
end
131130
end
@@ -148,13 +147,14 @@ def execute(&block)
148147
mock_server = MockServer.create_for_transport!(pact: pact_handle, transport: @transport || 'http', host: @pact_config.mock_host, port: @pact_config.mock_port)
149148

150149
yield(mock_server)
150+
151+
ensure
151152
if mock_server.matched?
152153
mock_server.write_pacts!(@pact_config.pact_dir)
153154
else
154155
msg = mismatches_error_msg(mock_server)
155156
raise InteractionMismatchesError.new(msg)
156157
end
157-
ensure
158158
@used = true
159159
mock_server&.cleanup
160160
PactFfi::PluginConsumer.cleanup_plugins(pact_handle) if pact_handle

lib/pact/v2/consumer/plugin_sync_message_interaction_builder.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,13 +135,13 @@ def execute(&block)
135135

136136
yield(message_pact, mock_server)
137137

138+
ensure
138139
if mock_server.matched?
139140
mock_server.write_pacts!(@pact_config.pact_dir)
140141
else
141142
msg = mismatches_error_msg(mock_server)
142143
raise InteractionMismatchesError.new(msg)
143144
end
144-
ensure
145145
@used = true
146146
mock_server&.cleanup
147147
PactFfi::PluginConsumer.cleanup_plugins(pact_handle)

spec/spec_helper_v2.rb

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
require "rspec"
77
require "rspec_junit_formatter"
88

9+
is_windows = Gem.win_platform?
10+
911
RSpec.configure do |config|
1012
config.expect_with :rspec do |expectations|
1113
expectations.include_chain_clauses_in_custom_matcher_descriptions = true
@@ -15,6 +17,7 @@
1517
end
1618

1719
config.filter_run_when_matching :focus
20+
config.filter_run_excluding skip_windows: is_windows
1821
config.example_status_persistence_file_path = "tmp/rspec_examples.txt"
1922
config.run_all_when_everything_filtered = true
2023

0 commit comments

Comments
 (0)