From 84e4ebef084eec69897a03e7fa5c134d5bb861ac Mon Sep 17 00:00:00 2001 From: Pau Perez Date: Thu, 2 Nov 2017 16:52:49 +0100 Subject: [PATCH] Do not notify Bugsnag of a cache miss It's not the responsibility of a error tracking software to track neither cache misses nor logs. That is what log monitoring is for. --- .../cached_products_renderer.rb | 8 ----- .../cached_products_renderer_spec.rb | 30 ------------------- 2 files changed, 38 deletions(-) diff --git a/lib/open_food_network/cached_products_renderer.rb b/lib/open_food_network/cached_products_renderer.rb index 858b326b47..733455ed73 100644 --- a/lib/open_food_network/cached_products_renderer.rb +++ b/lib/open_food_network/cached_products_renderer.rb @@ -26,17 +26,9 @@ module OpenFoodNetwork private - def log_warning - if Rails.env.production? || Rails.env.staging? - Bugsnag.notify RuntimeError.new("Live server MISS on products cache for distributor: #{@distributor.id}, order cycle: #{@order_cycle.id}") - end - end - def cached_products_json if Rails.env.production? || Rails.env.staging? Rails.cache.fetch("products-json-#{@distributor.id}-#{@order_cycle.id}") do - log_warning - begin uncached_products_json rescue ProductsRenderer::NoProducts diff --git a/spec/lib/open_food_network/cached_products_renderer_spec.rb b/spec/lib/open_food_network/cached_products_renderer_spec.rb index b9c8af7322..8a3e72a775 100644 --- a/spec/lib/open_food_network/cached_products_renderer_spec.rb +++ b/spec/lib/open_food_network/cached_products_renderer_spec.rb @@ -77,11 +77,6 @@ module OpenFoodNetwork cpr.products_json expect(cached_json).to eq 'fresh products' end - - it "logs a warning" do - cpr.should_receive :log_warning - cpr.products_json - end end describe "when there are no products" do @@ -104,34 +99,9 @@ module OpenFoodNetwork expect(cache_present).to be expect(cached_json).to be_nil end - - it "logs a warning" do - cpr.should_receive :log_warning - expect { cpr.products_json }.to raise_error CachedProductsRenderer::NoProducts - end end end end end - - describe "logging a warning" do - it "logs a warning when in production" do - Rails.env.stub(:production?) { true } - expect(Bugsnag).to receive(:notify) - cpr.send(:log_warning) - end - - it "logs a warning when in staging" do - Rails.env.stub(:production?) { false } - Rails.env.stub(:staging?) { true } - expect(Bugsnag).to receive(:notify) - cpr.send(:log_warning) - end - - it "does not log a warning in development or test" do - expect(Bugsnag).to receive(:notify).never - cpr.send(:log_warning) - end - end end end