Sha256: 90c23fff125684ff8776a11fa1950f99a07f549d2ad4516136fa6f0fd7b634a5

Contents?: true

Size: 1.14 KB

Versions: 5

Compression:

Stored size: 1.14 KB

Contents

require File.expand_path('../integration_test', __FILE__)

module Propono
  class UdpToSqsTest < IntegrationTest
    def test_the_message_gets_there
      topic = "test-topic"
      message = "This is my message"
      flunks = []

      Propono.config.udp_port = 20002

      Propono.subscribe_by_queue(topic)

      sqs_thread = Thread.new do
        begin
          Propono.listen_to_queue(topic) do |sqs_message|
            assert_equal message, sqs_message
            sqs_thread.terminate
          end
        rescue => e
          flunks << e.message
        ensure
          sqs_thread.terminate
        end
      end

      udp_thread = Thread.new do
        Propono.listen_to_udp do |udp_topic, udp_message|
          Propono.publish(udp_topic, udp_message)
          udp_thread.terminate
        end
      end

      sleep(2) # Make sure the listener has started

      Propono.publish(topic, message, protocol: :udp)
      flunks << "Test Timeout" unless wait_for_thread(udp_thread) && wait_for_thread(sqs_thread)
      flunk(flunks.join("\n")) unless flunks.empty?
    ensure
      udp_thread.terminate
      sqs_thread.terminate
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
propono-0.11.1 test/integration/udp_to_sqs_test.rb
propono-0.11.0 test/integration/udp_to_sqs_test.rb
propono-0.10.0 test/integration/udp_to_sqs_test.rb
propono-0.9.1 test/integration/udp_to_sqs_test.rb
propono-0.9.0 test/integration/udp_to_sqs_test.rb