test/integration/udp_proxy_test.rb in propono-0.11.1 vs test/integration/udp_proxy_test.rb in propono-1.0.0.rc1
- old
+ new
@@ -2,35 +2,42 @@
module Propono
class UdpProxyTest < IntegrationTest
def test_the_message_gets_there
topic = "test-topic"
- text = "This is my message"
+ text = "This is my message #{DateTime.now} #{rand()}"
flunks = []
+ message_received = false
Propono.config.udp_port = 20001
Propono.subscribe_by_queue(topic)
sqs_thread = Thread.new do
begin
Propono.listen_to_queue(topic) do |message, context|
flunks << "Wrong message" unless text == message
flunks << "Wrong id" unless context[:id] =~ Regexp.new("[a-z0-9]{6}-[a-z0-9]{6}")
- break
+ message_received = true
end
rescue => e
flunks << e.message
ensure
sqs_thread.terminate
end
end
+ Thread.new do
+ sleep(1) while !message_received
+ sleep(5) # Make sure all the message deletion clear up in the thread has happened
+ sqs_thread.terminate
+ end
+
udp_thread = Thread.new do
Propono.proxy_udp
end
- sleep(2) # Make sure the proxy has started
+ sleep(1) # Make sure the proxy has started
Propono::Publisher.publish(topic, text, protocol: :udp)
flunks << "Test timeout" unless wait_for_thread(sqs_thread)
flunk(flunks.join("\n")) unless flunks.empty?
ensure