Sha256: 105cf224e5568a165ac560388950432a043ca37c03dc4cd13acfc5e742c2bf62

Contents?: true

Size: 1.1 KB

Versions: 1

Compression:

Stored size: 1.1 KB

Contents

require File.dirname(__FILE__) + '/base'

describe RestClient::RequestFailed do
	before do
		@error = RestClient::RequestFailed.new
	end

	it "extracts the error message from xml" do
		@error.response = mock('response', :code => '422', :body => '<errors><error>Error 1</error><error>Error 2</error></errors>')
		@error.message.should == 'Error 1 / Error 2'
	end

	it "ignores responses without xml since they might contain sensitive data" do
		@error.response = mock('response', :code => '500', :body => 'Syntax error in SQL query: SELECT * FROM ...')
		@error.message.should == 'Unknown error, HTTP status code 500'
	end

	it "accepts a default error message" do
		@error.response = mock('response', :code => '500', :body => 'Internal Server Error')
		@error.message('Custom default message').should == 'Custom default message'
	end

	it "doesn't show the default error message when there's something in the xml" do
		@error.response = mock('response', :code => '422', :body => '<errors><error>Specific error message</error></errors>')
		@error.message('Custom default message').should == 'Specific error message'
	end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
davetron5000-rest-client-0.5.3 spec/request_errors_spec.rb