File tree Expand file tree Collapse file tree 3 files changed +13
-0
lines changed Expand file tree Collapse file tree 3 files changed +13
-0
lines changed Original file line number Diff line number Diff line change @@ -274,6 +274,7 @@ def enqueue(klass, *args)
274
274
#
275
275
# This method is considered part of the `stable` API.
276
276
def enqueue_to ( queue , klass , *args )
277
+ validate ( klass , queue )
277
278
# Perform before_enqueue hooks. Don't perform enqueue if any hook returns false
278
279
before_hooks = Plugin . before_enqueue_hooks ( klass ) . collect do |hook |
279
280
klass . send ( hook , *args )
Original file line number Diff line number Diff line change @@ -113,6 +113,12 @@ def save
113
113
end
114
114
end
115
115
116
+ class JobWithNoQueue
117
+ def self . perform
118
+ "I don't have a queue."
119
+ end
120
+ end
121
+
116
122
def with_failure_backend ( failure_backend , &block )
117
123
previous_backend = Resque ::Failure . backend
118
124
Resque ::Failure . backend = failure_backend
Original file line number Diff line number Diff line change 34
34
assert_match ( 'uninitialized constant' , Resque ::Failure . all [ 'error' ] )
35
35
end
36
36
37
+ it "validates jobs before enquing them." do
38
+ assert_raises Resque ::NoQueueError do
39
+ Resque . enqueue ( JobWithNoQueue )
40
+ end
41
+ end
42
+
37
43
it "does not allow exceptions from failure backend to escape" do
38
44
job = Resque ::Job . new ( :jobs , { } )
39
45
with_failure_backend BadFailureBackend do
You can’t perform that action at this time.
0 commit comments