Sha256: dfff8f7134c9857e2c4cca54fc42867e85ffb3c55965e6764261bb0975b5288a

Contents?: true

Size: 1.06 KB

Versions: 5

Compression:

Stored size: 1.06 KB

Contents

require 'spec_helper'

describe "#persist(key)" do
  before do
    @key = 'mock-redis-test:persist'
    @redises.set(@key, 'spork')
  end

  it "returns true for a key with a timeout" do
    @redises.expire(@key, 10000)
    @redises.persist(@key).should be_true
  end

  it "returns false for a key with no timeout" do
    @redises.persist(@key).should be_false
  end

  it "returns false for a key that does not exist" do
    @redises.persist('mock-redis-test:nonesuch').should be_false
  end

  it "removes the timeout" do
    @redises.expire(@key, 10000)
    @redises.persist(@key)
    @redises.persist(@key).should be_false
  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 "makes keys stay around" do
      @mock.expire(@key, 5)
      @mock.persist(@key)
      Time.stub(:now).and_return(@now + 5)
      @mock.get(@key).should_not be_nil
    end

  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
mock_redis-0.13.2 spec/commands/persist_spec.rb
mock_redis-0.13.1 spec/commands/persist_spec.rb
mock_redis-0.13.0 spec/commands/persist_spec.rb
mock_redis-0.12.1 spec/commands/persist_spec.rb
mock_redis-0.12.0 spec/commands/persist_spec.rb