-
Notifications
You must be signed in to change notification settings - Fork 17
/
ironmq_tests.rb
105 lines (79 loc) · 2.03 KB
/
ironmq_tests.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
# Put config.yml file in ~/Dropbox/configs/ironmq_gem/test/config.yml
gem 'test-unit'
require 'test/unit'
require 'yaml'
begin
require File.join(File.dirname(__FILE__), '../lib/ironmq')
rescue Exception => ex
puts "Could NOT load current ironmq: " + ex.message
raise ex
end
class IronMQTests < Test::Unit::TestCase
def setup
puts 'setup'
@config = YAML::load_file(File.expand_path(File.join("~", "Dropbox", "configs", "ironmq_gem", "test", "config.yml")))
@client = IronMQ::Client.new(@config['ironmq'])
#@client.logger.level = Logger::DEBUG
@client.queue_name = 'ironmq-gem-tests'
puts 'clearing queue'
while res = @client.messages.get()
p res
puts res.body.to_s
res.delete
end
puts 'cleared.'
end
def test_basics
res = @client.messages.post("hello world!")
p res
res = @client.messages.get()
p res
res = @client.messages.delete(res["id"])
p res
puts "shouldn't be any more"
res = @client.messages.get()
p res
assert res.nil?
res = @client.messages.post("hello world 2!")
p res
msg = @client.messages.get()
p msg
res = msg.delete
p res
puts "shouldn't be any more"
res = @client.messages.get()
p res
assert res.nil?
end
def test_timeout
res = @client.messages.post("hello world timeout!")
p res
msg = @client.messages.get()
p msg
msg4 = @client.messages.get()
p msg4
assert msg4.nil?
puts 'sleeping 45 seconds...'
sleep 45
msg3 = @client.messages.get()
p msg3
assert msg3.nil?
puts 'sleeping another 45 seconds...'
sleep 45
msg2 = @client.messages.get()
assert msg.id == msg2.id
msg2.delete
end
def test_consumer_timeout
res = @client.messages.post("hello world consumer timeout!")
p res
msg = @client.messages.get(:timeout => 2)
assert_not_nil msg
msg3 = @client.messages.get()
assert msg3.nil?
sleep 2
msg2 = @client.messages.get()
assert_equal msg2.id, msg.id
msg2.delete
end
end