Sha256: 16ba7379f60315f5f5586ad0fa853430aabe6b3d771c045978dd5c2f334713d4
Contents?: true
Size: 1.49 KB
Versions: 1
Compression:
Stored size: 1.49 KB
Contents
require File.dirname(__FILE__) + '/../test_helper' class ResqueTest < Test::Unit::TestCase context "Resque" do setup do Resque.redis.flushall assert_nil Resque.redis.get(OneHourThrottledJob.key) @bogus_args = "bogus_arg" end context "#enqueue" do should "add a throttled job key to the set with the proper TTL (Expire)" do Resque.expects(:enqueue_without_throttle).returns(true) assert Resque.enqueue(IdentifierThrottledJob, @bogus_args) assert( Resque.redis.keys('*').include?( "resque-throttle:IdentifierThrottledJob:my_bogus_arg" ) ) assert_equal 3600, Resque.redis.ttl(IdentifierThrottledJob.key(@bogus_args)) end context "job has not reached throttle limit" do should "not add another job to the queue and raise a throttled exception" do Resque.expects(:enqueue_without_throttle).once assert_raises(Resque::ThrottledError) { 2.times { Resque.enqueue(OneHourThrottledJob, @bogus_args) } } end end should "enqueue a job without throttling if the job is disabled" do Resque.expects(:enqueue_without_throttle).twice 2.times { Resque.enqueue(DisabledThrottledJob, @bogus_args) } end should "silently throttle a job if that's how resque-throttle is configured" do Resque.expects(:enqueue_without_throttle).once 2.times { Resque.enqueue(SilentThrottledJob, @bogus_args) } end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
fhwang-resque-throttle-0.3.0 | test/resque/resque_test.rb |