Sha256: b206d0577bd5ac8281d4321576edfde121d50da150088bdb213e37fe755caa7e

Contents?: true

Size: 1.43 KB

Versions: 54

Compression:

Stored size: 1.43 KB

Contents

# encoding: UTF-8

require File.expand_path("./helper", File.dirname(__FILE__))
require "redis/distributed"

setup do
  log = StringIO.new
  init Redis::Distributed.new(NODES, :logger => ::Logger.new(log))
end

test "handle multiple servers" do
  @r = Redis::Distributed.new ["redis://localhost:6379/15", *NODES]

  100.times do |idx|
    @r.set(idx.to_s, "foo#{idx}")
  end

  100.times do |idx|
    assert "foo#{idx}" == @r.get(idx.to_s)
  end

  assert "0" == @r.keys("*").sort.first
  assert "string" == @r.type("1")
end

test "add nodes" do
  logger = Logger.new("/dev/null")

  @r = Redis::Distributed.new NODES, :logger => logger, :timeout => 10

  assert "127.0.0.1" == @r.nodes[0].client.host
  assert 6379 == @r.nodes[0].client.port
  assert 15 == @r.nodes[0].client.db
  assert 10 == @r.nodes[0].client.timeout
  assert logger == @r.nodes[0].client.logger

  @r.add_node("redis://localhost:6380/14")

  assert "localhost" == @r.nodes[1].client.host
  assert 6380 == @r.nodes[1].client.port
  assert 14 == @r.nodes[1].client.db
  assert 10 == @r.nodes[1].client.timeout
  assert logger == @r.nodes[1].client.logger
end

test "Pipelining commands cannot be distributed" do |r|
  assert_raise Redis::Distributed::CannotDistribute do
    r.pipelined do
      r.lpush "foo", "s1"
      r.lpush "foo", "s2"
    end
  end
end

test "Unknown commands does not work by default" do |r|
  assert_raise NoMethodError do
    r.not_yet_implemented_command
  end
end

Version data entries

54 entries across 54 versions & 7 rubygems

Version Path
abaci-0.3.0 vendor/bundle/gems/redis-2.2.2/test/distributed_test.rb
classiccms-0.7.5 vendor/bundle/gems/redis-2.2.2/test/distributed_test.rb
classiccms-0.7.4 vendor/bundle/gems/redis-2.2.2/test/distributed_test.rb
classiccms-0.7.3 vendor/bundle/gems/redis-2.2.2/test/distributed_test.rb
classiccms-0.7.2 vendor/bundle/gems/redis-2.2.2/test/distributed_test.rb
classiccms-0.7.1 vendor/bundle/gems/redis-2.2.2/test/distributed_test.rb
classiccms-0.7.0 vendor/bundle/gems/redis-2.2.2/test/distributed_test.rb
classiccms-0.6.9 vendor/bundle/gems/redis-2.2.2/test/distributed_test.rb
classiccms-0.6.8 vendor/bundle/gems/redis-2.2.2/test/distributed_test.rb
classiccms-0.6.7 vendor/bundle/gems/redis-2.2.2/test/distributed_test.rb
classiccms-0.6.6 vendor/bundle/gems/redis-2.2.2/test/distributed_test.rb
classiccms-0.6.5 vendor/bundle/gems/redis-2.2.2/test/distributed_test.rb
classiccms-0.6.4 vendor/bundle/gems/redis-2.2.2/test/distributed_test.rb
classiccms-0.6.3 vendor/bundle/gems/redis-2.2.2/test/distributed_test.rb
classiccms-0.6.2 vendor/bundle/gems/redis-2.2.2/test/distributed_test.rb
classiccms-0.6.1 vendor/bundle/gems/redis-2.2.2/test/distributed_test.rb
classiccms-0.6.0 vendor/bundle/gems/redis-2.2.2/test/distributed_test.rb
classiccms-0.5.17 vendor/bundle/gems/redis-2.2.2/test/distributed_test.rb
classiccms-0.5.16 vendor/bundle/gems/redis-2.2.2/test/distributed_test.rb
classiccms-0.5.15 vendor/bundle/gems/redis-2.2.2/test/distributed_test.rb