Sha256: af4bf44f15abfc540046b0468590c8f7a2b5df6187f67dd2265b0ac2af7ad78e

Contents?: true

Size: 1.01 KB

Versions: 5

Compression:

Stored size: 1.01 KB

Contents

require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')

class Envelope; end

describe Kestrel::Client::Envelope do
  describe "Instance Methods" do
    before do
      Kestrel::Config.load TEST_CONFIG_FILE
      @raw_kestrel_client = Kestrel::Client.new(*Kestrel::Config.default)
      @kestrel = Kestrel::Client::Envelope.new(Envelope, @raw_kestrel_client)
    end

    describe "#get and #set" do
      describe "envelopes" do
        it "creates an envelope on a set" do
          mock(Envelope).new(:mcguffin)
          @kestrel.set('a_queue', :mcguffin)
        end

        it "unwraps an envelope on a get" do
          envelope = Envelope.new
          mock(@raw_kestrel_client).get('a_queue') { envelope }
          mock(envelope).unwrap { :mcguffin }
          @kestrel.get('a_queue').should == :mcguffin
        end

        it "does not unwrap a nil get" do
          mock(@raw_kestrel_client).get('a_queue') { nil }
          @kestrel.get('a_queue').should be_nil
        end
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
kestrel-client-0.2.4 spec/kestrel/client/envelope_spec.rb
kestrel-client-0.2.3 spec/kestrel/client/envelope_spec.rb
kestrel-client-0.2.2 spec/kestrel/client/envelope_spec.rb
kestrel-client-0.2.1 spec/kestrel/client/envelope_spec.rb
kestrel-client-0.2.0 spec/kestrel/client/envelope_spec.rb