Sha256: bb61d6260eb50298e98d6b99a6eb7b512cf0e800ca8c8ce5128a10fb9370e304

Contents?: true

Size: 1.41 KB

Versions: 2

Compression:

Stored size: 1.41 KB

Contents

require "spec_helper"

describe "Publishing a message to the default exchange" do
  let(:connection) do
    c = Bunny.new(:user => "bunny_gem", :password => "bunny_password", :vhost => "bunny_testbed")
    c.start
    c
  end

  after :all do
    connection.close if connection.open?
  end


  context "with all default delivery and message properties" do
    it "routes messages to a queue with the same name as the routing key" do
      ch = connection.create_channel

      q  = ch.queue("", :exclusive => true)
      x  = ch.default_exchange

      x.publish("xyzzy", :routing_key => q.name).
        publish("xyzzy", :routing_key => q.name).
        publish("xyzzy", :routing_key => q.name).
        publish("xyzzy", :routing_key => q.name)

      sleep(1)
      q.message_count.should == 4

      ch.close
    end
  end


  context "with all default delivery and message properties" do
    it "routes the messages and preserves all the metadata" do
      ch = connection.create_channel

      q  = ch.queue("", :exclusive => true)
      x  = ch.default_exchange

      x.publish("xyzzy", :routing_key => q.name, :persistent => true)

      sleep(1)
      q.message_count.should == 1

      envelope, headers, payload = q.pop

      payload.should == "xyzzy"

      headers[:content_type].should == "application/octet-stream"
      headers[:delivery_mode].should == 2
      headers[:priority].should == 0

      ch.close
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
bunny-0.9.0.pre8 spec/higher_level_api/integration/basic_publish_spec.rb
bunny-0.9.0.pre7 spec/higher_level_api/integration/basic_publish_spec.rb