juno 0.3.0 → 0.3.1
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +2 -1
- data/README.md +9 -4
- data/lib/juno.rb +10 -9
- data/lib/juno/adapters/activerecord.rb +1 -1
- data/lib/juno/adapters/cassandra.rb +8 -1
- data/lib/juno/adapters/couch.rb +1 -1
- data/lib/juno/adapters/datamapper.rb +3 -3
- data/lib/juno/adapters/fog.rb +1 -1
- data/lib/juno/adapters/hbase.rb +64 -0
- data/lib/juno/adapters/lruhash.rb +69 -5
- data/lib/juno/adapters/memcached_dalli.rb +0 -4
- data/lib/juno/adapters/memcached_native.rb +0 -7
- data/lib/juno/adapters/mongo.rb +0 -4
- data/lib/juno/adapters/redis.rb +8 -1
- data/lib/juno/adapters/sequel.rb +1 -1
- data/lib/juno/adapters/tokyocabinet.rb +0 -4
- data/lib/juno/base.rb +10 -0
- data/lib/juno/expires.rb +1 -1
- data/lib/juno/transformer.rb +1 -0
- data/lib/juno/version.rb +1 -1
- data/spec/generate.rb +75 -17
- data/spec/juno/adapter_datamapper_spec.rb +0 -3
- data/spec/juno/adapter_hbase_spec.rb +13 -0
- data/spec/juno/adapter_lruhash_spec.rb +14 -16
- data/spec/juno/adapter_memory_spec.rb +6 -0
- data/spec/juno/expires_file_spec.rb +9 -0
- data/spec/juno/expires_memory_spec.rb +9 -0
- data/spec/juno/lock_spec.rb +6 -0
- data/spec/juno/null_adapter_spec.rb +3 -0
- data/spec/juno/proxy_expires_memory_spec.rb +9 -0
- data/spec/juno/simple_activerecord_spec.rb +7 -0
- data/spec/juno/simple_activerecord_with_expires_spec.rb +7 -0
- data/spec/juno/simple_cassandra_spec.rb +7 -0
- data/spec/juno/simple_couch_spec.rb +7 -0
- data/spec/juno/simple_couch_with_expires_spec.rb +7 -0
- data/spec/juno/simple_datamapper_spec.rb +7 -0
- data/spec/juno/simple_datamapper_with_expires_spec.rb +7 -0
- data/spec/juno/simple_datamapper_with_repository_spec.rb +7 -0
- data/spec/juno/simple_dbm_spec.rb +7 -0
- data/spec/juno/simple_dbm_with_expires_spec.rb +7 -0
- data/spec/juno/simple_file_spec.rb +7 -0
- data/spec/juno/simple_file_with_expires_spec.rb +7 -0
- data/spec/juno/simple_fog_spec.rb +7 -0
- data/spec/juno/simple_fog_with_expires_spec.rb +7 -0
- data/spec/juno/simple_gdbm_spec.rb +7 -0
- data/spec/juno/simple_gdbm_with_expires_spec.rb +7 -0
- data/spec/juno/simple_hashfile_spec.rb +7 -0
- data/spec/juno/simple_hashfile_with_expires_spec.rb +7 -0
- data/spec/juno/simple_hbase_spec.rb +45 -0
- data/spec/juno/simple_hbase_with_expires_spec.rb +46 -0
- data/spec/juno/simple_leveldb_spec.rb +7 -0
- data/spec/juno/simple_leveldb_with_expires_spec.rb +7 -0
- data/spec/juno/simple_localmemcache_spec.rb +7 -0
- data/spec/juno/simple_localmemcache_with_expires_spec.rb +7 -0
- data/spec/juno/simple_lruhash_spec.rb +7 -0
- data/spec/juno/simple_lruhash_with_expires_spec.rb +7 -0
- data/spec/juno/simple_memcached_dalli_spec.rb +7 -0
- data/spec/juno/simple_memcached_native_spec.rb +7 -0
- data/spec/juno/simple_memcached_spec.rb +7 -0
- data/spec/juno/simple_memory_spec.rb +7 -0
- data/spec/juno/simple_memory_with_compress_spec.rb +7 -0
- data/spec/juno/simple_memory_with_expires_spec.rb +7 -0
- data/spec/juno/simple_memory_with_json_key_serializer_spec.rb +4 -0
- data/spec/juno/simple_memory_with_json_md5_key_serializer_spec.rb +4 -0
- data/spec/juno/simple_memory_with_prefix_spec.rb +7 -0
- data/spec/juno/simple_memory_with_quicklz_compress_spec.rb +7 -0
- data/spec/juno/simple_mongo_spec.rb +7 -0
- data/spec/juno/simple_mongo_with_expires_spec.rb +7 -0
- data/spec/juno/simple_null_spec.rb +3 -0
- data/spec/juno/simple_pstore_spec.rb +7 -0
- data/spec/juno/simple_pstore_with_expires_spec.rb +7 -0
- data/spec/juno/simple_redis_spec.rb +7 -0
- data/spec/juno/simple_riak_spec.rb +7 -0
- data/spec/juno/simple_riak_with_expires_spec.rb +7 -0
- data/spec/juno/simple_sdbm_spec.rb +7 -0
- data/spec/juno/simple_sdbm_with_expires_spec.rb +7 -0
- data/spec/juno/simple_sequel_spec.rb +7 -0
- data/spec/juno/simple_sequel_with_expires_spec.rb +7 -0
- data/spec/juno/simple_sqlite_spec.rb +7 -0
- data/spec/juno/simple_sqlite_with_expires_spec.rb +7 -0
- data/spec/juno/simple_tokyocabinet_spec.rb +7 -0
- data/spec/juno/simple_tokyocabinet_with_expires_spec.rb +7 -0
- data/spec/juno/simple_yaml_spec.rb +6 -0
- data/spec/juno/simple_yaml_with_expires_spec.rb +6 -0
- data/spec/juno/transformer_bzip2_spec.rb +22 -0
- data/spec/juno/transformer_marshal_base64_spec.rb +7 -0
- data/spec/juno/transformer_marshal_escape_spec.rb +7 -0
- data/spec/juno/transformer_marshal_hmac_spec.rb +7 -0
- data/spec/juno/transformer_marshal_md5_spec.rb +7 -0
- data/spec/juno/transformer_marshal_md5_spread_spec.rb +7 -0
- data/spec/juno/transformer_marshal_prefix_spec.rb +7 -0
- data/spec/juno/transformer_marshal_rmd160_spec.rb +7 -0
- data/spec/juno/transformer_marshal_sha1_spec.rb +7 -0
- data/spec/juno/transformer_marshal_sha256_spec.rb +7 -0
- data/spec/juno/transformer_marshal_sha384_spec.rb +7 -0
- data/spec/juno/transformer_marshal_sha512_spec.rb +7 -0
- data/spec/juno/transformer_marshal_uuencode_spec.rb +7 -0
- data/spec/juno/transformer_ox_spec.rb +6 -0
- data/spec/juno/transformer_yaml_spec.rb +6 -0
- data/spec/junospecs.rb +990 -320
- metadata +11 -2
data/spec/generate.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
ADAPTER_SPECS = [:null_stringkey_stringvalue, :store_stringkey_stringvalue, :returndifferent_stringkey_stringvalue]
|
2
|
-
SIMPLE_SPECS = [:null, :store, :returndifferent, :marshallable_key]
|
2
|
+
SIMPLE_SPECS = [:null, :store, :returndifferent, :marshallable_key, :marshallable_value]
|
3
3
|
EXPIRES_SPECS = SIMPLE_SPECS + [:expires_stringkey_stringvalue]
|
4
4
|
header = "# Generated by #{__FILE__}\n"
|
5
5
|
|
@@ -43,6 +43,7 @@ TESTS = {
|
|
43
43
|
:store => :Memory,
|
44
44
|
:options => ':value_serializer => :json',
|
45
45
|
:value => %w(Hash String),
|
46
|
+
:specs => [:null, :store, :returndifferent, :marshallable_key],
|
46
47
|
},
|
47
48
|
'simple_memory_with_quicklz_compress' => {
|
48
49
|
:store => :Memory,
|
@@ -79,6 +80,15 @@ TESTS = {
|
|
79
80
|
:options => ':keyspace => "simple_cassandra"',
|
80
81
|
:specs => EXPIRES_SPECS,
|
81
82
|
},
|
83
|
+
'simple_hbase' => {
|
84
|
+
:store => :HBase,
|
85
|
+
:options => ':table => "simple_hbase"',
|
86
|
+
},
|
87
|
+
'simple_hbase_with_expires' => {
|
88
|
+
:store => :HBase,
|
89
|
+
:options => ':table => "simple_hbase", :expires => true',
|
90
|
+
:specs => EXPIRES_SPECS,
|
91
|
+
},
|
82
92
|
'simple_dbm' => {
|
83
93
|
:store => :DBM,
|
84
94
|
:options => ':file => File.join(make_tempdir, "simple_dbm")'
|
@@ -126,12 +136,13 @@ TESTS = {
|
|
126
136
|
},
|
127
137
|
'simple_yaml' => {
|
128
138
|
:store => :YAML,
|
129
|
-
:options => ':file => File.join(make_tempdir, "simple_yaml")'
|
139
|
+
:options => ':file => File.join(make_tempdir, "simple_yaml")',
|
140
|
+
:specs => [:null, :store, :returndifferent, :marshallable_key],
|
130
141
|
},
|
131
142
|
'simple_yaml_with_expires' => {
|
132
143
|
:store => :YAML,
|
133
144
|
:options => ':file => File.join(make_tempdir, "simple_yaml_with_expires"), :expires => true',
|
134
|
-
:specs =>
|
145
|
+
:specs => [:null, :store, :returndifferent, :marshallable_key, :expires_stringkey_stringvalue],
|
135
146
|
},
|
136
147
|
'simple_localmemcache' => {
|
137
148
|
:store => :LocalMemCache,
|
@@ -382,6 +393,14 @@ end},
|
|
382
393
|
:build => %{Juno.build do
|
383
394
|
use :Transformer, :value => :zlib
|
384
395
|
adapter :Memory
|
396
|
+
end},
|
397
|
+
:value => %w(String),
|
398
|
+
:specs => [:null, :store, :returndifferent]
|
399
|
+
},
|
400
|
+
'transformer_bzip2' => {
|
401
|
+
:build => %{Juno.build do
|
402
|
+
use :Transformer, :value => :bzip2
|
403
|
+
adapter :Memory
|
385
404
|
end},
|
386
405
|
:value => %w(String),
|
387
406
|
:specs => [:null, :store, :returndifferent]
|
@@ -593,6 +612,10 @@ end
|
|
593
612
|
:build => "Juno::Adapters::Cassandra.new(:keyspace => 'adapter_cassandra')",
|
594
613
|
:specs => ADAPTER_SPECS
|
595
614
|
},
|
615
|
+
'adapter_hbase' => {
|
616
|
+
:build => "Juno::Adapters::HBase.new(:table => 'adapter_hbase')",
|
617
|
+
:specs => ADAPTER_SPECS
|
618
|
+
},
|
596
619
|
'adapter_cookie' => {
|
597
620
|
:build => 'Juno::Adapters::Cookie.new',
|
598
621
|
:specs => ADAPTER_SPECS
|
@@ -605,9 +628,7 @@ end
|
|
605
628
|
:build => 'Juno::Adapters::DataMapper.new(:setup => "sqlite3://#{make_tempdir}/adapter_datamapper")',
|
606
629
|
# DataMapper needs default repository to be setup
|
607
630
|
:preamble => "require 'dm-core'\nDataMapper.setup(:default, :adapter => :in_memory)\n",
|
608
|
-
:specs => ADAPTER_SPECS
|
609
|
-
:null_stringkey_objectvalue,
|
610
|
-
:store_stringkey_objectvalue],
|
631
|
+
:specs => ADAPTER_SPECS,
|
611
632
|
:tests => %q{
|
612
633
|
it 'does not cross contaminate when storing' do
|
613
634
|
first = Juno::Adapters::DataMapper.new(:setup => "sqlite3://#{make_tempdir}/datamapper-first")
|
@@ -682,7 +703,21 @@ end
|
|
682
703
|
},
|
683
704
|
'adapter_lruhash' => {
|
684
705
|
:build => 'Juno::Adapters::LRUHash.new',
|
685
|
-
:specs =>
|
706
|
+
:specs => ADAPTER_SPECS,
|
707
|
+
:tests => %{
|
708
|
+
it 'should delete oldest' do
|
709
|
+
store = Juno::Adapters::LRUHash.new(:max_size => 10)
|
710
|
+
store[0] = 'y'
|
711
|
+
(1..1000).each do |i|
|
712
|
+
store[i] = 'x'
|
713
|
+
store[0].should == 'y'
|
714
|
+
store.instance_variable_get(:@entry).size.should == [10, i+1].min
|
715
|
+
(0...[9, i-1].min).each do |j|
|
716
|
+
store.instance_variable_get(:@entry)[i-j].should_not be_nil
|
717
|
+
end
|
718
|
+
store.key?(i-9).should be_false if i > 9
|
719
|
+
end
|
720
|
+
end}
|
686
721
|
},
|
687
722
|
'adapter_mongo' => {
|
688
723
|
:build => 'Juno::Adapters::Mongo.new(:db => "adapter_mongo")',
|
@@ -746,9 +781,10 @@ KEYS = {
|
|
746
781
|
}
|
747
782
|
|
748
783
|
VALUES = {
|
784
|
+
'Boolean' => [true, false],
|
749
785
|
'String' => ['strval1', 'strval2'].map(&:inspect),
|
786
|
+
'Hash' => [{'hashval1' => ['array1', 1]}, {'hashval3' => ['array2', {'hashval4' => 42}]}].map(&:inspect),
|
750
787
|
'Object' => ['Value.new(:objval1)', 'Value.new(:objval2)'],
|
751
|
-
'Hash' => [{'hashval1' => 'hashval2'}, {'hashval3' => 'hashval4'}].map(&:inspect)
|
752
788
|
}
|
753
789
|
|
754
790
|
KEYS.each do |key_type, (key1,key2)|
|
@@ -813,6 +849,8 @@ end
|
|
813
849
|
it "returns true from key? if a #{key_type} key is available" do
|
814
850
|
store[#{key1}] = #{val1}
|
815
851
|
store.key?(#{key1}).should == true
|
852
|
+
store[#{key2}] = #{val2}
|
853
|
+
store.key?(#{key2}).should == true
|
816
854
|
end
|
817
855
|
|
818
856
|
it "stores #{val_type} values with #{key_type} keys with #store" do
|
@@ -853,7 +891,9 @@ end}
|
|
853
891
|
store[#{key1}] = #{val1}
|
854
892
|
store[#{key1}].should_not be_equal(#{val1})
|
855
893
|
end}
|
856
|
-
|
894
|
+
if val_type != 'Boolean'
|
895
|
+
SPECS["returndifferent_#{key_type.downcase}key_#{val_type.downcase}value"] = code
|
896
|
+
end
|
857
897
|
|
858
898
|
code = %{it 'should support expires on store and #[]' do
|
859
899
|
store.store(#{key1}, #{val1}, :expires => 2)
|
@@ -894,6 +934,18 @@ it 'should support updating the expiration time in load' do
|
|
894
934
|
store[#{key2}].should == nil
|
895
935
|
end
|
896
936
|
|
937
|
+
it 'should support updating the expiration time in key?' do
|
938
|
+
store.store(#{key2}, #{val2}, :expires => 2)
|
939
|
+
store[#{key2}].should == #{val2}
|
940
|
+
sleep 1
|
941
|
+
store.key?(#{key2}, :expires => 3).should be_true
|
942
|
+
store[#{key2}].should == #{val2}
|
943
|
+
sleep 1
|
944
|
+
store[#{key2}].should == #{val2}
|
945
|
+
sleep 3
|
946
|
+
store[#{key2}].should == nil
|
947
|
+
end
|
948
|
+
|
897
949
|
it 'should support updating the expiration time in fetch' do
|
898
950
|
store.store(#{key1}, #{val1}, :expires => 2)
|
899
951
|
store[#{key1}].should == #{val1}
|
@@ -919,48 +971,54 @@ end}
|
|
919
971
|
end
|
920
972
|
end
|
921
973
|
|
922
|
-
SPECS[
|
974
|
+
SPECS['marshallable_key'] = %{it 'refuses to #[] from keys that cannot be marshalled' do
|
923
975
|
expect do
|
924
976
|
store[Struct.new(:foo).new(:bar)]
|
925
977
|
end.to raise_error(marshal_error)
|
926
978
|
end
|
927
979
|
|
928
|
-
it
|
980
|
+
it 'refuses to load from keys that cannot be marshalled' do
|
929
981
|
expect do
|
930
982
|
store.load(Struct.new(:foo).new(:bar))
|
931
983
|
end.to raise_error(marshal_error)
|
932
984
|
end
|
933
985
|
|
934
|
-
it
|
986
|
+
it 'refuses to fetch from keys that cannot be marshalled' do
|
935
987
|
expect do
|
936
988
|
store.fetch(Struct.new(:foo).new(:bar), true)
|
937
989
|
end.to raise_error(marshal_error)
|
938
990
|
end
|
939
991
|
|
940
|
-
it
|
992
|
+
it 'refuses to #[]= to keys that cannot be marshalled' do
|
941
993
|
expect do
|
942
994
|
store[Struct.new(:foo).new(:bar)] = 'value'
|
943
995
|
end.to raise_error(marshal_error)
|
944
996
|
end
|
945
997
|
|
946
|
-
it
|
998
|
+
it 'refuses to store to keys that cannot be marshalled' do
|
947
999
|
expect do
|
948
1000
|
store.store Struct.new(:foo).new(:bar), 'value'
|
949
1001
|
end.to raise_error(marshal_error)
|
950
1002
|
end
|
951
1003
|
|
952
|
-
it
|
1004
|
+
it 'refuses to check for key? if the key cannot be marshalled' do
|
953
1005
|
expect do
|
954
1006
|
store.key? Struct.new(:foo).new(:bar)
|
955
1007
|
end.to raise_error(marshal_error)
|
956
1008
|
end
|
957
1009
|
|
958
|
-
it
|
1010
|
+
it 'refuses to delete a key if the key cannot be marshalled' do
|
959
1011
|
expect do
|
960
1012
|
store.delete Struct.new(:foo).new(:bar)
|
961
1013
|
end.to raise_error(marshal_error)
|
962
1014
|
end}
|
963
1015
|
|
1016
|
+
SPECS['marshallable_value'] = %{it 'refuses to store values that cannot be marshalled' do
|
1017
|
+
expect do
|
1018
|
+
store.store 'key', Struct.new(:foo).new(:bar)
|
1019
|
+
end.to raise_error(marshal_error)
|
1020
|
+
end}
|
1021
|
+
|
964
1022
|
specs_code = "#{header}\n"
|
965
1023
|
SPECS.each do |key, code|
|
966
1024
|
specs_code << "#################### #{key} ####################\n\n" <<
|
@@ -973,7 +1031,7 @@ TESTS.each do |name, options|
|
|
973
1031
|
build = options.delete(:build)
|
974
1032
|
store = options.delete(:store)
|
975
1033
|
key = [options.delete(:key) || %w(Object String Hash)].flatten
|
976
|
-
value = [options.delete(:value) || %w(Object String Hash)].flatten
|
1034
|
+
value = [options.delete(:value) || %w(Object String Hash Boolean)].flatten
|
977
1035
|
|
978
1036
|
specs = [options.delete(:specs) || SIMPLE_SPECS].flatten
|
979
1037
|
specs_code = []
|
@@ -12,9 +12,6 @@ describe_juno "adapter_datamapper" do
|
|
12
12
|
it_should_behave_like 'null_stringkey_stringvalue'
|
13
13
|
it_should_behave_like 'store_stringkey_stringvalue'
|
14
14
|
it_should_behave_like 'returndifferent_stringkey_stringvalue'
|
15
|
-
it_should_behave_like 'returndifferent_stringkey_objectvalue'
|
16
|
-
it_should_behave_like 'null_stringkey_objectvalue'
|
17
|
-
it_should_behave_like 'store_stringkey_objectvalue'
|
18
15
|
it 'does not cross contaminate when storing' do
|
19
16
|
first = Juno::Adapters::DataMapper.new(:setup => "sqlite3://#{make_tempdir}/datamapper-first")
|
20
17
|
first.clear
|
@@ -0,0 +1,13 @@
|
|
1
|
+
# Generated by generate.rb
|
2
|
+
require 'helper'
|
3
|
+
|
4
|
+
describe_juno "adapter_hbase" do
|
5
|
+
def new_store
|
6
|
+
Juno::Adapters::HBase.new(:table => 'adapter_hbase')
|
7
|
+
end
|
8
|
+
|
9
|
+
include_context 'setup_store'
|
10
|
+
it_should_behave_like 'null_stringkey_stringvalue'
|
11
|
+
it_should_behave_like 'store_stringkey_stringvalue'
|
12
|
+
it_should_behave_like 'returndifferent_stringkey_stringvalue'
|
13
|
+
end
|
@@ -7,22 +7,20 @@ describe_juno "adapter_lruhash" do
|
|
7
7
|
end
|
8
8
|
|
9
9
|
include_context 'setup_store'
|
10
|
-
it_should_behave_like 'null_objectkey_objectvalue'
|
11
|
-
it_should_behave_like 'null_objectkey_stringvalue'
|
12
|
-
it_should_behave_like 'null_objectkey_hashvalue'
|
13
|
-
it_should_behave_like 'null_stringkey_objectvalue'
|
14
10
|
it_should_behave_like 'null_stringkey_stringvalue'
|
15
|
-
it_should_behave_like 'null_stringkey_hashvalue'
|
16
|
-
it_should_behave_like 'null_hashkey_objectvalue'
|
17
|
-
it_should_behave_like 'null_hashkey_stringvalue'
|
18
|
-
it_should_behave_like 'null_hashkey_hashvalue'
|
19
|
-
it_should_behave_like 'store_objectkey_objectvalue'
|
20
|
-
it_should_behave_like 'store_objectkey_stringvalue'
|
21
|
-
it_should_behave_like 'store_objectkey_hashvalue'
|
22
|
-
it_should_behave_like 'store_stringkey_objectvalue'
|
23
11
|
it_should_behave_like 'store_stringkey_stringvalue'
|
24
|
-
it_should_behave_like '
|
25
|
-
|
26
|
-
|
27
|
-
|
12
|
+
it_should_behave_like 'returndifferent_stringkey_stringvalue'
|
13
|
+
it 'should delete oldest' do
|
14
|
+
store = Juno::Adapters::LRUHash.new(:max_size => 10)
|
15
|
+
store[0] = 'y'
|
16
|
+
(1..1000).each do |i|
|
17
|
+
store[i] = 'x'
|
18
|
+
store[0].should == 'y'
|
19
|
+
store.instance_variable_get(:@entry).size.should == [10, i+1].min
|
20
|
+
(0...[9, i-1].min).each do |j|
|
21
|
+
store.instance_variable_get(:@entry)[i-j].should_not be_nil
|
22
|
+
end
|
23
|
+
store.key?(i-9).should be_false if i > 9
|
24
|
+
end
|
25
|
+
end
|
28
26
|
end
|
@@ -10,19 +10,25 @@ describe_juno "adapter_memory" do
|
|
10
10
|
it_should_behave_like 'null_objectkey_objectvalue'
|
11
11
|
it_should_behave_like 'null_objectkey_stringvalue'
|
12
12
|
it_should_behave_like 'null_objectkey_hashvalue'
|
13
|
+
it_should_behave_like 'null_objectkey_booleanvalue'
|
13
14
|
it_should_behave_like 'null_stringkey_objectvalue'
|
14
15
|
it_should_behave_like 'null_stringkey_stringvalue'
|
15
16
|
it_should_behave_like 'null_stringkey_hashvalue'
|
17
|
+
it_should_behave_like 'null_stringkey_booleanvalue'
|
16
18
|
it_should_behave_like 'null_hashkey_objectvalue'
|
17
19
|
it_should_behave_like 'null_hashkey_stringvalue'
|
18
20
|
it_should_behave_like 'null_hashkey_hashvalue'
|
21
|
+
it_should_behave_like 'null_hashkey_booleanvalue'
|
19
22
|
it_should_behave_like 'store_objectkey_objectvalue'
|
20
23
|
it_should_behave_like 'store_objectkey_stringvalue'
|
21
24
|
it_should_behave_like 'store_objectkey_hashvalue'
|
25
|
+
it_should_behave_like 'store_objectkey_booleanvalue'
|
22
26
|
it_should_behave_like 'store_stringkey_objectvalue'
|
23
27
|
it_should_behave_like 'store_stringkey_stringvalue'
|
24
28
|
it_should_behave_like 'store_stringkey_hashvalue'
|
29
|
+
it_should_behave_like 'store_stringkey_booleanvalue'
|
25
30
|
it_should_behave_like 'store_hashkey_objectvalue'
|
26
31
|
it_should_behave_like 'store_hashkey_stringvalue'
|
27
32
|
it_should_behave_like 'store_hashkey_hashvalue'
|
33
|
+
it_should_behave_like 'store_hashkey_booleanvalue'
|
28
34
|
end
|
@@ -14,30 +14,39 @@ describe_juno "expires_file" do
|
|
14
14
|
it_should_behave_like 'null_objectkey_objectvalue'
|
15
15
|
it_should_behave_like 'null_objectkey_stringvalue'
|
16
16
|
it_should_behave_like 'null_objectkey_hashvalue'
|
17
|
+
it_should_behave_like 'null_objectkey_booleanvalue'
|
17
18
|
it_should_behave_like 'null_stringkey_objectvalue'
|
18
19
|
it_should_behave_like 'null_stringkey_stringvalue'
|
19
20
|
it_should_behave_like 'null_stringkey_hashvalue'
|
21
|
+
it_should_behave_like 'null_stringkey_booleanvalue'
|
20
22
|
it_should_behave_like 'null_hashkey_objectvalue'
|
21
23
|
it_should_behave_like 'null_hashkey_stringvalue'
|
22
24
|
it_should_behave_like 'null_hashkey_hashvalue'
|
25
|
+
it_should_behave_like 'null_hashkey_booleanvalue'
|
23
26
|
it_should_behave_like 'store_objectkey_objectvalue'
|
24
27
|
it_should_behave_like 'store_objectkey_stringvalue'
|
25
28
|
it_should_behave_like 'store_objectkey_hashvalue'
|
29
|
+
it_should_behave_like 'store_objectkey_booleanvalue'
|
26
30
|
it_should_behave_like 'store_stringkey_objectvalue'
|
27
31
|
it_should_behave_like 'store_stringkey_stringvalue'
|
28
32
|
it_should_behave_like 'store_stringkey_hashvalue'
|
33
|
+
it_should_behave_like 'store_stringkey_booleanvalue'
|
29
34
|
it_should_behave_like 'store_hashkey_objectvalue'
|
30
35
|
it_should_behave_like 'store_hashkey_stringvalue'
|
31
36
|
it_should_behave_like 'store_hashkey_hashvalue'
|
37
|
+
it_should_behave_like 'store_hashkey_booleanvalue'
|
32
38
|
it_should_behave_like 'expires_objectkey_objectvalue'
|
33
39
|
it_should_behave_like 'expires_objectkey_stringvalue'
|
34
40
|
it_should_behave_like 'expires_objectkey_hashvalue'
|
41
|
+
it_should_behave_like 'expires_objectkey_booleanvalue'
|
35
42
|
it_should_behave_like 'expires_stringkey_objectvalue'
|
36
43
|
it_should_behave_like 'expires_stringkey_stringvalue'
|
37
44
|
it_should_behave_like 'expires_stringkey_hashvalue'
|
45
|
+
it_should_behave_like 'expires_stringkey_booleanvalue'
|
38
46
|
it_should_behave_like 'expires_hashkey_objectvalue'
|
39
47
|
it_should_behave_like 'expires_hashkey_stringvalue'
|
40
48
|
it_should_behave_like 'expires_hashkey_hashvalue'
|
49
|
+
it_should_behave_like 'expires_hashkey_booleanvalue'
|
41
50
|
it_should_behave_like 'returndifferent_objectkey_objectvalue'
|
42
51
|
it_should_behave_like 'returndifferent_objectkey_stringvalue'
|
43
52
|
it_should_behave_like 'returndifferent_objectkey_hashvalue'
|
@@ -13,28 +13,37 @@ describe_juno "expires_memory" do
|
|
13
13
|
it_should_behave_like 'null_objectkey_objectvalue'
|
14
14
|
it_should_behave_like 'null_objectkey_stringvalue'
|
15
15
|
it_should_behave_like 'null_objectkey_hashvalue'
|
16
|
+
it_should_behave_like 'null_objectkey_booleanvalue'
|
16
17
|
it_should_behave_like 'null_stringkey_objectvalue'
|
17
18
|
it_should_behave_like 'null_stringkey_stringvalue'
|
18
19
|
it_should_behave_like 'null_stringkey_hashvalue'
|
20
|
+
it_should_behave_like 'null_stringkey_booleanvalue'
|
19
21
|
it_should_behave_like 'null_hashkey_objectvalue'
|
20
22
|
it_should_behave_like 'null_hashkey_stringvalue'
|
21
23
|
it_should_behave_like 'null_hashkey_hashvalue'
|
24
|
+
it_should_behave_like 'null_hashkey_booleanvalue'
|
22
25
|
it_should_behave_like 'store_objectkey_objectvalue'
|
23
26
|
it_should_behave_like 'store_objectkey_stringvalue'
|
24
27
|
it_should_behave_like 'store_objectkey_hashvalue'
|
28
|
+
it_should_behave_like 'store_objectkey_booleanvalue'
|
25
29
|
it_should_behave_like 'store_stringkey_objectvalue'
|
26
30
|
it_should_behave_like 'store_stringkey_stringvalue'
|
27
31
|
it_should_behave_like 'store_stringkey_hashvalue'
|
32
|
+
it_should_behave_like 'store_stringkey_booleanvalue'
|
28
33
|
it_should_behave_like 'store_hashkey_objectvalue'
|
29
34
|
it_should_behave_like 'store_hashkey_stringvalue'
|
30
35
|
it_should_behave_like 'store_hashkey_hashvalue'
|
36
|
+
it_should_behave_like 'store_hashkey_booleanvalue'
|
31
37
|
it_should_behave_like 'expires_objectkey_objectvalue'
|
32
38
|
it_should_behave_like 'expires_objectkey_stringvalue'
|
33
39
|
it_should_behave_like 'expires_objectkey_hashvalue'
|
40
|
+
it_should_behave_like 'expires_objectkey_booleanvalue'
|
34
41
|
it_should_behave_like 'expires_stringkey_objectvalue'
|
35
42
|
it_should_behave_like 'expires_stringkey_stringvalue'
|
36
43
|
it_should_behave_like 'expires_stringkey_hashvalue'
|
44
|
+
it_should_behave_like 'expires_stringkey_booleanvalue'
|
37
45
|
it_should_behave_like 'expires_hashkey_objectvalue'
|
38
46
|
it_should_behave_like 'expires_hashkey_stringvalue'
|
39
47
|
it_should_behave_like 'expires_hashkey_hashvalue'
|
48
|
+
it_should_behave_like 'expires_hashkey_booleanvalue'
|
40
49
|
end
|
data/spec/juno/lock_spec.rb
CHANGED
@@ -13,19 +13,25 @@ describe_juno "lock" do
|
|
13
13
|
it_should_behave_like 'null_objectkey_objectvalue'
|
14
14
|
it_should_behave_like 'null_objectkey_stringvalue'
|
15
15
|
it_should_behave_like 'null_objectkey_hashvalue'
|
16
|
+
it_should_behave_like 'null_objectkey_booleanvalue'
|
16
17
|
it_should_behave_like 'null_stringkey_objectvalue'
|
17
18
|
it_should_behave_like 'null_stringkey_stringvalue'
|
18
19
|
it_should_behave_like 'null_stringkey_hashvalue'
|
20
|
+
it_should_behave_like 'null_stringkey_booleanvalue'
|
19
21
|
it_should_behave_like 'null_hashkey_objectvalue'
|
20
22
|
it_should_behave_like 'null_hashkey_stringvalue'
|
21
23
|
it_should_behave_like 'null_hashkey_hashvalue'
|
24
|
+
it_should_behave_like 'null_hashkey_booleanvalue'
|
22
25
|
it_should_behave_like 'store_objectkey_objectvalue'
|
23
26
|
it_should_behave_like 'store_objectkey_stringvalue'
|
24
27
|
it_should_behave_like 'store_objectkey_hashvalue'
|
28
|
+
it_should_behave_like 'store_objectkey_booleanvalue'
|
25
29
|
it_should_behave_like 'store_stringkey_objectvalue'
|
26
30
|
it_should_behave_like 'store_stringkey_stringvalue'
|
27
31
|
it_should_behave_like 'store_stringkey_hashvalue'
|
32
|
+
it_should_behave_like 'store_stringkey_booleanvalue'
|
28
33
|
it_should_behave_like 'store_hashkey_objectvalue'
|
29
34
|
it_should_behave_like 'store_hashkey_stringvalue'
|
30
35
|
it_should_behave_like 'store_hashkey_hashvalue'
|
36
|
+
it_should_behave_like 'store_hashkey_booleanvalue'
|
31
37
|
end
|
@@ -10,10 +10,13 @@ describe_juno "null_adapter" do
|
|
10
10
|
it_should_behave_like 'null_objectkey_objectvalue'
|
11
11
|
it_should_behave_like 'null_objectkey_stringvalue'
|
12
12
|
it_should_behave_like 'null_objectkey_hashvalue'
|
13
|
+
it_should_behave_like 'null_objectkey_booleanvalue'
|
13
14
|
it_should_behave_like 'null_stringkey_objectvalue'
|
14
15
|
it_should_behave_like 'null_stringkey_stringvalue'
|
15
16
|
it_should_behave_like 'null_stringkey_hashvalue'
|
17
|
+
it_should_behave_like 'null_stringkey_booleanvalue'
|
16
18
|
it_should_behave_like 'null_hashkey_objectvalue'
|
17
19
|
it_should_behave_like 'null_hashkey_stringvalue'
|
18
20
|
it_should_behave_like 'null_hashkey_hashvalue'
|
21
|
+
it_should_behave_like 'null_hashkey_booleanvalue'
|
19
22
|
end
|
@@ -15,28 +15,37 @@ describe_juno "proxy_expires_memory" do
|
|
15
15
|
it_should_behave_like 'null_objectkey_objectvalue'
|
16
16
|
it_should_behave_like 'null_objectkey_stringvalue'
|
17
17
|
it_should_behave_like 'null_objectkey_hashvalue'
|
18
|
+
it_should_behave_like 'null_objectkey_booleanvalue'
|
18
19
|
it_should_behave_like 'null_stringkey_objectvalue'
|
19
20
|
it_should_behave_like 'null_stringkey_stringvalue'
|
20
21
|
it_should_behave_like 'null_stringkey_hashvalue'
|
22
|
+
it_should_behave_like 'null_stringkey_booleanvalue'
|
21
23
|
it_should_behave_like 'null_hashkey_objectvalue'
|
22
24
|
it_should_behave_like 'null_hashkey_stringvalue'
|
23
25
|
it_should_behave_like 'null_hashkey_hashvalue'
|
26
|
+
it_should_behave_like 'null_hashkey_booleanvalue'
|
24
27
|
it_should_behave_like 'store_objectkey_objectvalue'
|
25
28
|
it_should_behave_like 'store_objectkey_stringvalue'
|
26
29
|
it_should_behave_like 'store_objectkey_hashvalue'
|
30
|
+
it_should_behave_like 'store_objectkey_booleanvalue'
|
27
31
|
it_should_behave_like 'store_stringkey_objectvalue'
|
28
32
|
it_should_behave_like 'store_stringkey_stringvalue'
|
29
33
|
it_should_behave_like 'store_stringkey_hashvalue'
|
34
|
+
it_should_behave_like 'store_stringkey_booleanvalue'
|
30
35
|
it_should_behave_like 'store_hashkey_objectvalue'
|
31
36
|
it_should_behave_like 'store_hashkey_stringvalue'
|
32
37
|
it_should_behave_like 'store_hashkey_hashvalue'
|
38
|
+
it_should_behave_like 'store_hashkey_booleanvalue'
|
33
39
|
it_should_behave_like 'expires_objectkey_objectvalue'
|
34
40
|
it_should_behave_like 'expires_objectkey_stringvalue'
|
35
41
|
it_should_behave_like 'expires_objectkey_hashvalue'
|
42
|
+
it_should_behave_like 'expires_objectkey_booleanvalue'
|
36
43
|
it_should_behave_like 'expires_stringkey_objectvalue'
|
37
44
|
it_should_behave_like 'expires_stringkey_stringvalue'
|
38
45
|
it_should_behave_like 'expires_stringkey_hashvalue'
|
46
|
+
it_should_behave_like 'expires_stringkey_booleanvalue'
|
39
47
|
it_should_behave_like 'expires_hashkey_objectvalue'
|
40
48
|
it_should_behave_like 'expires_hashkey_stringvalue'
|
41
49
|
it_should_behave_like 'expires_hashkey_hashvalue'
|
50
|
+
it_should_behave_like 'expires_hashkey_booleanvalue'
|
42
51
|
end
|