diff options
author | Carlos Antonio da Silva <carlosantoniodasilva@gmail.com> | 2012-05-03 00:15:50 -0300 |
---|---|---|
committer | Carlos Antonio da Silva <carlosantoniodasilva@gmail.com> | 2012-05-04 09:11:44 -0300 |
commit | 8fbf2e197f0a327ab95bc85b3d3d683e68e09cf3 (patch) | |
tree | 05722b7d529a1605a42769db57bb8a56e630e803 /railties/test | |
parent | 1385388452c6dc86afe0668c41e0f5a491dc193a (diff) | |
download | rails-8fbf2e197f0a327ab95bc85b3d3d683e68e09cf3.tar.gz rails-8fbf2e197f0a327ab95bc85b3d3d683e68e09cf3.tar.bz2 rails-8fbf2e197f0a327ab95bc85b3d3d683e68e09cf3.zip |
Allow overriding exception handling in threaded consumer
Diffstat (limited to 'railties/test')
-rw-r--r-- | railties/test/queueing/threaded_consumer_test.rb | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/railties/test/queueing/threaded_consumer_test.rb b/railties/test/queueing/threaded_consumer_test.rb index 559de2a82d..c34a966d6e 100644 --- a/railties/test/queueing/threaded_consumer_test.rb +++ b/railties/test/queueing/threaded_consumer_test.rb @@ -78,4 +78,23 @@ class TestThreadConsumer < ActiveSupport::TestCase assert_equal 1, logger.logged(:error).size assert_match(/Job Error: RuntimeError: Error!/, logger.logged(:error).last) end + + test "test overriding exception handling" do + @consumer.shutdown + @consumer = Class.new(Rails::Queueing::ThreadedConsumer) do + attr_reader :last_error + def handle_exception(e) + @last_error = e.message + end + end.start(@queue) + + job = Job.new(1) do + raise "RuntimeError: Error!" + end + + @queue.push job + sleep 0.1 + + assert_equal "RuntimeError: Error!", @consumer.last_error + end end |