diff --git a/app/services/notifier/channels/email.rb b/app/services/notifier/channels/email.rb index 1657ef8..8b78ec8 100644 --- a/app/services/notifier/channels/email.rb +++ b/app/services/notifier/channels/email.rb @@ -22,7 +22,7 @@ module Notifier .deliver_now end - def ssl_notify_expires_soon(_notification) + def ssl_notify_expires_soon(check_notification) NotificationsMailer.with(check_notification: check_notification) .ssl_expires_soon .deliver_now diff --git a/app/services/notifier/resolver.rb b/app/services/notifier/resolver.rb index d99577f..df3cccc 100644 --- a/app/services/notifier/resolver.rb +++ b/app/services/notifier/resolver.rb @@ -13,6 +13,7 @@ module Notifier def checks_recurrent_failures(min_consecutive) Check .active + .auto .consecutive_failures(min_consecutive) .includes(:user) .where.not(user: ignore_users) diff --git a/test/factories/checks.rb b/test/factories/checks.rb index 27c383c..a808107 100644 --- a/test/factories/checks.rb +++ b/test/factories/checks.rb @@ -84,6 +84,15 @@ FactoryBot.define do active false end + trait :auto do + mode :auto + end + + trait :manual do + mode :manual + domain "unupported.wxyz" + end + trait :with_notifications do after :create do |check| create_list :check_notification, 2, diff --git a/test/services/notifier/resolver_test.rb b/test/services/notifier/resolver_test.rb index 80d09b2..b9efa0e 100644 --- a/test/services/notifier/resolver_test.rb +++ b/test/services/notifier/resolver_test.rb @@ -91,6 +91,16 @@ module Notifier assert_includes checks, c2 end + test "#checks_recurrent_failures ignores manual checks" do + c1 = create(:check, :last_runs_failed, :manual) + c2 = create(:check, :last_runs_failed, :auto) + + checks = @resolver.checks_recurrent_failures(4) + + assert_not_includes checks, c1 + assert_includes checks, c2 + end + test "#checks_recurrent_failures ignores user having notification disabled" do c1 = create(:check, :last_runs_failed) c1.user.update_attribute(:notifications_enabled, false)