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 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118
|
# encoding: UTF-8
require File.expand_path("helper", File.dirname(__FILE__))
class TestRemoteServerControlCommands < Test::Unit::TestCase
include Helper::Client
def test_info
keys = [
"redis_version",
"uptime_in_seconds",
"uptime_in_days",
"connected_clients",
"used_memory",
"total_connections_received",
"total_commands_processed",
]
info = r.info
keys.each do |k|
msg = "expected #info to include #{k}"
assert info.keys.include?(k), msg
end
end
def test_info_commandstats
target_version "2.5.7" do
r.config(:resetstat)
r.ping
result = r.info(:commandstats)
assert_equal "1", result["ping"]["calls"]
end
end
def test_monitor_redis_lt_2_5_0
return unless version < "2.5.0"
log = []
wire = Wire.new do
Redis.new(OPTIONS).monitor do |line|
log << line
break if log.size == 3
end
end
Wire.pass while log.empty? # Faster than sleep
r.set "foo", "s1"
wire.join
assert log[-1][%q{(db 15) "set" "foo" "s1"}]
end
def test_monitor_redis_gte_2_5_0
return unless version >= "2.5.0"
log = []
wire = Wire.new do
Redis.new(OPTIONS).monitor do |line|
log << line
break if line =~ /set/
end
end
Wire.pass while log.empty? # Faster than sleep
r.set "foo", "s1"
wire.join
assert log[-1] =~ /\b15\b.* "set" "foo" "s1"/
end
def test_monitor_returns_value_for_break
result = r.monitor do |line|
break line
end
assert_equal "OK", result
end
def test_echo
assert_equal "foo bar baz\n", r.echo("foo bar baz\n")
end
def test_debug
r.set "foo", "s1"
assert r.debug(:object, "foo").kind_of?(String)
end
def test_object
r.lpush "list", "value"
assert_equal 1, r.object(:refcount, "list")
encoding = r.object(:encoding, "list")
assert "ziplist" == encoding || "quicklist" == encoding, "Wrong encoding for list"
assert r.object(:idletime, "list").kind_of?(Fixnum)
end
def test_sync
redis_mock(:sync => lambda { "+OK" }) do |redis|
assert_equal "OK", redis.sync
end
end
def test_slowlog
r.slowlog(:reset)
result = r.slowlog(:len)
assert_equal 0, result
end
end
|