diff options
author | Jerry D'Antonio <stumpjumper@gmail.com> | 2015-08-15 23:41:33 -0400 |
---|---|---|
committer | Jerry D'Antonio <stumpjumper@gmail.com> | 2015-08-25 14:22:11 -0400 |
commit | 25a4155257cd463355bccb4330b0280e4110de9e (patch) | |
tree | b58198818bb9ceadb4932e56f7c89c8b648ab4fb /activejob/test/cases | |
parent | e6629257f4aecfa53fd1a1a2eae34aa33f637d79 (diff) | |
download | rails-25a4155257cd463355bccb4330b0280e4110de9e.tar.gz rails-25a4155257cd463355bccb4330b0280e4110de9e.tar.bz2 rails-25a4155257cd463355bccb4330b0280e4110de9e.zip |
Initial implementation of ActiveJob AsyncAdapter.
Diffstat (limited to 'activejob/test/cases')
-rw-r--r-- | activejob/test/cases/async_job_test.rb | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/activejob/test/cases/async_job_test.rb b/activejob/test/cases/async_job_test.rb new file mode 100644 index 0000000000..2642cfc608 --- /dev/null +++ b/activejob/test/cases/async_job_test.rb @@ -0,0 +1,42 @@ +require 'helper' +require 'jobs/hello_job' +require 'jobs/queue_as_job' + +class AsyncJobTest < ActiveSupport::TestCase + def using_async_adapter? + ActiveJob::Base.queue_adapter.is_a? ActiveJob::QueueAdapters::AsyncAdapter + end + + setup do + ActiveJob::AsyncJob.perform_asynchronously! + end + + teardown do + ActiveJob::AsyncJob::QUEUES.clear + ActiveJob::AsyncJob.perform_immediately! + end + + test "#create_thread_pool returns a thread_pool" do + thread_pool = ActiveJob::AsyncJob.create_thread_pool + assert thread_pool.is_a? Concurrent::ExecutorService + assert_not thread_pool.is_a? Concurrent::ImmediateExecutor + end + + test "#create_thread_pool returns an ImmediateExecutor after #perform_immediately! is called" do + ActiveJob::AsyncJob.perform_immediately! + thread_pool = ActiveJob::AsyncJob.create_thread_pool + assert thread_pool.is_a? Concurrent::ImmediateExecutor + end + + test "enqueuing without specifying a queue uses the default queue" do + skip unless using_async_adapter? + HelloJob.perform_later + assert ActiveJob::AsyncJob::QUEUES.key? 'default' + end + + test "enqueuing to a queue that does not exist creates the queue" do + skip unless using_async_adapter? + QueueAsJob.perform_later + assert ActiveJob::AsyncJob::QUEUES.key? QueueAsJob::MY_QUEUE.to_s + end +end |