/vendor/bundle/jruby/2.1/gems/redis-3.0.7/test/remote_server_control_commands_test.rb

https://github.com/delowong/logstash · Ruby · 117 lines · 85 code · 31 blank · 1 comment · 5 complexity · 8ac6e0d28d477cb3e23365f93814e802 MD5 · raw file

  1. # encoding: UTF-8
  2. require File.expand_path("helper", File.dirname(__FILE__))
  3. class TestRemoteServerControlCommands < Test::Unit::TestCase
  4. include Helper::Client
  5. def test_info
  6. keys = [
  7. "redis_version",
  8. "uptime_in_seconds",
  9. "uptime_in_days",
  10. "connected_clients",
  11. "used_memory",
  12. "total_connections_received",
  13. "total_commands_processed",
  14. ]
  15. info = r.info
  16. keys.each do |k|
  17. msg = "expected #info to include #{k}"
  18. assert info.keys.include?(k), msg
  19. end
  20. end
  21. def test_info_commandstats
  22. target_version "2.5.7" do
  23. r.config(:resetstat)
  24. r.ping
  25. result = r.info(:commandstats)
  26. assert_equal "1", result["ping"]["calls"]
  27. end
  28. end
  29. def test_monitor_redis_lt_2_5_0
  30. return unless version < "2.5.0"
  31. log = []
  32. wire = Wire.new do
  33. Redis.new(OPTIONS).monitor do |line|
  34. log << line
  35. break if log.size == 3
  36. end
  37. end
  38. Wire.pass while log.empty? # Faster than sleep
  39. r.set "foo", "s1"
  40. wire.join
  41. assert log[-1][%q{(db 15) "set" "foo" "s1"}]
  42. end
  43. def test_monitor_redis_gte_2_5_0
  44. return unless version >= "2.5.0"
  45. log = []
  46. wire = Wire.new do
  47. Redis.new(OPTIONS).monitor do |line|
  48. log << line
  49. break if line =~ /set/
  50. end
  51. end
  52. Wire.pass while log.empty? # Faster than sleep
  53. r.set "foo", "s1"
  54. wire.join
  55. assert log[-1] =~ /\b15\b.* "set" "foo" "s1"/
  56. end
  57. def test_monitor_returns_value_for_break
  58. result = r.monitor do |line|
  59. break line
  60. end
  61. assert_equal result, "OK"
  62. end
  63. def test_echo
  64. assert_equal "foo bar baz\n", r.echo("foo bar baz\n")
  65. end
  66. def test_debug
  67. r.set "foo", "s1"
  68. assert r.debug(:object, "foo").kind_of?(String)
  69. end
  70. def test_object
  71. r.lpush "list", "value"
  72. assert_equal r.object(:refcount, "list"), 1
  73. assert_equal r.object(:encoding, "list"), "ziplist"
  74. assert r.object(:idletime, "list").kind_of?(Fixnum)
  75. end
  76. def test_sync
  77. redis_mock(:sync => lambda { "+OK" }) do |redis|
  78. assert_equal "OK", redis.sync
  79. end
  80. end
  81. def test_slowlog
  82. r.slowlog(:reset)
  83. result = r.slowlog(:len)
  84. assert_equal result, 0
  85. end
  86. end