public function checkConnectionDetails($host, $port, $timeout, $password)
 {
     $redis = new Redis();
     $redis->setConfig($host, $port, $timeout, $password);
     if (!$redis->testConnection()) {
         throw new \Exception('Connection to Redis failed. Please verify Redis host and port');
     }
     $version = $redis->getServerVersion();
     if (version_compare($version, '2.8.0') < 0) {
         throw new \Exception('At least Redis server 2.8.0 is required');
     }
 }
 private static function makeBackendFromSettings(Settings $settings)
 {
     $host = $settings->redisHost->getValue();
     $port = $settings->redisPort->getValue();
     $timeout = $settings->redisTimeout->getValue();
     $password = $settings->redisPassword->getValue();
     $database = $settings->redisDatabase->getValue();
     $redis = new Queue\Backend\Redis();
     $redis->setConfig($host, $port, $timeout, $password);
     $redis->setDatabase($database);
     return $redis;
 }
 public function test_checkConnectionDetails_shouldFailIfPortIsWrong()
 {
     $this->redis->setConfig('127.0.0.1', 6370, 0.2, null);
     $success = $this->redis->testConnection();
     $this->assertFalse($success);
 }