From 8ff33ac9f7819ea157f3045a75ea04963504f35d Mon Sep 17 00:00:00 2001 From: Jean-Philippe Lang Date: Sat, 13 Jul 2013 08:11:20 +0000 Subject: Log email delivery errors (#14403). git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12010 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- test/unit/mailer_test.rb | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'test') diff --git a/test/unit/mailer_test.rb b/test/unit/mailer_test.rb index f66e5763c..c4891678f 100644 --- a/test/unit/mailer_test.rb +++ b/test/unit/mailer_test.rb @@ -661,6 +661,29 @@ class MailerTest < ActiveSupport::TestCase assert_include '<tag>', html_part.body.encoded end + def test_should_raise_delivery_errors_when_raise_delivery_errors_is_true + mail = Mailer.test_email(User.find(1)) + mail.delivery_method.stubs(:deliver!).raises(Exception.new("delivery error")) + + ActionMailer::Base.raise_delivery_errors = true + assert_raise Exception, "delivery error" do + mail.deliver + end + ensure + ActionMailer::Base.raise_delivery_errors = false + end + + def test_should_log_delivery_errors_when_raise_delivery_errors_is_false + mail = Mailer.test_email(User.find(1)) + mail.delivery_method.stubs(:deliver!).raises(Exception.new("delivery error")) + + Rails.logger.expects(:error).with("Email delivery error: delivery error") + ActionMailer::Base.raise_delivery_errors = false + assert_nothing_raised do + mail.deliver + end + end + private def last_email -- cgit v1.2.3