Sha256: e929ea0cdc1160f35ac315dd1b22fa14c4f1cc6ff7b30c32b6a2c2d35c55b521

Contents?: true

Size: 1.6 KB

Versions: 30

Compression:

Stored size: 1.6 KB

Contents

require "spec_helper"

describe "Published message" do
  let(:connection) do
    c = Bunny.new(username: "bunny_gem", password: "bunny_password", vhost: "bunny_testbed")
    c.start
    c
  end

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

  context "with all default delivery and a 254 character long routing key" do
    it "routes the messages" do
      ch = connection.create_channel

      q  = ch.queue("", exclusive: true)
      x  = ch.fanout("amq.fanout")
      q.bind(x)

      rk = "a" * 254
      x.publish("xyzzy", routing_key: rk, persistent: true)

      sleep(1)
      expect(q.message_count).to eq 1

      _, _, payload = q.pop

      expect(payload).to eq "xyzzy"

      ch.close
    end
  end

  context "with all default delivery and a 255 character long routing key" do
    it "routes the messages" do
      ch = connection.create_channel

      q  = ch.queue("", exclusive: true)
      x  = ch.fanout("amq.fanout")
      q.bind(x)

      rk = "a" * 255
      x.publish("xyzzy", routing_key: rk, persistent: true)

      sleep(1)
      expect(q.message_count).to eq 1

      _, _, payload = q.pop

      expect(payload).to eq "xyzzy"

      ch.close
    end
  end

  context "with all default delivery and a 256 character long routing key" do
    it "fails with a connection exception" do
      ch = connection.create_channel

      q  = ch.queue("", exclusive: true)
      x  = ch.fanout("amq.fanout")
      q.bind(x)

      rk = "a" * 256
      expect do
        x.publish("xyzzy", routing_key: rk, persistent: true)
      end.to raise_error(ArgumentError)

      ch.close
    end
  end
end

Version data entries

30 entries across 30 versions & 1 rubygems

Version Path
bunny-2.19.0 spec/higher_level_api/integration/basic_publish_spec.rb
bunny-2.18.0 spec/higher_level_api/integration/basic_publish_spec.rb
bunny-2.17.0 spec/higher_level_api/integration/basic_publish_spec.rb
bunny-2.16.1 spec/higher_level_api/integration/basic_publish_spec.rb
bunny-2.15.0 spec/higher_level_api/integration/basic_publish_spec.rb
bunny-2.14.4 spec/higher_level_api/integration/basic_publish_spec.rb
bunny-2.14.3 spec/higher_level_api/integration/basic_publish_spec.rb
bunny-2.14.2 spec/higher_level_api/integration/basic_publish_spec.rb
bunny-2.14.1 spec/higher_level_api/integration/basic_publish_spec.rb
bunny-2.13.0 spec/higher_level_api/integration/basic_publish_spec.rb
bunny-2.12.1 spec/higher_level_api/integration/basic_publish_spec.rb
bunny-2.12.0 spec/higher_level_api/integration/basic_publish_spec.rb
bunny-2.12.0.rc1 spec/higher_level_api/integration/basic_publish_spec.rb
bunny-2.11.0 spec/higher_level_api/integration/basic_publish_spec.rb
bunny-2.11.0.pre1 spec/higher_level_api/integration/basic_publish_spec.rb
bunny-2.10.0 spec/higher_level_api/integration/basic_publish_spec.rb
bunny-2.9.2 spec/higher_level_api/integration/basic_publish_spec.rb
bunny-2.9.1 spec/higher_level_api/integration/basic_publish_spec.rb
bunny-2.6.7 spec/higher_level_api/integration/basic_publish_spec.rb
bunny-2.7.4 spec/higher_level_api/integration/basic_publish_spec.rb