spec/faraday/response/raise_error_spec.rb in faraday-2.7.11 vs spec/faraday/response/raise_error_spec.rb in faraday-2.7.12
- old
+ new
@@ -12,10 +12,11 @@
stub.get('not-found') { [404, { 'X-Reason' => 'because' }, 'keep looking'] }
stub.get('proxy-error') { [407, { 'X-Reason' => 'because' }, 'keep looking'] }
stub.get('request-timeout') { [408, { 'X-Reason' => 'because' }, 'keep looking'] }
stub.get('conflict') { [409, { 'X-Reason' => 'because' }, 'keep looking'] }
stub.get('unprocessable-entity') { [422, { 'X-Reason' => 'because' }, 'keep looking'] }
+ stub.get('too-many-requests') { [429, { 'X-Reason' => 'because' }, 'keep looking'] }
stub.get('4xx') { [499, { 'X-Reason' => 'because' }, 'keep looking'] }
stub.get('nil-status') { [nil, { 'X-Reason' => 'nil' }, 'fail'] }
stub.get('server-error') { [500, { 'X-Error' => 'bailout' }, 'fail'] }
end
end
@@ -106,9 +107,20 @@
expect { conn.get('unprocessable-entity') }.to raise_error(Faraday::UnprocessableEntityError) do |ex|
expect(ex.message).to eq('the server responded with status 422')
expect(ex.response[:headers]['X-Reason']).to eq('because')
expect(ex.response[:status]).to eq(422)
expect(ex.response_status).to eq(422)
+ expect(ex.response_body).to eq('keep looking')
+ expect(ex.response_headers['X-Reason']).to eq('because')
+ end
+ end
+
+ it 'raises Faraday::TooManyRequestsError for 429 responses' do
+ expect { conn.get('too-many-requests') }.to raise_error(Faraday::TooManyRequestsError) do |ex|
+ expect(ex.message).to eq('the server responded with status 429')
+ expect(ex.response[:headers]['X-Reason']).to eq('because')
+ expect(ex.response[:status]).to eq(429)
+ expect(ex.response_status).to eq(429)
expect(ex.response_body).to eq('keep looking')
expect(ex.response_headers['X-Reason']).to eq('because')
end
end