test/job_plugins_test.rb in resque-mongo-1.8.1 vs test/job_plugins_test.rb in resque-mongo-1.9.8.1

- old
+ new

@@ -19,11 +19,11 @@ def after_perform_record_history2(history) history << :after2 end end - class ManyBeforesJob + class ::ManyBeforesJob extend Plugin1 extend Plugin2 def self.perform(history) history << :perform end @@ -43,11 +43,11 @@ def before_perform1(history) history << :before_perform1 end end - class BeforePerformJob + class ::BeforePerformJob extend BeforePerformPlugin def self.perform(history) history << :perform end def self.before_perform(history) @@ -69,11 +69,11 @@ def after_perform_record_history(history) history << :after_perform1 end end - class AfterPerformJob + class ::AfterPerformJob extend AfterPerformPlugin def self.perform(history) history << :perform end def self.after_perform(history) @@ -96,11 +96,11 @@ history << :around_perform_plugin1 yield end end - class AroundPerformJustPerformsJob + class ::AroundPerformJustPerformsJob extend AroundPerformPlugin1 def self.perform(history) history << :perform end end @@ -109,11 +109,11 @@ result = perform_job(AroundPerformJustPerformsJob, history=[]) assert_equal true, result, "perform returned true" assert_equal [:around_perform_plugin1, :perform], history end - class AroundPerformJob + class ::AroundPerformJob extend AroundPerformPlugin1 def self.perform(history) history << :perform end def self.around_perform(history) @@ -133,11 +133,11 @@ history << :around_perform_plugin2 yield end end - class AroundPerformJob2 + class ::AroundPerformJob2 extend AroundPerformPlugin1 extend AroundPerformPlugin2 def self.perform(history) history << :perform end @@ -157,11 +157,11 @@ def around_perform0(history) history << :around_perform0 end end - class AroundPerformJob3 + class ::AroundPerformJob3 extend AroundPerformPlugin1 extend AroundPerformPlugin2 extend AroundPerformDoesNotYield def self.perform(history) history << :perform @@ -175,10 +175,31 @@ test "the job is aborted if an around_perform hook does not yield" do result = perform_job(AroundPerformJob3, history=[]) assert_equal false, result, "perform returned false" assert_equal [:around_perform, :around_perform0], history end + + module AroundPerformGetsJobResult + @@result = nil + def last_job_result + @@result + end + + def around_perform_gets_job_result(*args) + @@result = yield + end + end + + class ::AroundPerformJobWithReturnValue < GoodJob + extend AroundPerformGetsJobResult + end + + test "the job is aborted if an around_perform hook does not yield" do + result = perform_job(AroundPerformJobWithReturnValue, 'Bob') + assert_equal true, result, "perform returned true" + assert_equal 'Good job, Bob', AroundPerformJobWithReturnValue.last_job_result + end end context "Resque::Plugin ordering on_failure" do include PerformJob @@ -186,10 +207,10 @@ def on_failure1(exception, history) history << "#{exception.message} plugin" end end - class FailureJob + class ::FailureJob extend OnFailurePlugin def self.perform(history) history << :perform raise StandardError, "oh no" end