From 0c232779ece1ff6bf9bce9d55c54ea19867a2170 Mon Sep 17 00:00:00 2001 From: Abdelkader Boudih Date: Tue, 12 Aug 2014 09:29:21 +0000 Subject: Remove activejob integration tests --- activejob/test/cases/logging_test.rb | 1 + activejob/test/dummy/Rakefile | 3 - activejob/test/dummy/app/assets/images/.keep | 0 .../app/controllers/application_controller.rb | 3 - .../test/dummy/app/controllers/concerns/.keep | 0 .../test/dummy/app/helpers/application_helper.rb | 2 - activejob/test/dummy/app/jobs/test_job.rb | 9 --- activejob/test/dummy/app/mailers/.keep | 0 activejob/test/dummy/app/models/.keep | 0 activejob/test/dummy/app/models/concerns/.keep | 0 activejob/test/dummy/config.ru | 4 -- activejob/test/dummy/config/application.rb | 9 --- activejob/test/dummy/config/boot.rb | 5 -- activejob/test/dummy/config/database.yml | 3 - activejob/test/dummy/config/environment.rb | 2 - activejob/test/dummy/config/environments/test.rb | 13 ----- .../test/dummy/config/initializers/activejob.rb | 65 --------------------- .../dummy/config/initializers/session_store.rb | 1 - activejob/test/dummy/config/routes.rb | 2 - activejob/test/dummy/config/secrets.yml | 2 - .../migrate/20140804200445_create_delayed_jobs.rb | 22 ------- activejob/test/dummy/db/schema.rb | 32 ---------- activejob/test/dummy/db/test.sqlite3 | Bin 24576 -> 0 bytes activejob/test/dummy/lib/assets/.keep | 0 activejob/test/dummy/log/.keep | 0 activejob/test/dummy/tmp/.keep | 0 activejob/test/helper.rb | 7 +-- activejob/test/integration/queuing_test.rb | 18 ------ .../support/integration/adapters/backburner.rb | 15 ----- .../support/integration/adapters/delayed_job.rb | 14 ----- activejob/test/support/integration/adapters/qu.rb | 14 ----- activejob/test/support/integration/adapters/que.rb | 19 ------ .../support/integration/adapters/queue_classic.rb | 21 ------- .../test/support/integration/adapters/resque.rb | 18 ------ .../test/support/integration/adapters/sidekiq.rb | 19 ------ .../test/support/integration/adapters/sneakers.rb | 18 ------ .../support/integration/adapters/sucker_punch.rb | 5 -- activejob/test/support/integration/helper.rb | 12 ---- activejob/test/support/integration/jobs_manager.rb | 23 -------- .../test/support/integration/test_case_helpers.rb | 30 ---------- 40 files changed, 2 insertions(+), 409 deletions(-) delete mode 100644 activejob/test/dummy/Rakefile delete mode 100644 activejob/test/dummy/app/assets/images/.keep delete mode 100644 activejob/test/dummy/app/controllers/application_controller.rb delete mode 100644 activejob/test/dummy/app/controllers/concerns/.keep delete mode 100644 activejob/test/dummy/app/helpers/application_helper.rb delete mode 100644 activejob/test/dummy/app/jobs/test_job.rb delete mode 100644 activejob/test/dummy/app/mailers/.keep delete mode 100644 activejob/test/dummy/app/models/.keep delete mode 100644 activejob/test/dummy/app/models/concerns/.keep delete mode 100644 activejob/test/dummy/config.ru delete mode 100644 activejob/test/dummy/config/application.rb delete mode 100644 activejob/test/dummy/config/boot.rb delete mode 100644 activejob/test/dummy/config/database.yml delete mode 100644 activejob/test/dummy/config/environment.rb delete mode 100644 activejob/test/dummy/config/environments/test.rb delete mode 100644 activejob/test/dummy/config/initializers/activejob.rb delete mode 100644 activejob/test/dummy/config/initializers/session_store.rb delete mode 100644 activejob/test/dummy/config/routes.rb delete mode 100644 activejob/test/dummy/config/secrets.yml delete mode 100644 activejob/test/dummy/db/migrate/20140804200445_create_delayed_jobs.rb delete mode 100644 activejob/test/dummy/db/schema.rb delete mode 100644 activejob/test/dummy/db/test.sqlite3 delete mode 100644 activejob/test/dummy/lib/assets/.keep delete mode 100644 activejob/test/dummy/log/.keep delete mode 100644 activejob/test/dummy/tmp/.keep delete mode 100644 activejob/test/integration/queuing_test.rb delete mode 100644 activejob/test/support/integration/adapters/backburner.rb delete mode 100644 activejob/test/support/integration/adapters/delayed_job.rb delete mode 100644 activejob/test/support/integration/adapters/qu.rb delete mode 100644 activejob/test/support/integration/adapters/que.rb delete mode 100644 activejob/test/support/integration/adapters/queue_classic.rb delete mode 100644 activejob/test/support/integration/adapters/resque.rb delete mode 100644 activejob/test/support/integration/adapters/sidekiq.rb delete mode 100644 activejob/test/support/integration/adapters/sneakers.rb delete mode 100644 activejob/test/support/integration/adapters/sucker_punch.rb delete mode 100644 activejob/test/support/integration/helper.rb delete mode 100644 activejob/test/support/integration/jobs_manager.rb delete mode 100644 activejob/test/support/integration/test_case_helpers.rb (limited to 'activejob/test') diff --git a/activejob/test/cases/logging_test.rb b/activejob/test/cases/logging_test.rb index 537702edd4..a4c010c7bd 100644 --- a/activejob/test/cases/logging_test.rb +++ b/activejob/test/cases/logging_test.rb @@ -1,5 +1,6 @@ require 'helper' require "active_support/log_subscriber/test_helper" +require 'jobs/hello_job' require 'jobs/logging_job' require 'jobs/nested_job' diff --git a/activejob/test/dummy/Rakefile b/activejob/test/dummy/Rakefile deleted file mode 100644 index 9866295e6a..0000000000 --- a/activejob/test/dummy/Rakefile +++ /dev/null @@ -1,3 +0,0 @@ -require 'sneakers/tasks' -require File.expand_path('../config/application', __FILE__) -Rails.application.load_tasks diff --git a/activejob/test/dummy/app/assets/images/.keep b/activejob/test/dummy/app/assets/images/.keep deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/activejob/test/dummy/app/controllers/application_controller.rb b/activejob/test/dummy/app/controllers/application_controller.rb deleted file mode 100644 index 1c07694e9d..0000000000 --- a/activejob/test/dummy/app/controllers/application_controller.rb +++ /dev/null @@ -1,3 +0,0 @@ -class ApplicationController < ActionController::Base - protect_from_forgery with: :exception -end diff --git a/activejob/test/dummy/app/controllers/concerns/.keep b/activejob/test/dummy/app/controllers/concerns/.keep deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/activejob/test/dummy/app/helpers/application_helper.rb b/activejob/test/dummy/app/helpers/application_helper.rb deleted file mode 100644 index de6be7945c..0000000000 --- a/activejob/test/dummy/app/helpers/application_helper.rb +++ /dev/null @@ -1,2 +0,0 @@ -module ApplicationHelper -end diff --git a/activejob/test/dummy/app/jobs/test_job.rb b/activejob/test/dummy/app/jobs/test_job.rb deleted file mode 100644 index 281771a851..0000000000 --- a/activejob/test/dummy/app/jobs/test_job.rb +++ /dev/null @@ -1,9 +0,0 @@ -class TestJob < ActiveJob::Base - queue_as :default - - def perform(x) - File.open(Rails.root.join("tmp/#{x}"), "w+") do |f| - f.write x - end - end -end diff --git a/activejob/test/dummy/app/mailers/.keep b/activejob/test/dummy/app/mailers/.keep deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/activejob/test/dummy/app/models/.keep b/activejob/test/dummy/app/models/.keep deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/activejob/test/dummy/app/models/concerns/.keep b/activejob/test/dummy/app/models/concerns/.keep deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/activejob/test/dummy/config.ru b/activejob/test/dummy/config.ru deleted file mode 100644 index 5bc2a619e8..0000000000 --- a/activejob/test/dummy/config.ru +++ /dev/null @@ -1,4 +0,0 @@ -# This file is used by Rack-based servers to start the application. - -require ::File.expand_path('../config/environment', __FILE__) -run Rails.application diff --git a/activejob/test/dummy/config/application.rb b/activejob/test/dummy/config/application.rb deleted file mode 100644 index 8b06039a68..0000000000 --- a/activejob/test/dummy/config/application.rb +++ /dev/null @@ -1,9 +0,0 @@ -require File.expand_path('../boot', __FILE__) -require 'rails/all' -Bundler.require(*Rails.groups) - -module Dummy - class Application < Rails::Application - end -end - diff --git a/activejob/test/dummy/config/boot.rb b/activejob/test/dummy/config/boot.rb deleted file mode 100644 index 6266cfc509..0000000000 --- a/activejob/test/dummy/config/boot.rb +++ /dev/null @@ -1,5 +0,0 @@ -# Set up gems listed in the Gemfile. -ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../../../Gemfile', __FILE__) - -require 'bundler/setup' if File.exist?(ENV['BUNDLE_GEMFILE']) -$LOAD_PATH.unshift File.expand_path('../../../../lib', __FILE__) diff --git a/activejob/test/dummy/config/database.yml b/activejob/test/dummy/config/database.yml deleted file mode 100644 index f5f3aaf1fa..0000000000 --- a/activejob/test/dummy/config/database.yml +++ /dev/null @@ -1,3 +0,0 @@ -test: - adapter: sqlite3 - database: "db/test.sqlite3" diff --git a/activejob/test/dummy/config/environment.rb b/activejob/test/dummy/config/environment.rb deleted file mode 100644 index 7fd2f91b8f..0000000000 --- a/activejob/test/dummy/config/environment.rb +++ /dev/null @@ -1,2 +0,0 @@ -require File.expand_path('../application', __FILE__) -Rails.application.initialize! diff --git a/activejob/test/dummy/config/environments/test.rb b/activejob/test/dummy/config/environments/test.rb deleted file mode 100644 index ff0318412f..0000000000 --- a/activejob/test/dummy/config/environments/test.rb +++ /dev/null @@ -1,13 +0,0 @@ -Rails.application.configure do - config.cache_classes = true - config.eager_load = false - config.serve_static_assets = true - config.static_cache_control = 'public, max-age=3600' - config.consider_all_requests_local = true - config.action_controller.perform_caching = false - config.action_dispatch.show_exceptions = false - config.action_controller.allow_forgery_protection = false - config.action_mailer.delivery_method = :test - config.active_support.deprecation = :stderr - config.log_level = :debug -end diff --git a/activejob/test/dummy/config/initializers/activejob.rb b/activejob/test/dummy/config/initializers/activejob.rb deleted file mode 100644 index 5fcde86c96..0000000000 --- a/activejob/test/dummy/config/initializers/activejob.rb +++ /dev/null @@ -1,65 +0,0 @@ -case ENV['AJADAPTER'] -when "delayed_job" - ActiveJob::Base.queue_adapter = :delayed_job -when "sidekiq" - ActiveJob::Base.queue_adapter = :sidekiq -when "resque" - ActiveJob::Base.queue_adapter = :resque - Resque.redis = Redis::Namespace.new 'active_jobs_int_test', redis: Redis.connect(url: "tcp://127.0.0.1:6379/12", :thread_safe => true) - Resque.logger = Rails.logger -when 'qu' - ActiveJob::Base.queue_adapter = :qu - ENV['REDISTOGO_URL'] = "tcp://127.0.0.1:6379/12" - backend = Qu::Backend::Redis.new - backend.namespace = "active_jobs_int_test" - Qu.backend = backend - Qu.logger = Rails.logger - Qu.interval = 0.5 -when 'que' - ActiveJob::Base.queue_adapter = :que - QUE_URL = ENV['QUE_DATABASE_URL'] || 'postgres://localhost/active_jobs_que_int_test' - uri = URI.parse(QUE_URL) - user = uri.user||ENV['USER'] - pass = uri.password - db = uri.path[1..-1] - %x{#{"PGPASSWORD=\"#{pass}\"" if pass} psql -c 'drop database "#{db}"' -U #{user} -t template1} - %x{#{"PGPASSWORD=\"#{pass}\"" if pass} psql -c 'create database "#{db}"' -U #{user} -t template1} - Que.connection = Sequel.connect(QUE_URL) - Que.migrate! - Que.mode = :off - Que.worker_count = 1 -when 'queue_classic' - ENV['QC_DATABASE_URL'] ||= 'postgres://localhost/active_jobs_qc_int_test' - ENV['QC_LISTEN_TIME'] = "0.5" - ActiveJob::Base.queue_adapter = :queue_classic - uri = URI.parse(ENV['QC_DATABASE_URL']) - user = uri.user||ENV['USER'] - pass = uri.password - db = uri.path[1..-1] - %x{#{"PGPASSWORD=\"#{pass}\"" if pass} psql -c 'drop database "#{db}"' -U #{user} -t template1} - %x{#{"PGPASSWORD=\"#{pass}\"" if pass} psql -c 'create database "#{db}"' -U #{user} -t template1} - QC::Setup.create -when 'sidekiq' - ActiveJob::Base.queue_adapter = :sidekiq -when 'sneakers' - ActiveJob::Base.queue_adapter = :sneakers - Sneakers.configure :heartbeat => 2, - :amqp => 'amqp://guest:guest@localhost:5672', - :vhost => '/', - :exchange => 'active_jobs_sneakers_int_test', - :exchange_type => :direct, - :daemonize => true, - :threads => 1, - :workers => 1, - :pid_path => Rails.root.join("tmp/sneakers.pid").to_s, - :log => Rails.root.join("log/sneakers.log").to_s -when 'sucker_punch' - ActiveJob::Base.queue_adapter = :sucker_punch -when 'backburner' - ActiveJob::Base.queue_adapter = :backburner - Backburner.configure do |config| - config.logger = Rails.logger - end -else - ActiveJob::Base.queue_adapter = nil -end diff --git a/activejob/test/dummy/config/initializers/session_store.rb b/activejob/test/dummy/config/initializers/session_store.rb deleted file mode 100644 index 70a5a506a9..0000000000 --- a/activejob/test/dummy/config/initializers/session_store.rb +++ /dev/null @@ -1 +0,0 @@ -Rails.application.config.session_store :cookie_store, key: '_dummy_session' diff --git a/activejob/test/dummy/config/routes.rb b/activejob/test/dummy/config/routes.rb deleted file mode 100644 index 1daf9a4121..0000000000 --- a/activejob/test/dummy/config/routes.rb +++ /dev/null @@ -1,2 +0,0 @@ -Rails.application.routes.draw do -end diff --git a/activejob/test/dummy/config/secrets.yml b/activejob/test/dummy/config/secrets.yml deleted file mode 100644 index 7dfacb38ea..0000000000 --- a/activejob/test/dummy/config/secrets.yml +++ /dev/null @@ -1,2 +0,0 @@ -test: - secret_key_base: b83ee5aeada663bc4270a1817d0ca43b2784017cc77dc8afcd60967cc968d4ce30caff9eb682766129e18a4048c4d5ebf14eabf463fc37ad67c18934f4345545 diff --git a/activejob/test/dummy/db/migrate/20140804200445_create_delayed_jobs.rb b/activejob/test/dummy/db/migrate/20140804200445_create_delayed_jobs.rb deleted file mode 100644 index ec0dd93ce1..0000000000 --- a/activejob/test/dummy/db/migrate/20140804200445_create_delayed_jobs.rb +++ /dev/null @@ -1,22 +0,0 @@ -class CreateDelayedJobs < ActiveRecord::Migration - def self.up - create_table :delayed_jobs, :force => true do |table| - table.integer :priority, :default => 0, :null => false # Allows some jobs to jump to the front of the queue - table.integer :attempts, :default => 0, :null => false # Provides for retries, but still fail eventually. - table.text :handler, :null => false # YAML-encoded string of the object that will do work - table.text :last_error # reason for last failure (See Note below) - table.datetime :run_at # When to run. Could be Time.zone.now for immediately, or sometime in the future. - table.datetime :locked_at # Set when a client is working on this object - table.datetime :failed_at # Set when all retries have failed (actually, by default, the record is deleted instead) - table.string :locked_by # Who is working on this object (if locked) - table.string :queue # The name of the queue this job is in - table.timestamps - end - - add_index :delayed_jobs, [:priority, :run_at], :name => 'delayed_jobs_priority' - end - - def self.down - drop_table :delayed_jobs - end -end diff --git a/activejob/test/dummy/db/schema.rb b/activejob/test/dummy/db/schema.rb deleted file mode 100644 index 012a099f9c..0000000000 --- a/activejob/test/dummy/db/schema.rb +++ /dev/null @@ -1,32 +0,0 @@ -# encoding: UTF-8 -# This file is auto-generated from the current state of the database. Instead -# of editing this file, please use the migrations feature of Active Record to -# incrementally modify your database, and then regenerate this schema definition. -# -# Note that this schema.rb definition is the authoritative source for your -# database schema. If you need to create the application database on another -# system, you should be using db:schema:load, not running all the migrations -# from scratch. The latter is a flawed and unsustainable approach (the more migrations -# you'll amass, the slower it'll run and the greater likelihood for issues). -# -# It's strongly recommended that you check this file into your version control system. - -ActiveRecord::Schema.define(version: 20140804200445) do - - create_table "delayed_jobs", force: true do |t| - t.integer "priority", default: 0, null: false - t.integer "attempts", default: 0, null: false - t.text "handler", null: false - t.text "last_error" - t.datetime "run_at" - t.datetime "locked_at" - t.datetime "failed_at" - t.string "locked_by" - t.string "queue" - t.datetime "created_at" - t.datetime "updated_at" - end - - add_index "delayed_jobs", ["priority", "run_at"], name: "delayed_jobs_priority" - -end diff --git a/activejob/test/dummy/db/test.sqlite3 b/activejob/test/dummy/db/test.sqlite3 deleted file mode 100644 index 671e20102e..0000000000 Binary files a/activejob/test/dummy/db/test.sqlite3 and /dev/null differ diff --git a/activejob/test/dummy/lib/assets/.keep b/activejob/test/dummy/lib/assets/.keep deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/activejob/test/dummy/log/.keep b/activejob/test/dummy/log/.keep deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/activejob/test/dummy/tmp/.keep b/activejob/test/dummy/tmp/.keep deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/activejob/test/helper.rb b/activejob/test/helper.rb index 104dabd861..ad263c05cd 100644 --- a/activejob/test/helper.rb +++ b/activejob/test/helper.rb @@ -6,13 +6,8 @@ $LOAD_PATH << File.dirname(__FILE__) + "/../lib" require 'active_job' adapter = ENV['AJADAPTER'] || 'inline' -puts "Testing#{" integration" if ENV['AJ_INTEGRATION_TESTS']} using #{adapter}" -if ENV['AJ_INTEGRATION_TESTS'] - require 'support/integration/helper' -else - require "adapters/#{adapter}" -end +require "adapters/#{adapter}" require 'active_support/testing/autorun' diff --git a/activejob/test/integration/queuing_test.rb b/activejob/test/integration/queuing_test.rb deleted file mode 100644 index bf6137af4c..0000000000 --- a/activejob/test/integration/queuing_test.rb +++ /dev/null @@ -1,18 +0,0 @@ -require 'helper' -require 'jobs/logging_job' -require 'active_support/core_ext/numeric/time' - - -class QueuingTest < ActiveSupport::TestCase - setup do - - end - - test 'run queued job' do - id = "AJ-#{SecureRandom.uuid}" - TestJob.enqueue id - sleep 2 - assert Dummy::Application.root.join("tmp/#{id}").exist? - end - -end diff --git a/activejob/test/support/integration/adapters/backburner.rb b/activejob/test/support/integration/adapters/backburner.rb deleted file mode 100644 index 7271d50a45..0000000000 --- a/activejob/test/support/integration/adapters/backburner.rb +++ /dev/null @@ -1,15 +0,0 @@ -module BackburnerJobsManager - def clear_jobs - Backburner::Worker.connection.tubes.all.map &:clear - end - - def start_workers - @thread = Thread.new { Backburner.work "active-jobs-default" } - end - - def stop_workers - @thread.kill - end - -end - diff --git a/activejob/test/support/integration/adapters/delayed_job.rb b/activejob/test/support/integration/adapters/delayed_job.rb deleted file mode 100644 index 3e55933438..0000000000 --- a/activejob/test/support/integration/adapters/delayed_job.rb +++ /dev/null @@ -1,14 +0,0 @@ -module DelayedJobJobsManager - def clear_jobs - Delayed::Job.delete_all - end - - def start_workers - @worker = Delayed::Worker.new(quiet: false, sleep_delay: 0.5) - @thread = Thread.new { @worker.start } - end - - def stop_workers - @worker.stop - end -end diff --git a/activejob/test/support/integration/adapters/qu.rb b/activejob/test/support/integration/adapters/qu.rb deleted file mode 100644 index 12d063ea0d..0000000000 --- a/activejob/test/support/integration/adapters/qu.rb +++ /dev/null @@ -1,14 +0,0 @@ -module QuJobsManager - def clear_jobs - Qu.clear "active_jobs_default" - end - - def start_workers - @thread = Thread.new { Qu::Worker.new("active_jobs_default").start } - end - - def stop_workers - @thread.kill - end -end - diff --git a/activejob/test/support/integration/adapters/que.rb b/activejob/test/support/integration/adapters/que.rb deleted file mode 100644 index f15c9af910..0000000000 --- a/activejob/test/support/integration/adapters/que.rb +++ /dev/null @@ -1,19 +0,0 @@ -module QueJobsManager - def clear_jobs - Que.clear! - end - - def start_workers - @thread = Thread.new do - loop do - Que::Job.work("active_jobs_default") - sleep 0.5 - end - end - end - - def stop_workers - @thread.kill - end -end - diff --git a/activejob/test/support/integration/adapters/queue_classic.rb b/activejob/test/support/integration/adapters/queue_classic.rb deleted file mode 100644 index 3b24eca5b9..0000000000 --- a/activejob/test/support/integration/adapters/queue_classic.rb +++ /dev/null @@ -1,21 +0,0 @@ -module QC; WAIT_TIME = 0.5; end - -module QueueClassicJobsManager - def clear_jobs - # disabling this as it locks - # QC::Queue.new("active_jobs_default").delete_all - end - - def start_workers - @pid = fork do - QC::Conn.connection = QC::Conn.connect - worker = QC::Worker.new(q_name: 'active_jobs_default') - worker.start - end - end - - def stop_workers - Process.kill 'HUP', @pid - end -end - diff --git a/activejob/test/support/integration/adapters/resque.rb b/activejob/test/support/integration/adapters/resque.rb deleted file mode 100644 index b9811bd3e1..0000000000 --- a/activejob/test/support/integration/adapters/resque.rb +++ /dev/null @@ -1,18 +0,0 @@ -module ResqueJobsManager - def clear_jobs - Resque.queues.each { |queue_name| Resque.redis.del "queue:#{queue_name}" } - Resque.redis.keys("delayed:*").each { |key| Resque.redis.del "#{key}" } - Resque.redis.del "delayed_queue_schedule" - end - - def start_workers - @thread = Thread.new do - Resque::Worker.new("*").work(0.5) - end - end - - def stop_workers - @thread.kill - end -end - diff --git a/activejob/test/support/integration/adapters/sidekiq.rb b/activejob/test/support/integration/adapters/sidekiq.rb deleted file mode 100644 index d3b7d15614..0000000000 --- a/activejob/test/support/integration/adapters/sidekiq.rb +++ /dev/null @@ -1,19 +0,0 @@ -require 'sidekiq/launcher' -require 'sidekiq/api' - -module SidekiqJobsManager - def clear_jobs - Sidekiq::Queue.new("active_jobs_default").clear - end - - def start_workers - options = {:queues=>["active_jobs_default"], :concurrency=>1, :environment=>"test", :timeout=>8, :daemon=>true, :strict=>true} - @launcher = Sidekiq::Launcher.new(options) - @launcher.run - end - - def stop_workers - @launcher.stop - end -end - diff --git a/activejob/test/support/integration/adapters/sneakers.rb b/activejob/test/support/integration/adapters/sneakers.rb deleted file mode 100644 index 5dcab68515..0000000000 --- a/activejob/test/support/integration/adapters/sneakers.rb +++ /dev/null @@ -1,18 +0,0 @@ -require 'sneakers/runner' - -module SneakersJobsManager - def clear_jobs - end - - def start_workers - cmd = %{cd #{Rails.root.to_s} && (RAILS_ENV=test AJADAPTER=sneakers WORKERS=ActiveJob::QueueAdapters::SneakersAdapter::JobWrapper bundle exec rake --trace sneakers:run)} - `#{cmd}` - while !Rails.root.join("tmp/sneakers.pid").exist? do - sleep 0.5 - end - end - - def stop_workers - Process.kill 'TERM', File.open(Rails.root.join("tmp/sneakers.pid").to_s).read.to_i - end -end diff --git a/activejob/test/support/integration/adapters/sucker_punch.rb b/activejob/test/support/integration/adapters/sucker_punch.rb deleted file mode 100644 index 317f9c80fd..0000000000 --- a/activejob/test/support/integration/adapters/sucker_punch.rb +++ /dev/null @@ -1,5 +0,0 @@ -module SuckerPunchJobsManager - def clear_jobs - end -end - diff --git a/activejob/test/support/integration/helper.rb b/activejob/test/support/integration/helper.rb deleted file mode 100644 index cb94e7cfb5..0000000000 --- a/activejob/test/support/integration/helper.rb +++ /dev/null @@ -1,12 +0,0 @@ -ENV["RAILS_ENV"] = "test" -require File.expand_path("../../../dummy/config/environment.rb", __FILE__) -require "rails/test_help" -Rails.backtrace_cleaner.remove_silencers! - -require_relative 'test_case_helpers' -ActiveSupport::TestCase.send(:include, TestCaseHelpers) - -JobsManager.current_manager.setup -JobsManager.current_manager.start_workers -Minitest.after_run { JobsManager.current_manager.stop_workers } - diff --git a/activejob/test/support/integration/jobs_manager.rb b/activejob/test/support/integration/jobs_manager.rb deleted file mode 100644 index 1da74193b1..0000000000 --- a/activejob/test/support/integration/jobs_manager.rb +++ /dev/null @@ -1,23 +0,0 @@ -class JobsManager - @@managers = {} - attr :adapter_name - - def self.current_manager - @@managers[ENV['AJADAPTER']] ||= new(ENV['AJADAPTER']) - end - - def initialize(adapter_name) - @adapter_name = adapter_name - require_relative "adapters/#{adapter_name}" - extend "#{adapter_name.camelize}JobsManager".constantize - end - - def setup - end - - def start_workers - end - - def stop_workers - end -end diff --git a/activejob/test/support/integration/test_case_helpers.rb b/activejob/test/support/integration/test_case_helpers.rb deleted file mode 100644 index 9a5eea0783..0000000000 --- a/activejob/test/support/integration/test_case_helpers.rb +++ /dev/null @@ -1,30 +0,0 @@ -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 - end - - teardown do - clear_jobs - FileUtils.rm_rf Dir[Dummy::Application.root.join("tmp/AJ-*")] - end - end - - protected - - def jobs_manager - JobsManager.current_manager - end - - def clear_jobs - jobs_manager.clear_jobs - end - -end -- cgit v1.2.3 From 3ed69cd5f54c6eda7ee8664aa14c53205ecbb6c5 Mon Sep 17 00:00:00 2001 From: Cristian Bica Date: Tue, 12 Aug 2014 13:53:46 +0300 Subject: Fixed failing tests; Load active_job in railtie; Renamed generator to job --- activejob/test/cases/logging_test.rb | 1 + activejob/test/cases/queue_naming_test.rb | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) (limited to 'activejob/test') diff --git a/activejob/test/cases/logging_test.rb b/activejob/test/cases/logging_test.rb index a4c010c7bd..3f21fa644c 100644 --- a/activejob/test/cases/logging_test.rb +++ b/activejob/test/cases/logging_test.rb @@ -1,5 +1,6 @@ require 'helper' require "active_support/log_subscriber/test_helper" +require 'active_support/core_ext/numeric/time' require 'jobs/hello_job' require 'jobs/logging_job' require 'jobs/nested_job' diff --git a/activejob/test/cases/queue_naming_test.rb b/activejob/test/cases/queue_naming_test.rb index 852643b9f6..7cb516bbb4 100644 --- a/activejob/test/cases/queue_naming_test.rb +++ b/activejob/test/cases/queue_naming_test.rb @@ -1,11 +1,13 @@ require 'helper' require 'jobs/hello_job' +require 'jobs/logging_job' +require 'jobs/nested_job' class QueueNamingTest < ActiveSupport::TestCase test 'name derived from base' do assert_equal "active_jobs", HelloJob.queue_name end - + test 'name appended in job' do begin HelloJob.queue_as :greetings -- cgit v1.2.3 From 67f8b6b2bc7e7eca8723996b1303c3fafa5ed39b Mon Sep 17 00:00:00 2001 From: Abdelkader Boudih Date: Tue, 12 Aug 2014 18:24:19 +0000 Subject: Added ActionMailer::DeliverLater --- activejob/test/helper.rb | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) (limited to 'activejob/test') diff --git a/activejob/test/helper.rb b/activejob/test/helper.rb index ad263c05cd..8e255c1696 100644 --- a/activejob/test/helper.rb +++ b/activejob/test/helper.rb @@ -1,7 +1,4 @@ -require 'bundler' -Bundler.setup - -$LOAD_PATH << File.dirname(__FILE__) + "/../lib" +require File.expand_path('../../../load_paths', __FILE__) require 'active_job' -- cgit v1.2.3 From 9b209603d07cad48b47d554407d6319c9fcced18 Mon Sep 17 00:00:00 2001 From: Abdelkader Boudih Date: Wed, 13 Aug 2014 12:57:23 +0000 Subject: Clean adapter_test.rb and skip test for sidekiq in unsupported rubies --- activejob/test/cases/adapter_test.rb | 54 ++---------------------------------- activejob/test/helper.rb | 21 ++++++++++++-- 2 files changed, 22 insertions(+), 53 deletions(-) (limited to 'activejob/test') diff --git a/activejob/test/cases/adapter_test.rb b/activejob/test/cases/adapter_test.rb index 7f6f4c1159..4fc235ae40 100644 --- a/activejob/test/cases/adapter_test.rb +++ b/activejob/test/cases/adapter_test.rb @@ -1,56 +1,8 @@ require 'helper' class AdapterTest < ActiveSupport::TestCase - setup { @old_adapter = ActiveJob::Base.queue_adapter } - teardown { ActiveJob::Base.queue_adapter = @old_adapter } - - test 'should load inline adapter' do - ActiveJob::Base.queue_adapter = :inline - assert_equal ActiveJob::QueueAdapters::InlineAdapter, ActiveJob::Base.queue_adapter - end - - test 'should load Delayed Job adapter' do - ActiveJob::Base.queue_adapter = :delayed_job - assert_equal ActiveJob::QueueAdapters::DelayedJobAdapter, ActiveJob::Base.queue_adapter - end - - test 'should load Qu adapter' do - ActiveJob::Base.queue_adapter = :qu - assert_equal ActiveJob::QueueAdapters::QuAdapter, ActiveJob::Base.queue_adapter - end - - test 'should load Que adapter' do - ActiveJob::Base.queue_adapter = :que - assert_equal ActiveJob::QueueAdapters::QueAdapter, ActiveJob::Base.queue_adapter - end - - test 'should load Queue Classic adapter' do - ActiveJob::Base.queue_adapter = :queue_classic - assert_equal ActiveJob::QueueAdapters::QueueClassicAdapter, ActiveJob::Base.queue_adapter - end - - test 'should load Resque adapter' do - ActiveJob::Base.queue_adapter = :resque - assert_equal ActiveJob::QueueAdapters::ResqueAdapter, ActiveJob::Base.queue_adapter - end - - test 'should load Sidekiq adapter' do - ActiveJob::Base.queue_adapter = :sidekiq - assert_equal ActiveJob::QueueAdapters::SidekiqAdapter, ActiveJob::Base.queue_adapter - end - - test 'should load Sucker Punch adapter' do - ActiveJob::Base.queue_adapter = :sucker_punch - assert_equal ActiveJob::QueueAdapters::SuckerPunchAdapter, ActiveJob::Base.queue_adapter - end - - test 'should load Sneakers adapter' do - ActiveJob::Base.queue_adapter = :sneakers - assert_equal ActiveJob::QueueAdapters::SneakersAdapter, ActiveJob::Base.queue_adapter - end - - test 'should load Backburner adapter' do - ActiveJob::Base.queue_adapter = :backburner - assert_equal ActiveJob::QueueAdapters::BackburnerAdapter, ActiveJob::Base.queue_adapter + test "should load #{ENV['AJADAPTER']} adapter" do + ActiveJob::Base.queue_adapter = ENV['AJADAPTER'].to_sym + assert_equal ActiveJob::Base.queue_adapter, "active_job/queue_adapters/#{ENV['AJADAPTER']}_adapter".classify.constantize end end diff --git a/activejob/test/helper.rb b/activejob/test/helper.rb index 8e255c1696..5e491332ee 100644 --- a/activejob/test/helper.rb +++ b/activejob/test/helper.rb @@ -2,9 +2,26 @@ require File.expand_path('../../../load_paths', __FILE__) require 'active_job' -adapter = ENV['AJADAPTER'] || 'inline' +@adapter = ENV['AJADAPTER'] || 'inline' -require "adapters/#{adapter}" +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?) + +require "adapters/#{@adapter}" require 'active_support/testing/autorun' -- cgit v1.2.3 From 94ae25ecd5635f7f97a2e53afa8e3f82c408435d Mon Sep 17 00:00:00 2001 From: Cristian Bica Date: Fri, 15 Aug 2014 23:32:08 +0300 Subject: ActiveJob: Reworked queue_base_name as default_queue_name + Allow configure ActiveJob from app.config.active_job --- activejob/test/cases/queue_naming_test.rb | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'activejob/test') diff --git a/activejob/test/cases/queue_naming_test.rb b/activejob/test/cases/queue_naming_test.rb index 7cb516bbb4..426af608f0 100644 --- a/activejob/test/cases/queue_naming_test.rb +++ b/activejob/test/cases/queue_naming_test.rb @@ -5,7 +5,7 @@ require 'jobs/nested_job' class QueueNamingTest < ActiveSupport::TestCase test 'name derived from base' do - assert_equal "active_jobs", HelloJob.queue_name + assert_equal "default", HelloJob.queue_name end test 'name appended in job' do @@ -13,11 +13,11 @@ class QueueNamingTest < ActiveSupport::TestCase HelloJob.queue_as :greetings LoggingJob.queue_as :bookkeeping - assert_equal "active_jobs", NestedJob.queue_name - assert_equal "active_jobs_greetings", HelloJob.queue_name - assert_equal "active_jobs_bookkeeping", LoggingJob.queue_name + assert_equal "default", NestedJob.queue_name + assert_equal "greetings", HelloJob.queue_name + assert_equal "bookkeeping", LoggingJob.queue_name ensure - HelloJob.queue_name = LoggingJob.queue_name = ActiveJob::Base.queue_base_name + HelloJob.queue_name = LoggingJob.queue_name = ActiveJob::Base.default_queue_name end end end -- cgit v1.2.3 From 788aee5acf195d55914e086540f907d9291e9d24 Mon Sep 17 00:00:00 2001 From: Cristian Bica Date: Sat, 16 Aug 2014 00:02:06 +0300 Subject: Moved AR testing from using global variable to thread variable --- activejob/test/cases/job_serialization_test.rb | 4 ++-- activejob/test/cases/logging_test.rb | 2 +- activejob/test/cases/queuing_test.rb | 10 +++++----- activejob/test/cases/rescue_test.rb | 4 ++-- activejob/test/jobs/gid_job.rb | 4 ++-- activejob/test/jobs/hello_job.rb | 2 +- activejob/test/jobs/rescue_job.rb | 4 ++-- 7 files changed, 15 insertions(+), 15 deletions(-) (limited to 'activejob/test') diff --git a/activejob/test/cases/job_serialization_test.rb b/activejob/test/cases/job_serialization_test.rb index b1e24db22e..f3b89d8899 100644 --- a/activejob/test/cases/job_serialization_test.rb +++ b/activejob/test/cases/job_serialization_test.rb @@ -4,12 +4,12 @@ require 'models/person' class JobSerializationTest < ActiveSupport::TestCase setup do - $BUFFER = [] + Thread.current[:ajbuffer] = [] @person = Person.find(5) end test 'serialize job with gid' do GidJob.enqueue @person - assert_equal "Person with ID: 5", $BUFFER.pop + assert_equal "Person with ID: 5", Thread.current[:ajbuffer].pop end end diff --git a/activejob/test/cases/logging_test.rb b/activejob/test/cases/logging_test.rb index 3f21fa644c..f0f315c906 100644 --- a/activejob/test/cases/logging_test.rb +++ b/activejob/test/cases/logging_test.rb @@ -23,7 +23,7 @@ class AdapterTest < ActiveSupport::TestCase def setup super - $BUFFER = [] + Thread.current[:ajbuffer] = [] @old_logger = ActiveJob::Base.logger @logger = ActiveSupport::TaggedLogging.new(TestLogger.new) set_logger @logger diff --git a/activejob/test/cases/queuing_test.rb b/activejob/test/cases/queuing_test.rb index 3dd9ecd8d2..49760ce9c0 100644 --- a/activejob/test/cases/queuing_test.rb +++ b/activejob/test/cases/queuing_test.rb @@ -5,17 +5,17 @@ require 'active_support/core_ext/numeric/time' class QueuingTest < ActiveSupport::TestCase setup do - $BUFFER = [] + Thread.current[:ajbuffer] = [] end test 'run queued job' do HelloJob.enqueue - assert_equal "David says hello", $BUFFER.pop + assert_equal "David says hello", Thread.current[:ajbuffer].pop end test 'run queued job with arguments' do HelloJob.enqueue "Jamie" - assert_equal "Jamie says hello", $BUFFER.pop + assert_equal "Jamie says hello", Thread.current[:ajbuffer].pop end test 'run queued job later' do @@ -26,13 +26,13 @@ class QueuingTest < ActiveSupport::TestCase skip end end - + test 'job returned by enqueue has the arguments available' do job = HelloJob.enqueue "Jamie" assert_equal [ "Jamie" ], job.arguments end - + test 'job returned by enqueue_at has the timestamp available' do begin job = HelloJob.enqueue_at Time.utc(2014, 1, 1) diff --git a/activejob/test/cases/rescue_test.rb b/activejob/test/cases/rescue_test.rb index 3d4831bc62..4fbd27fe6c 100644 --- a/activejob/test/cases/rescue_test.rb +++ b/activejob/test/cases/rescue_test.rb @@ -5,13 +5,13 @@ require 'active_support/core_ext/object/inclusion' class RescueTest < ActiveSupport::TestCase setup do - $BUFFER = [] + Thread.current[:ajbuffer] = [] end test 'rescue perform exception with retry' do job = RescueJob.new job.execute(SecureRandom.uuid, "david") - assert_equal [ "rescued from ArgumentError", "performed beautifully" ], $BUFFER + assert_equal [ "rescued from ArgumentError", "performed beautifully" ], Thread.current[:ajbuffer] end test 'let through unhandled perform exception' do diff --git a/activejob/test/jobs/gid_job.rb b/activejob/test/jobs/gid_job.rb index c69e38d3cc..eeb34c8a87 100644 --- a/activejob/test/jobs/gid_job.rb +++ b/activejob/test/jobs/gid_job.rb @@ -1,6 +1,6 @@ class GidJob < ActiveJob::Base def perform(person) - $BUFFER << "Person with ID: #{person.id}" + Thread.current[:ajbuffer] << "Person with ID: #{person.id}" end end - \ No newline at end of file + diff --git a/activejob/test/jobs/hello_job.rb b/activejob/test/jobs/hello_job.rb index 25441dd0c8..cb067bbe69 100644 --- a/activejob/test/jobs/hello_job.rb +++ b/activejob/test/jobs/hello_job.rb @@ -1,5 +1,5 @@ class HelloJob < ActiveJob::Base def perform(greeter = "David") - $BUFFER << "#{greeter} says hello" + Thread.current[:ajbuffer] << "#{greeter} says hello" end end diff --git a/activejob/test/jobs/rescue_job.rb b/activejob/test/jobs/rescue_job.rb index acf2b81515..e42de4876e 100644 --- a/activejob/test/jobs/rescue_job.rb +++ b/activejob/test/jobs/rescue_job.rb @@ -2,7 +2,7 @@ class RescueJob < ActiveJob::Base class OtherError < StandardError; end rescue_from(ArgumentError) do - $BUFFER << "rescued from ArgumentError" + Thread.current[:ajbuffer] << "rescued from ArgumentError" arguments[0] = "DIFFERENT!" retry_now end @@ -14,7 +14,7 @@ class RescueJob < ActiveJob::Base when "other" raise OtherError else - $BUFFER << "performed beautifully" + Thread.current[:ajbuffer] << "performed beautifully" end end end -- cgit v1.2.3 From 2f7b239fca6630e49ba8ad9df6fc7db25e1080f0 Mon Sep 17 00:00:00 2001 From: Abdelkader Boudih Date: Sun, 17 Aug 2014 01:06:30 +0000 Subject: [ActiveJob] Use globalid gem --- activejob/test/helper.rb | 2 ++ activejob/test/models/person.rb | 4 +--- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'activejob/test') diff --git a/activejob/test/helper.rb b/activejob/test/helper.rb index 5e491332ee..a56b35da12 100644 --- a/activejob/test/helper.rb +++ b/activejob/test/helper.rb @@ -2,6 +2,8 @@ require File.expand_path('../../../load_paths', __FILE__) require 'active_job' +GlobalID.app = 'aj' + @adapter = ENV['AJADAPTER'] || 'inline' def sidekiq? diff --git a/activejob/test/models/person.rb b/activejob/test/models/person.rb index a5bdbc462b..b31396db4b 100644 --- a/activejob/test/models/person.rb +++ b/activejob/test/models/person.rb @@ -1,7 +1,5 @@ -require 'active_model/global_identification' - class Person - include ActiveModel::GlobalIdentification + include GlobalID::Identification attr_reader :id -- cgit v1.2.3 From 931cfc40796bfd2f4638d8ca7a11723d7562e9cd Mon Sep 17 00:00:00 2001 From: Abdelkader Boudih Date: Sun, 17 Aug 2014 13:23:24 +0000 Subject: [ActiveJob] Fix tests for sucker_punch --- activejob/test/cases/job_serialization_test.rb | 4 ++-- activejob/test/cases/logging_test.rb | 2 +- activejob/test/cases/queuing_test.rb | 6 +++--- activejob/test/cases/rescue_test.rb | 4 ++-- activejob/test/helper.rb | 20 ++++++++++++++++++++ activejob/test/jobs/gid_job.rb | 2 +- activejob/test/jobs/hello_job.rb | 2 +- activejob/test/jobs/rescue_job.rb | 4 ++-- 8 files changed, 32 insertions(+), 12 deletions(-) (limited to 'activejob/test') diff --git a/activejob/test/cases/job_serialization_test.rb b/activejob/test/cases/job_serialization_test.rb index f3b89d8899..fc1b77744c 100644 --- a/activejob/test/cases/job_serialization_test.rb +++ b/activejob/test/cases/job_serialization_test.rb @@ -4,12 +4,12 @@ require 'models/person' class JobSerializationTest < ActiveSupport::TestCase setup do - Thread.current[:ajbuffer] = [] + JobBuffer.clear @person = Person.find(5) end test 'serialize job with gid' do GidJob.enqueue @person - assert_equal "Person with ID: 5", Thread.current[:ajbuffer].pop + assert_equal "Person with ID: 5", JobBuffer.last_value end end diff --git a/activejob/test/cases/logging_test.rb b/activejob/test/cases/logging_test.rb index f0f315c906..888c183a0b 100644 --- a/activejob/test/cases/logging_test.rb +++ b/activejob/test/cases/logging_test.rb @@ -23,7 +23,7 @@ class AdapterTest < ActiveSupport::TestCase def setup super - Thread.current[:ajbuffer] = [] + JobBuffer.clear @old_logger = ActiveJob::Base.logger @logger = ActiveSupport::TaggedLogging.new(TestLogger.new) set_logger @logger diff --git a/activejob/test/cases/queuing_test.rb b/activejob/test/cases/queuing_test.rb index 49760ce9c0..f020316d7e 100644 --- a/activejob/test/cases/queuing_test.rb +++ b/activejob/test/cases/queuing_test.rb @@ -5,17 +5,17 @@ require 'active_support/core_ext/numeric/time' class QueuingTest < ActiveSupport::TestCase setup do - Thread.current[:ajbuffer] = [] + JobBuffer.clear end test 'run queued job' do HelloJob.enqueue - assert_equal "David says hello", Thread.current[:ajbuffer].pop + assert_equal "David says hello", JobBuffer.last_value end test 'run queued job with arguments' do HelloJob.enqueue "Jamie" - assert_equal "Jamie says hello", Thread.current[:ajbuffer].pop + assert_equal "Jamie says hello", JobBuffer.last_value end test 'run queued job later' do diff --git a/activejob/test/cases/rescue_test.rb b/activejob/test/cases/rescue_test.rb index 4fbd27fe6c..250ab68671 100644 --- a/activejob/test/cases/rescue_test.rb +++ b/activejob/test/cases/rescue_test.rb @@ -5,13 +5,13 @@ require 'active_support/core_ext/object/inclusion' class RescueTest < ActiveSupport::TestCase setup do - Thread.current[:ajbuffer] = [] + JobBuffer.clear end test 'rescue perform exception with retry' do job = RescueJob.new job.execute(SecureRandom.uuid, "david") - assert_equal [ "rescued from ArgumentError", "performed beautifully" ], Thread.current[:ajbuffer] + assert_equal [ "rescued from ArgumentError", "performed beautifully" ], JobBuffer.values end test 'let through unhandled perform exception' do diff --git a/activejob/test/helper.rb b/activejob/test/helper.rb index a56b35da12..ca67700273 100644 --- a/activejob/test/helper.rb +++ b/activejob/test/helper.rb @@ -28,3 +28,23 @@ 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 eeb34c8a87..35c2366ec4 100644 --- a/activejob/test/jobs/gid_job.rb +++ b/activejob/test/jobs/gid_job.rb @@ -1,6 +1,6 @@ class GidJob < ActiveJob::Base def perform(person) - Thread.current[:ajbuffer] << "Person with ID: #{person.id}" + JobBuffer.add("Person with ID: #{person.id}") end end diff --git a/activejob/test/jobs/hello_job.rb b/activejob/test/jobs/hello_job.rb index cb067bbe69..4c6256af0d 100644 --- a/activejob/test/jobs/hello_job.rb +++ b/activejob/test/jobs/hello_job.rb @@ -1,5 +1,5 @@ class HelloJob < ActiveJob::Base def perform(greeter = "David") - Thread.current[:ajbuffer] << "#{greeter} says hello" + JobBuffer.add("#{greeter} says hello") end end diff --git a/activejob/test/jobs/rescue_job.rb b/activejob/test/jobs/rescue_job.rb index e42de4876e..77084160d9 100644 --- a/activejob/test/jobs/rescue_job.rb +++ b/activejob/test/jobs/rescue_job.rb @@ -2,7 +2,7 @@ class RescueJob < ActiveJob::Base class OtherError < StandardError; end rescue_from(ArgumentError) do - Thread.current[:ajbuffer] << "rescued from ArgumentError" + JobBuffer.add('rescued from ArgumentError') arguments[0] = "DIFFERENT!" retry_now end @@ -14,7 +14,7 @@ class RescueJob < ActiveJob::Base when "other" raise OtherError else - Thread.current[:ajbuffer] << "performed beautifully" + JobBuffer.add('performed beautifully') end end end -- cgit v1.2.3 From 3faa61ede58aa29400e4e062a799c61913ae213f Mon Sep 17 00:00:00 2001 From: Cristian Bica Date: Sun, 17 Aug 2014 23:48:44 +0300 Subject: [ActiveJob] raise DeserializationError when got an error deserializing --- activejob/test/cases/rescue_test.rb | 7 +++++++ activejob/test/jobs/rescue_job.rb | 5 +++++ activejob/test/models/person.rb | 3 +++ 3 files changed, 15 insertions(+) (limited to 'activejob/test') diff --git a/activejob/test/cases/rescue_test.rb b/activejob/test/cases/rescue_test.rb index 250ab68671..c9473314f2 100644 --- a/activejob/test/cases/rescue_test.rb +++ b/activejob/test/cases/rescue_test.rb @@ -20,4 +20,11 @@ class RescueTest < ActiveSupport::TestCase job.execute(SecureRandom.uuid, "other") end end + + test 'rescue from deserialization errors' do + RescueJob.enqueue Person.new(404) + assert_includes JobBuffer.values, 'rescued from DeserializationError' + assert_includes JobBuffer.values, 'DeserializationError original exception was Person::RecordNotFound' + assert_not_includes JobBuffer.values, 'performed beautifully' + end end diff --git a/activejob/test/jobs/rescue_job.rb b/activejob/test/jobs/rescue_job.rb index 77084160d9..e9cb37d1c4 100644 --- a/activejob/test/jobs/rescue_job.rb +++ b/activejob/test/jobs/rescue_job.rb @@ -7,6 +7,11 @@ class RescueJob < ActiveJob::Base retry_now end + rescue_from(ActiveJob::DeserializationError) do |e| + JobBuffer.add('rescued from DeserializationError') + JobBuffer.add("DeserializationError original exception was #{e.original_exception.class.name}") + end + def perform(person = "david") case person when "david" diff --git a/activejob/test/models/person.rb b/activejob/test/models/person.rb index b31396db4b..76a8f40616 100644 --- a/activejob/test/models/person.rb +++ b/activejob/test/models/person.rb @@ -1,9 +1,12 @@ class Person + class RecordNotFound < StandardError; end + include GlobalID::Identification attr_reader :id def self.find(id) + raise RecordNotFound.new("Cannot find person with ID=404") if id.to_i==404 new(id) end -- cgit v1.2.3