Example #1
0
 def test_migrate_exists(self):
     key, value = self.uuid4(2)
     result = yield self.expiring_set(key, value)
     self.assertTrue(result)
     client = tredis.RedisClient(self.redis_host, self.redis2_port, 10)
     result = yield client.set(key, value, 10)
     self.assertTrue(result)
     with self.assertRaises(exceptions.RedisError):
         yield self.client.migrate(self.redis2_host, 6379, key, 10, 5000)
Example #2
0
 def test_on_close_callback_invoked(self):
     on_close = mock.Mock()
     client = tredis.RedisClient(os.getenv('REDIS_HOST', 'localhost'),
                                 int(os.getenv('REDIS_PORT', '6379')), 0,
                                 on_close)
     result = yield client.set('foo', 'bar', 10)
     self.assertTrue(result)
     result = yield self._kill_client(client)
     self.assertTrue(result)
     on_close.assert_called_once_with()
Example #3
0
 def test_migrate(self):
     key, value = self.uuid4(2)
     result = yield self.expiring_set(key, value)
     self.assertTrue(result)
     result = yield self.client.migrate(self.redis2_host, 6379, key, 10,
                                        5000)
     self.assertTrue(result)
     client = tredis.RedisClient(self.redis_host, self.redis2_port, 10)
     response = yield client.get(key)
     self.assertEqual(response, value)
     result = yield self.client.get(key)
     self.assertIsNone(result)
Example #4
0
    def test_migrate(self):
        self.client.pipeline_start()
        key, value = self.uuid4(2)
        self.client.set(key, value, 10)
        self.client.migrate(self.redis2_host, 6379, key, 10, 5000)
        result = yield self.client.pipeline_execute()
        self.assertListEqual(result, [True, True])

        client = tredis.RedisClient(self.redis_host, self.redis2_port, 10)
        result = yield client.get(key)
        self.assertEqual(result, value)

        result = yield self.client.get(key)
        self.assertIsNone(result)
Example #5
0
    def test_migrate_copy(self):
        key, value = self.uuid4(2)
        result = yield self.expiring_set(key, value)
        self.assertTrue(result)
        result = yield self.client.migrate(self.redis2_ip, 6379, key, 10,
                                           5000, copy=True)
        self.assertTrue(result)

        client = tredis.RedisClient(self.redis_host, self.redis2_port, 10,
                                    auto_connect=False)
        yield client.connect()

        result = yield client.get(key)
        self.assertEqual(result, value)
        result = yield self.client.get(key)
        self.assertEqual(result, value)
Example #6
0
    # В случае проблем с чтением настроек из файла, оставим пустые настройки.
    settings = {}

# Базовые настройки запуска системы
define("port", default=settings["system_port"], help="run on the given port", type=int)

# Настройки подключения к базе данных MongoDB
client_motor = db_motor = None
settings_db = settings.get("db", {})
for connection_name, setting_db in settings_db.items():
    client_motor = MotorClient(setting_db["host"], setting_db["port"])
    # todo Разрулить с доступами к базам
    db_motor = client_motor[setting_db["name"]]

# Настройки подключения к Redis
client_redis = tredis.RedisClient(host=settings["redis"]["host"], port=settings["redis"]["port"])

# Настройки SSL
try:
    ssl_ctx = ssl.create_default_context(ssl.Purpose.CLIENT_AUTH)
    ssl_ctx.load_cert_chain(settings["ssl"]["certificates"][0], settings["ssl"]["certificates"][1])
except KeyError:
    ssl_ctx = None

# Настройки приложения - доступны внутри хендлеров через self.settings
system_settings = {
    "client_motor": db_motor,
    "client_redis": client_redis,
}

settings.update(system_settings)
Example #7
0
 def test_bad_db_raises_exception(self):
     client = tredis.RedisClient(os.getenv('REDIS_HOST', 'localhost'),
                                 int(os.getenv('REDIS_PORT', '6379')),
                                 db=255)
     with self.assertRaises(exceptions.RedisError):
         yield client.get('foo')
Example #8
0
 def test_bad_connect_raises_exception(self):
     client = tredis.RedisClient(str(uuid.uuid4()))
     with self.assertRaises(exceptions.ConnectError):
         yield client.get('foo')
Example #9
0
 def test_bad_connect_in_pipeline_raises_exception(self):
     client = tredis.RedisClient(str(uuid.uuid4()))
     with self.assertRaises(exceptions.ConnectError):
         client.pipeline_start()
         client.get('foo')
         yield client.pipeline_execute()
Example #10
0
 def setUp(self):
     super(AsyncTestCase, self).setUp()
     self.client = tredis.RedisClient(os.getenv('REDIS_HOST', 'localhost'),
                                      int(os.getenv('REDIS_PORT', '6379')),
                                      int(os.getenv('REDIS_DB', '0')))
     self._execute_result = None