Sha256: a163aff94b983661e3c36f8636ff834de1b0db685254c7779151dee77bd01da4

Contents?: true

Size: 1.01 KB

Versions: 1

Compression:

Stored size: 1.01 KB

Contents

# encoding: utf-8
require 'spec_helper'
require 'integration/coolio/spec_helper'

describe "AMQ::Client::Coolio", "Tx.Rollback", :nojruby => true do
  include EventedSpec::SpecHelper
  default_timeout 2

  let(:message) { "Hello, world!" }



  #
  # Examples
  #


  it "should cancel all the changes done during transaction" do
    received_messages = []
    coolio_amqp_connect do |client|
      channel = AMQ::Client::Channel.new(client, 1)
      channel.open do
        exchange = AMQ::Client::Exchange.new(client, channel, "amq.fanout", :fanout)
        queue = AMQ::Client::Queue.new(client, channel)

        queue.declare(false, false, false, true) do
          queue.bind(exchange)
        end

        channel.tx_select do
          done(0.1)
          queue.consume(true) do |method, header, message|
            received_messages << message unless message.nil?
          end

          exchange.publish(message)
          channel.tx_rollback
        end
      end
    end

    received_messages.should == []
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
amq-client-0.5.0 spec/integration/coolio/tx_rollback_spec.rb