Sha256: 7e2bd23e4de9490ea893c47552f1ec8ccbfd730a9444a239f37608bd9363e684
Contents?: true
Size: 1.67 KB
Versions: 12
Compression:
Stored size: 1.67 KB
Contents
require 'test_helper' describe Redis::Store do def setup @store = Redis::Store.new @client = @store.instance_variable_get(:@client) end def teardown @store.flushdb @store.quit end it "returns useful informations about the server" do @store.to_s.must_equal("Redis Client connected to #{@client.host}:#{@client.port} against DB #{@client.db}") end it "must force reconnection" do @client.expects(:reconnect) @store.reconnect end describe '#set' do describe 'with expiry' do let(:options) { { :expire_after => 3600 } } it 'must not double marshall' do Marshal.expects(:dump).once @store.set('key', 'value', options) end end describe 'with ex and nx' do let(:key) { 'key' } let(:mock_value) { 'value' } let(:options) { { nx: true, ex: 3600 } } it 'must pass on options' do Marshal.expects(:dump).times(4) # without options no ex or nx will be set @store.del(key) @store.set(key, mock_value, {}).must_equal 'OK' @store.set(key, mock_value, {}).must_equal 'OK' @store.ttl(key).must_equal -1 # with ex and nx options, the key can only be set once and a ttl will be set @store.del(key) @store.set(key, mock_value, options).must_equal true @store.set(key, mock_value, options).must_equal false @store.ttl(key).must_equal 3600 end end end describe '#setnx' do describe 'with expiry' do let(:options) { { :expire_after => 3600 } } it 'must not double marshall' do Marshal.expects(:dump).once @store.setnx('key', 'value', options) end end end end
Version data entries
12 entries across 12 versions & 1 rubygems