juno 0.1.1 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.gitignore +2 -1
- data/.travis.yml +6 -0
- data/Gemfile +16 -9
- data/README.md +92 -34
- data/Rakefile +23 -5
- data/benchmarks/run.rb +19 -22
- data/juno.gemspec +0 -3
- data/lib/juno/adapters/activerecord.rb +58 -0
- data/lib/juno/adapters/cassandra.rb +47 -0
- data/lib/juno/adapters/couch.rb +43 -0
- data/lib/juno/adapters/datamapper.rb +64 -0
- data/lib/juno/adapters/dbm.rb +17 -0
- data/lib/juno/adapters/file.rb +58 -0
- data/lib/juno/adapters/fog.rb +42 -0
- data/lib/juno/adapters/gdbm.rb +17 -0
- data/lib/juno/adapters/localmemcache.rb +18 -0
- data/lib/juno/adapters/memcached.rb +11 -0
- data/lib/juno/adapters/memcached_dalli.rb +46 -0
- data/lib/juno/adapters/memcached_native.rb +47 -0
- data/lib/juno/adapters/memory.rb +30 -0
- data/lib/juno/adapters/mongo.rb +43 -0
- data/lib/juno/adapters/null.rb +28 -0
- data/lib/juno/adapters/pstore.rb +51 -0
- data/lib/juno/adapters/redis.rb +43 -0
- data/lib/juno/adapters/riak.rb +46 -0
- data/lib/juno/adapters/sdbm.rb +27 -0
- data/lib/juno/adapters/sequel.rb +50 -0
- data/lib/juno/adapters/sqlite.rb +52 -0
- data/lib/juno/adapters/tokyocabinet.rb +33 -0
- data/lib/juno/adapters/yaml.rb +13 -0
- data/lib/juno/base.rb +11 -89
- data/lib/juno/builder.rb +30 -0
- data/lib/juno/cache.rb +64 -0
- data/lib/juno/expires.rb +6 -10
- data/lib/juno/proxy.rb +62 -3
- data/lib/juno/stack.rb +27 -11
- data/lib/juno/transformer.rb +106 -0
- data/lib/juno/version.rb +1 -1
- data/lib/juno.rb +81 -29
- data/spec/adapter_activerecord_spec.rb +41 -0
- data/spec/adapter_cassandra_spec.rb +27 -0
- data/spec/adapter_couch_spec.rb +27 -0
- data/spec/adapter_datamapper_spec.rb +61 -0
- data/spec/adapter_dbm_spec.rb +27 -0
- data/spec/adapter_file_spec.rb +27 -0
- data/spec/adapter_fog_spec.rb +35 -0
- data/spec/adapter_gdbm_spec.rb +27 -0
- data/spec/adapter_localmemcache_spec.rb +27 -0
- data/spec/adapter_memcached_dalli_spec.rb +28 -0
- data/spec/adapter_memcached_native_spec.rb +28 -0
- data/spec/adapter_memcached_spec.rb +28 -0
- data/spec/adapter_memory_spec.rb +42 -0
- data/spec/adapter_mongo_spec.rb +27 -0
- data/spec/adapter_pstore_spec.rb +30 -0
- data/spec/adapter_redis_spec.rb +28 -0
- data/spec/adapter_riak_spec.rb +31 -0
- data/spec/adapter_sdbm_spec.rb +27 -0
- data/spec/adapter_sequel_spec.rb +27 -0
- data/spec/adapter_sqlite_spec.rb +27 -0
- data/spec/adapter_tokyocabinet_spec.rb +27 -0
- data/spec/adapter_yaml_spec.rb +30 -0
- data/spec/cache_file_memory_spec.rb +50 -0
- data/spec/cache_memory_null_spec.rb +39 -0
- data/spec/expires_file_spec.rb +82 -0
- data/spec/expires_memory_spec.rb +59 -0
- data/spec/generate.rb +736 -0
- data/spec/helper.rb +39 -0
- data/spec/junospecs.rb +1540 -0
- data/spec/null_adapter_spec.rb +33 -0
- data/spec/proxy_expires_memory_spec.rb +63 -0
- data/spec/proxy_redis_spec.rb +38 -0
- data/spec/simple_activerecord_spec.rb +52 -0
- data/spec/simple_cassandra_spec.rb +53 -0
- data/spec/simple_couch_spec.rb +52 -0
- data/spec/simple_datamapper_spec.rb +54 -0
- data/spec/simple_datamapper_with_repository_spec.rb +54 -0
- data/spec/simple_dbm_spec.rb +52 -0
- data/spec/simple_file_spec.rb +52 -0
- data/spec/simple_fog_spec.rb +60 -0
- data/spec/simple_gdbm_spec.rb +52 -0
- data/spec/simple_hashfile_spec.rb +52 -0
- data/spec/simple_localmemcache_spec.rb +52 -0
- data/spec/simple_memcached_dalli_spec.rb +53 -0
- data/spec/simple_memcached_native_spec.rb +53 -0
- data/spec/simple_memcached_spec.rb +53 -0
- data/spec/simple_memory_spec.rb +52 -0
- data/spec/simple_mongo_spec.rb +52 -0
- data/spec/simple_null_spec.rb +43 -0
- data/spec/simple_pstore_spec.rb +52 -0
- data/spec/simple_redis_spec.rb +53 -0
- data/spec/simple_riak_spec.rb +56 -0
- data/spec/simple_sdbm_spec.rb +52 -0
- data/spec/simple_sequel_spec.rb +52 -0
- data/spec/simple_sqlite_spec.rb +52 -0
- data/spec/simple_tokyocabinet_spec.rb +52 -0
- data/spec/simple_yaml_spec.rb +52 -0
- data/spec/stack_file_memory_spec.rb +43 -0
- data/spec/stack_memory_file_spec.rb +42 -0
- data/spec/transformer_bson_spec.rb +44 -0
- data/spec/transformer_json_spec.rb +44 -0
- data/spec/transformer_marshal_base64_spec.rb +60 -0
- data/spec/transformer_marshal_escape_spec.rb +60 -0
- data/spec/transformer_marshal_md5_spec.rb +60 -0
- data/spec/transformer_marshal_md5_spread_spec.rb +60 -0
- data/spec/transformer_msgpack_spec.rb +44 -0
- data/spec/transformer_yaml_spec.rb +59 -0
- metadata +164 -108
- data/lib/juno/activerecord.rb +0 -55
- data/lib/juno/cassandra.rb +0 -45
- data/lib/juno/couch.rb +0 -43
- data/lib/juno/datamapper.rb +0 -63
- data/lib/juno/dbm.rb +0 -15
- data/lib/juno/file.rb +0 -62
- data/lib/juno/fog.rb +0 -48
- data/lib/juno/gdbm.rb +0 -15
- data/lib/juno/hashfile.rb +0 -12
- data/lib/juno/localmemcache.rb +0 -16
- data/lib/juno/memcached.rb +0 -7
- data/lib/juno/memcached_dalli.rb +0 -55
- data/lib/juno/memcached_native.rb +0 -56
- data/lib/juno/memory.rb +0 -7
- data/lib/juno/mongodb.rb +0 -43
- data/lib/juno/null.rb +0 -23
- data/lib/juno/pstore.rb +0 -49
- data/lib/juno/redis.rb +0 -46
- data/lib/juno/riak.rb +0 -45
- data/lib/juno/sdbm.rb +0 -15
- data/lib/juno/sequel.rb +0 -48
- data/lib/juno/sqlite.rb +0 -50
- data/lib/juno/tokyocabinet.rb +0 -36
- data/lib/juno/yaml.rb +0 -9
- data/test/helper.rb +0 -212
- data/test/test_activerecord.rb +0 -33
- data/test/test_cassandra.rb +0 -13
- data/test/test_couch.rb +0 -13
- data/test/test_datamapper.rb +0 -64
- data/test/test_dbm.rb +0 -13
- data/test/test_expires.rb +0 -9
- data/test/test_file.rb +0 -9
- data/test/test_fog.rb +0 -17
- data/test/test_gdbm.rb +0 -13
- data/test/test_hashfile.rb +0 -9
- data/test/test_localmemcache.rb +0 -13
- data/test/test_memcached.rb +0 -14
- data/test/test_memcached_dalli.rb +0 -14
- data/test/test_memcached_native.rb +0 -14
- data/test/test_memory.rb +0 -9
- data/test/test_mongodb.rb +0 -13
- data/test/test_null.rb +0 -9
- data/test/test_proxy.rb +0 -9
- data/test/test_pstore.rb +0 -9
- data/test/test_redis.rb +0 -13
- data/test/test_riak.rb +0 -13
- data/test/test_sdbm.rb +0 -13
- data/test/test_sequel.rb +0 -13
- data/test/test_sqlite.rb +0 -13
- data/test/test_stack.rb +0 -10
- data/test/test_tokyocabinet.rb +0 -13
- data/test/test_yaml.rb +0 -9
- data/unsupported/test_tokyotyrant.rb +0 -13
- data/unsupported/tokyotyrant.rb +0 -29
data/test/helper.rb
DELETED
|
@@ -1,212 +0,0 @@
|
|
|
1
|
-
# -*- coding: utf-8 -*-
|
|
2
|
-
require 'minitest/autorun'
|
|
3
|
-
require 'juno'
|
|
4
|
-
require 'fileutils'
|
|
5
|
-
|
|
6
|
-
module Helper
|
|
7
|
-
def make_tempdir
|
|
8
|
-
tmp = File.join(File.dirname(__FILE__), 'tmp')
|
|
9
|
-
FileUtils.mkpath(tmp)
|
|
10
|
-
tmp
|
|
11
|
-
end
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
module Juno
|
|
15
|
-
TYPES = {
|
|
16
|
-
'String' => ['key', 'key2'],
|
|
17
|
-
'Object' => [{:foo => :bar}, {:bar => :baz}]
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
NullSpecification = proc do
|
|
21
|
-
include Helper
|
|
22
|
-
|
|
23
|
-
before do
|
|
24
|
-
@store = new_store
|
|
25
|
-
@store.clear
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
after do
|
|
29
|
-
@store.close.must_equal nil if @store
|
|
30
|
-
end
|
|
31
|
-
|
|
32
|
-
TYPES.each do |type, (key, key2)|
|
|
33
|
-
it "reads from keys that are #{type}s like a Hash" do
|
|
34
|
-
@store[key].must_equal nil
|
|
35
|
-
end
|
|
36
|
-
|
|
37
|
-
it "guarantees that the same String value is returned when setting a #{type} key" do
|
|
38
|
-
value = 'value'
|
|
39
|
-
(@store[key] = value).must_be_same_as value
|
|
40
|
-
end
|
|
41
|
-
|
|
42
|
-
it "guarantees that the same Object value is returned when setting a #{type} key" do
|
|
43
|
-
value = {:foo => :bar}
|
|
44
|
-
(@store[key] = value).must_be_same_as value
|
|
45
|
-
end
|
|
46
|
-
|
|
47
|
-
it "returns false from key? if a #{type} key is not available" do
|
|
48
|
-
@store.key?(key).must_equal false
|
|
49
|
-
end
|
|
50
|
-
|
|
51
|
-
it "returns nil from delete if an element for a #{type} key does not exist" do
|
|
52
|
-
@store.delete(key).must_equal nil
|
|
53
|
-
end
|
|
54
|
-
|
|
55
|
-
it "removes all #{type} keys from the store with clear" do
|
|
56
|
-
@store[key] = 'value'
|
|
57
|
-
@store[key2] = 'value2'
|
|
58
|
-
@store.clear.must_equal nil
|
|
59
|
-
@store.key?(key).wont_equal true
|
|
60
|
-
@store.key?(key2).wont_equal true
|
|
61
|
-
end
|
|
62
|
-
|
|
63
|
-
it "fetches a #{type} key with a default value with fetch, if the key is not available" do
|
|
64
|
-
@store.fetch(key, 'value').must_equal 'value'
|
|
65
|
-
end
|
|
66
|
-
|
|
67
|
-
it "fetches a #{type} key with a block with fetch, if the key is not available" do
|
|
68
|
-
@store.fetch(key) { |k| 'value' }.must_equal 'value'
|
|
69
|
-
end
|
|
70
|
-
|
|
71
|
-
it 'must accept options' do
|
|
72
|
-
@store.key?(key, :foo => 42).must_equal false
|
|
73
|
-
@store.fetch(key, nil, :foo => 42).must_equal nil
|
|
74
|
-
@store.delete(key, :foo => 42).must_equal nil
|
|
75
|
-
@store.clear(:foo => 42).must_equal nil
|
|
76
|
-
@store.store(key, 'value', :foo => 42).must_equal 'value'
|
|
77
|
-
end
|
|
78
|
-
end
|
|
79
|
-
end
|
|
80
|
-
|
|
81
|
-
Specification = proc do
|
|
82
|
-
class_eval(&NullSpecification)
|
|
83
|
-
|
|
84
|
-
TYPES.each do |type, (key, key2)|
|
|
85
|
-
it "writes String values to keys that are #{type}s like a Hash" do
|
|
86
|
-
@store[key] = 'value'
|
|
87
|
-
@store[key].must_equal 'value'
|
|
88
|
-
end
|
|
89
|
-
|
|
90
|
-
it "writes Object values to keys that are #{type}s like a Hash" do
|
|
91
|
-
value = {:foo => :bar}
|
|
92
|
-
@store[key] = value
|
|
93
|
-
@store[key].must_equal(:foo => :bar)
|
|
94
|
-
end
|
|
95
|
-
|
|
96
|
-
it "guarantees that a different String value is retrieved from the #{type} key" do
|
|
97
|
-
value = 'value'
|
|
98
|
-
@store[key] = value
|
|
99
|
-
@store[key].wont_be_same_as(value)
|
|
100
|
-
end
|
|
101
|
-
|
|
102
|
-
it "guarantees that a different Object value is retrieved from the #{type} key" do
|
|
103
|
-
value = {:foo => :bar}
|
|
104
|
-
@store[key] = value
|
|
105
|
-
@store[key].wont_be_same_as(:foo => :bar)
|
|
106
|
-
end
|
|
107
|
-
|
|
108
|
-
it "returns true from key? if a #{type} key is available" do
|
|
109
|
-
@store[key] = 'value'
|
|
110
|
-
@store.key?(key).must_equal true
|
|
111
|
-
end
|
|
112
|
-
|
|
113
|
-
it "removes and returns an element with a #{type} key from the backing store via delete if it exists" do
|
|
114
|
-
@store[key] = 'value'
|
|
115
|
-
@store.delete(key).must_equal 'value'
|
|
116
|
-
@store.key?(key).must_equal false
|
|
117
|
-
end
|
|
118
|
-
|
|
119
|
-
it "does not run the block if the #{type} key is available" do
|
|
120
|
-
@store[key] = 'value'
|
|
121
|
-
unaltered = "unaltered"
|
|
122
|
-
@store.fetch(key) { unaltered = "altered" }
|
|
123
|
-
unaltered.must_equal "unaltered"
|
|
124
|
-
end
|
|
125
|
-
|
|
126
|
-
it "fetches a #{type} key with a default value with fetch, if the key is available" do
|
|
127
|
-
@store[key] = 'value2'
|
|
128
|
-
@store.fetch(key, 'value').must_equal 'value2'
|
|
129
|
-
end
|
|
130
|
-
|
|
131
|
-
it "stores #{key} values with #store" do
|
|
132
|
-
@store.store(key, 'value').must_equal 'value'
|
|
133
|
-
@store[key].must_equal 'value'
|
|
134
|
-
end
|
|
135
|
-
end
|
|
136
|
-
|
|
137
|
-
def marshal_error
|
|
138
|
-
# HACK: Marshalling structs in rubinius without class name throws
|
|
139
|
-
# NoMethodError (to_sym). TODO: Create an issue for rubinius!
|
|
140
|
-
if defined?(RUBY_ENGINE) && RUBY_ENGINE == 'rbx'
|
|
141
|
-
RUBY_VERSION < '1.9' ? ArgumentError : NoMethodError
|
|
142
|
-
else
|
|
143
|
-
TypeError
|
|
144
|
-
end
|
|
145
|
-
end
|
|
146
|
-
|
|
147
|
-
it "refuses to #[] from keys that cannot be marshalled" do
|
|
148
|
-
lambda do
|
|
149
|
-
@store[Struct.new(:foo).new(:bar)]
|
|
150
|
-
end.must_raise(marshal_error)
|
|
151
|
-
end
|
|
152
|
-
|
|
153
|
-
it "refuses to fetch from keys that cannot be marshalled" do
|
|
154
|
-
lambda do
|
|
155
|
-
@store.fetch(Struct.new(:foo).new(:bar), true)
|
|
156
|
-
end.must_raise(marshal_error)
|
|
157
|
-
end
|
|
158
|
-
|
|
159
|
-
it "refuses to #[]= to keys that cannot be marshalled" do
|
|
160
|
-
lambda do
|
|
161
|
-
@store[Struct.new(:foo).new(:bar)] = 'value'
|
|
162
|
-
end.must_raise(marshal_error)
|
|
163
|
-
end
|
|
164
|
-
|
|
165
|
-
it "refuses to store to keys that cannot be marshalled" do
|
|
166
|
-
lambda do
|
|
167
|
-
@store.store Struct.new(:foo).new(:bar), 'value'
|
|
168
|
-
end.must_raise(marshal_error)
|
|
169
|
-
end
|
|
170
|
-
|
|
171
|
-
it "refuses to check for key? if the key cannot be marshalled" do
|
|
172
|
-
lambda do
|
|
173
|
-
@store.key? Struct.new(:foo).new(:bar)
|
|
174
|
-
end.must_raise(marshal_error)
|
|
175
|
-
end
|
|
176
|
-
|
|
177
|
-
it "refuses to delete a key if the key cannot be marshalled" do
|
|
178
|
-
lambda do
|
|
179
|
-
@store.delete Struct.new(:foo).new(:bar)
|
|
180
|
-
end.must_raise(marshal_error)
|
|
181
|
-
end
|
|
182
|
-
end
|
|
183
|
-
|
|
184
|
-
ExpiresSpecification = proc do
|
|
185
|
-
class_eval(&Specification)
|
|
186
|
-
|
|
187
|
-
it 'should support expires on store' do
|
|
188
|
-
@store.store('key', 'value', :expires => 2)
|
|
189
|
-
@store['key'].must_equal 'value'
|
|
190
|
-
sleep 3
|
|
191
|
-
@store['key'].must_equal nil
|
|
192
|
-
end
|
|
193
|
-
|
|
194
|
-
it 'should support updating the expiration time in fetch' do
|
|
195
|
-
@store.store('key2', 'value2', :expires => 2)
|
|
196
|
-
@store['key2'].must_equal 'value2'
|
|
197
|
-
sleep 1
|
|
198
|
-
@store.fetch('key2', nil, :expires => 3).must_equal 'value2'
|
|
199
|
-
sleep 1
|
|
200
|
-
@store['key2'].must_equal 'value2'
|
|
201
|
-
sleep 3
|
|
202
|
-
@store['key2'].must_equal nil
|
|
203
|
-
end
|
|
204
|
-
|
|
205
|
-
it 'should respect expires in delete' do
|
|
206
|
-
@store.store('key', 'value', :expires => 2)
|
|
207
|
-
@store['key'].must_equal 'value'
|
|
208
|
-
sleep 3
|
|
209
|
-
@store.delete('key').must_equal nil
|
|
210
|
-
end
|
|
211
|
-
end
|
|
212
|
-
end
|
data/test/test_activerecord.rb
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
require 'helper'
|
|
2
|
-
|
|
3
|
-
begin
|
|
4
|
-
describe Juno::ActiveRecord do
|
|
5
|
-
describe 'with connection option set' do
|
|
6
|
-
def new_store
|
|
7
|
-
Juno::ActiveRecord.new(:connection => { :adapter => 'sqlite3', :database => File.join(make_tempdir, 'db.sqlite3')})
|
|
8
|
-
end
|
|
9
|
-
|
|
10
|
-
class_eval(&Juno::Specification)
|
|
11
|
-
|
|
12
|
-
it 'updates an existing key/value' do
|
|
13
|
-
@store['foo/bar'] = 4
|
|
14
|
-
@store['foo/bar'] += 4
|
|
15
|
-
records = @store.table.find :all, :conditions => { :key => 'foo/bar' }
|
|
16
|
-
records.count.must_equal 1
|
|
17
|
-
end
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
describe 'using preexisting ActiveRecord connection' do
|
|
21
|
-
include Helper
|
|
22
|
-
|
|
23
|
-
it 'uses an existing connection' do
|
|
24
|
-
ActiveRecord::Base.establish_connection :adapter => 'sqlite3', :database => File.join(make_tempdir, 'db.sqlite3')
|
|
25
|
-
|
|
26
|
-
store = Juno::ActiveRecord.new
|
|
27
|
-
store.table.table_exists?.must_equal true
|
|
28
|
-
end
|
|
29
|
-
end
|
|
30
|
-
end
|
|
31
|
-
rescue LoadError => ex
|
|
32
|
-
puts "Juno::ActiveRecord not tested: #{ex.message}"
|
|
33
|
-
end
|
data/test/test_cassandra.rb
DELETED
data/test/test_couch.rb
DELETED
data/test/test_datamapper.rb
DELETED
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
require 'helper'
|
|
2
|
-
|
|
3
|
-
begin
|
|
4
|
-
describe Juno::DataMapper do
|
|
5
|
-
before do
|
|
6
|
-
DataMapper.setup(:default, :adapter => :in_memory)
|
|
7
|
-
end
|
|
8
|
-
|
|
9
|
-
describe 'with the default repository' do
|
|
10
|
-
def new_store
|
|
11
|
-
Juno::DataMapper.new(:setup => "sqlite3://#{make_tempdir}/datamapper.sqlite3")
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
after do
|
|
15
|
-
Juno::DataMapper::Store.auto_migrate!(:juno)
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
class_eval(&Juno::Specification)
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
describe 'when :repository specified' do
|
|
22
|
-
def new_store
|
|
23
|
-
Juno::DataMapper.new(:repository => :sample, :setup => "sqlite3://#{make_tempdir}/datamapper.sqlite3")
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
after do
|
|
27
|
-
Juno::DataMapper::Store.auto_migrate!(:sample)
|
|
28
|
-
end
|
|
29
|
-
|
|
30
|
-
class_eval(&Juno::Specification)
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
describe 'with multiple stores' do
|
|
34
|
-
include Helper
|
|
35
|
-
|
|
36
|
-
before do
|
|
37
|
-
@first_store = Juno::DataMapper.new(:setup => "sqlite3://#{make_tempdir}/first.sqlite3")
|
|
38
|
-
@first_store.clear
|
|
39
|
-
|
|
40
|
-
@second_store = Juno::DataMapper.new(:repository => :sample, :setup => "sqlite3://#{make_tempdir}/second.sqlite3")
|
|
41
|
-
@second_store.clear
|
|
42
|
-
end
|
|
43
|
-
|
|
44
|
-
it 'does not cross contaminate when storing' do
|
|
45
|
-
@first_store['key'] = 'value'
|
|
46
|
-
@second_store['key'] = 'value2'
|
|
47
|
-
|
|
48
|
-
@first_store['key'].must_equal 'value'
|
|
49
|
-
@second_store['key'].must_equal 'value2'
|
|
50
|
-
end
|
|
51
|
-
|
|
52
|
-
it 'does not cross contaminate when deleting' do
|
|
53
|
-
@first_store['key'] = 'value'
|
|
54
|
-
@second_store['key'] = 'value2'
|
|
55
|
-
|
|
56
|
-
@first_store.delete('key').must_equal 'value'
|
|
57
|
-
@first_store.key?('key').must_equal false
|
|
58
|
-
@second_store['key'].must_equal 'value2'
|
|
59
|
-
end
|
|
60
|
-
end
|
|
61
|
-
end
|
|
62
|
-
rescue LoadError => ex
|
|
63
|
-
puts "Juno::Datamapper not tested: #{ex.message}"
|
|
64
|
-
end
|
data/test/test_dbm.rb
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
require 'helper'
|
|
2
|
-
|
|
3
|
-
begin
|
|
4
|
-
describe Juno::DBM do
|
|
5
|
-
def new_store
|
|
6
|
-
Juno::DBM.new(:file => File.join(make_tempdir, 'dbm.db'))
|
|
7
|
-
end
|
|
8
|
-
|
|
9
|
-
class_eval(&Juno::Specification)
|
|
10
|
-
end
|
|
11
|
-
rescue LoadError => ex
|
|
12
|
-
puts "Juno::DBM not tested: #{ex.message}"
|
|
13
|
-
end
|
data/test/test_expires.rb
DELETED
data/test/test_file.rb
DELETED
data/test/test_fog.rb
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
require 'helper'
|
|
2
|
-
|
|
3
|
-
begin
|
|
4
|
-
describe Juno::Fog do
|
|
5
|
-
def new_store
|
|
6
|
-
Fog.mock!
|
|
7
|
-
Juno::Fog.new(:aws_access_key_id => 'fake_access_key_id',
|
|
8
|
-
:aws_secret_access_key => 'fake_secret_access_key',
|
|
9
|
-
:provider => 'AWS',
|
|
10
|
-
:dir => 'juno')
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
class_eval(&Juno::Specification)
|
|
14
|
-
end
|
|
15
|
-
rescue LoadError => ex
|
|
16
|
-
puts "Juno::Fog not tested: #{ex.message}"
|
|
17
|
-
end
|
data/test/test_gdbm.rb
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
require 'helper'
|
|
2
|
-
|
|
3
|
-
begin
|
|
4
|
-
describe Juno::GDBM do
|
|
5
|
-
def new_store
|
|
6
|
-
Juno::GDBM.new(:file => File.join(make_tempdir, 'gdbm.db'))
|
|
7
|
-
end
|
|
8
|
-
|
|
9
|
-
class_eval(&Juno::Specification)
|
|
10
|
-
end
|
|
11
|
-
rescue LoadError => ex
|
|
12
|
-
puts "Juno::GDBM not tested: #{ex.message}"
|
|
13
|
-
end
|
data/test/test_hashfile.rb
DELETED
data/test/test_localmemcache.rb
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
require 'helper'
|
|
2
|
-
|
|
3
|
-
begin
|
|
4
|
-
describe Juno::LocalMemCache do
|
|
5
|
-
def new_store
|
|
6
|
-
Juno::LocalMemCache.new(:file => File.join(make_tempdir, 'lmc'))
|
|
7
|
-
end
|
|
8
|
-
|
|
9
|
-
class_eval(&Juno::Specification)
|
|
10
|
-
end
|
|
11
|
-
rescue LoadError => ex
|
|
12
|
-
puts "Juno::LocalMemCache not tested: #{ex.message}"
|
|
13
|
-
end
|
data/test/test_memcached.rb
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
require 'helper'
|
|
2
|
-
|
|
3
|
-
begin
|
|
4
|
-
describe Juno::Memcached do
|
|
5
|
-
def new_store
|
|
6
|
-
# HACK: memcached is running on 221122 because of travis-ci
|
|
7
|
-
Juno::Memcached.new(:server => 'localhost:22122', :namespace => 'juno')
|
|
8
|
-
end
|
|
9
|
-
|
|
10
|
-
class_eval(&Juno::ExpiresSpecification)
|
|
11
|
-
end
|
|
12
|
-
rescue LoadError => ex
|
|
13
|
-
puts "Juno::Memcached not tested: #{ex.message}"
|
|
14
|
-
end
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
require 'helper'
|
|
2
|
-
|
|
3
|
-
begin
|
|
4
|
-
describe Juno::MemcachedDalli do
|
|
5
|
-
def new_store
|
|
6
|
-
# HACK: memcached is running on 221122 because of travis-ci
|
|
7
|
-
Juno::MemcachedDalli.new(:server => 'localhost:22122', :namespace => 'juno')
|
|
8
|
-
end
|
|
9
|
-
|
|
10
|
-
class_eval(&Juno::ExpiresSpecification)
|
|
11
|
-
end
|
|
12
|
-
rescue LoadError => ex
|
|
13
|
-
puts "Juno::MemcachedDalli not tested: #{ex.message}"
|
|
14
|
-
end
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
require 'helper'
|
|
2
|
-
|
|
3
|
-
begin
|
|
4
|
-
describe Juno::MemcachedNative do
|
|
5
|
-
def new_store
|
|
6
|
-
# HACK: memcached is running on 221122 because of travis-ci
|
|
7
|
-
Juno::MemcachedNative.new(:server => 'localhost:22122', :namespace => 'juno')
|
|
8
|
-
end
|
|
9
|
-
|
|
10
|
-
class_eval(&Juno::ExpiresSpecification)
|
|
11
|
-
end
|
|
12
|
-
rescue LoadError => ex
|
|
13
|
-
puts "Juno::MemcachedNative not tested: #{ex.message}"
|
|
14
|
-
end
|
data/test/test_memory.rb
DELETED
data/test/test_mongodb.rb
DELETED
data/test/test_null.rb
DELETED
data/test/test_proxy.rb
DELETED
data/test/test_pstore.rb
DELETED
data/test/test_redis.rb
DELETED
data/test/test_riak.rb
DELETED
data/test/test_sdbm.rb
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
require 'helper'
|
|
2
|
-
|
|
3
|
-
begin
|
|
4
|
-
describe Juno::SDBM do
|
|
5
|
-
def new_store
|
|
6
|
-
Juno::GDBM.new(:file => File.join(make_tempdir, 'gdbm.db'))
|
|
7
|
-
end
|
|
8
|
-
|
|
9
|
-
class_eval(&Juno::Specification)
|
|
10
|
-
end
|
|
11
|
-
rescue LoadError => ex
|
|
12
|
-
puts "Juno::SDBM not tested: #{ex.message}"
|
|
13
|
-
end
|
data/test/test_sequel.rb
DELETED
data/test/test_sqlite.rb
DELETED
data/test/test_stack.rb
DELETED
data/test/test_tokyocabinet.rb
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
require 'helper'
|
|
2
|
-
|
|
3
|
-
begin
|
|
4
|
-
describe Juno::TokyoCabinet do
|
|
5
|
-
def new_store
|
|
6
|
-
Juno::TokyoCabinet.new(:file => File.join(make_tempdir, 'tokyocabinet.db'))
|
|
7
|
-
end
|
|
8
|
-
|
|
9
|
-
class_eval(&Juno::Specification)
|
|
10
|
-
end
|
|
11
|
-
rescue LoadError => ex
|
|
12
|
-
puts "Juno::TokyoCabinet not tested: #{ex.message}"
|
|
13
|
-
end
|
data/test/test_yaml.rb
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
require 'helper'
|
|
2
|
-
|
|
3
|
-
begin
|
|
4
|
-
describe Juno::TokyoTyrant do
|
|
5
|
-
def new_store
|
|
6
|
-
Juno::TokyoTyrant.new(:host => '127.0.0.1', :port => 1978)
|
|
7
|
-
end
|
|
8
|
-
|
|
9
|
-
class_eval(&JunoSpecification)
|
|
10
|
-
end
|
|
11
|
-
rescue LoadError => ex
|
|
12
|
-
puts "Juno::TokyoTyrant not tested: #{ex.message}"
|
|
13
|
-
end
|