Files
ray/python/ray/tests/test_credis.py
T
2019-04-11 14:24:26 -07:00

43 lines
1.2 KiB
Python

from __future__ import absolute_import, division, print_function
import os
import unittest
import redis
import ray
def parse_client(addr_port_str):
redis_address, redis_port = addr_port_str.split(":")
return redis.StrictRedis(host=redis_address, port=redis_port)
@unittest.skipIf(not os.environ.get("RAY_USE_NEW_GCS", False),
"Tests functionality of the new GCS.")
class CredisTest(unittest.TestCase):
def setUp(self):
self.config = ray.init(num_cpus=0)
def tearDown(self):
ray.shutdown()
def test_credis_started(self):
assert "redis_address" in self.config
primary = parse_client(self.config["redis_address"])
assert primary.ping() is True
member = primary.lrange("RedisShards", 0, -1)[0]
shard = parse_client(member.decode())
# Check that primary has loaded credis's master module.
chain = primary.execute_command("MASTER.GET_CHAIN")
assert len(chain) == 1
# Check that the shard has loaded credis' member module.
assert chain[0] == member
assert shard.execute_command("MEMBER.SN") == -1
if __name__ == "__main__":
unittest.main(verbosity=2)