Sha256: 8f99a48ac13e8f2192bc4daf5dd53e8f59474c85dc855b2c0236284ab1e877cf

Contents?: true

Size: 1.49 KB

Versions: 22

Compression:

Stored size: 1.49 KB

Contents

require File.join(File.dirname(__FILE__), %w[spec_helper])

describe ZK::MessageQueue do
  include_context 'connection opts'

  before(:each) do
    @zk = ZK.new(connection_host)
    @zk2 = ZK.new(connection_host)
    wait_until{ @zk.connected? && @zk2.connected? }
    @queue_name = "_specQueue"
    @consume_queue = @zk.queue(@queue_name)
    @publish_queue = @zk2.queue(@queue_name)
  end

  after(:each) do
    @consume_queue.destroy!
    @zk.close!
    @zk2.close!
    wait_until{ !@zk.connected? && !@zk2.connected? }
  end

  it "should be able to receive a published message" do
    message_received = false
    @consume_queue.subscribe do |title, data|
      data.should == 'mydata'
      message_received = true
    end
    @publish_queue.publish("mydata")
    wait_until {message_received }
    message_received.should be_true
  end

  it "should be able to receive a custom message title" do
    message_title = false
    @consume_queue.subscribe do |title, data|
      title.should == 'title'
      message_title = true
    end
    @publish_queue.publish("data", "title")
    wait_until { message_title }
    message_title.should be_true
  end

  it "should work even after processing a message from before" do
    @publish_queue.publish("data1", "title")
    message_times = 0
    @consume_queue.subscribe do |title, data|
      title.should == "title"
      message_times += 1
    end

    @publish_queue.publish("data2", "title")
    wait_until { message_times == 2 }
    message_times.should == 2
  end
end

Version data entries

22 entries across 22 versions & 1 rubygems

Version Path
zk-1.9.6 spec/message_queue_spec.rb
zk-1.9.5 spec/message_queue_spec.rb
zk-1.9.4 spec/message_queue_spec.rb
zk-1.9.3 spec/message_queue_spec.rb
zk-1.9.2 spec/message_queue_spec.rb
zk-1.9.1 spec/message_queue_spec.rb
zk-1.9.0 spec/message_queue_spec.rb
zk-1.8.0 spec/message_queue_spec.rb
zk-1.7.5 spec/message_queue_spec.rb
zk-1.7.4 spec/message_queue_spec.rb
zk-1.7.3 spec/message_queue_spec.rb
zk-1.7.2 spec/message_queue_spec.rb
zk-1.7.1 spec/message_queue_spec.rb
zk-1.7.0 spec/message_queue_spec.rb
zk-1.6.5 spec/message_queue_spec.rb
zk-1.6.4 spec/message_queue_spec.rb
zk-1.6.3 spec/message_queue_spec.rb
zk-1.6.2 spec/message_queue_spec.rb
zk-1.6.1 spec/message_queue_spec.rb
zk-1.6.0 spec/message_queue_spec.rb