Sha256: e6cab6e17b9982133d7bca8de411e7e17f0f0107f7e2c6461fede0710b36ffcd
Contents?: true
Size: 1.49 KB
Versions: 31
Compression:
Stored size: 1.49 KB
Contents
require_relative '../../lib/bunny/channel' require_relative '../../lib/bunny/exchange' module Bunny describe Exchange do context "recovery" do it "recovers exchange bindings, unless already unbound" do ch = instance_double(Bunny::Channel, exchange_declare: nil, register_exchange: nil) src1 = Exchange.new(ch, "direct", "src1") src2 = Exchange.new(ch, "direct", "src2") src3 = Exchange.new(ch, "direct", "src3") dst = Exchange.new(ch, "direct", "dst") original_binds_count = 5 expected_rebinds_count = 3 expected_total_binds = original_binds_count + expected_rebinds_count allow(ch).to receive(:exchange_bind).exactly(expected_total_binds).times dst.bind(src1, routing_key: "abc") dst.bind(src2, routing_key: "def") dst.bind(src2, routing_key: "ghi") dst.bind(src3, routing_key: "jkl") dst.bind(src3, routing_key: "jkl", arguments: {"key" => "value"}) allow(ch).to receive(:exchange_unbind).twice dst.unbind(src2, routing_key: "def") dst.unbind(src3, routing_key: "jkl", arguments: {"key" => "value"}) expect(ch).to receive(:exchange_bind).with(src1, dst, routing_key: "abc") expect(ch).to receive(:exchange_bind).with(src2, dst, routing_key: "ghi") expect(ch).to receive(:exchange_bind).with(src3, dst, routing_key: "jkl") dst.recover_from_network_failure end end end end
Version data entries
31 entries across 31 versions & 1 rubygems