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