Skip to content

Commit

Permalink
fix: Return non-error if enable-pending is set
Browse files Browse the repository at this point in the history
  • Loading branch information
bangn committed Jul 26, 2022
1 parent d67c401 commit 0b4bc7e
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 4 deletions.
8 changes: 6 additions & 2 deletions lib/pact/provider_verifier/set_up_provider_state.rb
Original file line number Diff line number Diff line change
Expand Up @@ -91,11 +91,15 @@ def add_custom_provider_header request
end

def check_for_error response
if response.status >= 300
raise SetUpProviderStateError.new("Error setting up provider state '#{provider_state}' for consumer '#{consumer}' at #{provider_states_setup_url}. response status=#{response.status} response body=#{response.body}")
if response.status >= 300 && !(@options[:enable_pending] == true)
raise SetUpProviderStateError.new(set_up_provider_state_error_message(response))
end
end

def set_up_provider_state_error_message(response)
"Error setting up provider state '#{provider_state}' for consumer '#{consumer}' at #{provider_states_setup_url}. response status=#{response.status} response body=#{response.body}"
end

def log_request
if verbose?
$stdout.puts "DEBUG: Setting up provider state '#{provider_state}' for consumer '#{consumer}' using provider state set up URL #{provider_states_setup_url}"
Expand Down
19 changes: 17 additions & 2 deletions spec/lib/pact/provider_verifier/set_up_provider_state_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,23 @@ module ProviderVerifier
stub_request(:post, provider_states_setup_url).to_return(status: 500, body: "Some error")
end

it "raises an error" do
expect { subject }.to raise_error(SetUpProviderStateError, /500.*Some error/)
context "when enable_pending is not set" do
it "raises an error" do
expect { subject }.to raise_error(SetUpProviderStateError, /500.*Some error/)
end
end

context "when enable_pending is set" do
let(:options) do
{
params: params,
enable_pending: true,
}
end

it "does not raise an error" do
expect { subject }.not_to raise_error
end
end
end

Expand Down

0 comments on commit 0b4bc7e

Please sign in to comment.