2012-03-10 13:07:19 -08:00
|
|
|
require 'helper'
|
|
|
|
require 'sidekiq'
|
|
|
|
require 'sidekiq/web'
|
|
|
|
require 'rack/test'
|
|
|
|
|
|
|
|
class TestWeb < MiniTest::Unit::TestCase
|
|
|
|
describe 'sidekiq web' do
|
|
|
|
include Rack::Test::Methods
|
|
|
|
|
|
|
|
def app
|
|
|
|
Sidekiq::Web
|
|
|
|
end
|
|
|
|
|
|
|
|
before do
|
2012-03-13 21:19:46 -07:00
|
|
|
Sidekiq.redis = REDIS
|
2012-03-28 19:16:54 -07:00
|
|
|
Sidekiq.redis {|c| c.flushdb }
|
2012-03-10 13:07:19 -08:00
|
|
|
end
|
|
|
|
|
|
|
|
class WebWorker
|
|
|
|
include Sidekiq::Worker
|
|
|
|
|
|
|
|
def perform(a, b)
|
|
|
|
a + b
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
it 'shows active queues' do
|
|
|
|
get '/'
|
|
|
|
assert_equal 200, last_response.status
|
2012-04-24 07:15:29 -07:00
|
|
|
assert_match last_response.body, /Sidekiq is idle/
|
2012-03-10 13:07:19 -08:00
|
|
|
refute_match last_response.body, /default/
|
|
|
|
|
|
|
|
assert WebWorker.perform_async(1, 2)
|
|
|
|
|
|
|
|
get '/'
|
|
|
|
assert_equal 200, last_response.status
|
2012-04-24 07:15:29 -07:00
|
|
|
assert_match last_response.body, /Sidekiq is idle/
|
2012-03-10 13:07:19 -08:00
|
|
|
assert_match last_response.body, /default/
|
|
|
|
refute_match last_response.body, /foo/
|
|
|
|
|
2012-04-01 19:53:45 -07:00
|
|
|
assert Sidekiq::Client.push('queue' => :foo, 'class' => WebWorker, 'args' => [1, 3])
|
2012-03-10 13:07:19 -08:00
|
|
|
|
|
|
|
get '/'
|
|
|
|
assert_equal 200, last_response.status
|
2012-04-24 07:15:29 -07:00
|
|
|
assert_match last_response.body, /Sidekiq is idle/
|
2012-03-10 13:07:19 -08:00
|
|
|
assert_match last_response.body, /default/
|
|
|
|
assert_match last_response.body, /foo/
|
|
|
|
end
|
|
|
|
|
2012-03-17 09:41:24 -07:00
|
|
|
it 'handles queues with no name' do
|
|
|
|
get '/queues'
|
|
|
|
assert_equal 404, last_response.status
|
|
|
|
end
|
|
|
|
|
2012-05-04 22:23:43 -07:00
|
|
|
it 'handles missing retry' do
|
|
|
|
get '/retries/12391982.123'
|
|
|
|
assert_equal 302, last_response.status
|
|
|
|
end
|
|
|
|
|
2012-03-17 09:41:24 -07:00
|
|
|
it 'handles queue view' do
|
|
|
|
get '/queues/default'
|
|
|
|
assert_equal 200, last_response.status
|
|
|
|
end
|
|
|
|
|
2012-05-04 22:23:43 -07:00
|
|
|
it 'can delete a queue' do
|
|
|
|
Sidekiq.redis do |conn|
|
|
|
|
conn.rpush('queue:foo', '{}')
|
|
|
|
conn.sadd('queues', 'foo')
|
|
|
|
end
|
|
|
|
|
|
|
|
get '/queues/foo'
|
|
|
|
assert_equal 200, last_response.status
|
|
|
|
|
|
|
|
post '/queues/foo'
|
|
|
|
assert_equal 302, last_response.status
|
|
|
|
|
|
|
|
Sidekiq.redis do |conn|
|
|
|
|
refute conn.smembers('queues').include?('foo')
|
|
|
|
end
|
|
|
|
end
|
2012-03-10 13:07:19 -08:00
|
|
|
end
|
|
|
|
end
|