def test_max_redeliveries
@client.close
rdmsg = "To Be Redelivered"
dest = make_destination
[1, 2, 3].each do |max_re|
@client = get_client()
sid = @client.uuid()
received = nil
rm_actual = 0
sh = @client.protocol() == Stomp::SPL_10 ? {} : {:id => sid}
@client.subscribe(dest, sh) {|msg|
rm_actual += 1
@client.unreceive(msg, :max_redeliveries => max_re)
received = msg if rm_actual - 1 == max_re
}
@client.publish(dest, rdmsg)
sleep 0.01 until received
assert_equal rdmsg, received.body
sleep 0.5
@client.unsubscribe dest, sh
assert_equal max_re, rm_actual - 1
@client.close
end
end