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