Sha256: b5e89b0e1ffcfec2b3c069308c1db69061161fe76210eb2f40fd2ba983b62bbe
Contents?: true
Size: 1.92 KB
Versions: 4
Compression:
Stored size: 1.92 KB
Contents
require 'spec_helper' require 'rack/utils' RSpec.describe RockRMS::Error do let(:client) do RockRMS::Client.new( url: 'http://some-rock-uri.com', username: 'test', password: 'test', logger: false ) end CODES = Rack::Utils::HTTP_STATUS_CODES.keys.freeze def stub(code, body) stub_request(:any, /rock/).to_return(status: code, body: body) end def expect_failure(code, body) url = 'http://some-rock-uri.com/api/Auth/Login' expect { client.get('anything') }.to raise_error(RockRMS::Error, /#{code}: #{url} #{body}/) end def expect_success expect { client.get('anything') }.to_not raise_error end context 'informational responses' do CODES.grep(100..199).each do |code| it "does not raise error for #{code}" do stub(code, '{}') expect_success end end end context 'success responses' do CODES.grep(200..299).each do |code| it "does not raise error for #{code}" do stub(code, '{}') expect_success end end end context 'redirection responses' do CODES.grep(300..399).each do |code| it "does not raise error for #{code}" do stub(code, '') expect_success end end end context 'client error responses' do CODES.grep(400..499).each do |code| it "raises exception for #{code}" do stub(code, 'test client error') expect_failure(code, 'test client error') end end end context 'server error responses' do CODES.grep(500..599).each do |code| it "raises exception for #{code}" do stub(code, 'test client error') expect_failure(code, 'test client error') end end end context 'html error responses' do it 'raises exception for html error' do body = File.read('spec/rock_rms/fixtures/html_error.html') stub(200, body) expect_failure(500, 'Unknown API error.') end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
rock_rms-9.4.0 | spec/rock_rms/error_spec.rb |
rock_rms-9.3.0 | spec/rock_rms/error_spec.rb |
rock_rms-9.2.0 | spec/rock_rms/error_spec.rb |
rock_rms-9.1.0 | spec/rock_rms/error_spec.rb |