Sha256: a16125d10f97e57d1bc584efe0a651051b391fba2f595278626a623facdfd526

Contents?: true

Size: 795 Bytes

Versions: 4

Compression:

Stored size: 795 Bytes

Contents

Given /^multiple consumers are listening to queue '(.*)'$/ do |queue|
  @managers = []
  Thread.new do
    @managers << RosettaQueue::ThreadedManager.create do |m|
      m.add(eval_consumer_class(queue, "fooconsumer.log", "FooConsumer").new)
      m.start
    end
  end

  Thread.new do
    @managers << RosettaQueue::ThreadedManager.create do |m|
      m.add(eval_consumer_class(queue, "barconsumer.log", "BarConsumer").new)
      m.start
    end
  end
  sleep 5
end

Then /^multiple messages should be consumed from '(\w+)'$/ do |queue|
  ["FooConsumer", "BarConsumer"].each do |class_name, value|
     file_path = "#{CONSUMER_LOG_DIR}/#{class_name.downcase}.log"
     File.readlines(file_path).last.should =~ /Hello World! from #{class_name}/
  end
  @managers.each {|m| m.stop_threads }
end

Version data entries

4 entries across 4 versions & 2 rubygems

Version Path
bmabey-rosetta_queue-0.3.3 features/step_definitions/publish_subscribe_steps.rb
rosetta_queue-0.5.2 features/step_definitions/publish_subscribe_steps.rb
rosetta_queue-0.5.0 features/step_definitions/publish_subscribe_steps.rb
rosetta_queue-0.4.0 features/step_definitions/publish_subscribe_steps.rb