From 185067265c327e3a2cbdf9316cc6ec08e39b14c6 Mon Sep 17 00:00:00 2001 From: carlad Date: Thu, 21 Jul 2016 17:56:41 +0200 Subject: [PATCH] remove unnecessary requires, inital work on spec --- lib/travis/api/v3/router.rb | 10 +++++----- spec/spec_helper.rb | 1 - spec/v3/error_handling_spec.rb | 23 +++++++++++++++++++++-- 3 files changed, 26 insertions(+), 8 deletions(-) diff --git a/lib/travis/api/v3/router.rb b/lib/travis/api/v3/router.rb index cff6d91e..ad7b6f1d 100644 --- a/lib/travis/api/v3/router.rb +++ b/lib/travis/api/v3/router.rb @@ -1,14 +1,14 @@ -require 'sentry-raven' +# require 'sentry-raven' module Travis::API::V3 class Router include Travis::API::V3 attr_accessor :routes, :metrics_processor - Raven.configure do |config| - config.dsn = Travis.config.sentry.dsn - end + # Raven.configure do |config| + # config.dsn = Travis.config.sentry.dsn + # end def initialize(routes = Routes) @routes = routes @@ -44,7 +44,7 @@ module Travis::API::V3 response rescue Error => error Raven.capture do - 1 / 0 + # 1 / 0 metrics.tick(:service) result = Result.new(access_control, :error, error) diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 814e0130..74fcf50e 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -10,7 +10,6 @@ require 'gh' require 'multi_json' require 'pry' require 'stackprof' -require 'sentry-raven' require 'travis/api/app' require 'travis/testing' diff --git a/spec/v3/error_handling_spec.rb b/spec/v3/error_handling_spec.rb index bbca73f4..be2457eb 100644 --- a/spec/v3/error_handling_spec.rb +++ b/spec/v3/error_handling_spec.rb @@ -1,3 +1,5 @@ +require 'sentry-raven' + describe Travis::API::V3::ServiceIndex, set_app: true do let(:headers) {{ }} let(:path) { "/v3/repo/1/enable" } @@ -6,8 +8,25 @@ describe Travis::API::V3::ServiceIndex, set_app: true do let(:resources) { json.fetch('resources') } it "handles wrong HTTP method with 405 status" do - response.status.should == 405 end - +end + +describe Travis::API::V3::Router, set_app: true do + class TestError < StandardError + end + + before do + Travis.config.sentry.dsn = "test" + end + + it 'Sentry captures router errors' do + error = TestError.new('Konstantin broke all the thingz!') + Travis::API::V3::Models::Repository.any_instance.stubs(:service).raises(error) + Raven.expects(:capture).with do |event| + event.message == "#{error.class}: #{error.message}" + end + expect { get "/v3/repo/1" }.to raise_error(TestError) + sleep 0.1 + end end