diff options
author | Cristian Bica <cristian.bica@gmail.com> | 2014-08-18 10:19:41 +0300 |
---|---|---|
committer | Cristian Bica <cristian.bica@gmail.com> | 2014-09-11 00:38:56 +0300 |
commit | 175ba6666453684bba3c24d03b75580a1f8e68bb (patch) | |
tree | 1d89d3d7452428eb0c11358b8ae37e4363030509 /activejob/test/support/integration/test_case_helpers.rb | |
parent | 467e5700e6c759276406d8dc3604ede2c86235cb (diff) | |
download | rails-175ba6666453684bba3c24d03b75580a1f8e68bb.tar.gz rails-175ba6666453684bba3c24d03b75580a1f8e68bb.tar.bz2 rails-175ba6666453684bba3c24d03b75580a1f8e68bb.zip |
ActiveJob Integration Tests
Diffstat (limited to 'activejob/test/support/integration/test_case_helpers.rb')
-rw-r--r-- | activejob/test/support/integration/test_case_helpers.rb | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/activejob/test/support/integration/test_case_helpers.rb b/activejob/test/support/integration/test_case_helpers.rb new file mode 100644 index 0000000000..ee2f6aebea --- /dev/null +++ b/activejob/test/support/integration/test_case_helpers.rb @@ -0,0 +1,48 @@ +require 'active_support/concern' +require 'support/integration/jobs_manager' + +module TestCaseHelpers + extend ActiveSupport::Concern + + included do + self.use_transactional_fixtures = false + + setup do + clear_jobs + @id = "AJ-#{SecureRandom.uuid}" + end + + teardown do + clear_jobs + end + end + + protected + + def jobs_manager + JobsManager.current_manager + end + + def clear_jobs + jobs_manager.clear_jobs + end + + def adapter_is?(adapter) + ActiveJob::Base.queue_adapter.name.split("::").last.gsub(/Adapter$/, '').underscore==adapter.to_s + end + + def wait_for_jobs_to_finish_for(seconds=60) + begin + Timeout.timeout(seconds) do + while !job_executed do + sleep 0.25 + end + end + rescue Timeout::Error + end + end + + def job_executed + Dummy::Application.root.join("tmp/#{@id}").exist? + end +end |