1
0
Fork 0
mirror of https://github.com/mperham/sidekiq.git synced 2022-11-09 13:52:34 -05:00
mperham--sidekiq/test/test_sidekiq.rb

70 lines
1.9 KiB
Ruby
Raw Normal View History

# encoding: utf-8
require_relative 'helper'
class TestSidekiq < Sidekiq::Test
describe 'json processing' do
it 'loads json' do
assert_equal ({"foo" => "bar"}), Sidekiq.load_json("{\"foo\":\"bar\"}")
end
it 'dumps json' do
assert_equal "{\"foo\":\"bar\"}", Sidekiq.dump_json({ "foo" => "bar" })
end
end
describe "redis connection" do
it "returns error without creating a connection if block is not given" do
2013-05-12 17:25:30 -04:00
mock = Minitest::Mock.new
mock.expect :create, nil #Sidekiq::RedisConnection, create
assert_raises(ArgumentError) {
Sidekiq.redis
}
assert_raises(MockExpectationError, "create should not be called") do
mock.verify
end
end
end
describe "❨╯°□°❩╯︵┻━┻" do
before { $stdout = StringIO.new }
after { $stdout = STDOUT }
it "allows angry developers to express their emotional constitution and remedies it" do
Sidekiq.°°
assert_equal "Calm down, bro\n", $stdout.string
end
end
describe 'lifecycle events' do
it 'handles invalid input' do
2014-05-13 17:00:20 -04:00
Sidekiq.options[:lifecycle_events][:startup].clear
e = assert_raises ArgumentError do
2014-03-12 00:21:21 -04:00
Sidekiq.on(:startp)
end
2014-03-19 20:41:11 -04:00
assert_match(/Invalid event name/, e.message)
e = assert_raises ArgumentError do
2014-03-12 00:21:21 -04:00
Sidekiq.on('startup')
end
2014-03-19 20:41:11 -04:00
assert_match(/Symbols only/, e.message)
2014-03-12 00:21:21 -04:00
Sidekiq.on(:startup) do
2014-03-10 23:51:10 -04:00
1 + 1
end
2014-03-12 00:21:21 -04:00
assert_equal 2, Sidekiq.options[:lifecycle_events][:startup].first.call
end
end
describe 'default_worker_options' do
before do
@old_options = Sidekiq.default_worker_options
end
after { Sidekiq.default_worker_options = @old_options }
it 'stringify keys' do
Sidekiq.default_worker_options = { queue: 'cat'}
assert_equal 'cat', Sidekiq.default_worker_options['queue']
end
end
end