File: transform_value_expires.rb

package info (click to toggle)
ruby-moneta 1.6.0-5
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 1,776 kB
  • sloc: ruby: 13,201; sh: 178; makefile: 7
file content (41 lines) | stat: -rw-r--r-- 1,379 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
shared_examples :transform_value_expires do
  it 'allows to bypass transformer with :raw' do
    store['key'] = 'value'
    load_value(store.load('key', raw: true)).should == 'value'
    store['key'] = [1,2,3]
    load_value(store.load('key', raw: true)).should == [[1,2,3]]
    store['key'] = nil
    load_value(store.load('key', raw: true)).should == [nil]
    store['key'] = false
    load_value(store.load('key', raw: true)).should be false

    store.store('key', 'value', expires: 10)
    load_value(store.load('key', raw: true)).first.should == 'value'
    load_value(store.load('key', raw: true)).last.should respond_to(:to_int)

    store.store('key', 'value', raw: true)
    store.load('key', raw: true).should == 'value'
    store.delete('key', raw: true).should == 'value'
  end

  it 'returns unmarshalled value' do
    store.store('key', 'unmarshalled value', raw: true)
    store.load('key', raw: true).should == 'unmarshalled value'
  end

  it 'might raise exception on invalid value' do
    store.store('key', 'unmarshalled value', raw: true)

    begin
      store['key'].should == load_value('unmarshalled value')
      store.delete('key').should == load_value('unmarshalled value')
    rescue Exception => ex
      expect do
        store['key']
      end.to raise_error
      expect do
        store.delete('key')
      end.to raise_error
    end
  end
end