Skip to content

Commit

Permalink
Added long polling test.
Browse files Browse the repository at this point in the history
  • Loading branch information
treeder committed Apr 16, 2014
1 parent dd9f171 commit 8fbbf1b
Show file tree
Hide file tree
Showing 5 changed files with 49 additions and 16 deletions.
1 change: 1 addition & 0 deletions .gitignore
Expand Up @@ -7,4 +7,5 @@ test/config.yml
*.sublime*
/*.gem
config.yml
iron.json

22 changes: 11 additions & 11 deletions Gemfile.lock
Expand Up @@ -9,33 +9,32 @@ GEM
specs:
beanstalk-client (1.1.1)
concur (2.1.1)
ethon (0.6.2)
ethon (0.7.0)
ffi (>= 1.3.0)
mime-types (~> 1.18)
ffi (1.9.3)
go (1.1.0)
concur
iron_core (1.0.3)
rest (>= 2.6.4)
iron_worker_ng (1.2.0)
iron_worker_ng (1.4.2)
bundler
iron_core (>= 1.0.0)
rubyzip (>= 1.0.0)
mime-types (1.25.1)
minitest (5.2.3)
rubyzip (= 0.9.9)
minitest (5.3.3)
net-http-persistent (2.9.4)
netrc (0.7.7)
parallel (1.0.0)
quicky (0.4.0)
rake (10.1.1)
rake (10.3.0)
rest (2.7.1)
net-http-persistent (>= 2.9.1)
rest_client (>= 1.7.1)
rest_client (1.7.2)
rest_client (1.7.3)
netrc (~> 0.7.7)
rubyzip (1.1.0)
rubyzip (0.9.9)
test-unit (2.5.5)
typhoeus (0.6.7)
ethon (~> 0.6.2)
typhoeus (0.6.8)
ethon (>= 0.7.0)
uber_config (1.1.1)

PLATFORMS
Expand All @@ -48,6 +47,7 @@ DEPENDENCIES
iron_worker_ng
minitest
net-http-persistent
parallel
quicky
rake
test-unit
Expand Down
1 change: 1 addition & 0 deletions iron_mq.gemspec
Expand Up @@ -29,5 +29,6 @@ Gem::Specification.new do |gem|
gem.add_development_dependency "quicky"
gem.add_development_dependency "iron_worker_ng"
gem.add_development_dependency "go"
gem.add_development_dependency "parallel"
end

38 changes: 33 additions & 5 deletions test/test_iron_mq.rb
Expand Up @@ -676,20 +676,48 @@ def test_queue_set_info
end

def test_dequeue_delete
queue_name = "test_dequeue_delete_#{Time.now.to_i}"
queue_name = "test_dequeue_delete_3"
clear_queue(queue_name)
queue = @client.queue(queue_name)
v = "hello thou shalt only see me once"
queue.post(v)
msg = queue.get(delete: true, timeout: 30)
assert_equal msg.body, "hello thou shalt only see me once"
assert_equal 1, queue.reload.size
msg = queue.get(delete: true, timeout: 7)
assert_equal v, msg.body
sleep 1
# get the queue again
queue = @client.queue(queue_name)
assert_equal 0, queue.size
sleep 31
sleep 10
msg = queue.get
assert_nil msg
end

def test_long_polling
queue_name = "test_long_polling"
clear_queue(queue_name)
queue = @client.queue(queue_name)
msg = queue.get
assert_equal nil, msg
assert_nil msg
v = "hello long"
# ok, nothing in the queue, let's do a long poll
thr = Thread.new {
sleep 5
puts "Posting now"
begin
queue.post(v)
rescue Exception => ex
p ex
end

}
puts "Now going to wait for it..."
msg = queue.get(wait: 20)
p msg
assert_not_nil msg
assert_equal v, msg.body
msg.delete

end
end

3 changes: 3 additions & 0 deletions test/tmp.rb
@@ -1,6 +1,7 @@
gem 'test-unit'
require 'test/unit'
require 'yaml'
require 'parallel'
require_relative 'test_base'

class TmpTests < TestBase
Expand All @@ -10,5 +11,7 @@ def setup
end




end

0 comments on commit 8fbbf1b

Please sign in to comment.