def test_greater_than_wildcard_subscribe
queue_base_name = make_destination + "."
queue1 = queue_base_name + "foo.a"
queue2 = queue_base_name + "bar.a"
queue3 = queue_base_name + "foo.b"
send_message = message_text
@client.publish queue1, send_message
@client.publish queue2, send_message
@client.publish queue3, send_message
messages = []
@client.subscribe(queue_base_name + ">", :ack => 'client') do |m|
messages << m
@client.acknowledge(m)
end
Timeout::timeout(4) do
sleep 0.1 while messages.size < 3
end
messages.each do |message|
assert_not_nil message
assert_equal send_message, message.body
end
results = [queue1, queue2, queue3].collect do |queue|
messages.any? do |message|
message_source = message.headers['destination']
message_source == queue
end
end
assert results.all?{|a| a == true }
checkEmsg(@client)
end