diff options
Diffstat (limited to 'activejob/test')
-rw-r--r-- | activejob/test/adapters/que.rb | 2 | ||||
-rw-r--r-- | activejob/test/cases/parameters_test.rb | 6 | ||||
-rw-r--r-- | activejob/test/helper.rb | 30 | ||||
-rw-r--r-- | activejob/test/jobs/gid_job.rb | 2 | ||||
-rw-r--r-- | activejob/test/jobs/hello_job.rb | 2 | ||||
-rw-r--r-- | activejob/test/jobs/rescue_job.rb | 2 | ||||
-rw-r--r-- | activejob/test/support/job_buffer.rb | 19 | ||||
-rw-r--r-- | activejob/test/support/que/inline.rb | 9 |
8 files changed, 41 insertions, 31 deletions
diff --git a/activejob/test/adapters/que.rb b/activejob/test/adapters/que.rb index 640061bf54..e6abc57457 100644 --- a/activejob/test/adapters/que.rb +++ b/activejob/test/adapters/que.rb @@ -1,2 +1,4 @@ +require 'support/que/inline' + ActiveJob::Base.queue_adapter = :que Que.mode = :sync diff --git a/activejob/test/cases/parameters_test.rb b/activejob/test/cases/parameters_test.rb index 76e8a8059a..78853c51e1 100644 --- a/activejob/test/cases/parameters_test.rb +++ b/activejob/test/cases/parameters_test.rb @@ -19,7 +19,7 @@ class ParameterSerializationTest < ActiveSupport::TestCase assert_equal [ [ 1 ] ], ActiveJob::Arguments.serialize([ [ 1 ] ]) assert_equal [ 1_000_000_000_000_000_000_000 ], ActiveJob::Arguments.serialize([ 1_000_000_000_000_000_000_000 ]) - err = assert_raises RuntimeError do + err = assert_raises ActiveJob::SerializationError do ActiveJob::Arguments.serialize([ 1, self ]) end assert_equal "Unsupported argument type: #{self.class.name}", err.message @@ -31,14 +31,14 @@ class ParameterSerializationTest < ActiveSupport::TestCase end test 'should dive deep into arrays or hashes and raise exception on complex objects' do - err = assert_raises RuntimeError do + err = assert_raises ActiveJob::SerializationError do ActiveJob::Arguments.serialize([ 1, [self] ]) end assert_equal "Unsupported argument type: #{self.class.name}", err.message end test 'shoud dive deep into hashes and allow raise exception on not string/symbol keys' do - err = assert_raises RuntimeError do + err = assert_raises ActiveJob::SerializationError do ActiveJob::Arguments.serialize([ [ { 1 => 2 } ] ]) end assert_equal "Unsupported hash key type: Fixnum", err.message diff --git a/activejob/test/helper.rb b/activejob/test/helper.rb index ca67700273..85094387ef 100644 --- a/activejob/test/helper.rb +++ b/activejob/test/helper.rb @@ -10,41 +10,15 @@ def sidekiq? @adapter == 'sidekiq' end -def rubinius? - RUBY_ENGINE == 'rbx' -end - def ruby_193? RUBY_VERSION == '1.9.3' && RUBY_ENGINE != 'java' end -#Sidekiq don't work with MRI 1.9.3 -#Travis uses rbx 2.6 which don't support unicode characters in methods. -#Remove the check when Travis change to rbx 2.7+ -exit if sidekiq? && (ruby_193? || rubinius?) +# Sidekiq doesn't work with MRI 1.9.3 +exit if sidekiq? && ruby_193? require "adapters/#{@adapter}" require 'active_support/testing/autorun' ActiveJob::Base.logger.level = Logger::DEBUG - -module JobBuffer - class << self - def clear - @buffer = [] - end - - def add(value) - @buffer << value - end - - def values - @buffer - end - - def last_value - @buffer.last - end - end -end diff --git a/activejob/test/jobs/gid_job.rb b/activejob/test/jobs/gid_job.rb index 35c2366ec4..e485bfa2dd 100644 --- a/activejob/test/jobs/gid_job.rb +++ b/activejob/test/jobs/gid_job.rb @@ -1,3 +1,5 @@ +require_relative '../support/job_buffer' + class GidJob < ActiveJob::Base def perform(person) JobBuffer.add("Person with ID: #{person.id}") diff --git a/activejob/test/jobs/hello_job.rb b/activejob/test/jobs/hello_job.rb index 4c6256af0d..022fa58e4a 100644 --- a/activejob/test/jobs/hello_job.rb +++ b/activejob/test/jobs/hello_job.rb @@ -1,3 +1,5 @@ +require_relative '../support/job_buffer' + class HelloJob < ActiveJob::Base def perform(greeter = "David") JobBuffer.add("#{greeter} says hello") diff --git a/activejob/test/jobs/rescue_job.rb b/activejob/test/jobs/rescue_job.rb index e9cb37d1c4..6b6e74e9d0 100644 --- a/activejob/test/jobs/rescue_job.rb +++ b/activejob/test/jobs/rescue_job.rb @@ -1,3 +1,5 @@ +require_relative '../support/job_buffer' + class RescueJob < ActiveJob::Base class OtherError < StandardError; end diff --git a/activejob/test/support/job_buffer.rb b/activejob/test/support/job_buffer.rb new file mode 100644 index 0000000000..620cb5288d --- /dev/null +++ b/activejob/test/support/job_buffer.rb @@ -0,0 +1,19 @@ +module JobBuffer + class << self + def clear + values.clear + end + + def add(value) + values << value + end + + def values + @values ||= [] + end + + def last_value + values.last + end + end +end diff --git a/activejob/test/support/que/inline.rb b/activejob/test/support/que/inline.rb new file mode 100644 index 0000000000..2e210acb6b --- /dev/null +++ b/activejob/test/support/que/inline.rb @@ -0,0 +1,9 @@ +require 'que' + +Que::Job.class_eval do + class << self; alias_method :original_enqueue, :enqueue; end + def self.enqueue(*args) + args.pop if args.last.is_a?(Hash) + self.run(*args) + end +end |