from __future__ import with_statement

# rediscluster imports
from tests.conftest import skip_if_server_version_lt
from rediscluster import StrictRedisCluster
from rediscluster.exceptions import RedisClusterException
from rediscluster.nodemanager import NodeManager

# 3rd party imports
import pytest
from mock import patch, Mock
from redis import StrictRedis
from redis._compat import unicode
from redis import ConnectionError

pytestmark = skip_if_server_version_lt('2.9.0')


def test_set_node_name(s):
    """
    Test that method sets ["name"] correctly
    """
    n = {"host": "127.0.0.1", "port": 7000}
    s.connection_pool.nodes.set_node_name(n)
    assert "name" in n
    assert n["name"] == "127.0.0.1:7000"


def test_keyslot():
    """
    Test that method will compute correct key in all supported cases
Example #2
0
from __future__ import with_statement

# rediscluster imports
from tests.conftest import skip_if_server_version_lt
from rediscluster import RedisCluster
from rediscluster.exceptions import RedisClusterException, RedisClusterConfigError
from rediscluster.nodemanager import NodeManager

# 3rd party imports
import pytest
from mock import patch, Mock
from redis import Redis
from redis._compat import unicode
from redis import ConnectionError, ResponseError

pytestmark = skip_if_server_version_lt('2.9.0')


def test_set_node_name(s):
    """
    Test that method sets ["name"] correctly
    """
    n = {"host": "127.0.0.1", "port": 7000}
    s.connection_pool.nodes.set_node_name(n)
    assert "name" in n
    assert n["name"] == "127.0.0.1:7000"


def test_keyslot():
    """
    Test that method will compute correct key in all supported cases
import re
import time

# rediscluster imports
from rediscluster import StrictRedisCluster
from rediscluster.connection import ClusterConnectionPool, ClusterReadOnlyConnectionPool
from rediscluster.exceptions import RedisClusterException, MovedError, AskError, ClusterDownError
from rediscluster.nodemanager import NodeManager
from tests.conftest import _get_client, skip_if_server_version_lt

# 3rd party imports
from mock import patch, Mock
from redis._compat import b, unicode
import pytest

pytestmark = skip_if_server_version_lt("2.9.0")


def test_representation(r):
    assert re.search("^StrictRedisCluster<[0-9\.\:\,].+>$", str(r))


def test_blocked_strict_redis_args():
    """
    Some arguments should explicitly be blocked because they will not work in a cluster setup
    """
    params = {"startup_nodes": [{"host": "127.0.0.1", "port": 7000}]}
    c = StrictRedisCluster(**params)
    assert c.connection_pool.connection_kwargs["socket_timeout"] == ClusterConnectionPool.RedisClusterDefaultTimeout

    with pytest.raises(RedisClusterException) as ex: