Sha256: 9b940e7708597cc5a4af3b3e7a97ae192e3c774d270036f9f1860b35f642d2d5
Contents?: true
Size: 1.26 KB
Versions: 1
Compression:
Stored size: 1.26 KB
Contents
require 'spec_helper' describe '#pexpireat(key, timestamp_ms)' do before do @key = 'mock-redis-test:pexpireat' @redises.set(@key, 'spork') end it 'returns true for a key that exists' do @redises.pexpireat(@key, (Time.now.to_f * 1000).to_i + 1).should == true end it 'returns false for a key that does not exist' do @redises.pexpireat('mock-redis-test:nonesuch', (Time.now.to_f * 1000).to_i + 1).should == false end it 'removes a key immediately when timestamp is now' do @redises.pexpireat(@key, (Time.now.to_f * 1000).to_i) @redises.get(@key).should be_nil end it "raises an error if you don't give it a Unix timestamp" do lambda do @redises.pexpireat(@key, Time.now) # oops, forgot .to_i end.should raise_error(RuntimeError) end context '[mock only]' do # These are mock-only since we can't actually manipulate time in # the real Redis. before(:all) do @mock = @redises.mock end before do @now = Time.now Time.stub(:now).and_return(@now) end it 'removes keys after enough time has passed' do @mock.pexpireat(@key, (@now.to_f * 1000).to_i + 5) Time.stub(:now).and_return(@now + 0.006) @mock.get(@key).should be_nil end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
mock_redis-0.15.0 | spec/commands/pexpireat_spec.rb |