Sha256: 0a23ac57dc0983771f7c5cd852fb0ec5dd33cf7ab34eb245a42a1d849d622556

Contents?: true

Size: 915 Bytes

Versions: 1

Compression:

Stored size: 915 Bytes

Contents

# encoding: utf-8
require 'redis-copy'

describe RedisCopy::KeyEmitter::Default do
  let(:redis) { double }
  let(:ui) { double }
  let(:instance) { RedisCopy::KeyEmitter::Default.new(redis, ui)}
  let(:connection_uri) { 'redis://12.34.56.78:9000/15' }

  before(:each) do
    redis.stub_chain('client.id').and_return(connection_uri)
    ui.stub(:debug).with(anything)
  end

  context '#keys' do
    let(:mock_return) { ['foo:bar', 'asdf:qwer'] }
    before(:each) do
      redis.should_receive(:keys).with('*').exactly(:once).and_return(mock_return)
    end
    context 'the result' do
      subject { instance.keys }
      its(:to_a) { should eq mock_return }
    end
    context 'the supplied ui' do
      it 'should get a debug message' do
        ui.should_receive(:debug).
          with(/#{Regexp.escape(connection_uri)} KEYS \*/).
          exactly(:once)
        instance.keys
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
redis-copy-0.0.1 spec/redis-copy/key-emitter_spec.rb