spec/rspec_amqp_spec.rb in amqp-spec-0.2.5 vs spec/rspec_amqp_spec.rb in amqp-spec-0.2.6

- old
+ new

@@ -4,11 +4,11 @@ amqp do q = MQ.queue(queue_name) q.subscribe do |hdr, msg| hdr.should be_an MQ::Header msg.should == data - done {q.unsubscribe; q.delete} + done { q.unsubscribe; q.delete } end EM.add_timer(0.2) do MQ.queue(queue_name).publish data end end @@ -23,11 +23,11 @@ describe 'Evented AMQP specs' do describe AMQP, " when testing with AMQP::SpecHelper" do include AMQP::SpecHelper default_options AMQP_OPTS if defined? AMQP_OPTS - default_timeout 1 # Can be used to set default :spec_timeout for all your amqp-based specs + default_timeout 1 puts "Default timeout: #{default_timeout}, Default options:" p default_options it_should_behave_like 'SpecHelper examples' @@ -38,20 +38,34 @@ end end describe AMQP, " when testing with AMQP::Spec" do include AMQP::Spec + + default_options AMQP_OPTS if defined? AMQP_OPTS + default_timeout 1 + it_should_behave_like 'Spec examples' context 'inside embedded context / example group' do + it 'should inherit default_options/metadata from enclosing example group' do + # This is a guard against regression on dev box without notice + AMQP.conn.instance_variable_get(:@settings)[:host].should == AMQP_OPTS[:host] + self.class.default_options[:host].should == AMQP_OPTS[:host] + self.class.default_timeout.should == 1 + done + end + it_should_behave_like 'Spec examples' end end describe AMQP, " tested with AMQP::SpecHelper when Rspec failures occur" do include AMQP::SpecHelper + default_options AMQP_OPTS if defined? AMQP_OPTS + it "bubbles failing expectations up to Rspec" do expect { amqp do :this.should == :fail end @@ -74,9 +88,11 @@ end end describe 'MQ', " when MQ.queue/fanout/topic tries to access Thread.current[:mq] across examples" do include AMQP::SpecHelper + + default_options AMQP_OPTS if defined? AMQP_OPTS it 'sends data to the queue' do publish_and_consume_once end \ No newline at end of file