diff --git a/lib/travis/api/app/endpoint/uptime.rb b/lib/travis/api/app/endpoint/uptime.rb index 9b8b618f..dc342df5 100644 --- a/lib/travis/api/app/endpoint/uptime.rb +++ b/lib/travis/api/app/endpoint/uptime.rb @@ -7,8 +7,8 @@ class Travis::Api::App begin ActiveRecord::Base.connection.execute('select 1') [200, "OK"] - rescue => e - [500, "Error: #{e.message}"] + rescue Exception => e + return [500, "Error: #{e.message}"] end end end diff --git a/spec/integration/uptime_spec.rb b/spec/integration/uptime_spec.rb new file mode 100644 index 00000000..055e2166 --- /dev/null +++ b/spec/integration/uptime_spec.rb @@ -0,0 +1,20 @@ +require 'spec_helper' + +describe 'Uptime' do + after do + ActiveRecord::Base.connection.unstub(:execute) + end + + it 'returns a 200 and ok when the request was successful' do + response = get '/uptime' + response.status.should == 200 + response.body.should == "OK" + end + + it "returns a 500 when the query wasn't successful" do + ActiveRecord::Base.connection.stubs(:execute).raises(StandardError, 'error!') + response = get '/uptime' + response.status.should == 500 + response.body.should == "Error: error!" + end +end