vinted-memcached 1.8.4 → 1.8.6
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.
- checksums.yaml +4 -4
- data/.github/workflows/build_release_pipeline.yaml +53 -0
- data/.gitignore +33 -0
- data/BENCHMARKS +130 -126
- data/CHANGELOG +1 -6
- data/Gemfile +8 -1
- data/Gemfile.lock +25 -38
- data/README.md +144 -0
- data/Rakefile +21 -93
- data/ext/rlibmemcached/extconf.rb +76 -0
- data/ext/{rlibmemcached.i → rlibmemcached/rlibmemcached.i} +48 -69
- data/ext/{rlibmemcached_wrap.c → rlibmemcached/rlibmemcached_wrap.c} +146 -320
- data/lib/memcached/exceptions.rb +1 -12
- data/lib/memcached/experimental.rb +1 -33
- data/lib/memcached/memcached.rb +41 -34
- data/lib/memcached/version.rb +1 -1
- data/lib/memcached.rb +9 -4
- data/memcached.gemspec +0 -0
- data/memcached.pem +21 -0
- data/vendor/libmemcached-0.32/config/config.guess +1815 -0
- data/vendor/libmemcached-0.32/config/config.sub +2354 -0
- data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_connect.c +23 -13
- data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_io.c +18 -13
- data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_purge.c +1 -1
- data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_storage.c +16 -25
- metadata +195 -249
- data/Manifest +0 -209
- data/README.rdoc +0 -124
- data/ext/extconf-make.rb +0 -25
- data/ext/extconf.rb +0 -78
- data/ext/libmemcached-0.32/config/config.guess +0 -1561
- data/ext/libmemcached-0.32/config/config.sub +0 -1686
- data/lib/memcached/auth.rb +0 -16
- data/test/profile/benchmark.rb +0 -280
- data/test/profile/c_profiler.rb +0 -14
- data/test/profile/exercise.rb +0 -185
- data/test/profile/rb_profiler.rb +0 -21
- data/test/profile/valgrind.rb +0 -10
- data/test/setup.rb +0 -30
- data/test/teardown.rb +0 -0
- data/test/test_helper.rb +0 -18
- data/test/unit/binding_test.rb +0 -8
- data/test/unit/memcached_experimental_test.rb +0 -272
- data/test/unit/memcached_test.rb +0 -1487
- data/test/unit/rails_test.rb +0 -330
- /data/{ext → vendor}/libmemcached-0.32/AUTHORS +0 -0
- /data/{ext → vendor}/libmemcached-0.32/COPYING +0 -0
- /data/{ext → vendor}/libmemcached-0.32/ChangeLog +0 -0
- /data/{ext → vendor}/libmemcached-0.32/INSTALL +0 -0
- /data/{ext → vendor}/libmemcached-0.32/Makefile.am +0 -0
- /data/{ext → vendor}/libmemcached-0.32/Makefile.in +0 -0
- /data/{ext → vendor}/libmemcached-0.32/NEWS +0 -0
- /data/{ext → vendor}/libmemcached-0.32/README +0 -0
- /data/{ext → vendor}/libmemcached-0.32/THANKS +0 -0
- /data/{ext → vendor}/libmemcached-0.32/TODO +0 -0
- /data/{ext → vendor}/libmemcached-0.32/aclocal.m4 +0 -0
- /data/{ext → vendor}/libmemcached-0.32/clients/Makefile.am +0 -0
- /data/{ext → vendor}/libmemcached-0.32/clients/Makefile.in +0 -0
- /data/{ext → vendor}/libmemcached-0.32/clients/client_options.h +0 -0
- /data/{ext → vendor}/libmemcached-0.32/clients/execute.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/clients/execute.h +0 -0
- /data/{ext → vendor}/libmemcached-0.32/clients/generator.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/clients/generator.h +0 -0
- /data/{ext → vendor}/libmemcached-0.32/clients/memcat.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/clients/memcp.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/clients/memdump.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/clients/memerror.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/clients/memflush.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/clients/memrm.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/clients/memslap.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/clients/memstat.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/clients/utilities.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/clients/utilities.h +0 -0
- /data/{ext → vendor}/libmemcached-0.32/config/compile +0 -0
- /data/{ext → vendor}/libmemcached-0.32/config/config.rpath +0 -0
- /data/{ext → vendor}/libmemcached-0.32/config/depcomp +0 -0
- /data/{ext → vendor}/libmemcached-0.32/config/install-sh +0 -0
- /data/{ext → vendor}/libmemcached-0.32/config/ltmain.sh +0 -0
- /data/{ext → vendor}/libmemcached-0.32/config/missing +0 -0
- /data/{ext → vendor}/libmemcached-0.32/config.h.in +0 -0
- /data/{ext → vendor}/libmemcached-0.32/configure +0 -0
- /data/{ext → vendor}/libmemcached-0.32/configure.ac +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/Makefile.am +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/Makefile.in +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/byteorder.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/common.h +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/crc.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/hsieh_hash.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/jenkins_hash.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/libmemcached.ver +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/libmemcached_probes.d +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/libmemcached_probes.h +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/md5.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached/README.txt +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached/protocol_binary.h +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached.h +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached.hpp +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_allocators.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_analyze.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_auto.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_behavior.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_callback.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_configure.h.in +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_constants.h +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_delete.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_do.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_dump.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_exist.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_exist.h +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_fetch.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_flush.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_flush_buffers.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_get.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_get.h +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_hash.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_hosts.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_internal.h +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_io.h +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_key.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_parse.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_pool.h +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_quit.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_response.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_result.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_result.h +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_sasl.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_sasl.h +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_server.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_server.h +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_stats.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_storage.h +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_strerror.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_string.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_string.h +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_touch.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_touch.h +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_types.h +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_util.h +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_verbosity.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_version.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/memcached_watchpoint.h +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/murmur_hash.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcached/visibility.h +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcachedutil/Makefile.am +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcachedutil/Makefile.in +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcachedutil/libmemcachedutil.ver +0 -0
- /data/{ext → vendor}/libmemcached-0.32/libmemcachedutil/memcached_pool.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/m4/ac_cxx_compile_stdcxx_0x.m4 +0 -0
- /data/{ext → vendor}/libmemcached-0.32/m4/ac_cxx_header_stdcxx_98.m4 +0 -0
- /data/{ext → vendor}/libmemcached-0.32/m4/acx_pthread.m4 +0 -0
- /data/{ext → vendor}/libmemcached-0.32/m4/byteorder.m4 +0 -0
- /data/{ext → vendor}/libmemcached-0.32/m4/deprecated.m4 +0 -0
- /data/{ext → vendor}/libmemcached-0.32/m4/enable_utillib.m4 +0 -0
- /data/{ext → vendor}/libmemcached-0.32/m4/extensions.m4 +0 -0
- /data/{ext → vendor}/libmemcached-0.32/m4/hsieh.m4 +0 -0
- /data/{ext → vendor}/libmemcached-0.32/m4/lib-prefix.m4 +0 -0
- /data/{ext → vendor}/libmemcached-0.32/m4/libtool.m4 +0 -0
- /data/{ext → vendor}/libmemcached-0.32/m4/ltoptions.m4 +0 -0
- /data/{ext → vendor}/libmemcached-0.32/m4/ltsugar.m4 +0 -0
- /data/{ext → vendor}/libmemcached-0.32/m4/ltversion.m4 +0 -0
- /data/{ext → vendor}/libmemcached-0.32/m4/lt~obsolete.m4 +0 -0
- /data/{ext → vendor}/libmemcached-0.32/m4/memcached.m4 +0 -0
- /data/{ext → vendor}/libmemcached-0.32/m4/pandora_64bit.m4 +0 -0
- /data/{ext → vendor}/libmemcached-0.32/m4/pandora_canonical.m4 +0 -0
- /data/{ext → vendor}/libmemcached-0.32/m4/pandora_check_compiler_version.m4 +0 -0
- /data/{ext → vendor}/libmemcached-0.32/m4/pandora_check_cxx_standard.m4 +0 -0
- /data/{ext → vendor}/libmemcached-0.32/m4/pandora_enable_dtrace.m4 +0 -0
- /data/{ext → vendor}/libmemcached-0.32/m4/pandora_ensure_gcc_version.m4 +0 -0
- /data/{ext → vendor}/libmemcached-0.32/m4/pandora_have_better_malloc.m4 +0 -0
- /data/{ext → vendor}/libmemcached-0.32/m4/pandora_have_sasl.m4 +0 -0
- /data/{ext → vendor}/libmemcached-0.32/m4/pandora_header_assert.m4 +0 -0
- /data/{ext → vendor}/libmemcached-0.32/m4/pandora_libtool.m4 +0 -0
- /data/{ext → vendor}/libmemcached-0.32/m4/pandora_optimize.m4 +0 -0
- /data/{ext → vendor}/libmemcached-0.32/m4/pandora_shared_ptr.m4 +0 -0
- /data/{ext → vendor}/libmemcached-0.32/m4/pandora_vc_build.m4 +0 -0
- /data/{ext → vendor}/libmemcached-0.32/m4/pandora_warnings.m4 +0 -0
- /data/{ext → vendor}/libmemcached-0.32/m4/pod2man.m4 +0 -0
- /data/{ext → vendor}/libmemcached-0.32/m4/protocol_binary.m4 +0 -0
- /data/{ext → vendor}/libmemcached-0.32/m4/setsockopt.m4 +0 -0
- /data/{ext → vendor}/libmemcached-0.32/m4/visibility.m4 +0 -0
- /data/{ext → vendor}/libmemcached-0.32/support/Makefile.am +0 -0
- /data/{ext → vendor}/libmemcached-0.32/support/Makefile.in +0 -0
- /data/{ext → vendor}/libmemcached-0.32/support/libmemcached-fc.spec.in +0 -0
- /data/{ext → vendor}/libmemcached-0.32/support/libmemcached.pc.in +0 -0
- /data/{ext → vendor}/libmemcached-0.32/support/libmemcached.spec +0 -0
- /data/{ext → vendor}/libmemcached-0.32/support/libmemcached.spec.in +0 -0
- /data/{ext → vendor}/libmemcached-0.32/support/set_benchmark.sh +0 -0
- /data/{ext → vendor}/libmemcached-0.32/tests/Makefile.am +0 -0
- /data/{ext → vendor}/libmemcached-0.32/tests/Makefile.in +0 -0
- /data/{ext → vendor}/libmemcached-0.32/tests/atomsmasher.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/tests/function.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/tests/ketama_test_cases.h +0 -0
- /data/{ext → vendor}/libmemcached-0.32/tests/output.cmp +0 -0
- /data/{ext → vendor}/libmemcached-0.32/tests/output.res +0 -0
- /data/{ext → vendor}/libmemcached-0.32/tests/output2.res +0 -0
- /data/{ext → vendor}/libmemcached-0.32/tests/plus.cpp +0 -0
- /data/{ext → vendor}/libmemcached-0.32/tests/r/memcat.res +0 -0
- /data/{ext → vendor}/libmemcached-0.32/tests/r/memcp.res +0 -0
- /data/{ext → vendor}/libmemcached-0.32/tests/r/memrm.res +0 -0
- /data/{ext → vendor}/libmemcached-0.32/tests/r/memslap.res +0 -0
- /data/{ext → vendor}/libmemcached-0.32/tests/r/memstat.res +0 -0
- /data/{ext → vendor}/libmemcached-0.32/tests/server.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/tests/server.h +0 -0
- /data/{ext → vendor}/libmemcached-0.32/tests/start.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/tests/t/memcat.test +0 -0
- /data/{ext → vendor}/libmemcached-0.32/tests/t/memcp.test +0 -0
- /data/{ext → vendor}/libmemcached-0.32/tests/t/memrm.test +0 -0
- /data/{ext → vendor}/libmemcached-0.32/tests/t/memslap.test +0 -0
- /data/{ext → vendor}/libmemcached-0.32/tests/t/memstat.test +0 -0
- /data/{ext → vendor}/libmemcached-0.32/tests/test.c +0 -0
- /data/{ext → vendor}/libmemcached-0.32/tests/test.h +0 -0
- /data/{ext → vendor}/libmemcached-0.32/tests/udp.c +0 -0
data/test/unit/rails_test.rb
DELETED
@@ -1,330 +0,0 @@
|
|
1
|
-
require File.expand_path("#{File.dirname(__FILE__)}/../test_helper")
|
2
|
-
require 'active_support/duration'
|
3
|
-
require 'logger'
|
4
|
-
|
5
|
-
class RailsTest < Test::Unit::TestCase
|
6
|
-
|
7
|
-
def setup
|
8
|
-
@servers = ['127.0.0.1:43042', '127.0.0.1:43043', "#{UNIX_SOCKET_NAME}0"]
|
9
|
-
@duration = ActiveSupport::Duration.new(2592000, [[:months, 1]])
|
10
|
-
@namespace = 'rails_test'
|
11
|
-
@cache = Memcached::Rails.new(:servers => @servers, :namespace => @namespace, :logger => Logger.new(File.open("/dev/null", "w")))
|
12
|
-
@value = OpenStruct.new(:a => 1, :b => 2, :c => GenericClass)
|
13
|
-
@marshalled_value = Marshal.dump(@value)
|
14
|
-
end
|
15
|
-
|
16
|
-
def test_get
|
17
|
-
@cache.set key, @value
|
18
|
-
result = @cache.get key
|
19
|
-
assert_equal @value, result
|
20
|
-
end
|
21
|
-
|
22
|
-
def test_exist
|
23
|
-
@cache.delete(key)
|
24
|
-
assert !@cache.exist?(key)
|
25
|
-
@cache.set key, nil
|
26
|
-
assert @cache.exist?(key)
|
27
|
-
@cache.set key, @value
|
28
|
-
assert @cache.exist?(key)
|
29
|
-
end
|
30
|
-
|
31
|
-
def test_get_multi
|
32
|
-
@cache.set key, @value
|
33
|
-
assert_equal(
|
34
|
-
{key => @value},
|
35
|
-
@cache.get_multi([key]))
|
36
|
-
end
|
37
|
-
|
38
|
-
def test_get_multi_empty_string
|
39
|
-
@cache.set key, "", 0, true
|
40
|
-
assert_equal(
|
41
|
-
{key => ""},
|
42
|
-
@cache.get_multi([key], true))
|
43
|
-
end
|
44
|
-
|
45
|
-
def test_delete
|
46
|
-
@cache.set key, @value
|
47
|
-
assert_nothing_raised do
|
48
|
-
@cache.delete key
|
49
|
-
end
|
50
|
-
assert_nil(@cache.get(key))
|
51
|
-
end
|
52
|
-
|
53
|
-
def test_delete_missing
|
54
|
-
assert_nothing_raised do
|
55
|
-
@cache.delete key
|
56
|
-
assert !@cache.delete(key)
|
57
|
-
end
|
58
|
-
end
|
59
|
-
|
60
|
-
def test_delete_with_two_arguments
|
61
|
-
assert_nothing_raised do
|
62
|
-
@cache.delete(key, 5)
|
63
|
-
assert_nil(@cache.get(key))
|
64
|
-
end
|
65
|
-
end
|
66
|
-
|
67
|
-
def test_bracket_accessors
|
68
|
-
@cache[key] = @value
|
69
|
-
result = @cache[key]
|
70
|
-
assert_equal @value, result
|
71
|
-
end
|
72
|
-
|
73
|
-
def test_cas
|
74
|
-
cache = Memcached::Rails.new(:servers => @servers, :namespace => @namespace, :support_cas => true)
|
75
|
-
value2 = OpenStruct.new(:d => 3, :e => 4, :f => GenericClass)
|
76
|
-
|
77
|
-
# Existing set
|
78
|
-
cache.set key, @value
|
79
|
-
cache.cas(key) do |current|
|
80
|
-
assert_equal @value, current
|
81
|
-
value2
|
82
|
-
end
|
83
|
-
assert_equal value2, cache.get(key)
|
84
|
-
|
85
|
-
# Missing set
|
86
|
-
cache.delete key
|
87
|
-
assert_nothing_raised do
|
88
|
-
cache.cas(key) { @called = true }
|
89
|
-
end
|
90
|
-
assert_nil cache.get(key)
|
91
|
-
assert_nil @called
|
92
|
-
|
93
|
-
# Conflicting set after a gets
|
94
|
-
cache.set key, @value
|
95
|
-
assert_nothing_raised do
|
96
|
-
result = cache.cas(key) do |current|
|
97
|
-
cache.set key, value2
|
98
|
-
current
|
99
|
-
end
|
100
|
-
assert_equal result, false
|
101
|
-
end
|
102
|
-
assert_equal value2, cache.get(key)
|
103
|
-
end
|
104
|
-
|
105
|
-
def test_get_missing
|
106
|
-
@cache.delete key rescue nil
|
107
|
-
result = @cache.get key
|
108
|
-
assert_equal nil, result
|
109
|
-
end
|
110
|
-
|
111
|
-
def test_get_nil
|
112
|
-
@cache.set key, nil, 0
|
113
|
-
result = @cache.get key
|
114
|
-
assert_equal nil, result
|
115
|
-
end
|
116
|
-
|
117
|
-
def test_namespace
|
118
|
-
assert_equal @namespace, @cache.namespace
|
119
|
-
end
|
120
|
-
|
121
|
-
def test_active
|
122
|
-
assert @cache.active?
|
123
|
-
end
|
124
|
-
|
125
|
-
def test_servers
|
126
|
-
compare_servers @cache, @servers
|
127
|
-
end
|
128
|
-
|
129
|
-
def test_servers_alive
|
130
|
-
@cache.servers.each do |server|
|
131
|
-
assert server.alive?
|
132
|
-
end
|
133
|
-
end
|
134
|
-
|
135
|
-
def test_set_servers
|
136
|
-
cache = Memcached::Rails.new(:servers => @servers, :namespace => @namespace)
|
137
|
-
compare_servers cache, @servers
|
138
|
-
cache.set_servers cache.servers
|
139
|
-
cache = Memcached::Rails.new(:servers => @servers.first, :namespace => @namespace)
|
140
|
-
cache.set_servers @servers.first
|
141
|
-
end
|
142
|
-
|
143
|
-
def test_cas_with_duration
|
144
|
-
cache = Memcached::Rails.new(:servers => @servers, :namespace => @namespace, :support_cas => true)
|
145
|
-
value2 = OpenStruct.new(:d => 3, :e => 4, :f => GenericClass)
|
146
|
-
cache.set key, @value
|
147
|
-
cache.cas(key, @duration) do |current|
|
148
|
-
assert_equal @value, current
|
149
|
-
value2
|
150
|
-
end
|
151
|
-
assert_equal value2, cache.get(key)
|
152
|
-
end
|
153
|
-
|
154
|
-
def test_set_with_duration
|
155
|
-
@cache.set key, @value, @duration
|
156
|
-
result = @cache.get key
|
157
|
-
assert_equal @value, result
|
158
|
-
end
|
159
|
-
|
160
|
-
def test_set_with_invalid_type
|
161
|
-
assert_raises(TypeError) do
|
162
|
-
@cache.set key, Object.new, 0, true
|
163
|
-
end
|
164
|
-
end
|
165
|
-
|
166
|
-
def test_write_with_default_duration
|
167
|
-
# should be do an actual write
|
168
|
-
@cache.write key, @value
|
169
|
-
result = @cache.get key
|
170
|
-
assert_equal @value, result
|
171
|
-
|
172
|
-
# should use correct ttl
|
173
|
-
@cache = Memcached::Rails.new(:servers => @servers, :namespace => @namespace, :default_ttl => 123)
|
174
|
-
@cache.expects(:set).with(key, @value, 123, nil)
|
175
|
-
@cache.write key, @value
|
176
|
-
end
|
177
|
-
|
178
|
-
def test_write_with_duration_as_ttl
|
179
|
-
# should be do an actual write
|
180
|
-
@cache.write key, @value, :ttl => 123
|
181
|
-
result = @cache.get key
|
182
|
-
assert_equal @value, result
|
183
|
-
|
184
|
-
# should use correct ttl
|
185
|
-
@cache.expects(:set).with(key, @value, 123, nil)
|
186
|
-
@cache.write key, @value, :ttl => 123
|
187
|
-
end
|
188
|
-
|
189
|
-
def test_write_with_duration_as_expires_in
|
190
|
-
# should be do an actual write
|
191
|
-
@cache.write key, @value, :expires_in => @duration
|
192
|
-
result = @cache.get key
|
193
|
-
assert_equal @value, result
|
194
|
-
|
195
|
-
# should use correct ttl
|
196
|
-
@cache.expects(:set).with(key, @value, 123, nil)
|
197
|
-
@cache.write key, @value, :expires_in => 123
|
198
|
-
end
|
199
|
-
|
200
|
-
def test_write_with_unless_exist
|
201
|
-
@cache.write key, @value, :unless_exist => true
|
202
|
-
result = @cache.get key
|
203
|
-
assert_equal @value, result
|
204
|
-
|
205
|
-
rand_value = "rand-value-#{rand}"
|
206
|
-
@cache.write key, rand_value, :unless_exist => true
|
207
|
-
|
208
|
-
result = @cache.get key
|
209
|
-
assert_equal @value, result
|
210
|
-
end
|
211
|
-
|
212
|
-
def test_write_with_fixnum_and_raw
|
213
|
-
@cache.write key, 1, :raw => true
|
214
|
-
result = @cache.read key, :raw => true
|
215
|
-
assert_equal "1", result
|
216
|
-
end
|
217
|
-
|
218
|
-
def test_add_with_duration
|
219
|
-
@cache.add key, @value, @duration
|
220
|
-
result = @cache.get key
|
221
|
-
assert_equal @value, result
|
222
|
-
end
|
223
|
-
|
224
|
-
def test_fetch
|
225
|
-
# returns
|
226
|
-
assert_equal @value, @cache.fetch("x"){ @value }
|
227
|
-
|
228
|
-
# sets
|
229
|
-
assert_equal @value, @cache.read("x")
|
230
|
-
|
231
|
-
# reads
|
232
|
-
assert_equal @value, @cache.fetch("x"){ 1 }
|
233
|
-
|
234
|
-
# works with options
|
235
|
-
@cache.expects(:write).with("y", 1, :foo => :bar)
|
236
|
-
@cache.fetch("y", :foo => :bar){ 1 }
|
237
|
-
end
|
238
|
-
|
239
|
-
def test_fetch_when_no_block_given
|
240
|
-
rand_key = "key-#{rand}"
|
241
|
-
|
242
|
-
# gets nil the first time
|
243
|
-
assert_equal nil, @cache.fetch(rand_key)
|
244
|
-
|
245
|
-
# sets value to @value
|
246
|
-
assert_equal @value, @cache.fetch(rand_key) { @value }
|
247
|
-
|
248
|
-
# gets @value
|
249
|
-
assert_equal @value, @cache.fetch(rand_key)
|
250
|
-
end
|
251
|
-
|
252
|
-
def test_read_multi
|
253
|
-
# empty
|
254
|
-
assert_equal({}, @cache.read_multi)
|
255
|
-
assert_equal({}, @cache.read_multi("a", "b"))
|
256
|
-
assert_raise TypeError do
|
257
|
-
@cache.read_multi(["a", "b"])
|
258
|
-
end
|
259
|
-
|
260
|
-
# filled
|
261
|
-
@cache.write "a", @value
|
262
|
-
assert_equal({"a" => @value}, @cache.read_multi("a", "b"))
|
263
|
-
assert_raise TypeError do
|
264
|
-
@cache.read_multi(["a", "b"])
|
265
|
-
end
|
266
|
-
|
267
|
-
# multiple keys
|
268
|
-
@cache.write "b", 1
|
269
|
-
assert_equal({"a" => @value, "b" => 1}, @cache.read_multi("a", "b"))
|
270
|
-
|
271
|
-
# keeps order on 1.9
|
272
|
-
if RUBY_VERSION =~ /^1.9/
|
273
|
-
assert_equal ["a", "b"], @cache.read_multi("a", "b").keys
|
274
|
-
assert_equal ["b", "a"], @cache.read_multi("b", "a").keys
|
275
|
-
end
|
276
|
-
end
|
277
|
-
|
278
|
-
def test_clear
|
279
|
-
@cache.write("x", 1)
|
280
|
-
assert_equal 1, @cache.read("x")
|
281
|
-
assert_equal nil, @cache.clear
|
282
|
-
assert_equal nil, @cache.read("x")
|
283
|
-
end
|
284
|
-
|
285
|
-
def test_increment
|
286
|
-
rand_key = "rand-key-#{rand}"
|
287
|
-
assert_equal nil, @cache.increment(rand_key)
|
288
|
-
|
289
|
-
start = 10
|
290
|
-
@cache.write rand_key, start.to_s, { :raw => true }
|
291
|
-
|
292
|
-
assert_equal start, @cache.read(rand_key, { :raw => true }).to_i
|
293
|
-
assert_equal start+1, @cache.increment(rand_key)
|
294
|
-
|
295
|
-
assert_equal start+1+5, @cache.increment(rand_key, 5)
|
296
|
-
end
|
297
|
-
|
298
|
-
def test_decrement
|
299
|
-
rand_key = "rand-key-#{rand}"
|
300
|
-
assert_equal nil, @cache.decrement(rand_key)
|
301
|
-
|
302
|
-
start = 10
|
303
|
-
@cache.write rand_key, start.to_s, { :raw => true }
|
304
|
-
|
305
|
-
assert_equal start, @cache.read(rand_key, { :raw => true }).to_i
|
306
|
-
assert_equal start-1, @cache.decrement(rand_key)
|
307
|
-
|
308
|
-
assert_equal start-1-5, @cache.decrement(rand_key, 5)
|
309
|
-
end
|
310
|
-
|
311
|
-
def test_read_with_nil_options
|
312
|
-
@cache.write key, @value
|
313
|
-
assert_equal @value, @cache.read(key, nil)
|
314
|
-
end
|
315
|
-
|
316
|
-
def test_write_with_nil_options
|
317
|
-
@cache.write key, @value, nil
|
318
|
-
assert_equal @value, @cache.read(key)
|
319
|
-
end
|
320
|
-
|
321
|
-
private
|
322
|
-
|
323
|
-
def key
|
324
|
-
caller.first[/.*[` ](.*)'/, 1] # '
|
325
|
-
end
|
326
|
-
|
327
|
-
def compare_servers(cache, servers)
|
328
|
-
cache.servers.map{|s| "#{s.hostname}:#{s.port}".chomp(':0')} == servers
|
329
|
-
end
|
330
|
-
end
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|