From 3e538eaa835c4239e9bee8199e5bdeb19fe88a2d Mon Sep 17 00:00:00 2001 From: jsaedtler Date: Thu, 1 Sep 2011 19:06:38 +0200 Subject: [PATCH] added basic support for MockQueue#unsubscribe --- lib/moqueue/mock_queue.rb | 2 +- spec/unit/mock_queue_spec.rb | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/lib/moqueue/mock_queue.rb b/lib/moqueue/mock_queue.rb index bea053e..9661c9b 100644 --- a/lib/moqueue/mock_queue.rb +++ b/lib/moqueue/mock_queue.rb @@ -50,7 +50,7 @@ def received_routing_key?(key) end def unsubscribe - true + @subscribe_block = nil end def prefetch(size) diff --git a/spec/unit/mock_queue_spec.rb b/spec/unit/mock_queue_spec.rb index e3bcfd1..a3c9c92 100644 --- a/spec/unit/mock_queue_spec.rb +++ b/spec/unit/mock_queue_spec.rb @@ -94,6 +94,13 @@ @queue.should respond_to(:unsubscribe) end + it "should prevent double subscribe errors if unsubscribe is called inbetween" do + @queue.subscribe { |msg| "once" } + @queue.unsubscribe + @queue.subscribe { |msg| "second" }.should_not raise_error(DoubleSubscribeError) + end + + it "should ignore #prefetch but at least raise an error" do lambda { @queue.prefetch(1337) }.should_not raise_error end