From 8eb239bd1a1350b151d57a639e589c68aed1f47a Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Fri, 21 Sep 2018 16:44:48 -0700 Subject: Add simply bounce handling Bouncing is not an exceptional state, so let's not use exceptions to deal with it. --- test/unit/mailbox/state_test.rb | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'test/unit/mailbox') diff --git a/test/unit/mailbox/state_test.rb b/test/unit/mailbox/state_test.rb index de9da54d3f..6215e02837 100644 --- a/test/unit/mailbox/state_test.rb +++ b/test/unit/mailbox/state_test.rb @@ -14,6 +14,14 @@ class UnsuccessfulMailbox < ActionMailroom::Mailbox end end +class BouncingMailbox < ActionMailroom::Mailbox + def process + $processed = :bounced + bounced! + end +end + + class ActionMailroom::Mailbox::StateTest < ActiveSupport::TestCase setup do $processed = false @@ -32,4 +40,10 @@ class ActionMailroom::Mailbox::StateTest < ActiveSupport::TestCase assert @inbound_email.failed? assert_equal :failure, $processed end + + test "bounced inbound emails are not delivered" do + BouncingMailbox.receive @inbound_email + assert @inbound_email.bounced? + assert_equal :bounced, $processed + end end -- cgit v1.2.3