summaryrefslogtreecommitdiff
path: root/cpp/bindings/qpid/ruby/spec/qpid/session_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/bindings/qpid/ruby/spec/qpid/session_spec.rb')
-rw-r--r--cpp/bindings/qpid/ruby/spec/qpid/session_spec.rb353
1 files changed, 0 insertions, 353 deletions
diff --git a/cpp/bindings/qpid/ruby/spec/qpid/session_spec.rb b/cpp/bindings/qpid/ruby/spec/qpid/session_spec.rb
deleted file mode 100644
index 0b103a31e6..0000000000
--- a/cpp/bindings/qpid/ruby/spec/qpid/session_spec.rb
+++ /dev/null
@@ -1,353 +0,0 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-#
-
-require 'spec_helper'
-
-module Qpid
-
- module Messaging
-
- describe Session do
-
- before(:each) do
- @connection = double("Qpid::Messaging::Connection")
- @session_impl = double("Cqpid::Session")
- @session = Qpid::Messaging::Session.new @connection, @session_impl
- @sender_impl = double("Cqpid::Sender")
- @receiver_impl = double("Cqpid::Receiver")
- end
-
- it "returns its implementation" do
- impl = @session.session_impl
-
- impl.should == @session_impl
- end
-
- it "returns its connection" do
- connection = @session.connection
-
- connection.should == @connection
- end
-
- it "creates a Sender from an Address" do
- address = Qpid::Messaging::Address.new "my-queu", "", :create => :always
-
- @session_impl.should_receive(:createSender).
- with(address.address_impl).
- and_return(@sender_impl)
- @sender_impl.should_receive(:getName).
- and_return("my-queue")
-
- sender = @session.create_sender address
-
- sender.sender_impl.should == @sender_impl
- end
-
- it "creates a Sender from an address string" do
- address = "my-queue;{create:true}"
-
- @session_impl.should_receive(:createSender).
- with(address).
- and_return(@sender_impl)
- @sender_impl.should_receive(:getName).
- and_return("my-queue")
-
- sender = @session.create_sender address
-
- sender.sender_impl.should == @sender_impl
- end
-
- #######################################
- # scenarios involing an existing Sender
- #######################################
- describe "when retrieving a Sender by name" do
-
- before(:each) do
- address = "my-queue;{create:always}"
- @name = "my-queue"
-
- @session_impl.should_receive(:createSender).
- with(address).
- and_return(@sender_impl)
- @sender_impl.should_receive(:getName).
- and_return(@name)
-
- @sender = @session.create_sender address
- end
-
- it "works when the name is valid" do
- sender = @session.sender @name
-
- sender.should == @sender
- end
-
- it "raises an error when the name is invalid" do
- expect {
- @session.sender @name.reverse
- }.to raise_error(Qpid::Messaging::KeyError)
- end
-
- end
-
- it "creates a Receiver from an Address" do
- address = Qpid::Messaging::Address.new "my-queue", ""
-
- @session_impl.should_receive(:createReceiver).
- with(address.address_impl).
- and_return(@receiver_impl)
- @receiver_impl.should_receive(:getName).
- and_return("my-queue")
-
- receiver = @session.create_receiver address
-
- receiver.receiver_impl.should == @receiver_impl
- end
-
- it "creates a Receiver from an address string" do
- address = "my-queue"
-
- @session_impl.should_receive(:createReceiver).
- with(address).
- and_return(@receiver_impl)
- @receiver_impl.should_receive(:getName).
- and_return("my-queue")
-
- receiver = @session.create_receiver address
-
- receiver.receiver_impl.should == @receiver_impl
- end
-
- #########################################
- # scenarios involving an existing Receiver
- ##########################################
- describe "when retrieving a Receiver by name" do
-
- before(:each) do
- address = "my-queue"
- @name = "my-queue"
-
- @session_impl.should_receive(:createReceiver).
- with(address).
- and_return(@receiver_impl)
- @receiver_impl.should_receive(:getName).
- and_return(@name)
-
- @receiver = @session.create_receiver address
- end
-
- it "works with a valid name" do
- receiver = @session.receiver @name
-
- receiver.should == @receiver
- end
-
- it "raises an error when the name is invalid" do
- expect {
- @session.receiver @name.reverse
- }.to raise_error(Qpid::Messaging::KeyError)
- end
-
- end
-
- it "closes the session" do
- @session_impl.should_receive(:close)
-
- @session.close
- end
-
- it "commits a pending transaction" do
- @session_impl.should_receive(:commit)
-
- @session.commit
- end
-
- it "rolls back an uncommitted transaction" do
- @session_impl.should_receive(:rollback)
-
- @session.rollback
- end
-
- it "acknowledges all received messages" do
- @session_impl.should_receive(:acknowledge).
- with(false)
-
- @session.acknowledge
- end
-
- it "acknowledges all messages synchronously" do
- @session_impl.should_receive(:acknowledge).
- with(true)
-
- @session.acknowledge :sync => true
- end
-
- it "acknowledges all messages asynchronously" do
- @session_impl.should_receive(:acknowledge).
- with(false)
-
- @session.acknowledge :sync => false
- end
-
- ######################################
- # Scenarios involving a single message
- ######################################
- describe "with a single message" do
-
- before(:each) do
- @message = Qpid::Messaging::Message.new :content => "Testing"
- end
-
- it "can acknowledge asynchronously by default" do
- @session_impl.should_receive(:acknowledge).
- with(@message.message_impl, false)
-
- @session.acknowledge :message => @message
- end
-
- it "can acknowledge synchronously" do
- @session_impl.should_receive(:acknowledge).
- with(@message.message_impl, true)
-
- @session.acknowledge :message => @message, :sync => true
- end
-
- it "can acknowledge asynchronously" do
- @session_impl.should_receive(:acknowledge).
- with(@message.message_impl, false)
-
- @session.acknowledge :message => @message, :sync => false
- end
-
- it "can reject it" do
- @session_impl.should_receive(:reject).
- with(@message.message_impl)
-
- @session.reject @message
- end
-
- it "can release it" do
- @session_impl.should_receive(:release).
- with(@message.message_impl)
-
- @session.release @message
- end
-
- end
-
- it "does not block by default when synchronizating with the broker" do
- @session_impl.should_receive(:sync).
- with(false)
-
- @session.sync
- end
-
- it "can block while synchronizing with the broker" do
- @session_impl.should_receive(:sync).
- with(true)
-
- @session.sync :block => true
- end
-
- it "can not block while synchronizing with the broker" do
- @session_impl.should_receive(:sync).
- with(false)
-
- @session.sync :block => false
- end
-
- it "returns the number of messages that are receivable" do
- @session_impl.should_receive(:getReceivable).
- and_return(15)
-
- receivable = @session.receivable
-
- receivable.should == 15
- end
-
- it "returns the number of unsettled messages" do
- @session_impl.should_receive(:getUnsettledAcks).
- and_return(25)
-
- unsettled = @session.unsettled_acks
-
- unsettled.should == 25
- end
-
- it "waits forever by default for the next Receiver with messages" do
- @session_impl.should_receive(:nextReceiver).
- with(Qpid::Messaging::Duration::FOREVER.duration_impl).
- and_return(@receiver_impl)
-
- receiver = @session.next_receiver
-
- receiver.receiver_impl.should == @receiver_impl
- end
-
- it "uses the specified time when waiting for the next Receiver with messages" do
- @session_impl.should_receive(:nextReceiver).
- with(Qpid::Messaging::Duration::SECOND.duration_impl).
- and_return(@receiver_impl)
-
- receiver = @session.next_receiver Qpid::Messaging::Duration::SECOND
-
- receiver.receiver_impl.should == @receiver_impl
- end
-
- it "returns nil when no Receiver has messages within the timeout period" do
- @session_impl.should_receive(:nextReceiver).
- with(Qpid::Messaging::Duration::MINUTE.duration_impl).
- and_return(nil)
-
- receiver = @session.next_receiver Qpid::Messaging::Duration::MINUTE
-
- receiver.should be_nil
- end
-
- it "returns true when there are errors on the session" do
- @session_impl.should_receive(:hasError).
- and_return(true)
-
- errors = @session.errors?
-
- errors.should be_true
- end
-
- it "returns false when there are no errors on the session" do
- @session_impl.should_receive(:hasError).
- and_return(false)
-
- errors = @session.errors?
-
- errors.should be_false
- end
-
- it "causes exceptions to be raised when there are errors" do
- @session_impl.should_receive(:checkError).
- and_raise(RuntimeError)
-
- expect {
- @session.errors
- }.to raise_error(RuntimeError)
- end
-
- end
-
- end
-
-end