Sha256: af481562e13982731583c3e5f3d4cb44ff05f6b0eac6d5a33838ac1bae0263fd

Contents?: true

Size: 1.53 KB

Versions: 132

Compression:

Stored size: 1.53 KB

Contents

require 'spec_helper'

describe Protobuf::Rpc::Connectors::Base do

  let(:options) do
    { :timeout => 60 }
  end

  subject { Protobuf::Rpc::Connectors::Base.new(options) }

  describe "#send_request" do
    it "raising an error when 'send_request' is not overridden" do
      expect{ subject.send_request }.to raise_error(RuntimeError, /inherit a Connector/)
    end

    it "does not raise error when 'send_request' is overridden" do
      new_sub = Class.new(subject.class){ def send_request; end }.new(options)
      expect{ new_sub.send_request }.to_not raise_error
    end
  end

  describe '.new' do
    it 'assigns passed options and initializes success/failure callbacks' do
      subject.options.should eq(Protobuf::Rpc::Connectors::DEFAULT_OPTIONS.merge(options))
      subject.success_cb.should be_nil
      subject.failure_cb.should be_nil
    end
  end

  describe '#success_cb' do
    it 'allows setting the success callback and calling it' do
      subject.success_cb.should be_nil
      cb = proc {|res| raise res }
      subject.success_cb = cb
      subject.success_cb.should eq(cb)
      expect { subject.success_cb.call('an error from cb') }.to raise_error 'an error from cb'
    end
  end

  describe '#failure_cb' do
    it 'allows setting the failure callback and calling it' do
      subject.failure_cb.should be_nil
      cb = proc {|res| raise res }
      subject.failure_cb = cb
      subject.failure_cb.should eq(cb)
      expect { subject.failure_cb.call('an error from cb') }.to raise_error 'an error from cb'
    end
  end

end

Version data entries

132 entries across 132 versions & 2 rubygems

Version Path
protobuffy-3.6.0 spec/lib/protobuf/rpc/connectors/base_spec.rb
protobuffy-3.5.1 spec/lib/protobuf/rpc/connectors/base_spec.rb
protobuffy-3.4.0 spec/lib/protobuf/rpc/connectors/base_spec.rb
protobuffy-3.3.0 spec/lib/protobuf/rpc/connectors/base_spec.rb
protobuffy-3.2.0 spec/lib/protobuf/rpc/connectors/base_spec.rb
protobuffy-3.1.0 spec/lib/protobuf/rpc/connectors/base_spec.rb
protobuf-3.0.4 spec/lib/protobuf/rpc/connectors/base_spec.rb
protobuf-2.8.13 spec/lib/protobuf/rpc/connectors/base_spec.rb
protobuf-3.0.3 spec/lib/protobuf/rpc/connectors/base_spec.rb
protobuf-3.0.2 spec/lib/protobuf/rpc/connectors/base_spec.rb
protobuf-3.0.1 spec/lib/protobuf/rpc/connectors/base_spec.rb
protobuf-3.0.0 spec/lib/protobuf/rpc/connectors/base_spec.rb
protobuf-3.0.0.rc2 spec/lib/protobuf/rpc/connectors/base_spec.rb
protobuf-3.0.0.rc1 spec/lib/protobuf/rpc/connectors/base_spec.rb
protobuf-2.8.12 spec/lib/protobuf/rpc/connectors/base_spec.rb
protobuf-2.8.11 spec/lib/protobuf/rpc/connectors/base_spec.rb
protobuf-2.8.10 spec/lib/protobuf/rpc/connectors/base_spec.rb
protobuf-2.8.9 spec/lib/protobuf/rpc/connectors/base_spec.rb
protobuf-2.8.8 spec/lib/protobuf/rpc/connectors/base_spec.rb
protobuf-2.8.7 spec/lib/protobuf/rpc/connectors/base_spec.rb