aboutsummaryrefslogtreecommitdiffstats
path: root/railties/test/queueing/threaded_consumer_test.rb
diff options
context:
space:
mode:
Diffstat (limited to 'railties/test/queueing/threaded_consumer_test.rb')
-rw-r--r--railties/test/queueing/threaded_consumer_test.rb100
1 files changed, 0 insertions, 100 deletions
diff --git a/railties/test/queueing/threaded_consumer_test.rb b/railties/test/queueing/threaded_consumer_test.rb
deleted file mode 100644
index c34a966d6e..0000000000
--- a/railties/test/queueing/threaded_consumer_test.rb
+++ /dev/null
@@ -1,100 +0,0 @@
-require 'abstract_unit'
-require 'rails/queueing'
-
-class TestThreadConsumer < ActiveSupport::TestCase
- class Job
- attr_reader :id
- def initialize(id, &block)
- @id = id
- @block = block
- end
-
- def run
- @block.call if @block
- end
- end
-
- def setup
- @queue = Rails::Queueing::Queue.new
- @consumer = Rails::Queueing::ThreadedConsumer.start(@queue)
- end
-
- def teardown
- @queue.push nil
- end
-
- test "the jobs are executed" do
- ran = false
-
- job = Job.new(1) do
- ran = true
- end
-
- @queue.push job
- sleep 0.1
- assert_equal true, ran
- end
-
- test "the jobs are not executed synchronously" do
- ran = false
-
- job = Job.new(1) do
- sleep 0.1
- ran = true
- end
-
- @queue.push job
- assert_equal false, ran
- end
-
- test "shutting down the queue synchronously drains the jobs" do
- ran = false
-
- job = Job.new(1) do
- sleep 0.1
- ran = true
- end
-
- @queue.push job
- assert_equal false, ran
-
- @consumer.shutdown
-
- assert_equal true, ran
- end
-
- test "log job that raises an exception" do
- require "active_support/log_subscriber/test_helper"
- logger = ActiveSupport::LogSubscriber::TestHelper::MockLogger.new
- Rails.logger = logger
-
- job = Job.new(1) do
- raise "RuntimeError: Error!"
- end
-
- @queue.push job
- sleep 0.1
-
- 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